@cyanheads/git-mcp-server 2.2.4 → 2.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/LICENSE +1 -1
- package/README.md +69 -25
- 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 +1 -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 +1 -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 +9 -7
- 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 +17 -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 +167 -0
- package/dist/mcp-server/tools/gitAdd/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitAdd/logic.js +24 -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 +184 -0
- package/dist/mcp-server/tools/gitCheckout/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCheckout/logic.js +45 -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 +190 -0
- package/dist/mcp-server/tools/gitCherryPick/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCherryPick/logic.js +38 -10
- 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 +187 -0
- package/dist/mcp-server/tools/gitClean/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitClean/logic.js +48 -11
- 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 +211 -0
- package/dist/mcp-server/tools/gitCommit/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitCommit/logic.js +67 -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 +196 -0
- package/dist/mcp-server/tools/gitMerge/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitMerge/logic.js +44 -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 +184 -0
- package/dist/mcp-server/tools/gitPull/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitPull/logic.js +31 -7
- 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 +242 -0
- package/dist/mcp-server/tools/gitRebase/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitRebase/logic.js +44 -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 +178 -0
- package/dist/mcp-server/tools/gitReset/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitReset/logic.js +24 -7
- 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 +236 -0
- package/dist/mcp-server/tools/gitStash/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/gitStash/logic.js +76 -18
- 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
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for entity prefix configuration
|
|
3
|
+
*/
|
|
4
|
+
export interface EntityPrefixConfig {
|
|
5
|
+
[key: string]: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* ID Generation Options
|
|
9
|
+
*/
|
|
10
|
+
export interface IdGenerationOptions {
|
|
11
|
+
length?: number;
|
|
12
|
+
separator?: string;
|
|
13
|
+
charset?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generic ID Generator class for creating and managing unique identifiers
|
|
17
|
+
*/
|
|
18
|
+
export declare class IdGenerator {
|
|
19
|
+
private static DEFAULT_CHARSET;
|
|
20
|
+
private static DEFAULT_SEPARATOR;
|
|
21
|
+
private static DEFAULT_LENGTH;
|
|
22
|
+
private entityPrefixes;
|
|
23
|
+
private prefixToEntityType;
|
|
24
|
+
/**
|
|
25
|
+
* Constructor that accepts entity prefix configuration
|
|
26
|
+
* @param entityPrefixes Map of entity types to their prefixes
|
|
27
|
+
*/
|
|
28
|
+
constructor(entityPrefixes?: EntityPrefixConfig);
|
|
29
|
+
/**
|
|
30
|
+
* Set or update entity prefixes and rebuild the reverse lookup
|
|
31
|
+
* @param entityPrefixes Map of entity types to their prefixes
|
|
32
|
+
*/
|
|
33
|
+
setEntityPrefixes(entityPrefixes: EntityPrefixConfig): void;
|
|
34
|
+
/**
|
|
35
|
+
* Get all registered entity prefixes
|
|
36
|
+
* @returns The entity prefix configuration
|
|
37
|
+
*/
|
|
38
|
+
getEntityPrefixes(): EntityPrefixConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Generates a cryptographically secure random alphanumeric string
|
|
41
|
+
* @param length The length of the random string to generate
|
|
42
|
+
* @param charset Optional custom character set
|
|
43
|
+
* @returns Random alphanumeric string
|
|
44
|
+
*/
|
|
45
|
+
generateRandomString(length?: number, charset?: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Generates a unique ID with an optional prefix
|
|
48
|
+
* @param prefix Optional prefix to add to the ID
|
|
49
|
+
* @param options Optional generation options
|
|
50
|
+
* @returns A unique identifier string
|
|
51
|
+
*/
|
|
52
|
+
generate(prefix?: string, options?: IdGenerationOptions): string;
|
|
53
|
+
/**
|
|
54
|
+
* Generates a custom ID for an entity with format PREFIX_XXXXXX
|
|
55
|
+
* @param entityType The type of entity to generate an ID for
|
|
56
|
+
* @param options Optional generation options
|
|
57
|
+
* @returns A unique identifier string (e.g., "PROJ_A6B3J0")
|
|
58
|
+
* @throws {McpError} If the entity type is not registered
|
|
59
|
+
*/
|
|
60
|
+
generateForEntity(entityType: string, options?: IdGenerationOptions): string;
|
|
61
|
+
/**
|
|
62
|
+
* Validates if a given ID matches the expected format for an entity type
|
|
63
|
+
* @param id The ID to validate
|
|
64
|
+
* @param entityType The expected entity type
|
|
65
|
+
* @param options Optional validation options
|
|
66
|
+
* @returns boolean indicating if the ID is valid
|
|
67
|
+
*/
|
|
68
|
+
isValid(id: string, entityType: string, options?: IdGenerationOptions): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Strips the prefix from an ID
|
|
71
|
+
* @param id The ID to strip
|
|
72
|
+
* @param separator Optional custom separator
|
|
73
|
+
* @returns The ID without the prefix
|
|
74
|
+
*/
|
|
75
|
+
stripPrefix(id: string, separator?: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Determines the entity type from an ID
|
|
78
|
+
* @param id The ID to get the entity type for
|
|
79
|
+
* @param separator Optional custom separator
|
|
80
|
+
* @returns The entity type
|
|
81
|
+
* @throws {McpError} If the ID format is invalid or entity type is unknown
|
|
82
|
+
*/
|
|
83
|
+
getEntityType(id: string, separator?: string): string;
|
|
84
|
+
/**
|
|
85
|
+
* Normalizes an entity ID to ensure consistent uppercase format
|
|
86
|
+
* @param id The ID to normalize
|
|
87
|
+
* @param separator Optional custom separator
|
|
88
|
+
* @returns The normalized ID in uppercase format
|
|
89
|
+
*/
|
|
90
|
+
normalize(id: string, separator?: string): string;
|
|
91
|
+
}
|
|
92
|
+
export declare const idGenerator: IdGenerator;
|
|
93
|
+
export declare const generateUUID: () => string;
|
|
94
|
+
//# sourceMappingURL=idGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idGenerator.d.ts","sourceRoot":"","sources":["../../../src/utils/security/idGenerator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,WAAW;IAEtB,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0C;IAExE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAO;IAEvC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAK;IAElC,OAAO,CAAC,cAAc,CAA0B;IAEhD,OAAO,CAAC,kBAAkB,CAA8B;IAExD;;;OAGG;gBACS,cAAc,GAAE,kBAAuB;IAInD;;;OAGG;IACI,iBAAiB,CAAC,cAAc,EAAE,kBAAkB,GAAG,IAAI;IAgBlE;;;OAGG;IACI,iBAAiB,IAAI,kBAAkB;IAI9C;;;;;OAKG;IACI,oBAAoB,CACzB,MAAM,GAAE,MAAmC,EAC3C,OAAO,GAAE,MAAoC,GAC5C,MAAM;IAYT;;;;;OAKG;IACI,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM;IAY3E;;;;;;OAMG;IACI,iBAAiB,CACtB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,MAAM;IAaT;;;;;;OAMG;IACI,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO;IAeV;;;;;OAKG;IACI,WAAW,CAChB,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAsC,GAChD,MAAM;IAIT;;;;;;OAMG;IACI,aAAa,CAClB,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAsC,GAChD,MAAM;IAsBT;;;;;OAKG;IACI,SAAS,CACd,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAsC,GAChD,MAAM;CAeV;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC;AAG7C,eAAO,MAAM,YAAY,QAAO,MAE/B,CAAC"}
|
|
@@ -52,7 +52,8 @@ export class IdGenerator {
|
|
|
52
52
|
const bytes = randomBytes(length);
|
|
53
53
|
let result = "";
|
|
54
54
|
for (let i = 0; i < length; i++) {
|
|
55
|
-
|
|
55
|
+
const byte = bytes[i] ?? 0;
|
|
56
|
+
result += charset[byte % charset.length];
|
|
56
57
|
}
|
|
57
58
|
return result;
|
|
58
59
|
}
|
|
@@ -134,7 +135,12 @@ export class IdGenerator {
|
|
|
134
135
|
normalize(id, separator = IdGenerator.DEFAULT_SEPARATOR) {
|
|
135
136
|
const entityType = this.getEntityType(id, separator);
|
|
136
137
|
const idParts = id.split(separator);
|
|
137
|
-
|
|
138
|
+
const randomPart = idParts[1];
|
|
139
|
+
if (!randomPart) {
|
|
140
|
+
// This case should theoretically be caught by getEntityType, but this adds robustness
|
|
141
|
+
throw new McpError(BaseErrorCode.VALIDATION_ERROR, `Invalid ID format for normalization: ${id}. Random part is missing.`);
|
|
142
|
+
}
|
|
143
|
+
return `${this.entityPrefixes[entityType]}${separator}${randomPart.toUpperCase()}`;
|
|
138
144
|
}
|
|
139
145
|
}
|
|
140
146
|
// Create and export a default instance with an empty entity prefix configuration
|
|
@@ -143,3 +149,4 @@ export const idGenerator = new IdGenerator();
|
|
|
143
149
|
export const generateUUID = () => {
|
|
144
150
|
return cryptoRandomUUID(); // Use imported cryptoRandomUUID
|
|
145
151
|
};
|
|
152
|
+
//# sourceMappingURL=idGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idGenerator.js","sourceRoot":"","sources":["../../../src/utils/security/idGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/security/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/security/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { RequestContext } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Rate limiting configuration options
|
|
4
|
+
*/
|
|
5
|
+
export interface RateLimitConfig {
|
|
6
|
+
/** Time window in milliseconds */
|
|
7
|
+
windowMs: number;
|
|
8
|
+
/** Maximum number of requests allowed in the window */
|
|
9
|
+
maxRequests: number;
|
|
10
|
+
/** Custom error message template */
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
/** Whether to skip rate limiting in certain environments (e.g. development) */
|
|
13
|
+
skipInDevelopment?: boolean;
|
|
14
|
+
/** Custom key generator function */
|
|
15
|
+
keyGenerator?: (identifier: string, context?: RequestContext) => string;
|
|
16
|
+
/** How often to run cleanup of expired entries (in milliseconds) */
|
|
17
|
+
cleanupInterval?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Individual rate limit entry
|
|
21
|
+
*/
|
|
22
|
+
export interface RateLimitEntry {
|
|
23
|
+
/** Current request count */
|
|
24
|
+
count: number;
|
|
25
|
+
/** When the window resets (timestamp) */
|
|
26
|
+
resetTime: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generic rate limiter that can be used across the application
|
|
30
|
+
*/
|
|
31
|
+
export declare class RateLimiter {
|
|
32
|
+
private config;
|
|
33
|
+
/** Map storing rate limit data */
|
|
34
|
+
private limits;
|
|
35
|
+
/** Cleanup interval timer */
|
|
36
|
+
private cleanupTimer;
|
|
37
|
+
/** Default configuration */
|
|
38
|
+
private static DEFAULT_CONFIG;
|
|
39
|
+
/**
|
|
40
|
+
* Create a new rate limiter
|
|
41
|
+
* @param config Rate limiting configuration
|
|
42
|
+
*/
|
|
43
|
+
constructor(config: RateLimitConfig);
|
|
44
|
+
/**
|
|
45
|
+
* Start the cleanup timer to periodically remove expired entries
|
|
46
|
+
*/
|
|
47
|
+
private startCleanupTimer;
|
|
48
|
+
/**
|
|
49
|
+
* Clean up expired rate limit entries to prevent memory leaks
|
|
50
|
+
*/
|
|
51
|
+
private cleanupExpiredEntries;
|
|
52
|
+
/**
|
|
53
|
+
* Update rate limiter configuration
|
|
54
|
+
* @param config New configuration options
|
|
55
|
+
*/
|
|
56
|
+
configure(config: Partial<RateLimitConfig>): void;
|
|
57
|
+
/**
|
|
58
|
+
* Get current configuration
|
|
59
|
+
* @returns Current rate limit configuration
|
|
60
|
+
*/
|
|
61
|
+
getConfig(): RateLimitConfig;
|
|
62
|
+
/**
|
|
63
|
+
* Reset all rate limits
|
|
64
|
+
*/
|
|
65
|
+
reset(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Check if a request exceeds the rate limit
|
|
68
|
+
* @param key Unique identifier for the request source
|
|
69
|
+
* @param context Optional request context
|
|
70
|
+
* @throws {McpError} If rate limit is exceeded
|
|
71
|
+
*/
|
|
72
|
+
check(key: string, context?: RequestContext): void;
|
|
73
|
+
/**
|
|
74
|
+
* Get rate limit information for a key
|
|
75
|
+
* @param key The rate limit key
|
|
76
|
+
* @returns Current rate limit status or null if no record exists
|
|
77
|
+
*/
|
|
78
|
+
getStatus(key: string): {
|
|
79
|
+
current: number;
|
|
80
|
+
limit: number;
|
|
81
|
+
remaining: number;
|
|
82
|
+
resetTime: number;
|
|
83
|
+
} | null;
|
|
84
|
+
/**
|
|
85
|
+
* Stop the cleanup timer when the limiter is no longer needed
|
|
86
|
+
*/
|
|
87
|
+
dispose(): void;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Create and export a default rate limiter instance
|
|
91
|
+
*/
|
|
92
|
+
export declare const rateLimiter: RateLimiter;
|
|
93
|
+
//# sourceMappingURL=rateLimiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimiter.d.ts","sourceRoot":"","sources":["../../../src/utils/security/rateLimiter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,cAAc,EAAE,MAAM,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,MAAM,CAAC;IACxE,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IAmBV,OAAO,CAAC,MAAM;IAlB1B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAA8B;IAC5C,6BAA6B;IAC7B,OAAO,CAAC,YAAY,CAA+B;IACnD,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAC,cAAc,CAO3B;IAEF;;;OAGG;gBACiB,MAAM,EAAE,eAAe;IAQ3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IASxD;;;OAGG;IACI,SAAS,IAAI,eAAe;IAInC;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;OAKG;IACI,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAqDzD;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAeR;;OAEG;IACI,OAAO,IAAI,IAAI;CASvB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAGtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/utils/security/rateLimiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import sanitizeHtml from "sanitize-html";
|
|
2
|
+
/**
|
|
3
|
+
* Options for path sanitization.
|
|
4
|
+
*/
|
|
5
|
+
export interface PathSanitizeOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Restrict paths to a specific root directory.
|
|
8
|
+
* If provided, the sanitized path will be relative to this root,
|
|
9
|
+
* and attempts to traverse above this root will be prevented.
|
|
10
|
+
*/
|
|
11
|
+
rootDir?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Normalize Windows-style backslashes (`\\`) to POSIX-style forward slashes (`/`).
|
|
14
|
+
* Defaults to `false`.
|
|
15
|
+
*/
|
|
16
|
+
toPosix?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Allow absolute paths.
|
|
19
|
+
* If `false` (default), absolute paths will be converted to relative paths
|
|
20
|
+
* (by removing leading slashes or drive letters).
|
|
21
|
+
* If `true`, absolute paths are permitted, subject to `rootDir` constraints if provided.
|
|
22
|
+
*/
|
|
23
|
+
allowAbsolute?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Information returned by the sanitizePath method, providing details about the sanitization process.
|
|
27
|
+
*/
|
|
28
|
+
export interface SanitizedPathInfo {
|
|
29
|
+
/** The final sanitized and normalized path string. */
|
|
30
|
+
sanitizedPath: string;
|
|
31
|
+
/** The original path string passed to the function before any normalization or sanitization. */
|
|
32
|
+
originalInput: string;
|
|
33
|
+
/** Indicates if the input path was determined to be absolute after initial `path.normalize()`. */
|
|
34
|
+
wasAbsolute: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Indicates if an initially absolute path was converted to a relative path.
|
|
37
|
+
* This typically happens if `options.allowAbsolute` was `false`.
|
|
38
|
+
*/
|
|
39
|
+
convertedToRelative: boolean;
|
|
40
|
+
/** The effective options that were used for sanitization, including defaults. */
|
|
41
|
+
optionsUsed: PathSanitizeOptions;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Context-specific input sanitization options
|
|
45
|
+
*/
|
|
46
|
+
export interface SanitizeStringOptions {
|
|
47
|
+
/** Handle content differently based on context */
|
|
48
|
+
context?: "text" | "html" | "attribute" | "url" | "javascript";
|
|
49
|
+
/** Custom allowed tags when using html context */
|
|
50
|
+
allowedTags?: string[];
|
|
51
|
+
/** Custom allowed attributes when using html context */
|
|
52
|
+
allowedAttributes?: Record<string, string[]>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Configuration for HTML sanitization
|
|
56
|
+
*/
|
|
57
|
+
export interface HtmlSanitizeConfig {
|
|
58
|
+
/** Allowed HTML tags */
|
|
59
|
+
allowedTags?: string[];
|
|
60
|
+
/** Allowed HTML attributes (global or per-tag) */
|
|
61
|
+
allowedAttributes?: sanitizeHtml.IOptions["allowedAttributes"];
|
|
62
|
+
/** Allow preserving comments - uses allowedTags internally */
|
|
63
|
+
preserveComments?: boolean;
|
|
64
|
+
/** Custom URL sanitizer */
|
|
65
|
+
transformTags?: sanitizeHtml.IOptions["transformTags"];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Sanitization class for handling various input sanitization tasks.
|
|
69
|
+
* Provides methods to clean and validate strings, HTML, URLs, paths, JSON, and numbers.
|
|
70
|
+
*/
|
|
71
|
+
export declare class Sanitization {
|
|
72
|
+
private static instance;
|
|
73
|
+
/** Default list of sensitive fields for sanitizing logs */
|
|
74
|
+
private sensitiveFields;
|
|
75
|
+
/** Default sanitize-html configuration */
|
|
76
|
+
private defaultHtmlSanitizeConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Private constructor to enforce singleton pattern.
|
|
79
|
+
*/
|
|
80
|
+
private constructor();
|
|
81
|
+
/**
|
|
82
|
+
* Get the singleton Sanitization instance.
|
|
83
|
+
* @returns {Sanitization} The singleton instance.
|
|
84
|
+
*/
|
|
85
|
+
static getInstance(): Sanitization;
|
|
86
|
+
/**
|
|
87
|
+
* Set sensitive fields for log sanitization. These fields will be redacted when
|
|
88
|
+
* `sanitizeForLogging` is called.
|
|
89
|
+
* @param {string[]} fields - Array of field names to consider sensitive.
|
|
90
|
+
*/
|
|
91
|
+
setSensitiveFields(fields: string[]): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get the current list of sensitive fields used for log sanitization.
|
|
94
|
+
* @returns {string[]} Array of sensitive field names.
|
|
95
|
+
*/
|
|
96
|
+
getSensitiveFields(): string[];
|
|
97
|
+
/**
|
|
98
|
+
* Sanitize HTML content using the `sanitize-html` library.
|
|
99
|
+
* Removes potentially malicious tags and attributes.
|
|
100
|
+
* @param {string} input - HTML string to sanitize.
|
|
101
|
+
* @param {HtmlSanitizeConfig} [config] - Optional custom sanitization configuration.
|
|
102
|
+
* @returns {string} Sanitized HTML string.
|
|
103
|
+
*/
|
|
104
|
+
sanitizeHtml(input: string, config?: HtmlSanitizeConfig): string;
|
|
105
|
+
/**
|
|
106
|
+
* Sanitize string input based on context.
|
|
107
|
+
*
|
|
108
|
+
* **Important:** Using `context: 'javascript'` is explicitly disallowed and will throw an `McpError`.
|
|
109
|
+
* This is a security measure to prevent accidental execution or ineffective sanitization of JavaScript code.
|
|
110
|
+
*
|
|
111
|
+
* @param {string} input - String to sanitize.
|
|
112
|
+
* @param {SanitizeStringOptions} [options={}] - Sanitization options.
|
|
113
|
+
* @returns {string} Sanitized string.
|
|
114
|
+
* @throws {McpError} If `context: 'javascript'` is used.
|
|
115
|
+
*/
|
|
116
|
+
sanitizeString(input: string, options?: SanitizeStringOptions): string;
|
|
117
|
+
/**
|
|
118
|
+
* Sanitize URL with robust validation.
|
|
119
|
+
* Ensures the URL uses allowed protocols and is well-formed.
|
|
120
|
+
* @param {string} input - URL to sanitize.
|
|
121
|
+
* @param {string[]} [allowedProtocols=['http', 'https']] - Allowed URL protocols.
|
|
122
|
+
* @returns {string} Sanitized URL.
|
|
123
|
+
* @throws {McpError} If URL is invalid or uses a disallowed protocol.
|
|
124
|
+
*/
|
|
125
|
+
sanitizeUrl(input: string, allowedProtocols?: string[]): string;
|
|
126
|
+
/**
|
|
127
|
+
* Sanitizes a file path to prevent path traversal and other common attacks.
|
|
128
|
+
* Normalizes the path, optionally converts to POSIX style, and can restrict
|
|
129
|
+
* the path to a root directory.
|
|
130
|
+
*
|
|
131
|
+
* @param {string} input - The file path to sanitize.
|
|
132
|
+
* @param {PathSanitizeOptions} [options={}] - Options to control sanitization behavior.
|
|
133
|
+
* @returns {SanitizedPathInfo} An object containing the sanitized path and metadata about the sanitization process.
|
|
134
|
+
* @throws {McpError} If the path is invalid, unsafe (e.g., contains null bytes, attempts traversal).
|
|
135
|
+
*/
|
|
136
|
+
sanitizePath(input: string, options?: PathSanitizeOptions): SanitizedPathInfo;
|
|
137
|
+
/**
|
|
138
|
+
* Sanitize a JSON string. Validates format and optionally checks size.
|
|
139
|
+
* @template T - The expected type of the parsed JSON object.
|
|
140
|
+
* @param {string} input - JSON string to sanitize.
|
|
141
|
+
* @param {number} [maxSize] - Maximum allowed size in bytes.
|
|
142
|
+
* @returns {T} Parsed and sanitized object.
|
|
143
|
+
* @throws {McpError} If JSON is invalid, too large, or input is not a string.
|
|
144
|
+
*/
|
|
145
|
+
sanitizeJson<T = unknown>(input: string, maxSize?: number): T;
|
|
146
|
+
/**
|
|
147
|
+
* Ensure input is a valid number and optionally within a numeric range.
|
|
148
|
+
* Clamps the number to the range if min/max are provided and value is outside.
|
|
149
|
+
* @param {number | string} input - Number or string to validate.
|
|
150
|
+
* @param {number} [min] - Minimum allowed value (inclusive).
|
|
151
|
+
* @param {number} [max] - Maximum allowed value (inclusive).
|
|
152
|
+
* @returns {number} Sanitized number.
|
|
153
|
+
* @throws {McpError} If input is not a valid number or parsable string.
|
|
154
|
+
*/
|
|
155
|
+
sanitizeNumber(input: number | string, min?: number, max?: number): number;
|
|
156
|
+
/**
|
|
157
|
+
* Sanitize input for logging to protect sensitive information.
|
|
158
|
+
* Deep clones the input and redacts fields matching `this.sensitiveFields`.
|
|
159
|
+
* @param {unknown} input - Input to sanitize.
|
|
160
|
+
* @returns {unknown} Sanitized input safe for logging.
|
|
161
|
+
*/
|
|
162
|
+
sanitizeForLogging(input: unknown): unknown;
|
|
163
|
+
/**
|
|
164
|
+
* Private helper to convert attribute format for sanitize-html.
|
|
165
|
+
*/
|
|
166
|
+
private convertAttributesFormat;
|
|
167
|
+
/**
|
|
168
|
+
* Recursively redact sensitive fields in an object or array.
|
|
169
|
+
* Modifies the object in place.
|
|
170
|
+
* @param {unknown} obj - The object or array to redact.
|
|
171
|
+
*/
|
|
172
|
+
private redactSensitiveFields;
|
|
173
|
+
}
|
|
174
|
+
export declare const sanitization: Sanitization;
|
|
175
|
+
/**
|
|
176
|
+
* Convenience function to sanitize input for logging.
|
|
177
|
+
* @param {unknown} input - Input to sanitize.
|
|
178
|
+
* @returns {unknown} Sanitized input safe for logging.
|
|
179
|
+
*/
|
|
180
|
+
export declare const sanitizeInputForLogging: (input: unknown) => unknown;
|
|
181
|
+
//# sourceMappingURL=sanitization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitization.d.ts","sourceRoot":"","sources":["../../../src/utils/security/sanitization.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,10 +136,10 @@ export class Sanitization {
|
|
|
136
136
|
switch (options.context) {
|
|
137
137
|
case "html":
|
|
138
138
|
return this.sanitizeHtml(input, {
|
|
139
|
-
allowedTags: options.allowedTags,
|
|
139
|
+
allowedTags: options.allowedTags || this.defaultHtmlSanitizeConfig.allowedTags,
|
|
140
140
|
allowedAttributes: options.allowedAttributes
|
|
141
141
|
? this.convertAttributesFormat(options.allowedAttributes)
|
|
142
|
-
:
|
|
142
|
+
: this.defaultHtmlSanitizeConfig.allowedAttributes,
|
|
143
143
|
});
|
|
144
144
|
case "attribute":
|
|
145
145
|
return sanitizeHtml(input, { allowedTags: [], allowedAttributes: {} });
|
|
@@ -215,11 +215,11 @@ export class Sanitization {
|
|
|
215
215
|
if (!input || typeof input !== "string") {
|
|
216
216
|
throw new Error("Invalid path input: must be a non-empty string");
|
|
217
217
|
}
|
|
218
|
+
if (input.includes("\0")) {
|
|
219
|
+
throw new Error("Path contains null byte, which is disallowed.");
|
|
220
|
+
}
|
|
218
221
|
let normalized = path.normalize(input);
|
|
219
222
|
wasAbsoluteInitially = path.isAbsolute(normalized);
|
|
220
|
-
if (normalized.includes("\0")) {
|
|
221
|
-
throw new Error("Path contains null byte");
|
|
222
|
-
}
|
|
223
223
|
if (effectiveOptions.toPosix) {
|
|
224
224
|
normalized = normalized.replace(/\\/g, "/");
|
|
225
225
|
}
|
|
@@ -428,3 +428,4 @@ export const sanitization = Sanitization.getInstance();
|
|
|
428
428
|
* @returns {unknown} Sanitized input safe for logging.
|
|
429
429
|
*/
|
|
430
430
|
export const sanitizeInputForLogging = (input) => sanitization.sanitizeForLogging(input);
|
|
431
|
+
//# sourceMappingURL=sanitization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitization.js","sourceRoot":"","sources":["../../../src/utils/security/sanitization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/git-mcp-server",
|
|
3
|
-
"version": "2.2
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "An MCP (Model Context Protocol) server enabling LLMs and AI agents to interact with Git repositories. Provides tools for comprehensive Git operations including clone, commit, branch, diff, log, status, push, pull, merge, rebase, worktree, tag management, and more, via the MCP standard. STDIO & HTTP.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -9,7 +9,12 @@
|
|
|
9
9
|
"bin": {
|
|
10
10
|
"git-mcp-server": "dist/index.js"
|
|
11
11
|
},
|
|
12
|
-
"exports":
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
13
18
|
"types": "dist/index.d.ts",
|
|
14
19
|
"type": "module",
|
|
15
20
|
"repository": {
|
|
@@ -21,42 +26,67 @@
|
|
|
21
26
|
},
|
|
22
27
|
"homepage": "https://github.com/cyanheads/git-mcp-server#readme",
|
|
23
28
|
"scripts": {
|
|
24
|
-
"build": "tsc
|
|
25
|
-
"
|
|
26
|
-
"start
|
|
27
|
-
"start:
|
|
28
|
-
"
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"postbuild": "tsx scripts/make-executable.ts dist/index.js",
|
|
31
|
+
"start": "node dist/index.js",
|
|
32
|
+
"start:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio node dist/index.js",
|
|
33
|
+
"start:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http node dist/index.js",
|
|
34
|
+
"dev": "tsx --watch src/index.ts",
|
|
35
|
+
"dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio tsx --watch src/index.ts",
|
|
36
|
+
"dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http tsx --watch src/index.ts",
|
|
37
|
+
"rebuild": "tsx scripts/clean.ts && npm run build",
|
|
29
38
|
"docs:generate": "typedoc --tsconfig ./tsconfig.typedoc.json",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
39
|
+
"depcheck": "npx depcheck",
|
|
40
|
+
"lint": "eslint .",
|
|
41
|
+
"lint:fix": "eslint . --fix",
|
|
42
|
+
"typecheck": "tsc --noEmit",
|
|
43
|
+
"tree": "tsx scripts/tree.ts",
|
|
44
|
+
"fetch-spec": "tsx scripts/fetch-openapi-spec.ts",
|
|
32
45
|
"format": "prettier --write \"**/*.{ts,js,json,md,html,css}\"",
|
|
33
|
-
"inspector": "npx
|
|
34
|
-
"inspector:http": "npx @modelcontextprotocol/inspector --config mcp.json --server git-mcp-server-http",
|
|
35
|
-
"clean": "ts-node --esm scripts/clean.ts",
|
|
46
|
+
"inspector": "npx mcp-inspector --config mcp.json --server git-mcp-server",
|
|
36
47
|
"test": "vitest run",
|
|
37
48
|
"test:watch": "vitest",
|
|
38
|
-
"test:coverage": "vitest run --coverage"
|
|
49
|
+
"test:coverage": "vitest run --coverage",
|
|
50
|
+
"audit": "npm audit --production",
|
|
51
|
+
"audit:fix": "npm audit fix --production",
|
|
52
|
+
"prepublishOnly": "npm run typecheck && npm run lint && npm run test && npm run build"
|
|
39
53
|
},
|
|
40
54
|
"dependencies": {
|
|
41
|
-
"@hono/node-server": "^1.
|
|
42
|
-
"@modelcontextprotocol/sdk": "^1.17.
|
|
43
|
-
"
|
|
44
|
-
"@types/sanitize-html": "^2.16.0",
|
|
45
|
-
"@types/validator": "^13.15.2",
|
|
55
|
+
"@hono/node-server": "^1.18.0",
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.17.1",
|
|
57
|
+
"axios": "^1.11.0",
|
|
46
58
|
"chrono-node": "2.8.0",
|
|
47
59
|
"dotenv": "16.6.1",
|
|
48
60
|
"hono": "^4.8.10",
|
|
61
|
+
"ignore": "^7.0.5",
|
|
49
62
|
"jose": "^6.0.12",
|
|
50
|
-
"
|
|
63
|
+
"js-yaml": "^4.1.0",
|
|
64
|
+
"openai": "^5.11.0",
|
|
51
65
|
"partial-json": "^0.1.7",
|
|
52
66
|
"sanitize-html": "^2.17.0",
|
|
53
67
|
"tiktoken": "^1.0.21",
|
|
54
|
-
"ts-node": "^10.9.2",
|
|
55
|
-
"typescript": "^5.8.3",
|
|
56
68
|
"validator": "^13.15.15",
|
|
57
69
|
"winston": "^3.17.0",
|
|
58
70
|
"winston-transport": "^4.9.0",
|
|
59
|
-
"zod": "^3.25.
|
|
71
|
+
"zod": "^3.25.76"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"@eslint/js": "^9.32.0",
|
|
75
|
+
"@types/node": "^24.1.0",
|
|
76
|
+
"@types/sanitize-html": "^2.16.0",
|
|
77
|
+
"@types/validator": "13.15.2",
|
|
78
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
79
|
+
"depcheck": "^1.4.7",
|
|
80
|
+
"eslint": "^9.32.0",
|
|
81
|
+
"globals": "^16.3.0",
|
|
82
|
+
"prettier": "^3.6.2",
|
|
83
|
+
"tsx": "^4.20.3",
|
|
84
|
+
"msw": "^2.10.4",
|
|
85
|
+
"typedoc": "^0.28.8",
|
|
86
|
+
"typescript": "^5.8.3",
|
|
87
|
+
"typescript-eslint": "^8.38.0",
|
|
88
|
+
"vite-tsconfig-paths": "^5.1.4",
|
|
89
|
+
"vitest": "^3.2.4"
|
|
60
90
|
},
|
|
61
91
|
"keywords": [
|
|
62
92
|
"typescript",
|
|
@@ -107,18 +137,6 @@
|
|
|
107
137
|
"engines": {
|
|
108
138
|
"node": ">=20.0.0"
|
|
109
139
|
},
|
|
110
|
-
"devDependencies": {
|
|
111
|
-
"@anatine/zod-mock": "^3.14.0",
|
|
112
|
-
"@faker-js/faker": "^9.9.0",
|
|
113
|
-
"@types/supertest": "^6.0.3",
|
|
114
|
-
"@vitest/coverage-v8": "^3.2.4",
|
|
115
|
-
"msw": "^2.10.4",
|
|
116
|
-
"prettier": "^3.6.2",
|
|
117
|
-
"supertest": "^7.1.4",
|
|
118
|
-
"typedoc": "^0.28.8",
|
|
119
|
-
"vite-tsconfig-paths": "^5.1.4",
|
|
120
|
-
"vitest": "^3.2.4"
|
|
121
|
-
},
|
|
122
140
|
"publishConfig": {
|
|
123
141
|
"access": "public"
|
|
124
142
|
}
|