@next-vibe/checker 1.0.11 → 1.0.12

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 (394) hide show
  1. package/.dist/bin/vibe-runtime.js +10 -19
  2. package/.dist/bin/vibe-runtime.js.map +3 -3
  3. package/check.config.ts +4 -4
  4. package/package.json +2 -9
  5. package/src/app/api/[locale]/LICENSE +674 -0
  6. package/src/app/api/[locale]/i18n/de/index.ts +13 -0
  7. package/src/app/api/[locale]/i18n/en/index.ts +12 -0
  8. package/src/app/api/[locale]/i18n/pl/index.ts +11 -0
  9. package/src/app/api/[locale]/shared/i18n/de/index.ts +85 -0
  10. package/src/app/api/[locale]/shared/i18n/en/index.ts +83 -0
  11. package/src/app/api/[locale]/shared/i18n/pl/index.ts +85 -0
  12. package/src/app/api/[locale]/shared/stats-filtering.ts +202 -0
  13. package/src/app/api/[locale]/shared/types/common.schema.ts +55 -0
  14. package/src/app/api/[locale]/shared/types/response.schema.ts +372 -0
  15. package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +375 -0
  16. package/src/app/api/[locale]/shared/types/utils.ts +190 -0
  17. package/src/app/api/[locale]/shared/utils/base64.ts +49 -0
  18. package/src/app/api/[locale]/shared/utils/env-util.ts +40 -0
  19. package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +21 -0
  20. package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +19 -0
  21. package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +21 -0
  22. package/src/app/api/[locale]/shared/utils/index.ts +11 -0
  23. package/src/app/api/[locale]/shared/utils/object-path.ts +41 -0
  24. package/src/app/api/[locale]/shared/utils/object.test.ts +82 -0
  25. package/src/app/api/[locale]/shared/utils/object.ts +75 -0
  26. package/src/app/api/[locale]/shared/utils/parse-error.ts +134 -0
  27. package/src/app/api/[locale]/shared/utils/parse-json.ts +70 -0
  28. package/src/app/api/[locale]/shared/utils/time.ts +53 -0
  29. package/src/app/api/[locale]/shared/utils/validation.ts +127 -0
  30. package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +116 -0
  31. package/src/app/api/[locale]/system/builder/definition.ts +1942 -0
  32. package/src/app/api/[locale]/system/builder/enum.ts +77 -0
  33. package/src/app/api/[locale]/system/builder/i18n/de/index.ts +677 -0
  34. package/src/app/api/[locale]/system/builder/i18n/en/index.ts +665 -0
  35. package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +668 -0
  36. package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +182 -0
  37. package/src/app/api/[locale]/system/builder/repository/build-executor.ts +583 -0
  38. package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +261 -0
  39. package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +197 -0
  40. package/src/app/api/[locale]/system/builder/repository/config-loader.ts +159 -0
  41. package/src/app/api/[locale]/system/builder/repository/config-validator.ts +97 -0
  42. package/src/app/api/[locale]/system/builder/repository/constants.ts +125 -0
  43. package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +75 -0
  44. package/src/app/api/[locale]/system/builder/repository/file-copier.ts +98 -0
  45. package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +80 -0
  46. package/src/app/api/[locale]/system/builder/repository/index.ts +2 -0
  47. package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +146 -0
  48. package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +104 -0
  49. package/src/app/api/[locale]/system/builder/repository/profile-service.ts +79 -0
  50. package/src/app/api/[locale]/system/builder/repository/report-generator.ts +125 -0
  51. package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +291 -0
  52. package/src/app/api/[locale]/system/builder/route.ts +21 -0
  53. package/src/app/api/[locale]/system/builder/test-files/file1.ts +2 -0
  54. package/src/app/api/[locale]/system/builder/test-files/file2.tsx +10 -0
  55. package/src/app/api/[locale]/system/builder/test-files/file3.tsx +16 -0
  56. package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +2 -0
  57. package/src/app/api/[locale]/system/builder/test-files/test-config.ts +38 -0
  58. package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +8 -0
  59. package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +24 -0
  60. package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +6 -0
  61. package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +18 -0
  62. package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +7 -0
  63. package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +27 -0
  64. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +19 -0
  65. package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +1 -0
  66. package/src/app/api/[locale]/system/builder/test-files/test3.css +1 -0
  67. package/src/app/api/[locale]/system/check/config/repository.ts +819 -0
  68. package/src/app/api/[locale]/system/check/config/shared.ts +396 -0
  69. package/src/app/api/[locale]/system/check/config/types.ts +616 -0
  70. package/src/app/api/[locale]/system/check/config/utils.ts +171 -0
  71. package/src/app/api/[locale]/system/check/i18n/de/index.ts +15 -0
  72. package/src/app/api/[locale]/system/check/i18n/en/index.ts +14 -0
  73. package/src/app/api/[locale]/system/check/i18n/pl/index.ts +15 -0
  74. package/src/app/api/[locale]/system/check/lint/definition.ts +414 -0
  75. package/src/app/api/[locale]/system/check/lint/enum.ts +37 -0
  76. package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +164 -0
  77. package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +162 -0
  78. package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +164 -0
  79. package/src/app/api/[locale]/system/check/lint/repository.ts +753 -0
  80. package/src/app/api/[locale]/system/check/lint/route.ts +21 -0
  81. package/src/app/api/[locale]/system/check/oxlint/README.md +190 -0
  82. package/src/app/api/[locale]/system/check/oxlint/definition.ts +414 -0
  83. package/src/app/api/[locale]/system/check/oxlint/enum.ts +37 -0
  84. package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +171 -0
  85. package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +168 -0
  86. package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +172 -0
  87. package/src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts +372 -0
  88. package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +246 -0
  89. package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts +583 -0
  90. package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts +500 -0
  91. package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +74 -0
  92. package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +305 -0
  93. package/src/app/api/[locale]/system/check/oxlint/repository.ts +959 -0
  94. package/src/app/api/[locale]/system/check/oxlint/route.ts +21 -0
  95. package/src/app/api/[locale]/system/check/oxlint/types.ts +193 -0
  96. package/src/app/api/[locale]/system/check/test-project/bun.lock +449 -0
  97. package/src/app/api/[locale]/system/check/test-project/check.config.ts +989 -0
  98. package/src/app/api/[locale]/system/check/test-project/package.json +20 -0
  99. package/src/app/api/[locale]/system/check/test-project/src/constants.ts +6 -0
  100. package/src/app/api/[locale]/system/check/test-project/src/greet.ts +18 -0
  101. package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +107 -0
  102. package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +37 -0
  103. package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +137 -0
  104. package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +129 -0
  105. package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +131 -0
  106. package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +95 -0
  107. package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +76 -0
  108. package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +95 -0
  109. package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +61 -0
  110. package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +80 -0
  111. package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +27 -0
  112. package/src/app/api/[locale]/system/check/test-project/tsconfig.json +38 -0
  113. package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +1 -0
  114. package/src/app/api/[locale]/system/check/typecheck/definition.ts +369 -0
  115. package/src/app/api/[locale]/system/check/typecheck/enum.ts +37 -0
  116. package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +159 -0
  117. package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +150 -0
  118. package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +155 -0
  119. package/src/app/api/[locale]/system/check/typecheck/repository.ts +919 -0
  120. package/src/app/api/[locale]/system/check/typecheck/route.ts +22 -0
  121. package/src/app/api/[locale]/system/check/typecheck/utils.ts +168 -0
  122. package/src/app/api/[locale]/system/check/vibe-check/definition.ts +568 -0
  123. package/src/app/api/[locale]/system/check/vibe-check/enum.ts +69 -0
  124. package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +192 -0
  125. package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +189 -0
  126. package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +192 -0
  127. package/src/app/api/[locale]/system/check/vibe-check/repository.ts +545 -0
  128. package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +1142 -0
  129. package/src/app/api/[locale]/system/check/vibe-check/route.ts +21 -0
  130. package/src/app/api/[locale]/system/generated/endpoint.ts +313 -0
  131. package/src/app/api/[locale]/system/generated/endpoints.ts +156 -0
  132. package/src/app/api/[locale]/system/generated/route-handlers.ts +224 -0
  133. package/src/app/api/[locale]/system/generators/endpoint/definition.ts +193 -0
  134. package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +48 -0
  135. package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +48 -0
  136. package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +50 -0
  137. package/src/app/api/[locale]/system/generators/endpoint/repository.ts +291 -0
  138. package/src/app/api/[locale]/system/generators/endpoint/route.ts +21 -0
  139. package/src/app/api/[locale]/system/generators/endpoints/definition.ts +246 -0
  140. package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +54 -0
  141. package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +52 -0
  142. package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +54 -0
  143. package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +463 -0
  144. package/src/app/api/[locale]/system/generators/endpoints/repository.ts +383 -0
  145. package/src/app/api/[locale]/system/generators/endpoints/route.ts +18 -0
  146. package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +194 -0
  147. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +71 -0
  148. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +69 -0
  149. package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +71 -0
  150. package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +294 -0
  151. package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +18 -0
  152. package/src/app/api/[locale]/system/generators/generate-all/definition.ts +355 -0
  153. package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +96 -0
  154. package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +94 -0
  155. package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +96 -0
  156. package/src/app/api/[locale]/system/generators/generate-all/repository.ts +257 -0
  157. package/src/app/api/[locale]/system/generators/generate-all/route.ts +20 -0
  158. package/src/app/api/[locale]/system/generators/i18n/de/index.ts +15 -0
  159. package/src/app/api/[locale]/system/generators/i18n/en/index.ts +14 -0
  160. package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +15 -0
  161. package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +198 -0
  162. package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +48 -0
  163. package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +48 -0
  164. package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +50 -0
  165. package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +277 -0
  166. package/src/app/api/[locale]/system/generators/route-handlers/route.ts +17 -0
  167. package/src/app/api/[locale]/system/generators/shared/utils.ts +233 -0
  168. package/src/app/api/[locale]/system/help/definition.ts +445 -0
  169. package/src/app/api/[locale]/system/help/i18n/de/index.ts +267 -0
  170. package/src/app/api/[locale]/system/help/i18n/en/index.ts +262 -0
  171. package/src/app/api/[locale]/system/help/i18n/pl/index.ts +265 -0
  172. package/src/app/api/[locale]/system/help/interactive/definition.ts +125 -0
  173. package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +22 -0
  174. package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +19 -0
  175. package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +22 -0
  176. package/src/app/api/[locale]/system/help/interactive/repository.ts +1025 -0
  177. package/src/app/api/[locale]/system/help/interactive/route.ts +53 -0
  178. package/src/app/api/[locale]/system/help/list/definition.ts +372 -0
  179. package/src/app/api/[locale]/system/help/list/repository.ts +110 -0
  180. package/src/app/api/[locale]/system/help/list/route.ts +21 -0
  181. package/src/app/api/[locale]/system/help/repository.ts +212 -0
  182. package/src/app/api/[locale]/system/help/route.ts +16 -0
  183. package/src/app/api/[locale]/system/i18n/de/index.ts +68 -0
  184. package/src/app/api/[locale]/system/i18n/en/index.ts +65 -0
  185. package/src/app/api/[locale]/system/i18n/pl/index.ts +66 -0
  186. package/src/app/api/[locale]/system/release-tool/definition.ts +3104 -0
  187. package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +813 -0
  188. package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +797 -0
  189. package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +810 -0
  190. package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +128 -0
  191. package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +212 -0
  192. package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +566 -0
  193. package/src/app/api/[locale]/system/release-tool/repository/config.ts +113 -0
  194. package/src/app/api/[locale]/system/release-tool/repository/constants.ts +407 -0
  195. package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +527 -0
  196. package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +403 -0
  197. package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +100 -0
  198. package/src/app/api/[locale]/system/release-tool/repository/index.ts +1 -0
  199. package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +638 -0
  200. package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +169 -0
  201. package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +253 -0
  202. package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +428 -0
  203. package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +293 -0
  204. package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +1198 -0
  205. package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +136 -0
  206. package/src/app/api/[locale]/system/release-tool/repository/utils.ts +642 -0
  207. package/src/app/api/[locale]/system/release-tool/repository/validation.ts +288 -0
  208. package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +297 -0
  209. package/src/app/api/[locale]/system/release-tool/route.ts +21 -0
  210. package/src/app/api/[locale]/system/unified-interface/README.md +328 -0
  211. package/src/app/api/[locale]/system/unified-interface/cli/README.md +349 -0
  212. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +95 -0
  213. package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +146 -0
  214. package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +266 -0
  215. package/src/app/api/[locale]/system/unified-interface/cli/env.ts +26 -0
  216. package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +157 -0
  217. package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +155 -0
  218. package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +158 -0
  219. package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +595 -0
  220. package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +129 -0
  221. package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +155 -0
  222. package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +452 -0
  223. package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +297 -0
  224. package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +859 -0
  225. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +12 -0
  226. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +11 -0
  227. package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +12 -0
  228. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +262 -0
  229. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +54 -0
  230. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +52 -0
  231. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +54 -0
  232. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +421 -0
  233. package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +25 -0
  234. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +181 -0
  235. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +61 -0
  236. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +59 -0
  237. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +61 -0
  238. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +195 -0
  239. package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +22 -0
  240. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +188 -0
  241. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +54 -0
  242. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +52 -0
  243. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +54 -0
  244. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +209 -0
  245. package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +24 -0
  246. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +200 -0
  247. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +54 -0
  248. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +52 -0
  249. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +54 -0
  250. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +113 -0
  251. package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +22 -0
  252. package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +304 -0
  253. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +270 -0
  254. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +309 -0
  255. package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +126 -0
  256. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +67 -0
  257. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +65 -0
  258. package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +67 -0
  259. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +74 -0
  260. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +39 -0
  261. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +54 -0
  262. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +298 -0
  263. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +89 -0
  264. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +298 -0
  265. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +96 -0
  266. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +186 -0
  267. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +65 -0
  268. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +570 -0
  269. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +80 -0
  270. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +385 -0
  271. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +99 -0
  272. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +55 -0
  273. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +67 -0
  274. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +729 -0
  275. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +87 -0
  276. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +112 -0
  277. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +59 -0
  278. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +50 -0
  279. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +131 -0
  280. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +291 -0
  281. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +120 -0
  282. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +149 -0
  283. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +61 -0
  284. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +78 -0
  285. package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +42 -0
  286. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +418 -0
  287. package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +534 -0
  288. package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +42 -0
  289. package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +40 -0
  290. package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +43 -0
  291. package/src/app/api/[locale]/system/unified-interface/mcp/README.md +114 -0
  292. package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +146 -0
  293. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +182 -0
  294. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +179 -0
  295. package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +181 -0
  296. package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +343 -0
  297. package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +147 -0
  298. package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +38 -0
  299. package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +14 -0
  300. package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +309 -0
  301. package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +154 -0
  302. package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +193 -0
  303. package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +246 -0
  304. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +1510 -0
  305. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +581 -0
  306. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +52 -0
  307. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +152 -0
  308. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +265 -0
  309. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +680 -0
  310. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +220 -0
  311. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +325 -0
  312. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +184 -0
  313. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +201 -0
  314. package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +58 -0
  315. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +49 -0
  316. package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +47 -0
  317. package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +58 -0
  318. package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +110 -0
  319. package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +339 -0
  320. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +408 -0
  321. package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +1349 -0
  322. package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +107 -0
  323. package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +268 -0
  324. package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +114 -0
  325. package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +169 -0
  326. package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +88 -0
  327. package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +177 -0
  328. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +82 -0
  329. package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +33 -0
  330. package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +4 -0
  331. package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +289 -0
  332. package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +1167 -0
  333. package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +382 -0
  334. package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +34 -0
  335. package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +80 -0
  336. package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +76 -0
  337. package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +27 -0
  338. package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +63 -0
  339. package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +241 -0
  340. package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +256 -0
  341. package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +1158 -0
  342. package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +80 -0
  343. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +82 -0
  344. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +75 -0
  345. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +89 -0
  346. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +302 -0
  347. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +202 -0
  348. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +129 -0
  349. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +81 -0
  350. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +258 -0
  351. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +123 -0
  352. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +387 -0
  353. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +89 -0
  354. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +78 -0
  355. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +93 -0
  356. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +448 -0
  357. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +38 -0
  358. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +130 -0
  359. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +127 -0
  360. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +68 -0
  361. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +81 -0
  362. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +176 -0
  363. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +241 -0
  364. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +90 -0
  365. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +71 -0
  366. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +80 -0
  367. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +105 -0
  368. package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +72 -0
  369. package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +240 -0
  370. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +137 -0
  371. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +437 -0
  372. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +40 -0
  373. package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +465 -0
  374. package/src/app/api/[locale]/user/auth/enum.ts +16 -0
  375. package/src/app/api/[locale]/user/auth/i18n/de/index.ts +227 -0
  376. package/src/app/api/[locale]/user/auth/i18n/en/index.ts +205 -0
  377. package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +219 -0
  378. package/src/app/api/[locale]/user/auth/types.ts +110 -0
  379. package/src/app/api/[locale]/user/enum.ts +64 -0
  380. package/src/app/api/[locale]/user/private/i18n/de/index.ts +3 -0
  381. package/src/app/api/[locale]/user/private/i18n/en/index.ts +1 -0
  382. package/src/app/api/[locale]/user/private/i18n/pl/index.ts +3 -0
  383. package/src/app/api/[locale]/user/types.ts +118 -0
  384. package/src/app/api/[locale]/user/user-roles/enum.ts +112 -0
  385. package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +85 -0
  386. package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +83 -0
  387. package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +86 -0
  388. package/src/app/api/[locale]/user/user-roles/types.ts +34 -0
  389. package/src/app/api/i18n/de/index.ts +6 -0
  390. package/src/app/api/i18n/en/index.ts +5 -0
  391. package/src/app/api/i18n/pl/index.ts +5 -0
  392. package/src/app/i18n/de/index.ts +6 -0
  393. package/src/app/i18n/en/index.ts +5 -0
  394. package/src/app/i18n/pl/index.ts +5 -0
