@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,73 +0,0 @@
1
- /**
2
- * Tabs Widget Logic
3
- * Shared data extraction and processing for TABS widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { WidgetData } from "../types";
8
-
9
- /**
10
- * Tab item structure
11
- */
12
- export interface TabItem {
13
- id: string;
14
- label: string;
15
- content: WidgetData;
16
- disabled?: boolean;
17
- }
18
-
19
- /**
20
- * Processed tabs data structure
21
- */
22
- export interface ProcessedTabs {
23
- tabs: TabItem[];
24
- activeTab?: string;
25
- variant?: "default" | "pills" | "underline";
26
- }
27
-
28
- /**
29
- * Extract and validate tabs data from WidgetData
30
- */
31
- export function extractTabsData(value: WidgetData): ProcessedTabs | null {
32
- // Handle object value with tabs properties
33
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
34
- const tabs = "tabs" in value && Array.isArray(value.tabs) ? value.tabs : [];
35
- const activeTab =
36
- "activeTab" in value && typeof value.activeTab === "string" ? value.activeTab : undefined;
37
- const variant =
38
- "variant" in value && typeof value.variant === "string"
39
- ? (value.variant as "default" | "pills" | "underline")
40
- : "default";
41
-
42
- // Validate tabs
43
- const validTabs = tabs
44
- .filter((t) => typeof t === "object" && t !== null)
45
- .map((t) => ({
46
- id: "id" in t && typeof t.id === "string" ? t.id : "",
47
- label: "label" in t && typeof t.label === "string" ? t.label : "",
48
- content: "content" in t ? t.content : null,
49
- disabled: "disabled" in t && typeof t.disabled === "boolean" ? t.disabled : false,
50
- }))
51
- .filter((t) => t.id && t.label);
52
-
53
- if (validTabs.length === 0) {
54
- return null;
55
- }
56
-
57
- return {
58
- tabs: validTabs,
59
- activeTab: activeTab || validTabs[0].id,
60
- variant,
61
- };
62
- }
63
-
64
- // Invalid type
65
- return null;
66
- }
67
-
68
- /**
69
- * Get active tab from tabs
70
- */
71
- export function getActiveTab(data: ProcessedTabs): TabItem | null {
72
- return data.tabs.find((tab) => tab.id === data.activeTab) || data.tabs[0] || null;
73
- }
@@ -1,96 +0,0 @@
1
- /**
2
- * Text Widget Logic
3
- * Shared data extraction and processing for TEXT widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { WidgetData } from "../types";
8
-
9
- /**
10
- * Processed text data structure
11
- */
12
- export interface ProcessedText {
13
- text: string;
14
- truncate?: number;
15
- format?: "plain" | "code" | "pre";
16
- }
17
-
18
- /**
19
- * Extract and validate text data from WidgetData
20
- */
21
- export function extractTextData(value: WidgetData): ProcessedText | null {
22
- // Handle string value directly
23
- if (typeof value === "string") {
24
- return {
25
- text: value,
26
- format: "plain",
27
- };
28
- }
29
-
30
- // Handle number value
31
- if (typeof value === "number") {
32
- return {
33
- text: String(value),
34
- format: "plain",
35
- };
36
- }
37
-
38
- // Handle boolean value
39
- if (typeof value === "boolean") {
40
- return {
41
- text: value ? "true" : "false",
42
- format: "plain",
43
- };
44
- }
45
-
46
- // Handle object value with text properties
47
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
48
- const text = "text" in value && typeof value.text === "string" ? value.text : "";
49
- const truncate =
50
- "truncate" in value && typeof value.truncate === "number" ? value.truncate : undefined;
51
- const format = "format" in value && typeof value.format === "string" ? value.format : "plain";
52
-
53
- if (!text) {
54
- return null;
55
- }
56
-
57
- return {
58
- text,
59
- truncate,
60
- format: format === "code" || format === "pre" || format === "plain" ? format : "plain",
61
- };
62
- }
63
-
64
- // Handle null/undefined
65
- if (value === null || value === undefined) {
66
- return null;
67
- }
68
-
69
- // Handle array by converting to JSON
70
- if (Array.isArray(value)) {
71
- return {
72
- text: JSON.stringify(value),
73
- format: "code",
74
- };
75
- }
76
-
77
- return null;
78
- }
79
-
80
- /**
81
- * Truncate text to specified length
82
- */
83
- export function truncateText(text: string, maxLength?: number): string {
84
- if (!maxLength || text.length <= maxLength) {
85
- return text;
86
- }
87
- // oxlint-disable-next-line prefer-template
88
- return text.slice(0, maxLength - 3) + "...";
89
- }
90
-
91
- /**
92
- * Format text value for display
93
- */
94
- export function formatText(text: string, truncate?: number): string {
95
- return truncateText(text, truncate);
96
- }
@@ -1,57 +0,0 @@
1
- /**
2
- * Title Widget Logic
3
- * Shared data extraction and processing for TITLE widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { WidgetData } from "../types";
8
-
9
- /**
10
- * Processed title data structure
11
- */
12
- export interface ProcessedTitle {
13
- text: string;
14
- level: 1 | 2 | 3 | 4 | 5 | 6;
15
- subtitle?: string;
16
- align?: "left" | "center" | "right";
17
- }
18
-
19
- /**
20
- * Extract and validate title data from WidgetData
21
- */
22
- export function extractTitleData(value: WidgetData): ProcessedTitle | null {
23
- // Handle string value directly
24
- if (typeof value === "string") {
25
- return {
26
- text: value,
27
- level: 2,
28
- align: "left",
29
- };
30
- }
31
-
32
- // Handle object value with title properties
33
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
34
- const text = "text" in value && typeof value.text === "string" ? value.text : "";
35
-
36
- if (!text) {
37
- return null;
38
- }
39
-
40
- const level = "level" in value && typeof value.level === "number" ? value.level : 2;
41
- const subtitle =
42
- "subtitle" in value && typeof value.subtitle === "string" ? value.subtitle : undefined;
43
- const align = "align" in value && typeof value.align === "string" ? value.align : "left";
44
-
45
- return {
46
- text,
47
- level:
48
- level === 1 || level === 2 || level === 3 || level === 4 || level === 5 || level === 6
49
- ? level
50
- : 2,
51
- subtitle,
52
- align: align === "center" || align === "right" || align === "left" ? align : "left",
53
- };
54
- }
55
-
56
- return null;
57
- }
@@ -1,236 +0,0 @@
1
- import type React from "react";
2
-
3
- import type { ResponseType } from "@/app/api/[locale]/shared/types/response.schema";
4
- import type { WidgetType } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
5
- import type { UserRoleValue } from "@/app/api/[locale]/user/user-roles/enum";
6
- import type { CountryLanguage } from "@/i18n/core/config";
7
- import type { TranslatedKeyType } from "@/i18n/core/scoped-translation";
8
- import type { TParams } from "@/i18n/core/static-types";
9
-
10
- import type { IconKey } from "../../react/icons";
11
- import type { CreateApiEndpointAny, UnifiedField } from "../types/endpoint";
12
- import type { Platform } from "../types/platform";
13
- import type { ExtractWidgetConfig } from "./configs";
14
-
15
- export type WidgetData =
16
- | string
17
- | number
18
- | boolean
19
- | null
20
- | undefined
21
- | string[]
22
- | number[]
23
- | WidgetData[]
24
- | { [key: string]: WidgetData };
25
-
26
- export interface WidgetInput<TKey extends string> {
27
- field: UnifiedField<TKey>;
28
- value: WidgetData;
29
- context: WidgetRenderContext;
30
- }
31
-
32
- export type WidgetActionType =
33
- | "click"
34
- | "edit"
35
- | "delete"
36
- | "create"
37
- | "navigate"
38
- | "refresh"
39
- | "retry"
40
- | "cancel"
41
- | "submit";
42
-
43
- export type WidgetActionPayload =
44
- | { type: "click"; fieldName: string; value?: string | number | boolean }
45
- | { type: "edit"; fieldName: string; oldValue: string; newValue: string }
46
- | { type: "delete"; id: string }
47
- | { type: "create"; data: Record<string, string | number | boolean> }
48
- | { type: "navigate"; url: string }
49
- | { type: "refresh" }
50
- | { type: "retry" }
51
- | { type: "cancel" }
52
- | { type: "submit"; data: Record<string, string | number | boolean> };
53
-
54
- export interface WidgetAction {
55
- type: WidgetActionType;
56
- payload: WidgetActionPayload;
57
- metadata?: {
58
- fieldName?: string;
59
- fieldPath?: string;
60
- timestamp?: number;
61
- };
62
- }
63
-
64
- export interface WidgetRenderContext {
65
- locale: CountryLanguage;
66
- isInteractive: boolean;
67
- permissions: readonly UserRoleValue[];
68
- onNavigate?: (url: string) => void;
69
- platform?:
70
- | typeof Platform.TRPC
71
- | typeof Platform.NEXT_PAGE
72
- | typeof Platform.NEXT_API
73
- | typeof Platform.CLI
74
- | typeof Platform.CLI_PACKAGE;
75
- theme?: "light" | "dark" | "system";
76
- endpointFields?: Record<string, WidgetData>; // Original endpoint fields for nested path lookup
77
- disabled?: boolean; // Disable all form inputs
78
- response?: ResponseType<WidgetData>; // Full ResponseType from endpoint (includes success/error state)
79
- /**
80
- * Optional scoped translation function for this endpoint
81
- * When provided, widgets should use this instead of the global translation function
82
- * This enables module-specific translations with type safety
83
- * Note: Uses method syntax for bivariance - accepts both narrow (scoped) and broad (string) key types
84
- */
85
- scopedT: (locale: CountryLanguage) => {
86
- t(key: string, params?: TParams): TranslatedKeyType;
87
- };
88
- /**
89
- * Endpoint mutations available for widgets to trigger directly
90
- * Widgets can call these methods to perform CRUD operations
91
- * This enables definition-driven interactions without custom handlers
92
- */
93
- endpointMutations?: {
94
- create?: {
95
- submit: (data: Record<string, WidgetData>) => Promise<void>;
96
- isSubmitting?: boolean;
97
- };
98
- update?: {
99
- submit: (data: Record<string, WidgetData>) => Promise<void>;
100
- isSubmitting?: boolean;
101
- };
102
- delete?: {
103
- submit: (data: Record<string, WidgetData>) => Promise<void>;
104
- isSubmitting?: boolean;
105
- };
106
- read?: {
107
- refetch: () => Promise<void>;
108
- isLoading?: boolean;
109
- };
110
- };
111
- }
112
-
113
- /**
114
- * Base widget component props.
115
- */
116
- export interface WidgetComponentProps<TKey extends string> {
117
- field: UnifiedField<TKey>;
118
- fieldName?: string;
119
- value: WidgetData;
120
- context: WidgetRenderContext;
121
- className?: string;
122
- onSubmit?: () => void;
123
- isSubmitting?: boolean;
124
- }
125
-
126
- /**
127
- * Field type with narrowed widget config based on WidgetType discriminator.
128
- */
129
- export type NarrowedField<TKey extends string, T extends WidgetType> = UnifiedField<TKey> & {
130
- ui: ExtractWidgetConfig<T, TKey>;
131
- };
132
-
133
- // ============================================================================
134
- // DISCRIMINATED UNION TYPES FOR TYPE-SAFE WIDGET PROPS
135
- // ============================================================================
136
-
137
- /**
138
- * Base widget props shared across all platforms.
139
- * The `widgetType` field acts as the discriminator for the union.
140
- */
141
- export interface BaseWidgetProps<TKey extends string, T extends WidgetType> {
142
- widgetType: T;
143
- field: NarrowedField<TKey, T>;
144
- value: WidgetData;
145
- }
146
-
147
- /**
148
- * Maps each WidgetType to its base props.
149
- * Used to create discriminated unions that TypeScript can narrow automatically.
150
- */
151
- export type WidgetPropsMap<TKey extends string> = {
152
- [T in WidgetType]: BaseWidgetProps<TKey, T>;
153
- };
154
-
155
- /**
156
- * Union of all widget props - TypeScript narrows this in switch statements.
157
- */
158
- export type WidgetPropsUnion<TKey extends string> = WidgetPropsMap<TKey>[WidgetType];
159
-
160
- /**
161
- * React-specific widget props. Extends base props with React context and form handling.
162
- */
163
- export interface ReactWidgetProps<
164
- T extends WidgetType,
165
- TKey extends string,
166
- > extends BaseWidgetProps<TKey, T> {
167
- context: WidgetRenderContext;
168
- fieldName?: string;
169
- onAction?: (action: WidgetAction) => void | Promise<void>;
170
- className?: string;
171
- onSubmit?: () => void;
172
- onCancel?: () => void;
173
- isSubmitting?: boolean;
174
- endpoint: CreateApiEndpointAny;
175
- }
176
-
177
- /**
178
- * Value-only React widget props for widgets that don't need field definition.
179
- * Use this for leaf widgets that only consume value/context (e.g., MetricCardWidget).
180
- */
181
- export interface ValueOnlyReactWidgetProps<T extends WidgetType> {
182
- widgetType: T;
183
- value: WidgetData;
184
- context: WidgetRenderContext;
185
- className?: string;
186
- }
187
-
188
- /**
189
- * Maps each WidgetType to React-specific props.
190
- */
191
- export type ReactWidgetPropsMap<TKey extends string> = {
192
- [T in WidgetType]: ReactWidgetProps<T, TKey>;
193
- };
194
-
195
- /**
196
- * Union of all React widget props.
197
- */
198
- export type ReactWidgetPropsUnion<TKey extends string> = ReactWidgetPropsMap<TKey>[WidgetType];
199
-
200
- export type WidgetRenderer<TKey extends string> = (
201
- props: WidgetComponentProps<TKey>,
202
- ) => React.ReactElement | string | null;
203
-
204
- export interface WidgetRegistryEntry<TKey extends string> {
205
- type: WidgetType;
206
- component: React.ComponentType<WidgetComponentProps<TKey>> | WidgetRenderer<TKey>;
207
- platforms?: Array<
208
- | typeof Platform.TRPC
209
- | typeof Platform.NEXT_PAGE
210
- | typeof Platform.NEXT_API
211
- | typeof Platform.CLI
212
- >;
213
- supportsEditing?: boolean;
214
- supportsCRUD?: boolean;
215
- }
216
-
217
- export interface WidgetErrorBoundaryProps {
218
- children: React.ReactNode;
219
- locale: CountryLanguage;
220
- fallback?: React.ReactElement;
221
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
222
- }
223
-
224
- export interface WidgetLoadingProps {
225
- message?: string;
226
- size?: "sm" | "md" | "lg";
227
- }
228
-
229
- export interface WidgetEmptyStateProps {
230
- message: string;
231
- icon?: IconKey;
232
- action?: {
233
- label: string;
234
- onClick: () => void;
235
- };
236
- }
@@ -1,120 +0,0 @@
1
- import type { CountryLanguage } from "@/i18n/core/config";
2
- import { simpleT } from "@/i18n/core/shared";
3
- import type { TParams } from "@/i18n/core/static-types";
4
-
5
- import type { CreateApiEndpointAny, UnifiedField } from "../../types/endpoint";
6
- import { WidgetType } from "../../types/enums";
7
- import type { WidgetRenderContext } from "../types";
8
-
9
- /**
10
- * Check if field is used for request (form input)
11
- */
12
- export function isRequestField<TKey extends string>(field: UnifiedField<TKey>): boolean {
13
- if ("usage" in field && field.usage && typeof field.usage === "object") {
14
- return "request" in field.usage && field.usage.request !== undefined;
15
- }
16
- return false;
17
- }
18
-
19
- /**
20
- * Check if field is an actual form input field (FORM_FIELD widget with request usage)
21
- * Used to determine if a container should show auto submit buttons
22
- */
23
- export function isFormInputField<TKey extends string>(field: UnifiedField<TKey>): boolean {
24
- // Must be a FORM_FIELD widget type
25
- if (field.ui?.type !== WidgetType.FORM_FIELD) {
26
- return false;
27
- }
28
- // Must have request usage
29
- return isRequestField(field);
30
- }
31
-
32
- /**
33
- * Check if field is used for response (display output)
34
- */
35
- export function isResponseField<TKey extends string>(field: UnifiedField<TKey>): boolean {
36
- if ("usage" in field && field.usage && typeof field.usage === "object") {
37
- return "response" in field.usage && field.usage.response === true;
38
- }
39
- return false;
40
- }
41
-
42
- /**
43
- * Get field name for form binding
44
- */
45
- export function getFieldName<TKey extends string>(field: UnifiedField<TKey>): string {
46
- if ("name" in field && typeof field.name === "string") {
47
- return field.name;
48
- }
49
- if ("apiKey" in field && typeof field.apiKey === "string") {
50
- return field.apiKey;
51
- }
52
- if ("uiKey" in field && typeof field.uiKey === "string") {
53
- return field.uiKey;
54
- }
55
- return "value";
56
- }
57
-
58
- /**
59
- * Get field placeholder text
60
- */
61
- export function getFieldPlaceholder<TKey extends string>(
62
- field: UnifiedField<TKey>,
63
- ): string | undefined {
64
- if (
65
- "ui" in field &&
66
- field.ui &&
67
- typeof field.ui === "object" &&
68
- "placeholder" in field.ui &&
69
- typeof field.ui.placeholder === "string"
70
- ) {
71
- return field.ui.placeholder;
72
- }
73
- return undefined;
74
- }
75
-
76
- /**
77
- * Check if field is required
78
- */
79
- export function isFieldRequired<TKey extends string>(field: UnifiedField<TKey>): boolean {
80
- if ("required" in field && typeof field.required === "boolean") {
81
- return field.required;
82
- }
83
- return false;
84
- }
85
-
86
- /**
87
- * Get translation function from context
88
- * Uses scoped translation function if provided, otherwise falls back to global
89
- *
90
- * @param context - Widget render context
91
- * @returns Translation function { t }
92
- *
93
- * @example
94
- * ```ts
95
- * const { t } = getTranslator(context);
96
- * t("form.fields.name.label");
97
- * ```
98
- */
99
- export function getTranslator(context: WidgetRenderContext): {
100
- t: <K extends string>(key: K, params?: TParams) => string;
101
- } {
102
- if (context.scopedT) {
103
- return context.scopedT(context.locale) as {
104
- t: <K extends string>(key: K, params?: TParams) => string;
105
- };
106
- }
107
- return simpleT(context.locale) as {
108
- t: <K extends string>(key: K, params?: TParams) => string;
109
- };
110
- }
111
-
112
- export function getTranslatorFromEndpoint<TEndpoint extends CreateApiEndpointAny>(
113
- endpoint: TEndpoint,
114
- ): (locale: CountryLanguage) => {
115
- t: <K extends string>(key: K, params?: TParams) => string;
116
- } {
117
- return endpoint.scopedTranslation.scopedT as (locale: CountryLanguage) => {
118
- t: <K extends string>(key: K, params?: TParams) => string;
119
- };
120
- }