@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,182 +0,0 @@
1
- import "server-only";
2
-
3
- /**
4
- * Endpoint Handler Implementation
5
- * Main function for creating type-safe multi-method handlers
6
- */
7
- import type { ResponseType } from "next-vibe/shared/types/response.schema";
8
-
9
- import type { UserRoleValue } from "@/app/api/[locale]/user/user-roles/enum";
10
- import type { CountryLanguage } from "@/i18n/core/config";
11
-
12
- import type { CreateApiEndpointAny } from "../../types/endpoint";
13
- import { Methods } from "../../types/enums";
14
- import type {
15
- GenericHandlerReturnType as GenericHandlerReturnTypeImport,
16
- MethodHandlerConfig,
17
- } from "./handler";
18
- import { endpointHandler } from "./single";
19
-
20
- /**
21
- * Base constraint for endpoint definitions
22
- * All endpoint objects must be a partial record of Methods to CreateApiEndpoint
23
- */
24
- export type EndpointDefinitionsConstraint = Partial<Record<Methods, CreateApiEndpointAny>>;
25
-
26
- /**
27
- * Type-safe configuration that enforces handler types match endpoint types
28
- * Uses conditional types to extract exact types from each endpoint
29
- * Only requires handlers for methods that exist in the endpoint definition
30
- * Handlers receive OUTPUT types (validated data) and return OUTPUT types
31
- */
32
- export type EndpointHandlerConfig<T extends EndpointDefinitionsConstraint> = {
33
- endpoint: T;
34
- } & {
35
- [K in Methods]?: K extends keyof T
36
- ? T[K] extends CreateApiEndpointAny
37
- ? MethodHandlerConfig<
38
- T[K]["types"]["RequestOutput"],
39
- T[K]["types"]["ResponseOutput"],
40
- T[K]["types"]["UrlVariablesOutput"],
41
- T[K]["allowedRoles"]
42
- >
43
- : never
44
- : never;
45
- };
46
-
47
- /**
48
- * Type for tools object exported from route handlers
49
- * Contains method handlers (GET, POST, etc.) with their specific types
50
- * T must be a partial record of Methods to endpoint definitions with proper structure
51
- */
52
- export type ToolsObject<T extends EndpointDefinitionsConstraint> = {
53
- [K in keyof T]: T[K] extends CreateApiEndpointAny
54
- ? GenericHandlerReturnTypeImport<
55
- T[K]["types"]["RequestOutput"],
56
- T[K]["types"]["ResponseOutput"],
57
- T[K]["types"]["UrlVariablesOutput"],
58
- T[K]["allowedRoles"]
59
- >
60
- : never;
61
- };
62
-
63
- /**
64
- * Return type for endpointsHandler with proper Next.js handler types
65
- * CLI handlers receive RAW input data (TRequestOutput, TUrlVariablesOutput)
66
- * tRPC handlers receive RAW input data (TRequestOutput, TUrlVariablesOutput)
67
- * Next.js handlers work with raw request objects
68
- * All return VALIDATED response data (TResponseOutput) or streaming/file responses
69
- */
70
- type EndpointsHandlerReturn<T extends EndpointDefinitionsConstraint> = {
71
- [K in keyof T]: undefined;
72
- } & {
73
- tools: ToolsObject<T>;
74
- };
75
-
76
- /**
77
- * Creates handlers for multiple HTTP methods from endpoint definitions
78
- * Returns an object with Next.js handlers, generic tool handlers, and definitions
79
- *
80
- * Note: We use direct endpointHandler calls instead of a helper function because
81
- * endpointHandler has complex type inference that extracts types from the endpoint.
82
- * TypeScript can properly infer types when we call endpointHandler directly with
83
- * the specific endpoint and handler, but not when we try to abstract it into a
84
- * generic helper function.
85
- */
86
- export function endpointsHandler<const T extends EndpointDefinitionsConstraint>(
87
- config: EndpointHandlerConfig<T>,
88
- ): EndpointsHandlerReturn<T> {
89
- const { endpoint: definitions, ...methodConfigs } = config;
90
-
91
- // Build the result object dynamically with flexible typing
92
- // We construct the result object gradually and assert the final type at return
93
- // This pattern is necessary because TypeScript cannot properly track conditional
94
- // types during dynamic object construction
95
- type FlexibleResult = Record<string, undefined> & {
96
- tools: Record<
97
- string,
98
- GenericHandlerReturnTypeImport<
99
- Record<string, string | number | boolean>,
100
- ResponseType<Record<string, string | number | boolean>>,
101
- Record<string, string> & { locale: CountryLanguage },
102
- readonly UserRoleValue[]
103
- >
104
- >;
105
- };
106
-
107
- const result: FlexibleResult = {
108
- tools: {} as FlexibleResult["tools"],
109
- } as FlexibleResult;
110
-
111
- // Process GET method
112
- if (Methods.GET in definitions && Methods.GET in methodConfigs) {
113
- const endpoint = definitions[Methods.GET];
114
- const methodConfig = methodConfigs[Methods.GET];
115
- if (endpoint && methodConfig && "handler" in methodConfig) {
116
- const handler = endpointHandler({
117
- endpoint,
118
- handler: methodConfig.handler,
119
- });
120
- result[Methods.GET] = undefined;
121
- result.tools[Methods.GET] = handler.tools[Methods.GET];
122
- }
123
- }
124
-
125
- // Process POST method
126
- if (Methods.POST in definitions && Methods.POST in methodConfigs) {
127
- const endpoint = definitions[Methods.POST];
128
- const methodConfig = methodConfigs[Methods.POST];
129
- if (endpoint && methodConfig && "handler" in methodConfig) {
130
- const handler = endpointHandler({
131
- endpoint,
132
- handler: methodConfig.handler,
133
- });
134
- result[Methods.POST] = undefined;
135
- result.tools[Methods.POST] = handler.tools[Methods.POST];
136
- }
137
- }
138
-
139
- // Process PUT method
140
- if (Methods.PUT in definitions && Methods.PUT in methodConfigs) {
141
- const endpoint = definitions[Methods.PUT];
142
- const methodConfig = methodConfigs[Methods.PUT];
143
- if (endpoint && methodConfig && "handler" in methodConfig) {
144
- const handler = endpointHandler({
145
- endpoint,
146
- handler: methodConfig.handler,
147
- });
148
- result[Methods.PUT] = handler[Methods.PUT];
149
- result.tools[Methods.PUT] = handler.tools[Methods.PUT];
150
- }
151
- }
152
-
153
- // Process PATCH method
154
- if (Methods.PATCH in definitions && Methods.PATCH in methodConfigs) {
155
- const endpoint = definitions[Methods.PATCH];
156
- const methodConfig = methodConfigs[Methods.PATCH];
157
- if (endpoint && methodConfig && "handler" in methodConfig) {
158
- const handler = endpointHandler({
159
- endpoint,
160
- handler: methodConfig.handler,
161
- });
162
- result[Methods.PATCH] = handler[Methods.PATCH];
163
- result.tools[Methods.PATCH] = handler.tools[Methods.PATCH];
164
- }
165
- }
166
-
167
- // Process DELETE method
168
- if (Methods.DELETE in definitions && Methods.DELETE in methodConfigs) {
169
- const endpoint = definitions[Methods.DELETE];
170
- const methodConfig = methodConfigs[Methods.DELETE];
171
- if (endpoint && methodConfig && "handler" in methodConfig) {
172
- const handler = endpointHandler({
173
- endpoint,
174
- handler: methodConfig.handler,
175
- });
176
- result[Methods.DELETE] = handler[Methods.DELETE];
177
- result.tools[Methods.DELETE] = handler.tools[Methods.DELETE];
178
- }
179
- }
180
-
181
- return result as EndpointsHandlerReturn<T>;
182
- }
@@ -1,173 +0,0 @@
1
- /**
2
- * Core Validation Module
3
- * Generic validation utilities used by all handler types
4
- * Platform-specific validation logic should be in respective handler folders
5
- */
6
-
7
- import "server-only";
8
-
9
- import {
10
- ErrorResponseTypes,
11
- fail,
12
- type ResponseType,
13
- success,
14
- } from "next-vibe/shared/types/response.schema";
15
- import { parseError, validateData } from "next-vibe/shared/utils";
16
- import { z } from "zod";
17
-
18
- import type { CountryLanguage } from "@/i18n/core/config";
19
- import { CountryLanguageValues } from "@/i18n/core/config";
20
-
21
- import type { EndpointLogger } from "../../logger/endpoint";
22
- import type { Methods } from "../../types/enums";
23
-
24
- /**
25
- * Validate locale using the standard schema
26
- */
27
- export function validateLocale(
28
- locale: CountryLanguage,
29
- logger: EndpointLogger,
30
- ): ResponseType<CountryLanguage> {
31
- const localeValidation = validateData(locale, z.enum(CountryLanguageValues).optional(), logger);
32
- const validatedLocale = localeValidation.success ? localeValidation.data : undefined;
33
- if (!validatedLocale) {
34
- logger.error("Invalid locale provided:", locale);
35
- return fail({
36
- message: ErrorResponseTypes.INVALID_REQUEST_ERROR.errorKey,
37
- errorType: ErrorResponseTypes.INVALID_REQUEST_ERROR,
38
- messageParams: {
39
- error: "Invalid locale provided",
40
- },
41
- });
42
- }
43
- return success(validatedLocale);
44
- }
45
-
46
- /**
47
- * CLI validation context
48
- */
49
- export interface HandlerValidationContext<TRequestData, TUrlParameters> {
50
- /** HTTP method being used */
51
- method: Methods;
52
- /** Direct request data */
53
- requestData: TRequestData;
54
- /** Direct URL parameters */
55
- urlParameters: TUrlParameters;
56
- /** Locale for error messages */
57
- locale: CountryLanguage;
58
- }
59
-
60
- /**
61
- * Validated request data - contains validated data (OUTPUT types) ready for handler
62
- * This represents the final validated data that domain handlers receive
63
- */
64
- export interface ValidatedRequestData<TRequestOutput, TUrlVariablesOutput> {
65
- /** Validated request data (OUTPUT type - what handlers receive) */
66
- requestData: TRequestOutput;
67
- /** Validated URL parameters (OUTPUT type - what handlers receive) */
68
- urlPathParams: TUrlVariablesOutput;
69
- /** Validated locale */
70
- locale: CountryLanguage;
71
- }
72
-
73
- /**
74
- * Validate CLI request data
75
- * Types flow naturally from schemas - no explicit type parameters needed
76
- */
77
- export function validateHandlerRequestData<
78
- TRequestSchema extends z.ZodTypeAny,
79
- TUrlSchema extends z.ZodTypeAny,
80
- >(
81
- endpoint: {
82
- requestSchema: TRequestSchema;
83
- requestUrlPathParamsSchema: TUrlSchema;
84
- },
85
- context: HandlerValidationContext<z.input<TRequestSchema>, z.input<TUrlSchema>>,
86
- logger: EndpointLogger,
87
- ): ResponseType<ValidatedRequestData<z.output<TRequestSchema>, z.output<TUrlSchema>>> {
88
- try {
89
- // Validate locale
90
- const localeResult = validateLocale(context.locale, logger);
91
- if (!localeResult.success) {
92
- return localeResult;
93
- }
94
- const validatedLocale = localeResult.data;
95
-
96
- const urlValidation = validateData(
97
- context.urlParameters,
98
- endpoint.requestUrlPathParamsSchema,
99
- logger,
100
- );
101
- if (!urlValidation.success) {
102
- logger.error("URL validation failed", {
103
- error: urlValidation.message,
104
- messageParams: urlValidation.messageParams,
105
- });
106
- // Return the validation error directly with proper message and params
107
- return urlValidation;
108
- }
109
-
110
- // Now validate the final merged data
111
- const requestValidation = validateData(context.requestData, endpoint.requestSchema, logger);
112
- if (!requestValidation.success) {
113
- logger.error("Request validation failed", {
114
- error: requestValidation.message,
115
- messageParams: requestValidation.messageParams,
116
- });
117
- // Return the validation error directly with proper message and params
118
- return requestValidation;
119
- }
120
-
121
- return {
122
- success: true,
123
- data: {
124
- requestData: requestValidation.data,
125
- urlPathParams: urlValidation.data,
126
- locale: validatedLocale,
127
- },
128
- };
129
- } catch (error) {
130
- logger.error("Request validation failed", parseError(error));
131
- return {
132
- success: false,
133
- message: ErrorResponseTypes.INVALID_REQUEST_ERROR.errorKey,
134
- errorType: ErrorResponseTypes.INVALID_REQUEST_ERROR,
135
- messageParams: {
136
- error: parseError(error).message,
137
- },
138
- };
139
- }
140
- }
141
-
142
- /**
143
- * Validate response data against endpoint schema
144
- * Returns validated data or error
145
- */
146
- export function validateResponseData<TResponseOutput>(
147
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Schema validation: Response data can be any type until validated against schema, so unknown is correct.
148
- data: unknown,
149
- schema: z.ZodTypeAny,
150
- logger: EndpointLogger,
151
- ): ResponseType<TResponseOutput> {
152
- const validation = validateData(data, schema, logger);
153
-
154
- if (!validation.success) {
155
- logger.error("[Request Validator] Response validation failed", {
156
- error: validation.message,
157
- messageParams: validation.messageParams,
158
- });
159
- return {
160
- success: false,
161
- message: "app.api.shared.errorTypes.invalid_response_error",
162
- errorType: ErrorResponseTypes.INVALID_RESPONSE_ERROR,
163
- messageParams: {
164
- error: validation.message,
165
- },
166
- };
167
- }
168
-
169
- return {
170
- success: true,
171
- data: validation.data as TResponseOutput,
172
- };
173
- }
@@ -1,58 +0,0 @@
1
- /**
2
- * API Handler Implementation
3
- * Main function for creating API handlers that support Next.js, tRPC, and CLI
4
- */
5
-
6
- import "server-only";
7
-
8
- import type { CreateApiEndpointAny } from "../../types/endpoint";
9
- import {
10
- type ApiHandlerOptions,
11
- createGenericHandler,
12
- type GenericHandlerReturnType,
13
- } from "./handler";
14
-
15
- /**
16
- * API handler return type that supports both Next.js and tRPC
17
- */
18
- type EndpointHandlerReturn<TEndpoint extends CreateApiEndpointAny> = {
19
- [K in TEndpoint["method"]]: undefined;
20
- } & {
21
- tools: {
22
- [K in TEndpoint["method"]]: GenericHandlerReturnType<
23
- TEndpoint["types"]["RequestOutput"],
24
- TEndpoint["types"]["ResponseOutput"],
25
- TEndpoint["types"]["UrlVariablesOutput"],
26
- TEndpoint["allowedRoles"]
27
- >;
28
- };
29
- definitions: TEndpoint;
30
- };
31
-
32
- /**
33
- * Create an API route handler that supports both Next.js, tRPC, and CLI
34
- * @param options - API handler options
35
- * @returns Object with both Next.js handler, tRPC procedure, and CLI handler
36
- *
37
- * Type parameters are inferred from options.endpoint.types for proper type flow
38
- */
39
- export function endpointHandler<T extends CreateApiEndpointAny>(
40
- options: ApiHandlerOptions<
41
- T["types"]["RequestOutput"],
42
- T["types"]["ResponseOutput"],
43
- T["types"]["UrlVariablesOutput"],
44
- T["allowedRoles"],
45
- T
46
- >,
47
- ): EndpointHandlerReturn<T> {
48
- const genericHandler = createGenericHandler(options);
49
- const method = options.endpoint.method;
50
-
51
- return {
52
- [method]: undefined!,
53
- tools: {
54
- [method]: genericHandler,
55
- },
56
- definitions: options.endpoint,
57
- } as EndpointHandlerReturn<T>;
58
- }
@@ -1,45 +0,0 @@
1
- /**
2
- * Client Environment Definition
3
- * Enforces explicit process.env references for Next.js bundler
4
- */
5
-
6
- import type { z } from "zod";
7
- import { z as zod } from "zod";
8
-
9
- interface FieldDef<T extends z.ZodTypeAny = z.ZodTypeAny> {
10
- schema: T;
11
- value: z.input<T>; // Must pass explicit process.env.VAR_NAME
12
- example: string;
13
- comment?: string;
14
- }
15
-
16
- type Fields = Record<string, FieldDef>;
17
-
18
- type InferEnv<T extends Fields> = {
19
- [K in keyof T]: z.infer<T[K]["schema"]>;
20
- };
21
-
22
- /**
23
- * Define client environment with explicit process.env references
24
- *
25
- * @example
26
- * export const { env } = defineEnvClient({
27
- * NEXT_PUBLIC_APP_URL: {
28
- * schema: z.string().url(),
29
- * value: process.env.NEXT_PUBLIC_APP_URL, // Required for bundler
30
- * example: "http://localhost:3000"
31
- * },
32
- * });
33
- */
34
- export function defineEnvClient<T extends Fields>(fields: T): { envClient: InferEnv<T> } {
35
- const schemaShape = Object.fromEntries(
36
- Object.entries(fields).map(([key, def]) => [key, def.schema]),
37
- );
38
- const schema = zod.object(schemaShape);
39
-
40
- const values = Object.fromEntries(Object.entries(fields).map(([key, def]) => [key, def.value]));
41
-
42
- const envClient = schema.parse(values) as InferEnv<T>;
43
-
44
- return { envClient };
45
- }
@@ -1,43 +0,0 @@
1
- /**
2
- * Minimal Environment Definition
3
- */
4
-
5
- import "server-only";
6
-
7
- import { validateEnv } from "next-vibe/shared/utils/env-util";
8
- import type { z } from "zod";
9
- import { z as zod } from "zod";
10
-
11
- import { envValidationLogger } from "./validation-logger";
12
-
13
- interface FieldDef<T extends z.ZodTypeAny = z.ZodTypeAny> {
14
- schema: T;
15
- example: string;
16
- comment?: string;
17
- }
18
-
19
- type Fields = Record<string, FieldDef>;
20
-
21
- type InferEnv<T extends Fields> = {
22
- [K in keyof T]: z.infer<T[K]["schema"]>;
23
- };
24
-
25
- /**
26
- * Define and validate environment variables
27
- *
28
- * @example
29
- * export const { env } = defineEnv({
30
- * DATABASE_URL: { schema: z.string().url(), example: "postgres://localhost/db", comment: "DB" },
31
- * API_KEY: { schema: z.string().min(10), example: "your-api-key" },
32
- * });
33
- */
34
- export function defineEnv<T extends Fields>(fields: T): { env: InferEnv<T> } {
35
- const schemaShape = Object.fromEntries(
36
- Object.entries(fields).map(([key, def]) => [key, def.schema]),
37
- );
38
- const schema = zod.object(schemaShape);
39
-
40
- const env = validateEnv(process.env, schema, envValidationLogger) as InferEnv<T>;
41
-
42
- return { env };
43
- }
@@ -1,58 +0,0 @@
1
- /**
2
- * Environment Validation Logger
3
- * Simple logger for environment validation that works in both browser and server contexts
4
- */
5
-
6
- import type { ExplicitAnyType } from "next-vibe/shared/types/utils";
7
-
8
- import type { EndpointLogger } from "@/app/api/[locale]/system/unified-interface/shared/logger/endpoint";
9
-
10
- declare const process: {
11
- env: {
12
- [key: string]: string | undefined;
13
- };
14
- stdout: {
15
- write: (message: string) => boolean;
16
- };
17
- stderr: {
18
- write: (message: string) => boolean;
19
- };
20
- };
21
-
22
- /**
23
- * Simple logger for environment validation
24
- * Works in both browser and server contexts
25
- */
26
- export const envValidationLogger: EndpointLogger = {
27
- info: (message: string, meta?: ExplicitAnyType) => {
28
- const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
29
- if (typeof window === "undefined") {
30
- process.stdout.write(`[ENV] ${message}${metaStr}\n`);
31
- }
32
- },
33
- error: (message: string, meta?: ExplicitAnyType) => {
34
- const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
35
- if (typeof window === "undefined") {
36
- process.stderr.write(`[ENV] ${message}${metaStr}\n`);
37
- }
38
- },
39
- debug: (message: string, meta?: ExplicitAnyType) => {
40
- const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
41
- if (typeof window === "undefined") {
42
- process.stdout.write(`[ENV] ${message}${metaStr}\n`);
43
- }
44
- },
45
- warn: (message: string, meta?: ExplicitAnyType) => {
46
- const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
47
- if (typeof window === "undefined") {
48
- process.stderr.write(`[ENV] ${message}${metaStr}\n`);
49
- }
50
- },
51
- vibe: (message: string, meta?: ExplicitAnyType) => {
52
- const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
53
- if (typeof window === "undefined") {
54
- process.stdout.write(`[ENV] ${message}${metaStr}\n`);
55
- }
56
- },
57
- isDebugEnabled: false,
58
- };
@@ -1,107 +0,0 @@
1
- /**
2
- * Enum Helper Utilities
3
- *
4
- * These utilities help create type-safe enums with proper i18n integration
5
- * and Zod schema generation for the data-driven UI system.
6
- */
7
-
8
- import type { TranslationKey } from "@/i18n/core/static-types";
9
-
10
- export interface EnumOptions<T extends Record<string, TranslationKey>> {
11
- enum: { readonly [K in keyof T]: T[K] };
12
- options: Array<{ value: keyof T; label: T[keyof T] }>;
13
- }
14
-
15
- /**
16
- * Wrapper function that creates enum-like object where keys map to their values
17
- * This ensures the enum object maps keys to the values passed in (KEY -> enumMap[KEY])
18
- * For PostgreSQL enums, we handle this differently in the DB layer
19
- */
20
- function createEnumObjectWithKeyValues<T extends Record<string, string>>(
21
- enumMap: T,
22
- ): { readonly [K in keyof T]: T[K] } {
23
- const result: { [K in keyof T]: T[K] } = {} as { [K in keyof T]: T[K] };
24
- for (const key in enumMap) {
25
- result[key] = enumMap[key];
26
- }
27
- Object.freeze(result);
28
- return result;
29
- }
30
-
31
- export function createEnumOptions<
32
- const TTranslationKey extends string = TranslationKey,
33
- const T extends Record<string, TTranslationKey> = Record<string, TTranslationKey>,
34
- >(
35
- enumMap: T,
36
- ): {
37
- enum: { readonly [K in keyof T]: T[K] };
38
- options: Array<{ [K in keyof T]: { value: T[K]; label: T[K] } }[keyof T]>;
39
- Value: T[keyof T];
40
- } {
41
- const enumObj = createEnumObjectWithKeyValues(enumMap);
42
-
43
- const optionsArray = Object.entries(enumMap).map(([, translationValue]) => ({
44
- value: translationValue,
45
- label: translationValue,
46
- })) as Array<{ [K in keyof T]: { value: T[K]; label: T[K] } }[keyof T]>;
47
-
48
- return {
49
- enum: enumObj,
50
- options: optionsArray,
51
- // intentianally unsafe cast to get a enum value type
52
- // eslint-disable-next-line oxlint-plugin-restricted/restricted-syntax -- Infrastructure: Type placeholder for enum value extraction requires 'unknown' cast for type system compatibility. This is a compile-time only type, never used at runtime.
53
- Value: undefined as unknown as T[keyof T],
54
- };
55
- }
56
-
57
- /**
58
- * Extract enum values as array
59
- */
60
- export function getEnumValues<T extends Record<string, string | number>>(
61
- enumObject: T,
62
- ): Array<T[keyof T]> {
63
- return Object.values(enumObject) as Array<T[keyof T]>;
64
- }
65
-
66
- /**
67
- * Extract enum keys as array
68
- */
69
- export function getEnumKeys<T extends Record<string, string | number>>(
70
- enumObject: T,
71
- ): Array<keyof T> {
72
- return Object.keys(enumObject) as Array<keyof T>;
73
- }
74
-
75
- /**
76
- * Check if a value is a valid enum value
77
- */
78
- export function isValidEnumValue<T extends Record<string, string | number>>(
79
- enumObject: T,
80
- value: string | number | boolean,
81
- ): value is T[keyof T] {
82
- const enumValues = Object.values(enumObject);
83
- return enumValues.includes(value as T[keyof T]);
84
- }
85
-
86
- /**
87
- * Get enum value by key with type safety
88
- */
89
- export function getEnumValue<T extends Record<string, string | number>>(
90
- enumObject: T,
91
- key: keyof T,
92
- ): T[keyof T] {
93
- return enumObject[key];
94
- }
95
-
96
- /**
97
- * Convert enum to select options for UI components
98
- */
99
- export function enumToSelectOptions<T extends Record<string, string>>(
100
- enumObject: T,
101
- labelPrefix?: string,
102
- ): Array<{ value: T[keyof T]; label: string }> {
103
- return Object.entries(enumObject).map(([key, value]) => ({
104
- value: value as T[keyof T],
105
- label: labelPrefix ? `${labelPrefix}.${key}` : key,
106
- }));
107
- }