@@ -0,0 +1,309 @@
1
+ /**
2
+ * Widget Registry
3
+ * Central registry for CLI widget renderers using switch-based dispatch
4
+ * Matches React's WidgetRenderer pattern
5
+ */
6
+
7
+ import type { UnifiedField } from "@/app/api/[locale]/system/unified-interface/shared/types/endpoint";
8
+ import { WidgetType } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
9
+ import type {
10
+ WidgetData,
11
+ WidgetInput,
12
+ } from "@/app/api/[locale]/system/unified-interface/shared/widgets/types";
13
+
14
+ import { AccordionWidgetRenderer } from "../implementations/accordion";
15
+ import { AvatarWidgetRenderer } from "../implementations/avatar";
16
+ import { BadgeWidgetRenderer } from "../implementations/badge";
17
+ import { CodeOutputWidgetRenderer } from "../implementations/code-output";
18
+ import { CodeQualityFilesWidgetRenderer } from "../implementations/code-quality-files";
19
+ import { CodeQualityListWidgetRenderer } from "../implementations/code-quality-list";
20
+ import { CodeQualitySummaryWidgetRenderer } from "../implementations/code-quality-summary";
21
+ import { ContainerWidgetRenderer } from "../implementations/container";
22
+ import { DataCardWidgetRenderer } from "../implementations/data-card";
23
+ import { DataCardsWidgetRenderer } from "../implementations/data-cards";
24
+ import { DataListWidgetRenderer } from "../implementations/data-list";
25
+ import { DataTableWidgetRenderer } from "../implementations/data-table";
26
+ import { EditableTextWidgetRenderer } from "../implementations/editable-text";
27
+ import { EmptyStateWidgetRenderer } from "../implementations/empty-state";
28
+ import { ErrorWidgetRenderer } from "../implementations/errors";
29
+ import { GroupedListWidgetRenderer } from "../implementations/grouped-list";
30
+ import { LinkWidgetRenderer } from "../implementations/link";
31
+ import { LinkCardWidgetRenderer } from "../implementations/link-card";
32
+ import { LinkListWidgetRenderer } from "../implementations/link-list";
33
+ import { LoadingWidgetRenderer } from "../implementations/loading";
34
+ import { MarkdownWidgetRenderer } from "../implementations/markdown";
35
+ import { MetricWidgetRenderer } from "../implementations/metric";
36
+ import { SectionWidgetRenderer } from "../implementations/section";
37
+ import { StatsGridWidgetRenderer } from "../implementations/stats-grid";
38
+ import { TabsWidgetRenderer } from "../implementations/tabs";
39
+ import { TextWidgetRenderer } from "../implementations/text";
40
+ import { TitleWidgetRenderer } from "../implementations/title";
41
+ import type {
42
+ AnyWidgetRenderer,
43
+ CLIWidgetProps,
44
+ WidgetRenderContext,
45
+ } from "./types";
46
+
47
+ // Singleton instances for each renderer
48
+ const textRenderer = new TextWidgetRenderer();
49
+ const titleRenderer = new TitleWidgetRenderer();
50
+ const sectionRenderer = new SectionWidgetRenderer();
51
+ const containerRenderer = new ContainerWidgetRenderer();
52
+ const dataTableRenderer = new DataTableWidgetRenderer();
53
+ const dataCardRenderer = new DataCardWidgetRenderer();
54
+ const dataCardsRenderer = new DataCardsWidgetRenderer();
55
+ const dataListRenderer = new DataListWidgetRenderer();
56
+ const groupedListRenderer = new GroupedListWidgetRenderer();
57
+ const codeQualityListRenderer = new CodeQualityListWidgetRenderer();
58
+ const codeQualitySummaryRenderer = new CodeQualitySummaryWidgetRenderer();
59
+ const codeQualityFilesRenderer = new CodeQualityFilesWidgetRenderer();
60
+ const codeOutputRenderer = new CodeOutputWidgetRenderer();
61
+ const metricRenderer = new MetricWidgetRenderer();
62
+ const statsGridRenderer = new StatsGridWidgetRenderer();
63
+ const linkRenderer = new LinkWidgetRenderer();
64
+ const linkCardRenderer = new LinkCardWidgetRenderer();
65
+ const linkListRenderer = new LinkListWidgetRenderer();
66
+ const markdownRenderer = new MarkdownWidgetRenderer();
67
+ const editableTextRenderer = new EditableTextWidgetRenderer();
68
+ const badgeRenderer = new BadgeWidgetRenderer();
69
+ const avatarRenderer = new AvatarWidgetRenderer();
70
+ const emptyStateRenderer = new EmptyStateWidgetRenderer();
71
+ const errorRenderer = new ErrorWidgetRenderer();
72
+ const loadingRenderer = new LoadingWidgetRenderer();
73
+ const tabsRenderer = new TabsWidgetRenderer();
74
+ const accordionRenderer = new AccordionWidgetRenderer();
75
+
76
+ /**
77
+ * Render a widget using switch-based dispatch
78
+ * Matches React's renderWidget pattern
79
+ */
80
+ function renderWidget<const TKey extends string>(
81
+ widgetType: WidgetType,
82
+ baseProps: {
83
+ field: UnifiedField<TKey>;
84
+ value: WidgetData;
85
+ context: WidgetRenderContext;
86
+ },
87
+ ): string {
88
+ switch (widgetType) {
89
+ case WidgetType.TEXT:
90
+ return textRenderer.render({ ...baseProps, widgetType } as CLIWidgetProps<
91
+ typeof WidgetType.TEXT,
92
+ TKey
93
+ >);
94
+
95
+ case WidgetType.TITLE:
96
+ return titleRenderer.render({
97
+ ...baseProps,
98
+ widgetType,
99
+ } as CLIWidgetProps<typeof WidgetType.TITLE, TKey>);
100
+
101
+ case WidgetType.SECTION:
102
+ return sectionRenderer.render({
103
+ ...baseProps,
104
+ widgetType,
105
+ } as CLIWidgetProps<typeof WidgetType.SECTION, TKey>);
106
+
107
+ case WidgetType.CONTAINER:
108
+ return containerRenderer.render({
109
+ ...baseProps,
110
+ widgetType,
111
+ } as CLIWidgetProps<typeof WidgetType.CONTAINER, TKey>);
112
+
113
+ case WidgetType.DATA_TABLE:
114
+ return dataTableRenderer.render({
115
+ ...baseProps,
116
+ widgetType,
117
+ } as CLIWidgetProps<typeof WidgetType.DATA_TABLE, TKey>);
118
+
119
+ case WidgetType.DATA_CARD:
120
+ return dataCardRenderer.render({
121
+ ...baseProps,
122
+ widgetType,
123
+ } as CLIWidgetProps<typeof WidgetType.DATA_CARD, TKey>);
124
+
125
+ case WidgetType.DATA_CARDS:
126
+ return dataCardsRenderer.render({
127
+ ...baseProps,
128
+ widgetType,
129
+ } as CLIWidgetProps<typeof WidgetType.DATA_CARDS, TKey>);
130
+
131
+ case WidgetType.DATA_LIST:
132
+ return dataListRenderer.render({
133
+ ...baseProps,
134
+ widgetType,
135
+ } as CLIWidgetProps<typeof WidgetType.DATA_LIST, TKey>);
136
+
137
+ case WidgetType.GROUPED_LIST:
138
+ return groupedListRenderer.render({
139
+ ...baseProps,
140
+ widgetType,
141
+ } as CLIWidgetProps<typeof WidgetType.GROUPED_LIST, TKey>);
142
+
143
+ case WidgetType.CODE_QUALITY_LIST:
144
+ return codeQualityListRenderer.render({
145
+ ...baseProps,
146
+ widgetType,
147
+ } as CLIWidgetProps<typeof WidgetType.CODE_QUALITY_LIST, TKey>);
148
+
149
+ case WidgetType.CODE_QUALITY_SUMMARY:
150
+ return codeQualitySummaryRenderer.render({
151
+ ...baseProps,
152
+ widgetType,
153
+ } as CLIWidgetProps<typeof WidgetType.CODE_QUALITY_SUMMARY, TKey>);
154
+
155
+ case WidgetType.CODE_QUALITY_FILES:
156
+ return codeQualityFilesRenderer.render({
157
+ ...baseProps,
158
+ widgetType,
159
+ } as CLIWidgetProps<typeof WidgetType.CODE_QUALITY_FILES, TKey>);
160
+
161
+ case WidgetType.CODE_OUTPUT:
162
+ return codeOutputRenderer.render({
163
+ ...baseProps,
164
+ widgetType,
165
+ } as CLIWidgetProps<typeof WidgetType.CODE_OUTPUT, TKey>);
166
+
167
+ case WidgetType.METRIC_CARD:
168
+ return metricRenderer.render({
169
+ ...baseProps,
170
+ widgetType,
171
+ } as CLIWidgetProps<typeof WidgetType.METRIC_CARD, TKey>);
172
+
173
+ case WidgetType.STATS_GRID:
174
+ return statsGridRenderer.render({
175
+ ...baseProps,
176
+ widgetType,
177
+ } as CLIWidgetProps<typeof WidgetType.STATS_GRID, TKey>);
178
+
179
+ case WidgetType.LINK:
180
+ return linkRenderer.render({ ...baseProps, widgetType } as CLIWidgetProps<
181
+ typeof WidgetType.LINK,
182
+ TKey
183
+ >);
184
+
185
+ case WidgetType.LINK_CARD:
186
+ return linkCardRenderer.render({
187
+ ...baseProps,
188
+ widgetType,
189
+ } as CLIWidgetProps<typeof WidgetType.LINK_CARD, TKey>);
190
+
191
+ case WidgetType.LINK_LIST:
192
+ return linkListRenderer.render({
193
+ ...baseProps,
194
+ widgetType,
195
+ } as CLIWidgetProps<typeof WidgetType.LINK_LIST, TKey>);
196
+
197
+ case WidgetType.MARKDOWN:
198
+ return markdownRenderer.render({
199
+ ...baseProps,
200
+ widgetType,
201
+ } as CLIWidgetProps<typeof WidgetType.MARKDOWN, TKey>);
202
+
203
+ case WidgetType.MARKDOWN_EDITOR:
204
+ return editableTextRenderer.render({
205
+ ...baseProps,
206
+ widgetType,
207
+ } as CLIWidgetProps<typeof WidgetType.MARKDOWN_EDITOR, TKey>);
208
+
209
+ case WidgetType.BADGE:
210
+ return badgeRenderer.render({
211
+ ...baseProps,
212
+ widgetType,
213
+ } as CLIWidgetProps<typeof WidgetType.BADGE, TKey>);
214
+
215
+ case WidgetType.AVATAR:
216
+ return avatarRenderer.render({
217
+ ...baseProps,
218
+ widgetType,
219
+ } as CLIWidgetProps<typeof WidgetType.AVATAR, TKey>);
220
+
221
+ case WidgetType.EMPTY_STATE:
222
+ return emptyStateRenderer.render({
223
+ ...baseProps,
224
+ widgetType,
225
+ } as CLIWidgetProps<typeof WidgetType.EMPTY_STATE, TKey>);
226
+
227
+ case WidgetType.ERROR:
228
+ return errorRenderer.render({
229
+ ...baseProps,
230
+ widgetType,
231
+ } as CLIWidgetProps<typeof WidgetType.ERROR, TKey>);
232
+
233
+ case WidgetType.LOADING:
234
+ return loadingRenderer.render({
235
+ ...baseProps,
236
+ widgetType,
237
+ } as CLIWidgetProps<typeof WidgetType.LOADING, TKey>);
238
+
239
+ case WidgetType.TABS:
240
+ return tabsRenderer.render({ ...baseProps, widgetType } as CLIWidgetProps<
241
+ typeof WidgetType.TABS,
242
+ TKey
243
+ >);
244
+
245
+ case WidgetType.ACCORDION:
246
+ return accordionRenderer.render({
247
+ ...baseProps,
248
+ widgetType,
249
+ } as CLIWidgetProps<typeof WidgetType.ACCORDION, TKey>);
250
+
251
+ // Fallback to text widget
252
+ default:
253
+ return textRenderer.render({
254
+ ...baseProps,
255
+ widgetType: WidgetType.TEXT,
256
+ } as CLIWidgetProps<typeof WidgetType.TEXT, TKey>);
257
+ }
258
+ }
259
+
260
+ /**
261
+ * Widget Registry class for compatibility with existing code
262
+ */
263
+ export class WidgetRegistry {
264
+ /**
265
+ * Render a field using the appropriate widget renderer
266
+ */
267
+ render<const TKey extends string>(
268
+ input: WidgetInput<TKey>,
269
+ context: WidgetRenderContext,
270
+ ): string {
271
+ return renderWidget(input.field.ui.type, {
272
+ field: input.field,
273
+ value: input.value,
274
+ context,
275
+ });
276
+ }
277
+
278
+ /**
279
+ * Render a widget with proper type dispatch
280
+ */
281
+ renderWidget<const TKey extends string>(
282
+ widgetType: WidgetType,
283
+ field: UnifiedField<TKey>,
284
+ value: WidgetData,
285
+ context: WidgetRenderContext,
286
+ ): string {
287
+ return renderWidget(widgetType, { field, value, context });
288
+ }
289
+
290
+ /**
291
+ * Get renderer for a widget type (for compatibility)
292
+ */
293
+ getRenderer(widgetType: WidgetType): AnyWidgetRenderer {
294
+ return {
295
+ widgetType,
296
+ render: (props) =>
297
+ renderWidget(widgetType, {
298
+ field: props.field,
299
+ value: props.value,
300
+ context: props.context,
301
+ }),
302
+ };
303
+ }
304
+ }
305
+
306
+ /**
307
+ * Default widget registry instance
308
+ */
309
+ export const defaultWidgetRegistry = new WidgetRegistry();
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Widget Types and Interfaces
3
+ * CLI-specific widget rendering types
4
+ *
5
+ * Extends shared types from ../../../shared/widgets/types.ts
6
+ * Types flow from widget configs in ../../../shared/widgets/configs.ts
7
+ */
8
+
9
+ import type {
10
+ FieldDataType,
11
+ WidgetType,
12
+ } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
13
+ import type { CountryLanguage } from "@/i18n/core/config";
14
+ import type { TFunction } from "@/i18n/core/static-types";
15
+
16
+ import type { UnifiedField } from "../../../shared/types/endpoint";
17
+ import type {
18
+ BaseWidgetProps,
19
+ WidgetData,
20
+ WidgetRenderContext as SharedWidgetRenderContext,
21
+ } from "../../../shared/widgets/types";
22
+
23
+ /**
24
+ * CLI rendering options
25
+ */
26
+ export interface CLIRenderingOptions {
27
+ useColors: boolean;
28
+ useEmojis: boolean;
29
+ maxWidth: number;
30
+ indentSize: number;
31
+ locale: CountryLanguage;
32
+ }
33
+
34
+ /**
35
+ * CLI-specific widget render context.
36
+ * Extends the shared context with CLI-specific utilities.
37
+ */
38
+ export interface CLIWidgetRenderContext extends SharedWidgetRenderContext {
39
+ options: CLIRenderingOptions;
40
+ depth: number;
41
+ t: TFunction;
42
+ formatValue: <const TKey extends string>(
43
+ field: UnifiedField<TKey>,
44
+ value: WidgetData,
45
+ ) => string;
46
+ getFieldIcon: (type: FieldDataType) => string;
47
+ renderEmptyState: (message: string) => string;
48
+ getRenderer: (widgetType: WidgetType) => AnyWidgetRenderer;
49
+ /**
50
+ * Render a widget with proper type dispatch.
51
+ * Use this instead of getRenderer().render() to avoid union type issues.
52
+ */
53
+ renderWidget: <const TKey extends string>(
54
+ widgetType: WidgetType,
55
+ field: UnifiedField<TKey>,
56
+ value: WidgetData,
57
+ ) => string;
58
+ }
59
+
60
+ // Alias for backwards compatibility
61
+ export type WidgetRenderContext = CLIWidgetRenderContext;
62
+
63
+ /**
64
+ * CLI-specific widget props. Extends base props with CLI context.
65
+ * Uses the same pattern as ReactWidgetProps for type safety.
66
+ */
67
+ export interface CLIWidgetProps<
68
+ T extends WidgetType,
69
+ TKey extends string = string,
70
+ > extends BaseWidgetProps<TKey, T> {
71
+ context: CLIWidgetRenderContext;
72
+ }
73
+
74
+ /**
75
+ * Widget renderer interface.
76
+ * Each renderer handles a specific widget type.
77
+ * TWidget is the specific widget type this renderer handles.
78
+ */
79
+ export interface WidgetRenderer<TWidget extends WidgetType = WidgetType> {
80
+ readonly widgetType: TWidget;
81
+ render(props: CLIWidgetProps<TWidget, string>): string;
82
+ }
83
+
84
+ /**
85
+ * Widget renderer type for registry storage.
86
+ * Uses `any` for widget type like React's WidgetComponent pattern.
87
+ * Each implementation still has strict types.
88
+ */
89
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
+ export type AnyWidgetRenderer = WidgetRenderer<any>;
91
+
92
+ /**
93
+ * Maps each WidgetType to CLI-specific props.
94
+ */
95
+ export type CLIWidgetPropsMap<TKey extends string> = {
96
+ [T in WidgetType]: CLIWidgetProps<T, TKey>;
97
+ };
98
+
99
+ /**
100
+ * Union of all CLI widget props - TypeScript narrows this in switch statements.
101
+ */
102
+ export type CLIWidgetPropsUnion<TKey extends string> =
103
+ CLIWidgetPropsMap<TKey>[WidgetType];
104
+
105
+ /**
106
+ * Data formatting utilities for CLI output
107
+ */
108
+ export interface DataFormatter {
109
+ formatText(value: string, options?: { maxLength?: number }): string;
110
+ formatNumber(
111
+ value: number,
112
+ locale: CountryLanguage,
113
+ options?: { precision?: number; unit?: string },
114
+ ): string;
115
+ formatBoolean(value: boolean): string;
116
+ formatDate(value: Date | string, locale: CountryLanguage): string;
117
+ formatArray(
118
+ value: WidgetData[],
119
+ options?: { separator?: string; maxItems?: number },
120
+ ): string;
121
+ formatObject(
122
+ value: Record<string, WidgetData>,
123
+ options?: { maxDepth?: number },
124
+ ): string;
125
+ formatDuration(milliseconds: number): string;
126
+ }
@@ -0,0 +1,67 @@
1
+ import type { translations as enTranslations } from "../en";
2
+
3
+ export const translations: typeof enTranslations = {
4
+ post: {
5
+ title: "Titel",
6
+ description: "Endpunkt-Beschreibung",
7
+ form: {
8
+ title: "Konfiguration",
9
+ description: "Parameter konfigurieren",
10
+ },
11
+ response: {
12
+ title: "Antwort",
13
+ description: "Antwortdaten",
14
+ },
15
+ errors: {
16
+ unauthorized: {
17
+ title: "Nicht autorisiert",
18
+ description: "Authentifizierung erforderlich",
19
+ },
20
+ validation: {
21
+ title: "Validierungsfehler",
22
+ description: "Ungültige Anfrageparameter",
23
+ },
24
+ server: {
25
+ title: "Serverfehler",
26
+ description: "Interner Serverfehler",
27
+ },
28
+ unknown: {
29
+ title: "Unbekannter Fehler",
30
+ description: "Ein unbekannter Fehler ist aufgetreten",
31
+ },
32
+ network: {
33
+ title: "Netzwerkfehler",
34
+ description: "Netzwerkfehler aufgetreten",
35
+ },
36
+ forbidden: {
37
+ title: "Verboten",
38
+ description: "Zugriff verboten",
39
+ },
40
+ notFound: {
41
+ title: "Nicht gefunden",
42
+ description: "Ressource nicht gefunden",
43
+ },
44
+ conflict: {
45
+ title: "Konflikt",
46
+ description: "Datenkonflikt aufgetreten",
47
+ },
48
+ },
49
+ success: {
50
+ title: "Erfolg",
51
+ description: "Vorgang erfolgreich abgeschlossen",
52
+ },
53
+ },
54
+ helpHandler: {
55
+ noDescription: "Keine Beschreibung",
56
+ flagDataDesc: "JSON-Daten-Payload für die Anfrage",
57
+ flagUserTypeDesc: "Benutzertyp (ADMIN, CUSTOMER, PUBLIC)",
58
+ flagLocaleDesc: "Gebietsschema für die Anfrage",
59
+ flagOutputDesc: "Ausgabeformat (json, pretty)",
60
+ flagVerboseDesc: "Ausführliche Ausgabe anzeigen",
61
+ flagDryRunDesc: "Anzeigen, was ausgeführt würde, ohne zu laufen",
62
+ usageLabel: "Verwendung",
63
+ availableCommandsLabel: "Verfügbare Befehle",
64
+ globalOptionsLabel: "Globale Optionen",
65
+ examplesLabel: "Beispiele",
66
+ },
67
+ };
@@ -0,0 +1,65 @@
1
+ export const translations = {
2
+ post: {
3
+ title: "Cli Ui",
4
+ description: "Cli Ui endpoint",
5
+ form: {
6
+ title: "Cli Ui Configuration",
7
+ description: "Configure cli ui parameters",
8
+ },
9
+ response: {
10
+ title: "Response",
11
+ description: "Cli Ui response data",
12
+ },
13
+ errors: {
14
+ unauthorized: {
15
+ title: "Unauthorized",
16
+ description: "Authentication required",
17
+ },
18
+ validation: {
19
+ title: "Validation Error",
20
+ description: "Invalid request parameters",
21
+ },
22
+ server: {
23
+ title: "Server Error",
24
+ description: "Internal server error occurred",
25
+ },
26
+ unknown: {
27
+ title: "Unknown Error",
28
+ description: "An unknown error occurred",
29
+ },
30
+ network: {
31
+ title: "Network Error",
32
+ description: "Network error occurred",
33
+ },
34
+ forbidden: {
35
+ title: "Forbidden",
36
+ description: "Access forbidden",
37
+ },
38
+ notFound: {
39
+ title: "Not Found",
40
+ description: "Resource not found",
41
+ },
42
+ conflict: {
43
+ title: "Conflict",
44
+ description: "Data conflict occurred",
45
+ },
46
+ },
47
+ success: {
48
+ title: "Success",
49
+ description: "Operation completed successfully",
50
+ },
51
+ },
52
+ helpHandler: {
53
+ noDescription: "No description",
54
+ flagDataDesc: "JSON data payload for the request",
55
+ flagUserTypeDesc: "User type (ADMIN, CUSTOMER, PUBLIC)",
56
+ flagLocaleDesc: "Locale for the request",
57
+ flagOutputDesc: "Output format (json, pretty)",
58
+ flagVerboseDesc: "Show verbose output",
59
+ flagDryRunDesc: "Show what would be executed without running",
60
+ usageLabel: "Usage",
61
+ availableCommandsLabel: "Available Commands",
62
+ globalOptionsLabel: "Global Options",
63
+ examplesLabel: "Examples",
64
+ },
65
+ };
@@ -0,0 +1,67 @@
1
+ import type { translations as enTranslations } from "../en";
2
+
3
+ export const translations: typeof enTranslations = {
4
+ post: {
5
+ title: "Tytuł",
6
+ description: "Opis endpointu",
7
+ form: {
8
+ title: "Konfiguracja",
9
+ description: "Skonfiguruj parametry",
10
+ },
11
+ response: {
12
+ title: "Odpowiedź",
13
+ description: "Dane odpowiedzi",
14
+ },
15
+ errors: {
16
+ unauthorized: {
17
+ title: "Brak autoryzacji",
18
+ description: "Wymagana autoryzacja",
19
+ },
20
+ validation: {
21
+ title: "Błąd walidacji",
22
+ description: "Nieprawidłowe parametry żądania",
23
+ },
24
+ server: {
25
+ title: "Błąd serwera",
26
+ description: "Wystąpił wewnętrzny błąd serwera",
27
+ },
28
+ unknown: {
29
+ title: "Nieznany błąd",
30
+ description: "Wystąpił nieznany błąd",
31
+ },
32
+ network: {
33
+ title: "Błąd sieci",
34
+ description: "Wystąpił błąd sieci",
35
+ },
36
+ forbidden: {
37
+ title: "Zabronione",
38
+ description: "Dostęp zabroniony",
39
+ },
40
+ notFound: {
41
+ title: "Nie znaleziono",
42
+ description: "Zasób nie został znaleziony",
43
+ },
44
+ conflict: {
45
+ title: "Konflikt",
46
+ description: "Wystąpił konflikt danych",
47
+ },
48
+ },
49
+ success: {
50
+ title: "Sukces",
51
+ description: "Operacja zakończona pomyślnie",
52
+ },
53
+ },
54
+ helpHandler: {
55
+ noDescription: "Brak opisu",
56
+ flagDataDesc: "Dane JSON dla żądania",
57
+ flagUserTypeDesc: "Typ użytkownika (ADMIN, CUSTOMER, PUBLIC)",
58
+ flagLocaleDesc: "Ustawienia regionalne dla żądania",
59
+ flagOutputDesc: "Format wyjściowy (json, pretty)",
60
+ flagVerboseDesc: "Pokaż szczegółowe dane wyjściowe",
61
+ flagDryRunDesc: "Pokaż, co zostałoby wykonane bez uruchamiania",
62
+ usageLabel: "Użycie",
63
+ availableCommandsLabel: "Dostępne polecenia",
64
+ globalOptionsLabel: "Opcje globalne",
65
+ examplesLabel: "Przykłady",
66
+ },
67
+ };