@next-vibe/checker 1.0.52 → 3.0.0

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.
Files changed (430) hide show
  1. package/LICENSE +669 -5
  2. package/README.md +179 -200
  3. package/check.config.ts +85 -16
  4. package/generated/alias-map.ts +30 -0
  5. package/generated/endpoint.ts +75 -0
  6. package/{src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts → oxlint-plugins/i18n.ts} +45 -9
  7. package/{src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts → oxlint-plugins/jsx-capitalization.ts} +84 -17
  8. package/{src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts → oxlint-plugins/restricted-syntax.ts} +40 -14
  9. package/package.json +28 -132
  10. package/.dist/LICENSE +0 -674
  11. package/.dist/README.md +0 -257
  12. package/.dist/bin/vibe-runtime.js +0 -58166
  13. package/.dist/bin/vibe-runtime.js.map +0 -451
  14. package/.dist/oxlint-plugins/i18n.js +0 -381
  15. package/.dist/oxlint-plugins/jsx-capitalization.js +0 -436
  16. package/.dist/oxlint-plugins/restricted-syntax.js +0 -409
  17. package/src/app/api/[locale]/LICENSE +0 -674
  18. package/src/app/api/[locale]/i18n/de/index.ts +0 -15
  19. package/src/app/api/[locale]/i18n/en/index.ts +0 -14
  20. package/src/app/api/[locale]/i18n/pl/index.ts +0 -13
  21. package/src/app/api/[locale]/shared/i18n/de/index.ts +0 -85
  22. package/src/app/api/[locale]/shared/i18n/en/index.ts +0 -83
  23. package/src/app/api/[locale]/shared/i18n/pl/index.ts +0 -85
  24. package/src/app/api/[locale]/shared/stats-filtering.ts +0 -174
  25. package/src/app/api/[locale]/shared/types/common.schema.ts +0 -55
  26. package/src/app/api/[locale]/shared/types/response.schema.ts +0 -411
  27. package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +0 -315
  28. package/src/app/api/[locale]/shared/types/utils.ts +0 -187
  29. package/src/app/api/[locale]/shared/utils/base64.ts +0 -46
  30. package/src/app/api/[locale]/shared/utils/env-util.ts +0 -36
  31. package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +0 -21
  32. package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +0 -19
  33. package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +0 -21
  34. package/src/app/api/[locale]/shared/utils/index.ts +0 -11
  35. package/src/app/api/[locale]/shared/utils/object-path.ts +0 -41
  36. package/src/app/api/[locale]/shared/utils/object.test.ts +0 -82
  37. package/src/app/api/[locale]/shared/utils/object.ts +0 -73
  38. package/src/app/api/[locale]/shared/utils/parse-error.ts +0 -134
  39. package/src/app/api/[locale]/shared/utils/parse-json.ts +0 -62
  40. package/src/app/api/[locale]/shared/utils/time.ts +0 -46
  41. package/src/app/api/[locale]/shared/utils/validation.ts +0 -117
  42. package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +0 -115
  43. package/src/app/api/[locale]/system/builder/definition.ts +0 -1750
  44. package/src/app/api/[locale]/system/builder/enum.ts +0 -78
  45. package/src/app/api/[locale]/system/builder/i18n/de/index.ts +0 -645
  46. package/src/app/api/[locale]/system/builder/i18n/en/index.ts +0 -653
  47. package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +0 -643
  48. package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +0 -178
  49. package/src/app/api/[locale]/system/builder/repository/build-executor.ts +0 -538
  50. package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +0 -250
  51. package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +0 -170
  52. package/src/app/api/[locale]/system/builder/repository/config-loader.ts +0 -146
  53. package/src/app/api/[locale]/system/builder/repository/config-validator.ts +0 -97
  54. package/src/app/api/[locale]/system/builder/repository/constants.ts +0 -125
  55. package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +0 -67
  56. package/src/app/api/[locale]/system/builder/repository/file-copier.ts +0 -90
  57. package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +0 -75
  58. package/src/app/api/[locale]/system/builder/repository/index.ts +0 -2
  59. package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +0 -143
  60. package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +0 -104
  61. package/src/app/api/[locale]/system/builder/repository/profile-service.ts +0 -79
  62. package/src/app/api/[locale]/system/builder/repository/report-generator.ts +0 -109
  63. package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +0 -277
  64. package/src/app/api/[locale]/system/builder/route.ts +0 -21
  65. package/src/app/api/[locale]/system/builder/test-files/file1.ts +0 -2
  66. package/src/app/api/[locale]/system/builder/test-files/file2.tsx +0 -10
  67. package/src/app/api/[locale]/system/builder/test-files/file3.tsx +0 -16
  68. package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +0 -2
  69. package/src/app/api/[locale]/system/builder/test-files/test-config.ts +0 -38
  70. package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +0 -8
  71. package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +0 -24
  72. package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +0 -6
  73. package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +0 -18
  74. package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +0 -7
  75. package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +0 -27
  76. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +0 -19
  77. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +0 -1
  78. package/src/app/api/[locale]/system/builder/test-files/test3.css +0 -1
  79. package/src/app/api/[locale]/system/check/config/create/definition.ts +0 -266
  80. package/src/app/api/[locale]/system/check/config/create/i18n/de/index.ts +0 -151
  81. package/src/app/api/[locale]/system/check/config/create/i18n/en/index.ts +0 -146
  82. package/src/app/api/[locale]/system/check/config/create/i18n/pl/index.ts +0 -148
  83. package/src/app/api/[locale]/system/check/config/create/repository.ts +0 -269
  84. package/src/app/api/[locale]/system/check/config/create/route.ts +0 -21
  85. package/src/app/api/[locale]/system/check/config/repository.ts +0 -846
  86. package/src/app/api/[locale]/system/check/config/shared.ts +0 -364
  87. package/src/app/api/[locale]/system/check/config/types.ts +0 -610
  88. package/src/app/api/[locale]/system/check/config/utils.ts +0 -155
  89. package/src/app/api/[locale]/system/check/i18n/de/index.ts +0 -19
  90. package/src/app/api/[locale]/system/check/i18n/en/index.ts +0 -18
  91. package/src/app/api/[locale]/system/check/i18n/pl/index.ts +0 -19
  92. package/src/app/api/[locale]/system/check/lint/definition.ts +0 -383
  93. package/src/app/api/[locale]/system/check/lint/enum.ts +0 -34
  94. package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +0 -160
  95. package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +0 -158
  96. package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +0 -160
  97. package/src/app/api/[locale]/system/check/lint/repository.ts +0 -844
  98. package/src/app/api/[locale]/system/check/lint/route.ts +0 -21
  99. package/src/app/api/[locale]/system/check/oxlint/README.md +0 -190
  100. package/src/app/api/[locale]/system/check/oxlint/definition.ts +0 -375
  101. package/src/app/api/[locale]/system/check/oxlint/enum.ts +0 -34
  102. package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +0 -166
  103. package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +0 -164
  104. package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +0 -166
  105. package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +0 -269
  106. package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +0 -74
  107. package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +0 -283
  108. package/src/app/api/[locale]/system/check/oxlint/repository.ts +0 -553
  109. package/src/app/api/[locale]/system/check/oxlint/route.ts +0 -21
  110. package/src/app/api/[locale]/system/check/oxlint/types.ts +0 -191
  111. package/src/app/api/[locale]/system/check/test-project/.vscode/settings.json +0 -48
  112. package/src/app/api/[locale]/system/check/test-project/bun.lock +0 -640
  113. package/src/app/api/[locale]/system/check/test-project/check.config.ts +0 -955
  114. package/src/app/api/[locale]/system/check/test-project/package.json +0 -17
  115. package/src/app/api/[locale]/system/check/test-project/src/constants.ts +0 -6
  116. package/src/app/api/[locale]/system/check/test-project/src/greet.ts +0 -18
  117. package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +0 -107
  118. package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +0 -37
  119. package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +0 -135
  120. package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +0 -113
  121. package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +0 -127
  122. package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +0 -92
  123. package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +0 -73
  124. package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +0 -95
  125. package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +0 -61
  126. package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +0 -78
  127. package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +0 -27
  128. package/src/app/api/[locale]/system/check/test-project/tsconfig.json +0 -22
  129. package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +0 -1
  130. package/src/app/api/[locale]/system/check/typecheck/definition.ts +0 -328
  131. package/src/app/api/[locale]/system/check/typecheck/enum.ts +0 -34
  132. package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +0 -148
  133. package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +0 -145
  134. package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +0 -148
  135. package/src/app/api/[locale]/system/check/typecheck/repository.ts +0 -863
  136. package/src/app/api/[locale]/system/check/typecheck/route.ts +0 -21
  137. package/src/app/api/[locale]/system/check/typecheck/utils.ts +0 -160
  138. package/src/app/api/[locale]/system/check/vibe-check/definition.ts +0 -448
  139. package/src/app/api/[locale]/system/check/vibe-check/enum.ts +0 -63
  140. package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +0 -164
  141. package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +0 -161
  142. package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +0 -163
  143. package/src/app/api/[locale]/system/check/vibe-check/repository.ts +0 -516
  144. package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +0 -1010
  145. package/src/app/api/[locale]/system/check/vibe-check/route.ts +0 -21
  146. package/src/app/api/[locale]/system/generated/endpoint.ts +0 -274
  147. package/src/app/api/[locale]/system/generated/endpoints.ts +0 -138
  148. package/src/app/api/[locale]/system/generated/route-handlers.ts +0 -213
  149. package/src/app/api/[locale]/system/generators/endpoint/definition.ts +0 -167
  150. package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +0 -48
  151. package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +0 -48
  152. package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +0 -50
  153. package/src/app/api/[locale]/system/generators/endpoint/repository.ts +0 -286
  154. package/src/app/api/[locale]/system/generators/endpoint/route.ts +0 -18
  155. package/src/app/api/[locale]/system/generators/endpoints/definition.ts +0 -246
  156. package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +0 -54
  157. package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +0 -52
  158. package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +0 -54
  159. package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +0 -425
  160. package/src/app/api/[locale]/system/generators/endpoints/repository.ts +0 -368
  161. package/src/app/api/[locale]/system/generators/endpoints/route.ts +0 -17
  162. package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +0 -166
  163. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +0 -71
  164. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +0 -69
  165. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +0 -71
  166. package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +0 -279
  167. package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +0 -18
  168. package/src/app/api/[locale]/system/generators/generate-all/definition.ts +0 -327
  169. package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +0 -96
  170. package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +0 -94
  171. package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +0 -96
  172. package/src/app/api/[locale]/system/generators/generate-all/repository.ts +0 -240
  173. package/src/app/api/[locale]/system/generators/generate-all/route.ts +0 -19
  174. package/src/app/api/[locale]/system/generators/i18n/de/index.ts +0 -15
  175. package/src/app/api/[locale]/system/generators/i18n/en/index.ts +0 -14
  176. package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +0 -15
  177. package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +0 -178
  178. package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +0 -48
  179. package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +0 -48
  180. package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +0 -50
  181. package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +0 -267
  182. package/src/app/api/[locale]/system/generators/route-handlers/route.ts +0 -14
  183. package/src/app/api/[locale]/system/generators/shared/utils.ts +0 -215
  184. package/src/app/api/[locale]/system/help/definition.ts +0 -433
  185. package/src/app/api/[locale]/system/help/i18n/de/index.ts +0 -263
  186. package/src/app/api/[locale]/system/help/i18n/en/index.ts +0 -259
  187. package/src/app/api/[locale]/system/help/i18n/pl/index.ts +0 -262
  188. package/src/app/api/[locale]/system/help/interactive/definition.ts +0 -122
  189. package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +0 -21
  190. package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +0 -19
  191. package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +0 -21
  192. package/src/app/api/[locale]/system/help/interactive/repository.ts +0 -1131
  193. package/src/app/api/[locale]/system/help/interactive/route.ts +0 -43
  194. package/src/app/api/[locale]/system/help/list/definition.ts +0 -362
  195. package/src/app/api/[locale]/system/help/list/repository.ts +0 -99
  196. package/src/app/api/[locale]/system/help/list/route.ts +0 -21
  197. package/src/app/api/[locale]/system/help/repository.ts +0 -238
  198. package/src/app/api/[locale]/system/help/route.ts +0 -16
  199. package/src/app/api/[locale]/system/i18n/de/index.ts +0 -67
  200. package/src/app/api/[locale]/system/i18n/en/index.ts +0 -66
  201. package/src/app/api/[locale]/system/i18n/pl/index.ts +0 -67
  202. package/src/app/api/[locale]/system/release-tool/definition.ts +0 -2925
  203. package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +0 -782
  204. package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +0 -779
  205. package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +0 -781
  206. package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +0 -122
  207. package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +0 -205
  208. package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +0 -540
  209. package/src/app/api/[locale]/system/release-tool/repository/config.ts +0 -106
  210. package/src/app/api/[locale]/system/release-tool/repository/constants.ts +0 -406
  211. package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +0 -496
  212. package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +0 -378
  213. package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +0 -96
  214. package/src/app/api/[locale]/system/release-tool/repository/index.ts +0 -1
  215. package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +0 -575
  216. package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +0 -150
  217. package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +0 -241
  218. package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +0 -413
  219. package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +0 -283
  220. package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +0 -1084
  221. package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +0 -132
  222. package/src/app/api/[locale]/system/release-tool/repository/utils.ts +0 -603
  223. package/src/app/api/[locale]/system/release-tool/repository/validation.ts +0 -265
  224. package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +0 -275
  225. package/src/app/api/[locale]/system/release-tool/route.ts +0 -21
  226. package/src/app/api/[locale]/system/unified-interface/README.md +0 -328
  227. package/src/app/api/[locale]/system/unified-interface/cli/README.md +0 -349
  228. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +0 -82
  229. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +0 -120
  230. package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +0 -244
  231. package/src/app/api/[locale]/system/unified-interface/cli/env.ts +0 -24
  232. package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +0 -159
  233. package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +0 -158
  234. package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +0 -159
  235. package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +0 -573
  236. package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +0 -128
  237. package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +0 -155
  238. package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +0 -423
  239. package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +0 -252
  240. package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +0 -901
  241. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +0 -12
  242. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +0 -11
  243. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +0 -12
  244. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +0 -235
  245. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +0 -54
  246. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +0 -52
  247. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +0 -54
  248. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +0 -444
  249. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +0 -25
  250. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +0 -159
  251. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +0 -61
  252. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +0 -59
  253. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +0 -61
  254. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +0 -181
  255. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +0 -22
  256. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +0 -164
  257. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +0 -54
  258. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +0 -52
  259. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +0 -54
  260. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +0 -195
  261. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +0 -24
  262. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +0 -180
  263. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +0 -54
  264. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +0 -52
  265. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +0 -54
  266. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +0 -105
  267. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +0 -22
  268. package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +0 -264
  269. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +0 -246
  270. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +0 -305
  271. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +0 -116
  272. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +0 -67
  273. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +0 -65
  274. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +0 -67
  275. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +0 -70
  276. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +0 -37
  277. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +0 -52
  278. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +0 -285
  279. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +0 -71
  280. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +0 -281
  281. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +0 -83
  282. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +0 -175
  283. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +0 -61
  284. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +0 -518
  285. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +0 -75
  286. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +0 -357
  287. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +0 -93
  288. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +0 -49
  289. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +0 -63
  290. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +0 -667
  291. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +0 -78
  292. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +0 -99
  293. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +0 -54
  294. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +0 -46
  295. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +0 -123
  296. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +0 -269
  297. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +0 -114
  298. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +0 -138
  299. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +0 -59
  300. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +0 -76
  301. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +0 -37
  302. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +0 -403
  303. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +0 -504
  304. package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +0 -39
  305. package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +0 -37
  306. package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +0 -39
  307. package/src/app/api/[locale]/system/unified-interface/mcp/README.md +0 -114
  308. package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +0 -136
  309. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +0 -180
  310. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +0 -178
  311. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +0 -180
  312. package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +0 -305
  313. package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +0 -124
  314. package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +0 -44
  315. package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +0 -14
  316. package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +0 -291
  317. package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +0 -155
  318. package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +0 -191
  319. package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +0 -247
  320. package/src/app/api/[locale]/system/unified-interface/react/icons.tsx +0 -346
  321. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +0 -1413
  322. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +0 -525
  323. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +0 -52
  324. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +0 -144
  325. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +0 -262
  326. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +0 -656
  327. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +0 -220
  328. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +0 -313
  329. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +0 -182
  330. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +0 -173
  331. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +0 -58
  332. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +0 -45
  333. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +0 -43
  334. package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +0 -58
  335. package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +0 -107
  336. package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +0 -336
  337. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +0 -385
  338. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +0 -1827
  339. package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +0 -108
  340. package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +0 -288
  341. package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +0 -114
  342. package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +0 -155
  343. package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +0 -85
  344. package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +0 -167
  345. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +0 -82
  346. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +0 -34
  347. package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +0 -1
  348. package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +0 -284
  349. package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +0 -1101
  350. package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +0 -383
  351. package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +0 -34
  352. package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +0 -76
  353. package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +0 -72
  354. package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +0 -27
  355. package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +0 -80
  356. package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +0 -225
  357. package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +0 -251
  358. package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +0 -1060
  359. package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +0 -70
  360. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +0 -75
  361. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +0 -69
  362. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +0 -86
  363. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +0 -283
  364. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +0 -190
  365. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +0 -114
  366. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +0 -71
  367. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +0 -228
  368. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +0 -119
  369. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +0 -367
  370. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +0 -81
  371. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +0 -71
  372. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +0 -79
  373. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +0 -426
  374. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +0 -38
  375. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +0 -112
  376. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +0 -110
  377. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +0 -66
  378. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +0 -79
  379. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +0 -159
  380. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +0 -225
  381. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +0 -85
  382. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +0 -63
  383. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +0 -73
  384. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +0 -96
  385. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +0 -57
  386. package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +0 -236
  387. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +0 -120
  388. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +0 -414
  389. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +0 -37
  390. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +0 -427
  391. package/src/app/api/[locale]/user/auth/i18n/de/index.ts +0 -204
  392. package/src/app/api/[locale]/user/auth/i18n/en/index.ts +0 -199
  393. package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +0 -203
  394. package/src/app/api/[locale]/user/auth/types.ts +0 -45
  395. package/src/app/api/[locale]/user/enum.ts +0 -64
  396. package/src/app/api/[locale]/user/i18n/de/index.ts +0 -75
  397. package/src/app/api/[locale]/user/i18n/en/index.ts +0 -74
  398. package/src/app/api/[locale]/user/i18n/pl/index.ts +0 -75
  399. package/src/app/api/[locale]/user/types.ts +0 -111
  400. package/src/app/api/[locale]/user/user-roles/enum.ts +0 -103
  401. package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +0 -85
  402. package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +0 -83
  403. package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +0 -85
  404. package/src/app/api/[locale]/user/user-roles/types.ts +0 -32
  405. package/src/app/api/i18n/de/index.ts +0 -6
  406. package/src/app/api/i18n/en/index.ts +0 -5
  407. package/src/app/api/i18n/pl/index.ts +0 -5
  408. package/src/app/i18n/de/index.ts +0 -18
  409. package/src/app/i18n/en/index.ts +0 -18
  410. package/src/app/i18n/pl/index.ts +0 -17
  411. package/src/config/constants.ts +0 -8
  412. package/src/config/debug.ts +0 -30
  413. package/src/config/env-client.ts +0 -57
  414. package/src/config/env.ts +0 -56
  415. package/src/config/i18n/de/index.ts +0 -3
  416. package/src/config/i18n/en/index.ts +0 -51
  417. package/src/config/i18n/pl/index.ts +0 -3
  418. package/src/i18n/core/config.ts +0 -225
  419. package/src/i18n/core/language-utils.ts +0 -226
  420. package/src/i18n/core/localization-utils.ts +0 -394
  421. package/src/i18n/core/scoped-translation.ts +0 -104
  422. package/src/i18n/core/shared-component.tsx +0 -28
  423. package/src/i18n/core/shared-translation-utils.ts +0 -97
  424. package/src/i18n/core/shared.ts +0 -44
  425. package/src/i18n/core/static-types.ts +0 -64
  426. package/src/i18n/core/translation-utils.ts +0 -186
  427. package/src/i18n/de/index.ts +0 -8
  428. package/src/i18n/en/index.ts +0 -7
  429. package/src/i18n/index.ts +0 -100
  430. package/src/i18n/pl/index.ts +0 -7
