@cyanheads/git-mcp-server 2.2.3 → 2.3.1
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/LICENSE +1 -1
- package/README.md +75 -23
- package/dist/config/index.d.ts +87 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -3
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/index.d.ts +6 -0
- package/dist/mcp-server/resources/gitWorkingDir/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/index.js +6 -0
- package/dist/mcp-server/resources/gitWorkingDir/index.js.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/logic.d.ts +15 -0
- package/dist/mcp-server/resources/gitWorkingDir/logic.d.ts.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/logic.js +18 -0
- package/dist/mcp-server/resources/gitWorkingDir/logic.js.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/registration.d.ts +15 -0
- package/dist/mcp-server/resources/gitWorkingDir/registration.d.ts.map +1 -0
- package/dist/mcp-server/resources/gitWorkingDir/registration.js +66 -0
- package/dist/mcp-server/resources/gitWorkingDir/registration.js.map +1 -0
- package/dist/mcp-server/server.d.ts +13 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +22 -6
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/gitAdd/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitAdd/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitAdd/index.js +1 -0
- package/dist/mcp-server/tools/gitAdd/index.js.map +1 -0
- package/dist/mcp-server/tools/gitAdd/logic.d.ts +31 -0
- package/dist/mcp-server/tools/gitAdd/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitAdd/logic.js +20 -5
- package/dist/mcp-server/tools/gitAdd/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitAdd/registration.d.ts +6 -0
- package/dist/mcp-server/tools/gitAdd/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitAdd/registration.js +5 -2
- package/dist/mcp-server/tools/gitAdd/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitBranch/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitBranch/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitBranch/index.js +1 -0
- package/dist/mcp-server/tools/gitBranch/index.js.map +1 -0
- package/dist/mcp-server/tools/gitBranch/logic.d.ts +175 -0
- package/dist/mcp-server/tools/gitBranch/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitBranch/logic.js +75 -27
- package/dist/mcp-server/tools/gitBranch/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitBranch/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitBranch/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitBranch/registration.js +13 -4
- package/dist/mcp-server/tools/gitBranch/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitCheckout/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/index.js +1 -0
- package/dist/mcp-server/tools/gitCheckout/index.js.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/logic.d.ts +48 -0
- package/dist/mcp-server/tools/gitCheckout/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/logic.js +41 -10
- package/dist/mcp-server/tools/gitCheckout/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitCheckout/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/registration.js +12 -3
- package/dist/mcp-server/tools/gitCheckout/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitCherryPick/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/index.js +1 -0
- package/dist/mcp-server/tools/gitCherryPick/index.js.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/logic.d.ts +54 -0
- package/dist/mcp-server/tools/gitCherryPick/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/logic.js +34 -9
- package/dist/mcp-server/tools/gitCherryPick/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitCherryPick/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/registration.js +12 -3
- package/dist/mcp-server/tools/gitCherryPick/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitClean/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitClean/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClean/index.js +1 -0
- package/dist/mcp-server/tools/gitClean/index.js.map +1 -0
- package/dist/mcp-server/tools/gitClean/logic.d.ts +51 -0
- package/dist/mcp-server/tools/gitClean/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClean/logic.js +38 -10
- package/dist/mcp-server/tools/gitClean/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitClean/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitClean/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClean/registration.js +12 -3
- package/dist/mcp-server/tools/gitClean/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/index.js +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/index.js.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/logic.d.ts +33 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/logic.js +21 -5
- package/dist/mcp-server/tools/gitClearWorkingDir/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClearWorkingDir/registration.js +12 -3
- package/dist/mcp-server/tools/gitClearWorkingDir/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitClone/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitClone/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClone/index.js +1 -0
- package/dist/mcp-server/tools/gitClone/index.js.map +1 -0
- package/dist/mcp-server/tools/gitClone/logic.d.ts +46 -0
- package/dist/mcp-server/tools/gitClone/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClone/logic.js +33 -10
- package/dist/mcp-server/tools/gitClone/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitClone/registration.d.ts +12 -0
- package/dist/mcp-server/tools/gitClone/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClone/registration.js +13 -5
- package/dist/mcp-server/tools/gitClone/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitCommit/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitCommit/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCommit/index.js +1 -0
- package/dist/mcp-server/tools/gitCommit/index.js.map +1 -0
- package/dist/mcp-server/tools/gitCommit/logic.d.ts +75 -0
- package/dist/mcp-server/tools/gitCommit/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCommit/logic.js +63 -14
- package/dist/mcp-server/tools/gitCommit/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitCommit/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitCommit/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCommit/registration.js +12 -3
- package/dist/mcp-server/tools/gitCommit/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitDiff/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitDiff/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitDiff/index.js +1 -0
- package/dist/mcp-server/tools/gitDiff/index.js.map +1 -0
- package/dist/mcp-server/tools/gitDiff/logic.d.ts +87 -0
- package/dist/mcp-server/tools/gitDiff/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitDiff/logic.js +59 -15
- package/dist/mcp-server/tools/gitDiff/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitDiff/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitDiff/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitDiff/registration.js +13 -3
- package/dist/mcp-server/tools/gitDiff/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitFetch/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitFetch/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitFetch/index.js +1 -0
- package/dist/mcp-server/tools/gitFetch/index.js.map +1 -0
- package/dist/mcp-server/tools/gitFetch/logic.d.ts +45 -0
- package/dist/mcp-server/tools/gitFetch/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitFetch/logic.js +18 -5
- package/dist/mcp-server/tools/gitFetch/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitFetch/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitFetch/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitFetch/registration.js +12 -3
- package/dist/mcp-server/tools/gitFetch/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitInit/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitInit/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitInit/index.js +1 -0
- package/dist/mcp-server/tools/gitInit/index.js.map +1 -0
- package/dist/mcp-server/tools/gitInit/logic.d.ts +46 -0
- package/dist/mcp-server/tools/gitInit/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitInit/logic.js +73 -21
- package/dist/mcp-server/tools/gitInit/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitInit/registration.d.ts +12 -0
- package/dist/mcp-server/tools/gitInit/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitInit/registration.js +13 -5
- package/dist/mcp-server/tools/gitInit/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitLog/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitLog/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitLog/index.js +1 -0
- package/dist/mcp-server/tools/gitLog/index.js.map +1 -0
- package/dist/mcp-server/tools/gitLog/logic.d.ts +92 -0
- package/dist/mcp-server/tools/gitLog/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitLog/logic.js +84 -26
- package/dist/mcp-server/tools/gitLog/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitLog/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitLog/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitLog/registration.js +12 -3
- package/dist/mcp-server/tools/gitLog/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitMerge/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitMerge/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitMerge/index.js +1 -0
- package/dist/mcp-server/tools/gitMerge/index.js.map +1 -0
- package/dist/mcp-server/tools/gitMerge/logic.d.ts +60 -0
- package/dist/mcp-server/tools/gitMerge/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitMerge/logic.js +40 -11
- package/dist/mcp-server/tools/gitMerge/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitMerge/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitMerge/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitMerge/registration.js +12 -3
- package/dist/mcp-server/tools/gitMerge/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitPull/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitPull/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPull/index.js +1 -0
- package/dist/mcp-server/tools/gitPull/index.js.map +1 -0
- package/dist/mcp-server/tools/gitPull/logic.d.ts +48 -0
- package/dist/mcp-server/tools/gitPull/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPull/logic.js +22 -6
- package/dist/mcp-server/tools/gitPull/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitPull/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitPull/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPull/registration.js +12 -3
- package/dist/mcp-server/tools/gitPull/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitPush/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitPush/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPush/index.js +1 -0
- package/dist/mcp-server/tools/gitPush/index.js.map +1 -0
- package/dist/mcp-server/tools/gitPush/logic.d.ts +134 -0
- package/dist/mcp-server/tools/gitPush/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPush/logic.js +28 -9
- package/dist/mcp-server/tools/gitPush/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitPush/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitPush/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPush/registration.js +12 -3
- package/dist/mcp-server/tools/gitPush/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitRebase/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitRebase/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRebase/index.js +1 -0
- package/dist/mcp-server/tools/gitRebase/index.js.map +1 -0
- package/dist/mcp-server/tools/gitRebase/logic.d.ts +106 -0
- package/dist/mcp-server/tools/gitRebase/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRebase/logic.js +40 -10
- package/dist/mcp-server/tools/gitRebase/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitRebase/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitRebase/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRebase/registration.js +12 -3
- package/dist/mcp-server/tools/gitRebase/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitRemote/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitRemote/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRemote/index.js +1 -0
- package/dist/mcp-server/tools/gitRemote/index.js.map +1 -0
- package/dist/mcp-server/tools/gitRemote/logic.d.ts +107 -0
- package/dist/mcp-server/tools/gitRemote/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRemote/logic.js +45 -19
- package/dist/mcp-server/tools/gitRemote/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitRemote/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitRemote/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRemote/registration.js +12 -3
- package/dist/mcp-server/tools/gitRemote/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitReset/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitReset/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitReset/index.js +1 -0
- package/dist/mcp-server/tools/gitReset/index.js.map +1 -0
- package/dist/mcp-server/tools/gitReset/logic.d.ts +42 -0
- package/dist/mcp-server/tools/gitReset/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitReset/logic.js +20 -6
- package/dist/mcp-server/tools/gitReset/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitReset/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitReset/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitReset/registration.js +12 -3
- package/dist/mcp-server/tools/gitReset/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/index.js +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/index.js.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/logic.d.ts +45 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/logic.js +29 -8
- package/dist/mcp-server/tools/gitSetWorkingDir/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitSetWorkingDir/registration.js +12 -3
- package/dist/mcp-server/tools/gitSetWorkingDir/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitShow/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitShow/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitShow/index.js +1 -0
- package/dist/mcp-server/tools/gitShow/index.js.map +1 -0
- package/dist/mcp-server/tools/gitShow/logic.d.ts +39 -0
- package/dist/mcp-server/tools/gitShow/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitShow/logic.js +17 -5
- package/dist/mcp-server/tools/gitShow/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitShow/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitShow/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitShow/registration.js +13 -3
- package/dist/mcp-server/tools/gitShow/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitStash/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitStash/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStash/index.js +1 -0
- package/dist/mcp-server/tools/gitStash/index.js.map +1 -0
- package/dist/mcp-server/tools/gitStash/logic.d.ts +100 -0
- package/dist/mcp-server/tools/gitStash/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStash/logic.js +70 -17
- package/dist/mcp-server/tools/gitStash/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitStash/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitStash/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStash/registration.js +12 -3
- package/dist/mcp-server/tools/gitStash/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitStatus/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitStatus/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStatus/index.js +1 -0
- package/dist/mcp-server/tools/gitStatus/index.js.map +1 -0
- package/dist/mcp-server/tools/gitStatus/logic.d.ts +115 -0
- package/dist/mcp-server/tools/gitStatus/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStatus/logic.js +38 -23
- package/dist/mcp-server/tools/gitStatus/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitStatus/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitStatus/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStatus/registration.js +12 -3
- package/dist/mcp-server/tools/gitStatus/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitTag/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitTag/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitTag/index.js +1 -0
- package/dist/mcp-server/tools/gitTag/index.js.map +1 -0
- package/dist/mcp-server/tools/gitTag/logic.d.ts +121 -0
- package/dist/mcp-server/tools/gitTag/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitTag/logic.js +59 -17
- package/dist/mcp-server/tools/gitTag/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitTag/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitTag/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitTag/registration.js +12 -3
- package/dist/mcp-server/tools/gitTag/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitWorktree/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/index.js +1 -0
- package/dist/mcp-server/tools/gitWorktree/index.js.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/logic.d.ts +218 -0
- package/dist/mcp-server/tools/gitWorktree/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/logic.js +61 -17
- package/dist/mcp-server/tools/gitWorktree/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitWorktree/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWorktree/registration.js +12 -3
- package/dist/mcp-server/tools/gitWorktree/registration.js.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/index.d.ts +6 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/index.js +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/index.js.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/logic.d.ts +175 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/logic.js +20 -6
- package/dist/mcp-server/tools/gitWrapupInstructions/logic.js.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/registration.d.ts +16 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitWrapupInstructions/registration.js +12 -3
- package/dist/mcp-server/tools/gitWrapupInstructions/registration.js.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts +11 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts +20 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/auth/index.d.ts +14 -0
- package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/index.js +1 -0
- package/dist/mcp-server/transports/auth/index.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts +34 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +13 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +19 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +18 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +8 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +5 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +8 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +6 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts +18 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +24 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.js +11 -4
- package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +32 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.js +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +21 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.js +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts +69 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.js +1 -0
- package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +22 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts +23 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.js +29 -10
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts +17 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/index.d.ts +8 -0
- package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/index.js +1 -0
- package/dist/mcp-server/transports/http/index.js.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +27 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +27 -24
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/stdio/index.d.ts +6 -0
- package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/index.js +1 -0
- package/dist/mcp-server/transports/stdio/index.js.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +43 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
- package/dist/types-global/errors.d.ts +122 -0
- package/dist/types-global/errors.d.ts.map +1 -0
- package/dist/types-global/errors.js +1 -0
- package/dist/types-global/errors.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/internal/errorHandler.d.ts +91 -0
- package/dist/utils/internal/errorHandler.d.ts.map +1 -0
- package/dist/utils/internal/errorHandler.js +8 -6
- package/dist/utils/internal/errorHandler.js.map +1 -0
- package/dist/utils/internal/index.d.ts +4 -0
- package/dist/utils/internal/index.d.ts.map +1 -0
- package/dist/utils/internal/index.js +1 -0
- package/dist/utils/internal/index.js.map +1 -0
- package/dist/utils/internal/logger.d.ts +55 -0
- package/dist/utils/internal/logger.d.ts.map +1 -0
- package/dist/utils/internal/logger.js +19 -5
- package/dist/utils/internal/logger.js.map +1 -0
- package/dist/utils/internal/requestContext.d.ts +48 -0
- package/dist/utils/internal/requestContext.d.ts.map +1 -0
- package/dist/utils/internal/requestContext.js +1 -0
- package/dist/utils/internal/requestContext.js.map +1 -0
- package/dist/utils/metrics/index.d.ts +2 -0
- package/dist/utils/metrics/index.d.ts.map +1 -0
- package/dist/utils/metrics/index.js +1 -0
- package/dist/utils/metrics/index.js.map +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts +28 -0
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
- package/dist/utils/metrics/tokenCounter.js +1 -0
- package/dist/utils/metrics/tokenCounter.js.map +1 -0
- package/dist/utils/parsing/dateParser.d.ts +25 -0
- package/dist/utils/parsing/dateParser.d.ts.map +1 -0
- package/dist/utils/parsing/dateParser.js +57 -56
- package/dist/utils/parsing/dateParser.js.map +1 -0
- package/dist/utils/parsing/index.d.ts +3 -0
- package/dist/utils/parsing/index.d.ts.map +1 -0
- package/dist/utils/parsing/index.js +1 -0
- package/dist/utils/parsing/index.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +83 -0
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
- package/dist/utils/parsing/jsonParser.js +85 -45
- package/dist/utils/parsing/jsonParser.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts +94 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -0
- package/dist/utils/security/idGenerator.js +9 -2
- package/dist/utils/security/idGenerator.js.map +1 -0
- package/dist/utils/security/index.d.ts +4 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +1 -0
- package/dist/utils/security/index.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +93 -0
- package/dist/utils/security/rateLimiter.d.ts.map +1 -0
- package/dist/utils/security/rateLimiter.js +1 -0
- package/dist/utils/security/rateLimiter.js.map +1 -0
- package/dist/utils/security/sanitization.d.ts +181 -0
- package/dist/utils/security/sanitization.d.ts.map +1 -0
- package/dist/utils/security/sanitization.js +6 -5
- package/dist/utils/security/sanitization.js.map +1 -0
- package/package.json +52 -34
|
@@ -19,6 +19,17 @@ import { mcpTransportMiddleware } from "./mcpTransportMiddleware.js";
|
|
|
19
19
|
const HTTP_PORT = config.mcpHttpPort;
|
|
20
20
|
const HTTP_HOST = config.mcpHttpHost;
|
|
21
21
|
const MCP_ENDPOINT_PATH = config.mcpHttpEndpointPath;
|
|
22
|
+
/**
|
|
23
|
+
* Extracts the client IP address from the request, prioritizing common proxy headers.
|
|
24
|
+
* @param c - The Hono context object.
|
|
25
|
+
* @returns The client's IP address or a default string if not found.
|
|
26
|
+
*/
|
|
27
|
+
function getClientIp(c) {
|
|
28
|
+
const forwardedFor = c.req.header("x-forwarded-for");
|
|
29
|
+
return ((forwardedFor?.split(",")[0] ?? "").trim() ||
|
|
30
|
+
c.req.header("x-real-ip") ||
|
|
31
|
+
"unknown_ip");
|
|
32
|
+
}
|
|
22
33
|
/**
|
|
23
34
|
* Converts a Fetch API Headers object to Node.js IncomingHttpHeaders.
|
|
24
35
|
* Hono uses Fetch API Headers, but the underlying transport managers expect
|
|
@@ -86,7 +97,7 @@ function startHttpServerWithRetry(app, initialPort, host, maxRetries, parentCont
|
|
|
86
97
|
"code" in err &&
|
|
87
98
|
err.code !== "EADDRINUSE") {
|
|
88
99
|
const errorToLog = err instanceof Error ? err : new Error(String(err));
|
|
89
|
-
logger.error("An unexpected error occurred while starting the server.",
|
|
100
|
+
logger.error("An unexpected error occurred while starting the server.", errorToLog, attemptContext);
|
|
90
101
|
return reject(err);
|
|
91
102
|
}
|
|
92
103
|
logger.warning(`Encountered EADDRINUSE race condition on port ${port}, retrying...`, attemptContext);
|
|
@@ -94,10 +105,8 @@ function startHttpServerWithRetry(app, initialPort, host, maxRetries, parentCont
|
|
|
94
105
|
}
|
|
95
106
|
})
|
|
96
107
|
.catch((err) => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
error: err,
|
|
100
|
-
});
|
|
108
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
109
|
+
logger.fatal("Failed to check if port is in use.", error, attemptContext);
|
|
101
110
|
reject(err);
|
|
102
111
|
});
|
|
103
112
|
};
|
|
@@ -145,7 +154,7 @@ export function createHttpApp(transportManager, createServerInstanceFn, parentCo
|
|
|
145
154
|
await next();
|
|
146
155
|
});
|
|
147
156
|
app.use(MCP_ENDPOINT_PATH, async (c, next) => {
|
|
148
|
-
const clientIp = c
|
|
157
|
+
const clientIp = getClientIp(c);
|
|
149
158
|
const context = requestContextService.createRequestContext({
|
|
150
159
|
operation: "httpRateLimitCheck",
|
|
151
160
|
ipAddress: clientIp,
|
|
@@ -206,8 +215,15 @@ export function createHttpApp(transportManager, createServerInstanceFn, parentCo
|
|
|
206
215
|
});
|
|
207
216
|
}
|
|
208
217
|
else {
|
|
209
|
-
//
|
|
210
|
-
|
|
218
|
+
// Hono's c.json() expects a JSON-serializable object. The response.body
|
|
219
|
+
// from the transport layer is `unknown`. This check ensures we pass a valid
|
|
220
|
+
// object to c.json(). While a full serialization check (e.g., for circular
|
|
221
|
+
// references) is complex, this is a pragmatic and sufficient safeguard for
|
|
222
|
+
// the known, simple object structures returned by our tools.
|
|
223
|
+
const body = typeof response.body === "object" && response.body !== null
|
|
224
|
+
? response.body
|
|
225
|
+
: { body: response.body };
|
|
226
|
+
return c.json(body);
|
|
211
227
|
}
|
|
212
228
|
});
|
|
213
229
|
app.delete(MCP_ENDPOINT_PATH, async (c) => {
|
|
@@ -220,8 +236,10 @@ export function createHttpApp(transportManager, createServerInstanceFn, parentCo
|
|
|
220
236
|
if (sessionId) {
|
|
221
237
|
if (transportManager instanceof StatefulTransportManager) {
|
|
222
238
|
const response = await transportManager.handleDeleteRequest(sessionId, context);
|
|
223
|
-
|
|
224
|
-
|
|
239
|
+
const body = typeof response.body === "object" && response.body !== null
|
|
240
|
+
? response.body
|
|
241
|
+
: { body: response.body };
|
|
242
|
+
return c.json(body, response.statusCode);
|
|
225
243
|
}
|
|
226
244
|
else {
|
|
227
245
|
return c.json({
|
|
@@ -252,3 +270,4 @@ export async function startHttpTransport(createServerInstanceFn, parentContext)
|
|
|
252
270
|
logger.info("HTTP transport started successfully.", transportContext);
|
|
253
271
|
return { app, server, transportManager };
|
|
254
272
|
}
|
|
273
|
+
//# sourceMappingURL=httpTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAW,IAAI,EAAQ,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACL,MAAM,EACN,WAAW,EAEX,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAErD;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAA0C;IAC7D,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrD,OAAO,CACL,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QACzB,YAAY,CACb,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AAEH,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,IAAY,EACZ,aAA6B;IAE7B,MAAM,OAAO,GAAG,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,eAAe,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,UAAU;aACP,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;YACxC,MAAM,CAAC,KAAK,CACV,iCAAiC,GAAG,CAAC,IAAI,kBAAkB,KAAK,EAAE,EAClE,OAAO,CACR,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;aACD,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,mCAAmC,EACrE,OAAO,CACR,CAAC;YACF,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAyC,EACzC,WAAmB,EACnB,IAAY,EACZ,UAAkB,EAClB,aAA6B;IAE7B,MAAM,YAAY,GAAG;QACnB,GAAG,aAAa;QAChB,SAAS,EAAE,0BAA0B;KACtC,CAAC;IACF,MAAM,CAAC,IAAI,CACT,2CAA2C,WAAW,SAAS,UAAU,WAAW,EACpF,YAAY,CACb,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE;YAChD,MAAM,cAAc,GAAG,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1D,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,oCAAoC,UAAU,WAAW,CAC1D,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;iBACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,OAAO,CACZ,QAAQ,IAAI,gCAAgC,IAAI,GAAG,CAAC,KAAK,EACzD,cAAc,CACf,CAAC;oBACF,UAAU,CACR,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EACpC,MAAM,CAAC,uBAAuB,CAC/B,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,KAAK,CAC1B,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC1C,CAAC,IAAuC,EAAE,EAAE;wBAC1C,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;wBAChF,MAAM,CAAC,IAAI,CAAC,+BAA+B,aAAa,EAAE,EAAE;4BAC1D,GAAG,cAAc;4BACjB,OAAO,EAAE,aAAa;4BACtB,WAAW,EAAE,MAAM,CAAC,cAAc;yBACnC,CAAC,CAAC;wBACH,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;4BAC5D,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;wBAC7D,CAAC;oBACH,CAAC,CACF,CAAC;oBACF,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,IACE,GAAG;wBACH,OAAO,GAAG,KAAK,QAAQ;wBACvB,MAAM,IAAI,GAAG;wBACZ,GAAwB,CAAC,IAAI,KAAK,YAAY,EAC/C,CAAC;wBACD,MAAM,UAAU,GACd,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtD,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,UAAU,EACV,cAAc,CACf,CAAC;wBACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBACD,MAAM,CAAC,OAAO,CACZ,iDAAiD,IAAI,eAAe,EACpE,cAAc,CACf,CAAC;oBACF,UAAU,CACR,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EACpC,MAAM,CAAC,uBAAuB,CAC/B,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,KAAK,CACV,oCAAoC,EACpC,KAAK,EACL,cAAc,CACf,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC7B,sBAAgD,EAChD,WAAmB,EACnB,OAAuB;IAEvB,MAAM,SAAS,GAAG;QAChB,GAAG,OAAO;QACV,SAAS,EAAE,wBAAwB;QACnC,WAAW;KACZ,CAAC;IACF,MAAM,CAAC,IAAI,CACT,gDAAgD,WAAW,EAAE,EAC7D,SAAS,CACV,CAAC;IACF,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,IAAI,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;QAC/D,KAAK,UAAU;YACb,OAAO,IAAI,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC;QACZ;YACE,MAAM,CAAC,IAAI,CACT,+DAA+D,EAC/D,SAAS,CACV,CAAC;YACF,OAAO,IAAI,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,gBAAkC,EAClC,sBAAgD,EAChD,aAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAkC,CAAC;IACvD,MAAM,gBAAgB,GAAG;QACvB,GAAG,aAAa;QAChB,SAAS,EAAE,oBAAoB;KAChC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,GAAG,CAAC,GAAG,CACL,GAAG,EACH,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;QACtC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;QAClD,YAAY,EAAE;YACZ,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,eAAe;SAChB;QACD,WAAW,EAAE,IAAI;KAClB,CAAC,CACH,CAAC;IAEF,GAAG,CAAC,GAAG,CACL,GAAG,EACH,KAAK,EAAE,CAA0C,EAAE,IAAU,EAAE,EAAE;QAC9D,CAAC,CAAC,GAAG,CAAC,QAAgC,CAAC,SAAS,CAC/C,wBAAwB,EACxB,SAAS,CACV,CAAC;QACF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,GAAG,CACL,iBAAiB,EACjB,KAAK,EAAE,CAA0C,EAAE,IAAU,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,oBAAoB;YAC/B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,IAAI,CAAC;YACH,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE;gBACzC,GAAG,OAAO;gBACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CACF,CAAC;IAEF,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CACT,0DAA0D,EAC1D,gBAAgB,CACjB,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CACT,6DAA6D,EAC7D,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9B,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAA0C,EAAE,EAAE;QACxE,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,IAAI,CACX,sDAAsD,EACtD,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EACL,8EAA8E;SACjF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CACN,iBAAiB,EACjB,sBAAsB,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,EAChE,CAAC,CAAC,EAAE,EAAE;QACJ,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEtC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE9B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,4EAA4E;YAC5E,2EAA2E;YAC3E,2EAA2E;YAC3E,6DAA6D;YAC7D,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;gBACzD,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,MAAM,CACR,iBAAiB,EACjB,KAAK,EAAE,CAA0C,EAAE,EAAE;QACnD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,GAAG,gBAAgB;YACnB,SAAS,EAAE,qBAAqB;YAChC,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,gBAAgB,YAAY,wBAAwB,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CACzD,SAAS,EACT,OAAO,CACR,CAAC;gBACF,MAAM,IAAI,GACR,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;oBACzD,CAAC,CAAC,QAAQ,CAAC,IAAI;oBACf,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,IAAI,CACX;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,mDAAmD;iBAC7D,EACD,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,sBAAgD,EAChD,aAA6B;IAM7B,MAAM,gBAAgB,GAAG;QACvB,GAAG,aAAa;QAChB,SAAS,EAAE,oBAAoB;KAChC,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,sBAAsB,EACtB,MAAM,CAAC,cAAc,EACrB,gBAAgB,CACjB,CAAC;IACF,MAAM,GAAG,GAAG,aAAa,CACvB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,GAAG,EACH,SAAS,EACT,SAAS,EACT,MAAM,CAAC,qBAAqB,EAC5B,gBAAgB,CACjB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,gBAAgB,CAAC,CAAC;IACtE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines custom types for the Hono HTTP transport layer.
|
|
3
|
+
* @module src/mcp-server/transports/http/httpTypes
|
|
4
|
+
*/
|
|
5
|
+
import type { IncomingMessage, ServerResponse } from "http";
|
|
6
|
+
/**
|
|
7
|
+
* Extends Hono's Bindings to include the raw Node.js request and response objects.
|
|
8
|
+
* This is necessary for integrating with libraries like the MCP SDK that
|
|
9
|
+
* need to write directly to the response stream.
|
|
10
|
+
*
|
|
11
|
+
* As per `@hono/node-server`, the response object is available on `c.env.outgoing`.
|
|
12
|
+
*/
|
|
13
|
+
export type HonoNodeBindings = {
|
|
14
|
+
incoming: IncomingMessage;
|
|
15
|
+
outgoing: ServerResponse;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=httpTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTypes.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTypes.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Barrel file for the HTTP transport module.
|
|
3
|
+
* @module src/mcp-server/transports/http/index
|
|
4
|
+
*/
|
|
5
|
+
export { createHttpApp, startHttpTransport } from "./httpTransport.js";
|
|
6
|
+
export { httpErrorHandler } from "./httpErrorHandler.js";
|
|
7
|
+
export type { HonoNodeBindings } from "./httpTypes.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Hono middleware for handling MCP transport logic.
|
|
3
|
+
* This middleware encapsulates the logic for processing MCP requests,
|
|
4
|
+
* delegating to the appropriate transport manager, and preparing the
|
|
5
|
+
* response for Hono to send.
|
|
6
|
+
* @module src/mcp-server/transports/http/mcpTransportMiddleware
|
|
7
|
+
*/
|
|
8
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
+
import { MiddlewareHandler } from "hono";
|
|
10
|
+
import { TransportManager, TransportResponse } from "../core/transportTypes.js";
|
|
11
|
+
import { HonoNodeBindings } from "./httpTypes.js";
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Hono middleware for handling MCP POST requests.
|
|
14
|
+
* @param transportManager - The main transport manager (usually stateful).
|
|
15
|
+
* @param createServerInstanceFn - Function to create an McpServer instance.
|
|
16
|
+
* @returns A Hono middleware function.
|
|
17
|
+
*/
|
|
18
|
+
type McpMiddlewareEnv = {
|
|
19
|
+
Variables: {
|
|
20
|
+
mcpResponse: TransportResponse;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export declare const mcpTransportMiddleware: (transportManager: TransportManager, createServerInstanceFn: () => Promise<McpServer>) => MiddlewareHandler<McpMiddlewareEnv & {
|
|
24
|
+
Bindings: HonoNodeBindings;
|
|
25
|
+
}>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=mcpTransportMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTransportMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/mcpTransportMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAOzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAuClD;;;;;GAKG;AAEH,KAAK,gBAAgB,GAAG;IACtB,SAAS,EAAE;QACT,WAAW,EAAE,iBAAiB,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,kBAAkB,gBAAgB,EAClC,wBAAwB,MAAM,OAAO,CAAC,SAAS,CAAC,KAC/C,iBAAiB,CAAC,gBAAgB,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAmDrE,CAAC"}
|
|
@@ -34,30 +34,33 @@ async function handleStatelessRequest(createServerInstanceFn, headers, body, con
|
|
|
34
34
|
const statelessManager = new StatelessTransportManager(createServerInstanceFn);
|
|
35
35
|
return statelessManager.handleRequest(toIncomingHttpHeaders(headers), body, context);
|
|
36
36
|
}
|
|
37
|
-
export const mcpTransportMiddleware = (transportManager, createServerInstanceFn) =>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
|
|
37
|
+
export const mcpTransportMiddleware = (transportManager, createServerInstanceFn) => {
|
|
38
|
+
return createMiddleware(async (c, next) => {
|
|
39
|
+
const sessionId = c.req.header("mcp-session-id");
|
|
40
|
+
const context = requestContextService.createRequestContext({
|
|
41
|
+
operation: "mcpTransportMiddleware",
|
|
42
|
+
sessionId,
|
|
43
|
+
});
|
|
44
|
+
const body = await c.req.json();
|
|
45
|
+
let response;
|
|
46
|
+
if (isInitializeRequest(body)) {
|
|
47
|
+
if (config.mcpSessionMode === "stateless") {
|
|
48
|
+
response = await handleStatelessRequest(createServerInstanceFn, c.req.raw.headers, body, context);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
response = await transportManager.initializeAndHandle(toIncomingHttpHeaders(c.req.raw.headers), body, context);
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
else {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
if (sessionId) {
|
|
56
|
+
response = await transportManager.handleRequest(toIncomingHttpHeaders(c.req.raw.headers), body, context, sessionId);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
response = await handleStatelessRequest(createServerInstanceFn, c.req.raw.headers, body, context);
|
|
60
|
+
}
|
|
56
61
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
await next();
|
|
63
|
-
});
|
|
62
|
+
c.set("mcpResponse", response);
|
|
63
|
+
await next();
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=mcpTransportMiddleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTransportMiddleware.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/mcpTransportMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAkB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIjF;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,sBAAgD,EAChD,OAAgB,EAChB,IAAa,EACb,OAAuB;IAEvB,MAAM,gBAAgB,GAAG,IAAI,yBAAyB,CACpD,sBAAsB,CACvB,CAAC;IACF,OAAO,gBAAgB,CAAC,aAAa,CACnC,qBAAqB,CAAC,OAAO,CAAC,EAC9B,IAAI,EACJ,OAAO,CACR,CAAC;AACJ,CAAC;AAeD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,gBAAkC,EAClC,sBAAgD,EACsB,EAAE;IACxE,OAAO,gBAAgB,CACrB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAChB,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,wBAAwB;YACnC,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,QAA2B,CAAC;QAEhC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;gBAC1C,QAAQ,GAAG,MAAM,sBAAsB,CACrC,sBAAsB,EACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EACjB,IAAI,EACJ,OAAO,CACR,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MACT,gBACD,CAAC,mBAAmB,CACnB,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EACxC,IAAI,EACJ,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAC7C,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EACxC,IAAI,EACJ,OAAO,EACP,SAAS,CACV,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,sBAAsB,CACrC,sBAAsB,EACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EACjB,IAAI,EACJ,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/stdio/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/stdio/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Handles the setup and connection for the Stdio MCP transport.
|
|
3
|
+
* Implements the MCP Specification 2025-03-26 for stdio transport.
|
|
4
|
+
* This transport communicates directly over standard input (stdin) and
|
|
5
|
+
* standard output (stdout), typically used when the MCP server is launched
|
|
6
|
+
* as a child process by a host application.
|
|
7
|
+
*
|
|
8
|
+
* Specification Reference:
|
|
9
|
+
* https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/transports.mdx#stdio
|
|
10
|
+
*
|
|
11
|
+
* --- Authentication Note ---
|
|
12
|
+
* As per the MCP Authorization Specification (2025-03-26, Section 1.2),
|
|
13
|
+
* STDIO transports SHOULD NOT implement HTTP-based authentication flows.
|
|
14
|
+
* Authorization is typically handled implicitly by the host application
|
|
15
|
+
* controlling the server process. This implementation follows that guideline.
|
|
16
|
+
*
|
|
17
|
+
* @see {@link https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/authorization.mdx | MCP Authorization Specification}
|
|
18
|
+
* @module src/mcp-server/transports/stdioTransport
|
|
19
|
+
*/
|
|
20
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
21
|
+
import { RequestContext } from "../../../utils/index.js";
|
|
22
|
+
/**
|
|
23
|
+
* Connects a given `McpServer` instance to the Stdio transport.
|
|
24
|
+
* This function initializes the SDK's `StdioServerTransport`, which manages
|
|
25
|
+
* communication over `process.stdin` and `process.stdout` according to the
|
|
26
|
+
* MCP stdio transport specification.
|
|
27
|
+
*
|
|
28
|
+
* MCP Spec Points Covered by SDK's `StdioServerTransport`:
|
|
29
|
+
* - Reads JSON-RPC messages (requests, notifications, responses, batches) from stdin.
|
|
30
|
+
* - Writes JSON-RPC messages to stdout.
|
|
31
|
+
* - Handles newline delimiters and ensures no embedded newlines in output messages.
|
|
32
|
+
* - Ensures only valid MCP messages are written to stdout.
|
|
33
|
+
*
|
|
34
|
+
* Logging via the `logger` utility MAY result in output to stderr, which is
|
|
35
|
+
* permitted by the spec for logging purposes.
|
|
36
|
+
*
|
|
37
|
+
* @param server - The `McpServer` instance.
|
|
38
|
+
* @param parentContext - The logging and tracing context from the calling function.
|
|
39
|
+
* @returns A promise that resolves when the Stdio transport is successfully connected.
|
|
40
|
+
* @throws {Error} If the connection fails during setup.
|
|
41
|
+
*/
|
|
42
|
+
export declare function startStdioTransport(server: McpServer, parentContext: RequestContext): Promise<void>;
|
|
43
|
+
//# sourceMappingURL=stdioTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdioTransport.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/stdio/stdioTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAwB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdioTransport.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/stdio/stdioTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAkB,MAAM,yBAAyB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,aAA6B;IAE7B,MAAM,gBAAgB,GAAG;QACvB,GAAG,aAAa;QAChB,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAE,OAAO;KACvB,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,gBAAgB,CAAC,CAAC;IAE1E,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,gBAAgB,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,MAAM,CAAC,KAAK,CACV,0DAA0D,EAC1D,gBAAgB,CACjB,CAAC;QACF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,CAAC,IAAI,CACT,yDAAyD,EACzD,gBAAgB,CACjB,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,MAAM,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE;YAClC,SAAS,EAAE,uBAAuB;YAClC,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Defines standardized error codes, a custom error class, and related schemas
|
|
3
|
+
* for handling errors within the Model Context Protocol (MCP) server and its components.
|
|
4
|
+
* This module provides a structured way to represent and communicate errors, ensuring
|
|
5
|
+
* consistency and clarity for both server-side operations and client-side error handling.
|
|
6
|
+
* @module src/types-global/errors
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
/**
|
|
10
|
+
* Defines a comprehensive set of standardized error codes for common issues encountered
|
|
11
|
+
* within MCP servers, tools, or related operations. These codes are designed to help
|
|
12
|
+
* clients and developers programmatically understand the nature of an error, facilitating
|
|
13
|
+
* more precise error handling and debugging.
|
|
14
|
+
*/
|
|
15
|
+
export declare enum BaseErrorCode {
|
|
16
|
+
/** Access denied due to invalid credentials or lack of authentication. */
|
|
17
|
+
UNAUTHORIZED = "UNAUTHORIZED",
|
|
18
|
+
/** Access denied despite valid authentication, due to insufficient permissions. */
|
|
19
|
+
FORBIDDEN = "FORBIDDEN",
|
|
20
|
+
/** The requested resource or entity could not be found. */
|
|
21
|
+
NOT_FOUND = "NOT_FOUND",
|
|
22
|
+
/** The request could not be completed due to a conflict with the current state of the resource. */
|
|
23
|
+
CONFLICT = "CONFLICT",
|
|
24
|
+
/** The request failed due to invalid input parameters or data. */
|
|
25
|
+
VALIDATION_ERROR = "VALIDATION_ERROR",
|
|
26
|
+
/** The provided input is invalid for the operation. */
|
|
27
|
+
INVALID_INPUT = "INVALID_INPUT",
|
|
28
|
+
/** An error occurred while parsing input data (e.g., date string, JSON). */
|
|
29
|
+
PARSING_ERROR = "PARSING_ERROR",
|
|
30
|
+
/** The request was rejected because the client has exceeded rate limits. */
|
|
31
|
+
RATE_LIMITED = "RATE_LIMITED",
|
|
32
|
+
/** The request timed out before a response could be generated. */
|
|
33
|
+
TIMEOUT = "TIMEOUT",
|
|
34
|
+
/** The service is temporarily unavailable, possibly due to maintenance or overload. */
|
|
35
|
+
SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
|
|
36
|
+
/** An unexpected error occurred on the server side. */
|
|
37
|
+
INTERNAL_ERROR = "INTERNAL_ERROR",
|
|
38
|
+
/** An error occurred, but the specific cause is unknown or cannot be categorized. */
|
|
39
|
+
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
40
|
+
/** An error occurred during the loading or validation of configuration data. */
|
|
41
|
+
CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
|
|
42
|
+
/** An error occurred during the initialization phase of a service or module. */
|
|
43
|
+
INITIALIZATION_FAILED = "INITIALIZATION_FAILED",
|
|
44
|
+
/** A service was used before it was properly initialized. */
|
|
45
|
+
SERVICE_NOT_INITIALIZED = "SERVICE_NOT_INITIALIZED",
|
|
46
|
+
/** A generic error occurred during a database operation. */
|
|
47
|
+
DATABASE_ERROR = "DATABASE_ERROR",
|
|
48
|
+
/** An error occurred while loading or interacting with an extension. */
|
|
49
|
+
EXTENSION_ERROR = "EXTENSION_ERROR",
|
|
50
|
+
/** An error occurred during the shutdown phase of a service or module. */
|
|
51
|
+
SHUTDOWN_ERROR = "SHUTDOWN_ERROR",
|
|
52
|
+
/** A generic error occurred during the execution of an agent's task. */
|
|
53
|
+
AGENT_EXECUTION_ERROR = "AGENT_EXECUTION_ERROR"
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Custom error class for MCP-specific errors, extending the built-in `Error` class.
|
|
57
|
+
* It standardizes error reporting by encapsulating a `BaseErrorCode`, a descriptive
|
|
58
|
+
* human-readable message, and optional structured details for more context.
|
|
59
|
+
*
|
|
60
|
+
* This class is central to error handling within the MCP framework, allowing for
|
|
61
|
+
* consistent error creation and propagation.
|
|
62
|
+
*/
|
|
63
|
+
export declare class McpError extends Error {
|
|
64
|
+
/**
|
|
65
|
+
* The standardized error code from {@link BaseErrorCode}.
|
|
66
|
+
*/
|
|
67
|
+
readonly code: BaseErrorCode;
|
|
68
|
+
/**
|
|
69
|
+
* Optional additional details or context about the error.
|
|
70
|
+
* This can be any structured data that helps in understanding or debugging the error.
|
|
71
|
+
*/
|
|
72
|
+
readonly details?: Record<string, unknown>;
|
|
73
|
+
/**
|
|
74
|
+
* Creates an instance of McpError.
|
|
75
|
+
*
|
|
76
|
+
* @param code - The standardized error code that categorizes the error.
|
|
77
|
+
* @param message - A human-readable description of the error.
|
|
78
|
+
* @param details - Optional. A record containing additional structured details about the error.
|
|
79
|
+
*/
|
|
80
|
+
constructor(code: BaseErrorCode, message: string, details?: Record<string, unknown>);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Zod schema for validating error objects. This schema can be used for:
|
|
84
|
+
* - Validating error structures when parsing error responses from external services.
|
|
85
|
+
* - Ensuring consistency when creating or handling error objects internally.
|
|
86
|
+
* - Generating TypeScript types for error objects.
|
|
87
|
+
*
|
|
88
|
+
* The schema enforces the presence of a `code` (from {@link BaseErrorCode}) and a `message`,
|
|
89
|
+
* and allows for optional `details`.
|
|
90
|
+
*/
|
|
91
|
+
export declare const ErrorSchema: z.ZodObject<{
|
|
92
|
+
/**
|
|
93
|
+
* The error code, corresponding to one of the {@link BaseErrorCode} enum values.
|
|
94
|
+
* This field is required and helps in programmatically identifying the error type.
|
|
95
|
+
*/
|
|
96
|
+
code: z.ZodNativeEnum<typeof BaseErrorCode>;
|
|
97
|
+
/**
|
|
98
|
+
* A human-readable, descriptive message explaining the error.
|
|
99
|
+
* This field is required and provides context to developers or users.
|
|
100
|
+
*/
|
|
101
|
+
message: z.ZodString;
|
|
102
|
+
/**
|
|
103
|
+
* Optional. A record containing additional structured details or context about the error.
|
|
104
|
+
* This can include things like invalid field names, specific values that caused issues, or other relevant data.
|
|
105
|
+
*/
|
|
106
|
+
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
107
|
+
}, "strip", z.ZodTypeAny, {
|
|
108
|
+
code: BaseErrorCode;
|
|
109
|
+
message: string;
|
|
110
|
+
details?: Record<string, unknown> | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
code: BaseErrorCode;
|
|
113
|
+
message: string;
|
|
114
|
+
details?: Record<string, unknown> | undefined;
|
|
115
|
+
}>;
|
|
116
|
+
/**
|
|
117
|
+
* TypeScript type inferred from the {@link ErrorSchema}.
|
|
118
|
+
* This type represents the structure of a validated error object, commonly used
|
|
119
|
+
* for error responses or when passing error information within the application.
|
|
120
|
+
*/
|
|
121
|
+
export type ErrorResponse = z.infer<typeof ErrorSchema>;
|
|
122
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types-global/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,oBAAY,aAAa;IACvB,0EAA0E;IAC1E,YAAY,iBAAiB;IAC7B,mFAAmF;IACnF,SAAS,cAAc;IACvB,2DAA2D;IAC3D,SAAS,cAAc;IACvB,mGAAmG;IACnG,QAAQ,aAAa;IACrB,kEAAkE;IAClE,gBAAgB,qBAAqB;IACrC,uDAAuD;IACvD,aAAa,kBAAkB;IAC/B,4EAA4E;IAC5E,aAAa,kBAAkB;IAC/B,4EAA4E;IAC5E,YAAY,iBAAiB;IAC7B,kEAAkE;IAClE,OAAO,YAAY;IACnB,uFAAuF;IACvF,mBAAmB,wBAAwB;IAC3C,uDAAuD;IACvD,cAAc,mBAAmB;IACjC,qFAAqF;IACrF,aAAa,kBAAkB;IAC/B,gFAAgF;IAChF,mBAAmB,wBAAwB;IAC3C,gFAAgF;IAChF,qBAAqB,0BAA0B;IAC/C,6DAA6D;IAC7D,uBAAuB,4BAA4B;IACnD,4DAA4D;IAC5D,cAAc,mBAAmB;IACjC,wEAAwE;IACxE,eAAe,oBAAoB;IACnC,0EAA0E;IAC1E,cAAc,mBAAmB;IACjC,wEAAwE;IACxE,qBAAqB,0BAA0B;CAChD;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC;;OAEG;IACH,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC;;;OAGG;IACH,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD;;;;;;OAMG;gBAED,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAgBpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;IAEpB;;;OAGG;;IAIH;;;OAGG;;IAKH;;;OAGG;;;;;;;;;;EAUJ,CAAC;AAEJ;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -127,3 +127,4 @@ export const ErrorSchema = z
|
|
|
127
127
|
.describe("Optional structured details providing more context about the error"),
|
|
128
128
|
})
|
|
129
129
|
.describe("Schema for validating structured error objects, ensuring consistency in error reporting.");
|
|
130
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types-global/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAN,IAAY,aAuCX;AAvCD,WAAY,aAAa;IACvB,0EAA0E;IAC1E,8CAA6B,CAAA;IAC7B,mFAAmF;IACnF,wCAAuB,CAAA;IACvB,2DAA2D;IAC3D,wCAAuB,CAAA;IACvB,mGAAmG;IACnG,sCAAqB,CAAA;IACrB,kEAAkE;IAClE,sDAAqC,CAAA;IACrC,uDAAuD;IACvD,gDAA+B,CAAA;IAC/B,4EAA4E;IAC5E,gDAA+B,CAAA;IAC/B,4EAA4E;IAC5E,8CAA6B,CAAA;IAC7B,kEAAkE;IAClE,oCAAmB,CAAA;IACnB,uFAAuF;IACvF,4DAA2C,CAAA;IAC3C,uDAAuD;IACvD,kDAAiC,CAAA;IACjC,qFAAqF;IACrF,gDAA+B,CAAA;IAC/B,gFAAgF;IAChF,4DAA2C,CAAA;IAC3C,gFAAgF;IAChF,gEAA+C,CAAA;IAC/C,6DAA6D;IAC7D,oEAAmD,CAAA;IACnD,4DAA4D;IAC5D,kDAAiC,CAAA;IACjC,wEAAwE;IACxE,oDAAmC,CAAA;IACnC,0EAA0E;IAC1E,kDAAiC,CAAA;IACjC,wEAAwE;IACxE,gEAA+C,CAAA;AACjD,CAAC,EAvCW,aAAa,KAAb,aAAa,QAuCxB;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC;;OAEG;IACa,IAAI,CAAgB;IAEpC;;;OAGG;IACa,OAAO,CAA2B;IAElD;;;;;;OAMG;IACH,YACE,IAAmB,EACnB,OAAe,EACf,OAAiC;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QAEvB,qCAAqC;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEhD,iFAAiF;QACjF,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN;;;OAGG;IACH,IAAI,EAAE,CAAC;SACJ,UAAU,CAAC,aAAa,CAAC;SACzB,QAAQ,CAAC,iDAAiD,CAAC;IAC9D;;;OAGG;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,QAAQ,CAAC,uCAAuC,CAAC;IACpD;;;OAGG;IACH,OAAO,EAAE,CAAC;SACP,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE,CACrE;CACJ,CAAC;KACD,QAAQ,CACP,0FAA0F,CAC3F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAEnC,iEAAiE;AACjE,8CAA8C;AAC9C,mDAAmD;AACnD,qEAAqE;AACrE,8CAA8C;AAC9C,wCAAwC;AACxC,WAAW"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { BaseErrorCode } from "../../types-global/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Generic error context interface
|
|
4
|
+
*/
|
|
5
|
+
export interface ErrorContext {
|
|
6
|
+
/** Unique request or operation identifier */
|
|
7
|
+
requestId?: string;
|
|
8
|
+
/** Any additional context information */
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Error handler options
|
|
13
|
+
*/
|
|
14
|
+
export interface ErrorHandlerOptions {
|
|
15
|
+
/** The context of the operation that caused the error */
|
|
16
|
+
context?: ErrorContext;
|
|
17
|
+
/** The name of the operation being performed */
|
|
18
|
+
operation: string;
|
|
19
|
+
/** The input that caused the error */
|
|
20
|
+
input?: unknown;
|
|
21
|
+
/** Whether to rethrow the error after handling */
|
|
22
|
+
rethrow?: boolean;
|
|
23
|
+
/** Custom error code to use when creating an McpError */
|
|
24
|
+
errorCode?: BaseErrorCode;
|
|
25
|
+
/** Custom error mapper function */
|
|
26
|
+
errorMapper?: (error: unknown) => Error;
|
|
27
|
+
/** Whether to include stack traces in logs */
|
|
28
|
+
includeStack?: boolean;
|
|
29
|
+
/** Whether this is a critical error that should abort operations */
|
|
30
|
+
critical?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Base error mapping rule
|
|
34
|
+
*/
|
|
35
|
+
export interface BaseErrorMapping {
|
|
36
|
+
/** Pattern to match in the error message */
|
|
37
|
+
pattern: string | RegExp;
|
|
38
|
+
/** Error code for mapped errors */
|
|
39
|
+
errorCode: BaseErrorCode;
|
|
40
|
+
/** Custom error message template */
|
|
41
|
+
messageTemplate?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Error mapping configuration
|
|
45
|
+
*/
|
|
46
|
+
export interface ErrorMapping<T extends Error = Error> extends BaseErrorMapping {
|
|
47
|
+
/** Factory function to create the mapped error */
|
|
48
|
+
factory: (error: unknown, context?: Record<string, unknown>) => T;
|
|
49
|
+
/** Additional context to merge with error context */
|
|
50
|
+
additionalContext?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Error handler utility class with various error handling methods
|
|
54
|
+
*/
|
|
55
|
+
export declare class ErrorHandler {
|
|
56
|
+
/**
|
|
57
|
+
* Determine the appropriate error code for an error based on patterns and type
|
|
58
|
+
* @param error The error to classify
|
|
59
|
+
* @returns The appropriate error code
|
|
60
|
+
*/
|
|
61
|
+
static determineErrorCode(error: unknown): BaseErrorCode;
|
|
62
|
+
/**
|
|
63
|
+
* Handle operation errors with consistent logging and transformation
|
|
64
|
+
* @param error The error that occurred
|
|
65
|
+
* @param options Error handling options
|
|
66
|
+
* @returns The transformed error
|
|
67
|
+
*/
|
|
68
|
+
static handleError(error: unknown, options: ErrorHandlerOptions): Error;
|
|
69
|
+
/**
|
|
70
|
+
* Map an error to a specific error type based on error message patterns
|
|
71
|
+
* @param error The error to map
|
|
72
|
+
* @param mappings Array of pattern and factory mappings
|
|
73
|
+
* @param defaultFactory Default factory function if no pattern matches
|
|
74
|
+
* @returns The mapped error
|
|
75
|
+
*/
|
|
76
|
+
static mapError<T extends Error>(error: unknown, mappings: ErrorMapping<T>[], defaultFactory?: (error: unknown, context?: Record<string, unknown>) => T): T | Error;
|
|
77
|
+
/**
|
|
78
|
+
* Format an error for consistent response structure
|
|
79
|
+
* @param error The error to format
|
|
80
|
+
* @returns Formatted error object
|
|
81
|
+
*/
|
|
82
|
+
static formatError(error: unknown): Record<string, unknown>;
|
|
83
|
+
/**
|
|
84
|
+
* Safely execute a function and handle any errors
|
|
85
|
+
* @param fn Function to execute
|
|
86
|
+
* @param options Error handling options
|
|
87
|
+
* @returns The result of the function or error
|
|
88
|
+
*/
|
|
89
|
+
static tryCatch<T>(fn: () => Promise<T> | T, options: ErrorHandlerOptions): Promise<T>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=errorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,8BAA8B,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;IACxC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,mCAAmC;IACnC,SAAS,EAAE,aAAa,CAAC;IACzB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CACnD,SAAQ,gBAAgB;IACxB,kDAAkD;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAuGD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;WACW,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa;IAgC/D;;;;;OAKG;WACW,WAAW,CACvB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,mBAAmB,GAC3B,KAAK;IAoFR;;;;;;OAMG;WACW,QAAQ,CAAC,CAAC,SAAS,KAAK,EACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC3B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GACxE,CAAC,GAAG,KAAK;IAiCZ;;;;OAIG;WACW,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA4BlE;;;;;OAKG;WACiB,QAAQ,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;CAOd"}
|