@next-vibe/checker 1.0.51 → 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,525 +0,0 @@
1
- /**
2
- * Core Endpoint Type Definitions
3
- *
4
- * Clean, DRY endpoint system with complete type inference from the 6 core types.
5
- * No legacy compatibility - this is the single source of truth.
6
- *
7
- * Features:
8
- * - Complete type inference from Zod schemas
9
- * - Zero any/unknown types
10
- * - Strict field enforcement
11
- * - Production-ready error handling
12
- * - Support for all 5 interfaces
13
- */
14
-
15
- import type { z } from "zod";
16
-
17
- import type { IconKey } from "@/app/api/[locale]/system/unified-interface/react/icons";
18
- import { generateSchemaForUsage as generateSchemaFromUtils } from "@/app/api/[locale]/system/unified-interface/shared/field/utils";
19
- import type {
20
- ExamplesList,
21
- ExtractInput,
22
- ExtractOutput,
23
- InferSchemaFromField,
24
- LifecycleActions,
25
- UnifiedField,
26
- } from "@/app/api/[locale]/system/unified-interface/shared/types/endpoint";
27
- import type {
28
- EndpointErrorTypes,
29
- Methods,
30
- } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
31
- import { FieldUsage } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
32
- import { UserRole, type UserRoleValue } from "@/app/api/[locale]/user/user-roles/enum";
33
- import type { CountryLanguage } from "@/i18n/core/config";
34
- import type { TranslatedKeyType } from "@/i18n/core/scoped-translation";
35
- import { simpleT } from "@/i18n/core/shared";
36
- import type { TParams, TranslationKey } from "@/i18n/core/static-types";
37
-
38
- // Extract schema type directly from field, bypassing complex field structure
39
- type ExtractSchemaType<F> = F extends { schema: z.ZodType<infer T> } ? T : never;
40
-
41
- /**
42
- * Options for read (GET) operations at the endpoint level
43
- * These options will be merged with hook-provided options (hook options take priority)
44
- */
45
- export interface EndpointReadOptions<TRequest, TUrlVariables> {
46
- /** Form options for query forms (filtering, search, etc.) */
47
- formOptions?: {
48
- defaultValues?: Partial<TRequest>;
49
- persistForm?: boolean;
50
- persistenceKey?: string;
51
- autoSubmit?: boolean;
52
- debounceMs?: number;
53
- };
54
- /** Query options for data fetching */
55
- queryOptions?: {
56
- enabled?: boolean;
57
- staleTime?: number;
58
- cacheTime?: number;
59
- refetchOnWindowFocus?: boolean;
60
- disableLocalCache?: boolean;
61
- cacheDuration?: number;
62
- deduplicateRequests?: boolean;
63
- refreshDelay?: number;
64
- forceRefresh?: boolean;
65
- backgroundRefresh?: boolean;
66
- };
67
- /** URL path parameters for the read endpoint */
68
- urlPathParams?: TUrlVariables;
69
- /** Initial state for the form */
70
- initialState?: Partial<TRequest>;
71
- }
72
-
73
- /**
74
- * Options for create/update (POST/PUT/PATCH) operations at the endpoint level
75
- * These options will be merged with hook-provided options (hook options take priority)
76
- */
77
- export interface EndpointCreateOptions<TRequest, TUrlVariables> {
78
- /** Form options for mutation forms */
79
- formOptions?: {
80
- defaultValues?: Partial<TRequest>;
81
- persistForm?: boolean;
82
- persistenceKey?: string;
83
- };
84
- /** Mutation options for create/update operations */
85
- mutationOptions?: {
86
- invalidateQueries?: string[];
87
- };
88
- /** URL path parameters for the create endpoint */
89
- urlPathParams?: TUrlVariables;
90
- /** Data to auto-prefill the form with */
91
- autoPrefillData?: Partial<TRequest>;
92
- /** Initial state for the form */
93
- initialState?: Partial<TRequest>;
94
- }
95
-
96
- /**
97
- * Options for delete (DELETE) operations at the endpoint level
98
- * These options will be merged with hook-provided options (hook options take priority)
99
- */
100
- export interface EndpointDeleteOptions<TUrlVariables> {
101
- /** Mutation options for delete operations */
102
- mutationOptions?: {
103
- invalidateQueries?: string[];
104
- };
105
- /** URL path parameters for the delete endpoint */
106
- urlPathParams?: TUrlVariables;
107
- }
108
-
109
- /**
110
- * Core endpoint definition with complete type inference from TFields:
111
- * All Input/Output types are automatically inferred from the unified field structure:
112
- * - TRequestInput/Output: Inferred from fields with FieldUsage.RequestData
113
- * - TResponseInput/Output: Inferred from fields with FieldUsage.Response
114
- * - TUrlVariablesInput/Output: Inferred from fields with FieldUsage.RequestUrlParams
115
- *
116
- * Features:
117
- * - Zero any/unknown types - all types are properly inferred from TFields
118
- * - Strict field enforcement - missing required fields cause TypeScript errors
119
- * - Complete type safety with proper error handling
120
- * - Support for all 5 consumption interfaces
121
- * - Simplified type parameters - only 4 core types needed
122
- * - Optional scoped translation keys - use TScopedTranslationKey to restrict translation keys to a specific scope
123
- *
124
- */
125
- export interface ApiEndpoint<
126
- TExampleKey extends string,
127
- TMethod extends Methods,
128
- TUserRoleValue extends readonly UserRoleValue[],
129
- TScopedTranslationKey extends string = TranslationKey,
130
- TFields extends UnifiedField<string, z.ZodTypeAny> = UnifiedField<
131
- TScopedTranslationKey,
132
- z.ZodTypeAny
133
- >,
134
- > {
135
- // Core endpoint metadata - all required for type safety
136
- readonly method: TMethod;
137
- readonly path: readonly string[];
138
- readonly allowedRoles: TUserRoleValue;
139
-
140
- // Translation keys use NoInfer to ensure they don't contribute to TScopedTranslationKey inference
141
- // This makes errors appear on the specific property with the invalid key
142
- readonly title: NoInfer<TScopedTranslationKey>;
143
- readonly description: NoInfer<TScopedTranslationKey>;
144
- readonly category: NoInfer<TScopedTranslationKey>;
145
- readonly tags: readonly NoInfer<TScopedTranslationKey>[];
146
-
147
- /**
148
- * Scoped translation function for this endpoint
149
- * Required on endpoint instances, but can be auto-generated by createEndpoint
150
- */
151
- readonly scopedTranslation?: {
152
- readonly ScopedTranslationKey: TScopedTranslationKey;
153
- readonly scopedT: (locale: CountryLanguage) => {
154
- t(key: TScopedTranslationKey, params?: TParams): TranslatedKeyType;
155
- };
156
- };
157
-
158
- readonly debug?: boolean;
159
- readonly aliases?: readonly string[];
160
- readonly cli?: {
161
- // TODO: use keyof TRequestInput, TResponseInput, TUrlVariablesInput
162
- firstCliArgKey?: string;
163
- };
164
-
165
- /**
166
- * Credit cost for this endpoint (0 = free, undefined = free)
167
- */
168
- readonly credits?: number;
169
- /**
170
- * Whether this tool requires confirmation before execution when called by AI
171
- * Defaults to false (no confirmation required)
172
- */
173
- readonly requiresConfirmation?: boolean;
174
- /** Icon identifier */
175
- readonly icon: IconKey;
176
-
177
- // Unified fields for schema generation
178
- readonly fields: TFields;
179
-
180
- lifecycle?: LifecycleActions;
181
-
182
- readonly examples: (ExtractInput<
183
- InferSchemaFromField<TFields, FieldUsage.RequestData>
184
- > extends undefined
185
- ? { requests?: undefined }
186
- : ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestData>> extends never
187
- ? {
188
- requests?: undefined;
189
- }
190
- : {
191
- requests: ExamplesList<
192
- ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestData>>,
193
- TExampleKey
194
- >;
195
- }) &
196
- (ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>> extends undefined
197
- ? { urlPathParams?: undefined }
198
- : ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>> extends never
199
- ? {
200
- urlPathParams?: undefined;
201
- }
202
- : {
203
- urlPathParams: ExamplesList<
204
- ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>,
205
- TExampleKey
206
- >;
207
- }) &
208
- (ExtractInput<InferSchemaFromField<TFields, FieldUsage.Response>> extends undefined
209
- ? { responses?: undefined }
210
- : ExtractInput<InferSchemaFromField<TFields, FieldUsage.Response>> extends never
211
- ? {
212
- responses?: undefined;
213
- }
214
- : {
215
- responses: ExamplesList<
216
- ExtractInput<InferSchemaFromField<TFields, FieldUsage.Response>>,
217
- TExampleKey
218
- >;
219
- });
220
-
221
- // Additional configuration - optional
222
- // readonly config: EndpointConfig;
223
-
224
- // Error handling configuration - NoInfer ensures errors appear on specific invalid keys
225
- readonly errorTypes: Record<
226
- EndpointErrorTypes,
227
- {
228
- title: NoInfer<TScopedTranslationKey>;
229
- description: NoInfer<TScopedTranslationKey>;
230
- }
231
- >;
232
-
233
- // Success handling configuration - NoInfer ensures errors appear on specific invalid keys
234
- readonly successTypes: {
235
- title: NoInfer<TScopedTranslationKey>;
236
- description: NoInfer<TScopedTranslationKey>;
237
- };
238
-
239
- // Method-specific options that will be merged with hook-provided options
240
- // Hook options take priority over endpoint options
241
- readonly options?: TMethod extends Methods.GET
242
- ? EndpointReadOptions<
243
- ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestData>>,
244
- ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>
245
- >
246
- : TMethod extends Methods.POST | Methods.PUT | Methods.PATCH
247
- ? EndpointCreateOptions<
248
- ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestData>>,
249
- ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>
250
- >
251
- : TMethod extends Methods.DELETE
252
- ? EndpointDeleteOptions<
253
- ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>
254
- >
255
- : never;
256
- }
257
-
258
- // --- COMPILE-TIME TYPE INFERENCE FROM UNIFIED FIELDS ---
259
- // Ergonomic system that prevents requestData + requestUrlPathParams conflicts
260
-
261
- // Extract core properties from UnifiedField - handle all the extra properties
262
- export type ExtractFieldCore<F> = F extends {
263
- type: "primitive";
264
- schema: infer Schema;
265
- usage: infer Usage;
266
- }
267
- ? { type: "primitive"; schema: Schema; usage: Usage }
268
- : F extends { type: "object"; children: infer Children }
269
- ? { type: "object"; children: Children }
270
- : F extends { type: "array"; child: infer Child; usage: infer Usage }
271
- ? { type: "array"; child: Child; usage: Usage }
272
- : never;
273
-
274
- // --- MAINTAINABLE SUB-TYPES FOR FIELD INFERENCE ---
275
-
276
- // Extract field core structure
277
- type FieldCore<F> = ExtractFieldCore<F>;
278
-
279
- // Usage checking helpers
280
- type HasResponseUsage<U> = U extends { response: true } ? true : false;
281
- type HasRequestDataUsage<U> = U extends { request: "data" } ? true : false;
282
- type HasRequestUrlParamsUsage<U> = U extends { request: "urlPathParams" } ? true : false;
283
-
284
- // Direct field type inference that forces evaluation
285
- export type InferFieldType<F, Usage extends FieldUsage> =
286
- FieldCore<F> extends { type: "primitive"; usage: infer U }
287
- ? Usage extends FieldUsage.Response
288
- ? HasResponseUsage<U> extends true
289
- ? ExtractSchemaType<F>
290
- : never
291
- : Usage extends FieldUsage.RequestData
292
- ? HasRequestDataUsage<U> extends true
293
- ? ExtractSchemaType<F>
294
- : never
295
- : Usage extends FieldUsage.RequestUrlParams
296
- ? HasRequestUrlParamsUsage<U> extends true
297
- ? ExtractSchemaType<F>
298
- : never
299
- : never
300
- : FieldCore<F> extends { type: "object"; children: infer C }
301
- ? InferObjectType<C, Usage>
302
- : FieldCore<F> extends {
303
- type: "array";
304
- child: infer Child;
305
- usage: infer U;
306
- }
307
- ? Usage extends FieldUsage.Response
308
- ? HasResponseUsage<U> extends true
309
- ? Array<InferFieldType<Child, Usage>>
310
- : never
311
- : Usage extends FieldUsage.RequestData
312
- ? HasRequestDataUsage<U> extends true
313
- ? Array<InferFieldType<Child, Usage>>
314
- : never
315
- : Usage extends FieldUsage.RequestUrlParams
316
- ? HasRequestUrlParamsUsage<U> extends true
317
- ? Array<InferFieldType<Child, Usage>>
318
- : never
319
- : never
320
- : never;
321
-
322
- // Fixed object type inference - filter out never fields and remove readonly
323
- // Uses flexible constraint that accepts both readonly and mutable properties
324
- type InferObjectType<C, Usage extends FieldUsage> =
325
- C extends Record<string, UnifiedField<string, z.ZodTypeAny>>
326
- ? {
327
- -readonly [K in keyof C as InferFieldType<C[K], Usage> extends never
328
- ? never
329
- : K]: InferFieldType<C[K], Usage>;
330
- }
331
- : never;
332
-
333
- // --- SCHEMA GENERATION FROM UNIFIED FIELDS ---
334
- // Use the proper generateSchemaForUsage function from utils
335
- const generateSchemaForUsage = generateSchemaFromUtils;
336
-
337
- function generateRequestDataSchema<F>(field: F): InferSchemaFromField<F, FieldUsage.RequestData> {
338
- return generateSchemaForUsage<F, FieldUsage.RequestData>(field, FieldUsage.RequestData);
339
- }
340
-
341
- function generateRequestUrlSchema<F>(
342
- field: F,
343
- ): InferSchemaFromField<F, FieldUsage.RequestUrlParams> {
344
- return generateSchemaForUsage<F, FieldUsage.RequestUrlParams>(field, FieldUsage.RequestUrlParams);
345
- }
346
-
347
- function generateResponseSchema<F>(field: F): InferSchemaFromField<F, FieldUsage.Response> {
348
- return generateSchemaForUsage<F, FieldUsage.Response>(field, FieldUsage.Response);
349
- }
350
-
351
- export type CreateApiEndpoint<
352
- TExampleKey extends string,
353
- TMethod extends Methods,
354
- TUserRoleValue extends readonly UserRoleValue[],
355
- TScopedTranslationKey extends string,
356
- TFields extends UnifiedField<string, z.ZodTypeAny>,
357
- RequestInput = ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestData>>,
358
- RequestOutput = ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestData>>,
359
- ResponseInput = ExtractInput<InferSchemaFromField<TFields, FieldUsage.Response>>,
360
- ResponseOutput = ExtractOutput<InferSchemaFromField<TFields, FieldUsage.Response>>,
361
- UrlVariablesInput = ExtractInput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>,
362
- UrlVariablesOutput = ExtractOutput<InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>>,
363
- > = ApiEndpoint<TExampleKey, TMethod, TUserRoleValue, TScopedTranslationKey, TFields> & {
364
- readonly scopedTranslation: {
365
- readonly ScopedTranslationKey: TScopedTranslationKey;
366
- readonly scopedT: (locale: CountryLanguage) => {
367
- t(key: TScopedTranslationKey, params?: TParams): TranslatedKeyType;
368
- };
369
- };
370
- readonly requestSchema: InferSchemaFromField<TFields, FieldUsage.RequestData>;
371
- readonly requestUrlPathParamsSchema: InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>;
372
- readonly responseSchema: InferSchemaFromField<TFields, FieldUsage.Response>;
373
-
374
- readonly requiresAuthentication: () => boolean;
375
-
376
- readonly types: {
377
- RequestInput: RequestInput;
378
- RequestOutput: RequestOutput;
379
- ResponseInput: ResponseInput;
380
- ResponseOutput: ResponseOutput;
381
- UrlVariablesInput: UrlVariablesInput;
382
- UrlVariablesOutput: UrlVariablesOutput;
383
- Fields: TFields;
384
- ExampleKey: TExampleKey;
385
- Method: TMethod;
386
- UserRoleValue: TUserRoleValue;
387
- ScopedTranslationKey: TScopedTranslationKey;
388
- };
389
- };
390
- /**
391
- * Return type for createEndpoint with full type inference from fields
392
- */
393
- export type CreateEndpointReturnInMethod<
394
- TExampleKey extends string,
395
- TMethod extends Methods,
396
- TUserRoleValue extends readonly UserRoleValue[],
397
- TScopedTranslationKey extends string,
398
- TFields extends UnifiedField<string, z.ZodTypeAny>,
399
- > = {
400
- readonly [KMethod in TMethod]: CreateApiEndpoint<
401
- TExampleKey,
402
- KMethod,
403
- TUserRoleValue,
404
- TScopedTranslationKey,
405
- TFields
406
- >;
407
- };
408
-
409
- /**
410
- * Create an endpoint definition with perfect type inference from unified fields
411
- * Returns both legacy format and new destructured format for maximum compatibility
412
- *
413
- * Translation key inference:
414
- * - TScopedTranslationKey is inferred from scopedTranslation.ScopedTranslationKey when provided
415
- * - Defaults to TranslationKey (global keys) when scopedTranslation is not provided
416
- */
417
- export function createEndpoint<
418
- const TExampleKey extends string,
419
- const TMethod extends Methods,
420
- const TUserRoleValue extends readonly UserRoleValue[],
421
- const TScopedTranslationKey extends string = TranslationKey,
422
- TFields extends UnifiedField<string, z.ZodTypeAny> = UnifiedField<
423
- TScopedTranslationKey,
424
- z.ZodTypeAny
425
- >,
426
- >(
427
- config: ApiEndpoint<TExampleKey, TMethod, TUserRoleValue, TScopedTranslationKey, TFields>,
428
- ): CreateEndpointReturnInMethod<
429
- TExampleKey,
430
- TMethod,
431
- TUserRoleValue,
432
- TScopedTranslationKey,
433
- TFields
434
- > {
435
- // Generate schemas from unified fields
436
- // const fieldBuilder = createFieldBuilder<TScopedTranslationKey>();
437
- // const fields = typeof config.fields === "function" ? config.fields(fieldBuilder) : config.fields;
438
- const requestSchema = generateRequestDataSchema(config.fields);
439
- const responseSchema = generateResponseSchema(config.fields);
440
- const requestUrlSchema = generateRequestUrlSchema(config.fields);
441
-
442
- function requiresAuthentication(): boolean {
443
- // Endpoint requires authentication if PUBLIC role is NOT in the allowed roles
444
- return !config.allowedRoles.includes(UserRole.PUBLIC);
445
- }
446
-
447
- // Default scopedTranslation when none provided - uses global TranslationKey with simpleT
448
- const defaultScopedTranslation = {
449
- ScopedTranslationKey: "" as TScopedTranslationKey,
450
- scopedT: (
451
- locale: CountryLanguage,
452
- ): {
453
- t: (key: TScopedTranslationKey, params?: TParams) => TranslatedKeyType;
454
- } => ({
455
- t: (key: TScopedTranslationKey, params?: TParams): TranslatedKeyType =>
456
- simpleT(locale).t(key as TranslationKey, params) as TranslatedKeyType,
457
- }),
458
- };
459
-
460
- // Create endpoint with proper type inference - preserve actual schema types for input/output differentiation
461
- const endpointDefinition: CreateApiEndpoint<
462
- TExampleKey,
463
- TMethod,
464
- TUserRoleValue,
465
- TScopedTranslationKey,
466
- TFields
467
- > = {
468
- method: config.method,
469
- path: config.path,
470
- title: config.title,
471
- description: config.description,
472
- category: config.category,
473
- tags: config.tags,
474
- fields: config.fields,
475
- allowedRoles: config.allowedRoles,
476
- examples: config.examples,
477
- errorTypes: config.errorTypes,
478
- successTypes: config.successTypes,
479
- scopedTranslation: config.scopedTranslation ?? defaultScopedTranslation,
480
- debug: config.debug,
481
- aliases: config.aliases,
482
- cli: config.cli,
483
- credits: config.credits,
484
- icon: config.icon,
485
- options: config.options,
486
- requestSchema,
487
- responseSchema,
488
- requestUrlPathParamsSchema: requestUrlSchema,
489
- requiresAuthentication,
490
- types: {
491
- RequestInput: undefined! as ExtractInput<
492
- InferSchemaFromField<TFields, FieldUsage.RequestData>
493
- >,
494
- RequestOutput: undefined! as ExtractOutput<
495
- InferSchemaFromField<TFields, FieldUsage.RequestData>
496
- >,
497
- ResponseInput: undefined! as ExtractInput<InferSchemaFromField<TFields, FieldUsage.Response>>,
498
- ResponseOutput: undefined! as ExtractOutput<
499
- InferSchemaFromField<TFields, FieldUsage.Response>
500
- >,
501
- UrlVariablesInput: undefined! as ExtractInput<
502
- InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>
503
- >,
504
- UrlVariablesOutput: undefined! as ExtractOutput<
505
- InferSchemaFromField<TFields, FieldUsage.RequestUrlParams>
506
- >,
507
- Fields: undefined! as TFields,
508
- ExampleKey: undefined! as TExampleKey,
509
- Method: undefined! as TMethod,
510
- UserRoleValue: undefined! as TUserRoleValue,
511
- ScopedTranslationKey: undefined! as TScopedTranslationKey,
512
- },
513
- };
514
-
515
- // Return the method-keyed object with proper type inference
516
- return {
517
- [config.method]: endpointDefinition,
518
- } as CreateEndpointReturnInMethod<
519
- TExampleKey,
520
- TMethod,
521
- TUserRoleValue,
522
- TScopedTranslationKey,
523
- TFields
524
- >;
525
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * Endpoint to Metadata Converter
3
- * Shared conversion logic for all platforms
4
- * Eliminates duplication across MCP, AI, CLI converters
5
- * Pure logic - no server dependencies
6
- */
7
-
8
- import { z } from "zod";
9
-
10
- /**
11
- * Convert Zod schema to JSON Schema
12
- * z.toJSONSchema automatically handles transforms and refinements
13
- * Post-processes to make fields with defaults optional (not required)
14
- */
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- export function zodSchemaToJsonSchema(schema: z.ZodTypeAny): any {
17
- try {
18
- // z.toJSONSchema automatically strips transforms and refinements
19
- // No manual stripping needed
20
- const jsonSchema = z.toJSONSchema(schema, {
21
- target: "draft-7",
22
- });
23
-
24
- // Post-process: Remove fields with default values from required array
25
- // Fields with defaults should be optional in tool schemas
26
- if (
27
- jsonSchema &&
28
- typeof jsonSchema === "object" &&
29
- jsonSchema.type === "object" &&
30
- Array.isArray(jsonSchema.required) &&
31
- jsonSchema.properties &&
32
- typeof jsonSchema.properties === "object"
33
- ) {
34
- jsonSchema.required = jsonSchema.required.filter((fieldName: string) => {
35
- const field = jsonSchema.properties?.[fieldName];
36
- // Keep field as required only if it doesn't have a default value
37
- return !field || typeof field !== "object" || field === null || !("default" in field);
38
- });
39
-
40
- // Remove required array if it's empty
41
- if (jsonSchema.required.length === 0) {
42
- delete jsonSchema.required;
43
- }
44
- }
45
-
46
- return jsonSchema;
47
- } catch {
48
- return {
49
- type: "object",
50
- };
51
- }
52
- }