@@ -1,291 +0,0 @@
1
- /**
2
- * MCP Protocol Handler
3
- * Handles MCP JSON-RPC 2.0 protocol messages
4
- */
5
-
6
- import "server-only";
7
-
8
- import { parseError } from "next-vibe/shared/utils";
9
-
10
- import { getCliUser } from "@/app/api/[locale]/system/unified-interface/cli/auth/cli-user";
11
- import type { JwtPayloadType } from "@/app/api/[locale]/user/auth/types";
12
- import type { CountryLanguage } from "@/i18n/core/config";
13
-
14
- import type { EndpointLogger } from "../../shared/logger/endpoint";
15
- import { Platform } from "../../shared/types/platform";
16
- import { endpointToMCPTool } from "../converter";
17
- import { mcpRegistry } from "../registry";
18
- import type {
19
- IMCPProtocolHandler,
20
- JsonRpcError,
21
- JsonRpcRequest,
22
- JsonRpcResponse,
23
- MCPInitializeParams,
24
- MCPInitializeResult,
25
- MCPToolCallParams,
26
- MCPToolCallResult,
27
- MCPToolsListParams,
28
- MCPToolsListResult,
29
- ParameterValue,
30
- } from "../types";
31
- import { MCPErrorCode, MCPMethod } from "../types";
32
-
33
- /**
34
- * MCP Protocol Handler Implementation
35
- */
36
- export class MCPProtocolHandler implements IMCPProtocolHandler {
37
- private initialized = false;
38
- private logger: EndpointLogger;
39
- private locale: CountryLanguage;
40
- private user: JwtPayloadType;
41
-
42
- constructor(logger: EndpointLogger, locale: CountryLanguage, user: JwtPayloadType) {
43
- this.logger = logger;
44
- this.locale = locale;
45
- this.user = user;
46
- }
47
-
48
- /**
49
- * Handle incoming JSON-RPC request
50
- */
51
- async handleRequest(
52
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Infrastructure: Protocol message handling requires 'unknown' for flexible message types
53
- request: JsonRpcRequest<unknown>,
54
- ): Promise<JsonRpcResponse> {
55
- this.logger.debug("[MCP Protocol] Received request", {
56
- method: request.method,
57
- id: request.id,
58
- });
59
-
60
- try {
61
- // Validate JSON-RPC version
62
- if (request.jsonrpc !== "2.0") {
63
- return this.fail(
64
- request.id ?? null,
65
- MCPErrorCode.INVALID_REQUEST,
66
- "Invalid JSON-RPC version",
67
- );
68
- }
69
-
70
- // Route to appropriate handler
71
-
72
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Infrastructure: Request parsing requires 'unknown' for untrusted input
73
- let result: unknown;
74
-
75
- switch (request.method) {
76
- case MCPMethod.INITIALIZE:
77
- result = await this.handleInitialize(request.params as MCPInitializeParams);
78
- this.initialized = true;
79
- break;
80
-
81
- case MCPMethod.PING:
82
- result = await this.handlePing();
83
- break;
84
-
85
- case MCPMethod.TOOLS_LIST:
86
- if (!this.initialized) {
87
- return this.fail(
88
- request.id ?? null,
89
- MCPErrorCode.INVALID_REQUEST,
90
- // eslint-disable-next-line i18next/no-literal-string
91
- "Server not initialized. Call initialize first.",
92
- );
93
- }
94
- result = await this.handleToolsList(request.params as MCPToolsListParams);
95
- break;
96
-
97
- case MCPMethod.TOOLS_CALL:
98
- if (!this.initialized) {
99
- return this.fail(
100
- request.id ?? null,
101
- MCPErrorCode.INVALID_REQUEST,
102
- // eslint-disable-next-line i18next/no-literal-string
103
- "Server not initialized. Call initialize first.",
104
- );
105
- }
106
- result = await this.handleToolCall(request.params as MCPToolCallParams);
107
- break;
108
-
109
- default:
110
- return this.fail(
111
- request.id ?? null,
112
- MCPErrorCode.METHOD_NOT_FOUND,
113
- // eslint-disable-next-line i18next/no-literal-string
114
- `Method not found: ${request.method}`,
115
- );
116
- }
117
-
118
- return this.success(request.id ?? null, result);
119
- } catch (error) {
120
- const parsedError = parseError(error);
121
- this.logger.error("[MCP Protocol] Request handling failed", {
122
- method: request.method,
123
- error: parsedError.message,
124
- });
125
-
126
- return this.fail(request.id ?? null, MCPErrorCode.INTERNAL_ERROR, parsedError.message);
127
- }
128
- }
129
-
130
- /**
131
- * Handle initialize request
132
- */
133
- async handleInitialize(params: MCPInitializeParams): Promise<MCPInitializeResult> {
134
- this.logger.info("[MCP Protocol] Initializing", {
135
- clientName: params.clientInfo.name,
136
- clientVersion: params.clientInfo.version,
137
- protocolVersion: params.protocolVersion,
138
- });
139
-
140
- // Initialize registry
141
- await mcpRegistry.initialize(this.logger, this.locale);
142
-
143
- const capabilities = {
144
- tools: true,
145
- prompts: false,
146
- resources: false,
147
- };
148
-
149
- return {
150
- protocolVersion: "2024-11-05",
151
- capabilities: {
152
- tools: capabilities.tools ? { listChanged: false } : undefined,
153
- prompts: capabilities.prompts ? { listChanged: false } : undefined,
154
- resources: capabilities.resources ? { subscribe: false } : undefined,
155
- },
156
- serverInfo: {
157
- // eslint-disable-next-line i18next/no-literal-string
158
- name: "Vibe MCP Server",
159
- version: "1.0.0",
160
- },
161
- };
162
- }
163
-
164
- /**
165
- * Handle tools/list request
166
- */
167
- async handleToolsList(
168
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
169
- _params: MCPToolsListParams,
170
- ): Promise<MCPToolsListResult> {
171
- this.logger.info("[MCP Protocol] Listing tools");
172
-
173
- // Get full endpoints with field information for proper schema generation
174
- const endpoints = mcpRegistry.getEndpoints(this.user, this.logger);
175
-
176
- // Convert to MCP tool format with proper JSON Schema and translated descriptions
177
- const tools = endpoints.map((endpoint) => endpointToMCPTool(endpoint, this.locale));
178
-
179
- this.logger.info("[MCP Protocol] Tools listed", {
180
- count: tools.length,
181
- });
182
-
183
- return {
184
- tools,
185
- // No pagination for now
186
- };
187
- }
188
-
189
- /**
190
- * Handle tools/call request
191
- */
192
- async handleToolCall(params: MCPToolCallParams): Promise<MCPToolCallResult> {
193
- this.logger.info("[MCP Protocol] Calling tool", {
194
- toolName: params.name,
195
- });
196
-
197
- // Execute tool - params.arguments is already properly typed from MCPToolCallParams
198
- const result = await mcpRegistry.executeTool(
199
- {
200
- toolName: params.name,
201
- data: params.arguments || {},
202
- user: this.user,
203
- locale: this.locale,
204
- requestId: Date.now(),
205
- timestamp: Date.now(),
206
- logger: this.logger,
207
- platform: Platform.MCP,
208
- },
209
- this.logger,
210
- );
211
-
212
- this.logger.info("[MCP Protocol] Tool call complete", {
213
- toolName: params.name,
214
- isError: result.isError,
215
- });
216
-
217
- return result;
218
- }
219
-
220
- /**
221
- * Handle ping request
222
- */
223
- // eslint-disable-next-line @typescript-eslint/require-await
224
- async handlePing(): Promise<Record<string, never>> {
225
- this.logger.debug("[MCP Protocol] Ping");
226
- return {};
227
- }
228
-
229
- /**
230
- * Create success response
231
- */
232
- private success(
233
- id: string | number | null,
234
-
235
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Infrastructure: Response serialization requires 'unknown' for flexible response types
236
- result: unknown,
237
- ): JsonRpcResponse {
238
- return {
239
- jsonrpc: "2.0",
240
- result,
241
- id,
242
- };
243
- }
244
-
245
- /**
246
- * Create error response
247
- */
248
- private fail(
249
- id: string | number | null,
250
- code: MCPErrorCode,
251
- message: string,
252
- data?: Record<string, ParameterValue>,
253
- ): JsonRpcResponse {
254
- const error: JsonRpcError = {
255
- code,
256
- message,
257
- data,
258
- };
259
-
260
- return {
261
- jsonrpc: "2.0",
262
- error,
263
- id,
264
- };
265
- }
266
- }
267
-
268
- /**
269
- * Create protocol handler with CLI user
270
- */
271
- export async function createMCPProtocolHandler(
272
- logger: EndpointLogger,
273
- locale: CountryLanguage,
274
- ): Promise<MCPProtocolHandler> {
275
- // Get CLI user for authentication using consolidated factory
276
- const cliUserResult = await getCliUser(logger, locale);
277
-
278
- if (!cliUserResult.success) {
279
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, i18next/no-literal-string -- MCP server infrastructure requires throwing for invalid CLI user state
280
- throw new Error(`CLI user authentication failed: ${cliUserResult.message}`);
281
- }
282
-
283
- const cliUser = cliUserResult.data;
284
-
285
- if (!cliUser.isPublic && !cliUser.id) {
286
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, i18next/no-literal-string -- MCP server infrastructure requires throwing for invalid CLI user state
287
- throw new Error("CLI user ID is required");
288
- }
289
-
290
- return new MCPProtocolHandler(logger, locale, cliUser);
291
- }
@@ -1,155 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * MCP Server Entry Point
4
- * Main server class that ties together transport and protocol handler
5
- */
6
-
7
- import "server-only";
8
-
9
- import { parseError } from "next-vibe/shared/utils/parse-error";
10
-
11
- import type { CountryLanguage } from "@/i18n/core/config";
12
-
13
- import type { EndpointLogger } from "../../shared/logger/endpoint";
14
- import { createMCPProtocolHandler } from "./protocol-handler";
15
- import { StdioTransport } from "./stdio-transport";
16
-
17
- /**
18
- * MCP Server
19
- */
20
- export class MCPServer {
21
- private transport?: StdioTransport;
22
- private running = false;
23
-
24
- /**
25
- * Start the MCP server
26
- */
27
- async start(logger: EndpointLogger, locale: CountryLanguage): Promise<void> {
28
- if (this.running) {
29
- logger.warn("[MCP Server] Server already running");
30
- return;
31
- }
32
-
33
- const isMCPServerEnabled = process.env.VIBE_MCP_DISABLED !== "true";
34
- if (!isMCPServerEnabled) {
35
- logger.error("[MCP Server] MCP server is disabled");
36
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, i18next/no-literal-string -- MCP server infrastructure requires throwing for disabled server
37
- throw new Error("MCP server is disabled");
38
- }
39
-
40
- try {
41
- logger.info("[MCP Server] Starting...");
42
-
43
- logger.info("[MCP Server] Configuration", {
44
- // eslint-disable-next-line i18next/no-literal-string
45
- name: "Vibe MCP Server",
46
- version: "1.0.0",
47
- locale: locale,
48
- debug: logger.isDebugEnabled,
49
- projectRoot: process.env.PROJECT_ROOT || process.cwd(),
50
- });
51
-
52
- // Create protocol handler
53
- const protocolHandler = await createMCPProtocolHandler(logger, locale);
54
-
55
- // Create transport
56
- this.transport = new StdioTransport(logger);
57
-
58
- // Connect transport to protocol handler
59
- this.transport.onMessage(async (request) => {
60
- const response = await protocolHandler.handleRequest(request);
61
-
62
- // Only send response if request had an ID (not a notification)
63
- // JSON-RPC 2.0: notifications (id: null) must not receive responses
64
- if (request.id !== null && request.id !== undefined) {
65
- await this.transport!.send(response);
66
- }
67
- });
68
-
69
- // Start transport
70
- await this.transport.start();
71
-
72
- this.running = true;
73
- logger.info("[MCP Server] Server started successfully");
74
-
75
- // Setup graceful shutdown
76
- this.setupShutdownHandlers(logger);
77
-
78
- // Keep process alive
79
- await this.keepAlive();
80
- } catch (error) {
81
- logger.error("[MCP Server] Failed to start", {
82
- error: parseError(error).message,
83
- });
84
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Re-throw MCP server startup errors for caller to handle
85
- throw error;
86
- }
87
- }
88
-
89
- /**
90
- * Stop the MCP server
91
- */
92
- async stop(logger: EndpointLogger): Promise<void> {
93
- if (!this.running) {
94
- return;
95
- }
96
-
97
- logger.info("[MCP Server] Stopping...");
98
-
99
- if (this.transport) {
100
- await this.transport.stop();
101
- this.transport = undefined;
102
- }
103
-
104
- this.running = false;
105
- logger.info("[MCP Server] Server stopped");
106
- }
107
-
108
- /**
109
- * Check if server is running
110
- */
111
- isRunning(): boolean {
112
- return this.running;
113
- }
114
-
115
- /**
116
- * Setup graceful shutdown handlers
117
- */
118
- private setupShutdownHandlers(logger: EndpointLogger): void {
119
- const shutdown = async (signal: string): Promise<void> => {
120
- logger.info(`[MCP Server] Received ${signal}, shutting down...`);
121
- await this.stop(logger);
122
- process.exit(0);
123
- };
124
-
125
- process.on("SIGINT", () => void shutdown("SIGINT"));
126
- process.on("SIGTERM", () => void shutdown("SIGTERM"));
127
-
128
- // Handle uncaught errors
129
- process.on("uncaughtException", (error) => {
130
- logger.error("[MCP Server] Uncaught exception", {
131
- error: error.message,
132
- stack: error.stack,
133
- });
134
- void shutdown("uncaughtException");
135
- });
136
-
137
- process.on("unhandledRejection", (reason) => {
138
- logger.error("[MCP Server] Unhandled rejection", {
139
- reason: String(reason),
140
- });
141
- void shutdown("unhandledRejection");
142
- });
143
- }
144
-
145
- /**
146
- * Keep process alive
147
- */
148
- private async keepAlive(): Promise<void> {
149
- // Wait indefinitely
150
- return await new Promise(() => {
151
- // This promise never resolves, keeping the process alive
152
- // The process will exit via shutdown handlers
153
- });
154
- }
155
- }
@@ -1,191 +0,0 @@
1
- /**
2
- * MCP STDIO Transport
3
- * Handles communication via stdin/stdout
4
- */
5
-
6
- import * as readline from "node:readline";
7
-
8
- import { parseError } from "next-vibe/shared/utils";
9
-
10
- import type { EndpointLogger } from "../../shared/logger/endpoint";
11
- import type { IMCPTransport, JsonRpcRequest, JsonRpcResponse } from "../types";
12
-
13
- /**
14
- * STDIO Transport Implementation
15
- */
16
- export class StdioTransport implements IMCPTransport {
17
- private logger: EndpointLogger;
18
- private messageHandler?: (message: JsonRpcRequest) => Promise<void>;
19
- private readlineInterface?: readline.Interface;
20
- private running = false;
21
- private initializationReceived = false;
22
- private startupTimeout?: ReturnType<typeof setTimeout>;
23
-
24
- constructor(logger: EndpointLogger) {
25
- this.logger = logger;
26
- }
27
-
28
- /**
29
- * Start the transport
30
- */
31
- // eslint-disable-next-line @typescript-eslint/require-await
32
- async start(): Promise<void> {
33
- if (this.running) {
34
- return;
35
- }
36
-
37
- this.logger.info("[MCP Transport] Starting STDIO transport...");
38
-
39
- // Create readline interface
40
- // NOTE: Do NOT set output to process.stdout - it interferes with MCP protocol
41
- this.readlineInterface = readline.createInterface({
42
- input: process.stdin,
43
- terminal: false,
44
- });
45
-
46
- // Handle incoming lines
47
- this.readlineInterface.on("line", (line: string) => {
48
- void this.handleIncomingMessage(line);
49
- });
50
-
51
- // Handle close
52
- this.readlineInterface.on("close", () => {
53
- this.logger.info("[MCP Transport] STDIO closed");
54
- this.running = false;
55
- });
56
-
57
- // Handle errors
58
- process.stdin.on("error", (error: Error) => {
59
- this.logger.error("[MCP Transport] stdin error", {
60
- error: error.message,
61
- });
62
- });
63
-
64
- process.stdout.on("error", (error: Error) => {
65
- this.logger.error("[MCP Transport] stdout error", {
66
- error: error.message,
67
- });
68
- });
69
-
70
- this.running = true;
71
- this.logger.info("[MCP Transport] STDIO transport started");
72
-
73
- // Set up startup timeout - exit if no initialization within 5 seconds
74
- // This prevents hanging when health checks don't send initialization
75
- const timeoutMs = parseInt(process.env.MCP_STARTUP_TIMEOUT || "5000", 10);
76
- this.startupTimeout = setTimeout(() => {
77
- if (!this.initializationReceived) {
78
- this.logger.warn("[MCP Transport] No initialization received within timeout, exiting");
79
- process.exit(0);
80
- }
81
- }, timeoutMs);
82
- }
83
-
84
- /**
85
- * Stop the transport
86
- */
87
- // eslint-disable-next-line @typescript-eslint/require-await
88
- async stop(): Promise<void> {
89
- if (!this.running) {
90
- return;
91
- }
92
-
93
- this.logger.info("[MCP Transport] Stopping STDIO transport...");
94
-
95
- if (this.startupTimeout) {
96
- clearTimeout(this.startupTimeout);
97
- this.startupTimeout = undefined;
98
- }
99
-
100
- if (this.readlineInterface) {
101
- this.readlineInterface.close();
102
- this.readlineInterface = undefined;
103
- }
104
-
105
- this.running = false;
106
- this.logger.info("[MCP Transport] STDIO transport stopped");
107
- }
108
-
109
- /**
110
- * Send a message
111
- */
112
- // eslint-disable-next-line @typescript-eslint/require-await
113
- async send(message: JsonRpcResponse): Promise<void> {
114
- if (!this.running) {
115
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax, i18next/no-literal-string -- Transport infrastructure requires throwing for invalid state
116
- throw new Error("Transport not running");
117
- }
118
-
119
- try {
120
- const json = JSON.stringify(message);
121
-
122
- // Write to stdout with newline (MCP protocol)
123
- // eslint-disable-next-line i18next/no-literal-string
124
- process.stdout.write(`${json}\n`);
125
- } catch (error) {
126
- this.logger.error("[MCP Transport] Failed to send message", {
127
- error: parseError(error).message,
128
- });
129
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Re-throw transport errors for caller to handle
130
- throw error;
131
- }
132
- }
133
-
134
- /**
135
- * Register message handler
136
- */
137
- onMessage(handler: (message: JsonRpcRequest) => Promise<void>): void {
138
- this.messageHandler = handler;
139
- }
140
-
141
- /**
142
- * Handle incoming message
143
- */
144
- private async handleIncomingMessage(line: string): Promise<void> {
145
- if (!line.trim()) {
146
- return; // Ignore empty lines
147
- }
148
-
149
- try {
150
- const message = JSON.parse(line) as JsonRpcRequest;
151
-
152
- // Mark initialization as received if this is an initialize method
153
- if (message.method === "initialize") {
154
- this.initializationReceived = true;
155
- if (this.startupTimeout) {
156
- clearTimeout(this.startupTimeout);
157
- this.startupTimeout = undefined;
158
- }
159
- }
160
-
161
- if (!this.messageHandler) {
162
- this.logger.warn("[MCP Transport] No message handler registered");
163
- return;
164
- }
165
-
166
- await this.messageHandler(message);
167
- } catch (error) {
168
- const parsedError = parseError(error);
169
- this.logger.error("[MCP Transport] Failed to handle message", {
170
- error: parsedError.message,
171
- line: line.slice(0, 100), // Log first 100 chars
172
- });
173
-
174
- // Send error response if we can parse the ID
175
- try {
176
- const partialMessage = JSON.parse(line) as { id?: string | number };
177
- await this.send({
178
- jsonrpc: "2.0",
179
- error: {
180
- code: -32700,
181
- // eslint-disable-next-line i18next/no-literal-string
182
- message: "Parse error",
183
- },
184
- id: partialMessage.id || null,
185
- });
186
- } catch {
187
- // Can't even parse for ID, ignore
188
- }
189
- }
190
- }
191
- }