@next-vibe/checker 1.0.52 → 3.0.1

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 +27 -131
  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,426 +0,0 @@
1
- /**
2
- * Grouped List Widget Logic
3
- * Shared data extraction and processing for GROUPED_LIST widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { IconKey } from "../../../react/icons";
8
- import type { WidgetData } from "../types";
9
-
10
- /**
11
- * Individual item in a grouped list
12
- */
13
- export interface GroupedListItem {
14
- [key: string]: WidgetData;
15
- line?: number;
16
- column?: number;
17
- severity?: string;
18
- message?: string;
19
- rule?: string;
20
- file?: string;
21
- }
22
-
23
- /**
24
- * Stat configuration for summary
25
- */
26
- export interface StatConfig {
27
- field: string;
28
- value: string;
29
- label?: string;
30
- icon?: IconKey;
31
- color?: string;
32
- }
33
-
34
- /**
35
- * Grouped list configuration
36
- */
37
- export interface GroupedListConfig {
38
- groupBy: string;
39
- sortBy: string;
40
- showGroupSummary: boolean;
41
- maxItemsPerGroup: number;
42
- summaryTitle?: string;
43
- summaryStats?: StatConfig[];
44
- renderMode?: "code-quality" | "simple";
45
- hierarchical?: boolean;
46
- }
47
-
48
- /**
49
- * Tree node for hierarchical rendering
50
- */
51
- export interface TreeNode {
52
- name: string;
53
- fullPath: string;
54
- items: GroupedListItem[];
55
- children: Map<string, TreeNode>;
56
- }
57
-
58
- /**
59
- * Processed grouped list data structure
60
- */
61
- export interface ProcessedGroupedList {
62
- groups: Array<{
63
- key: string;
64
- label: string;
65
- items: GroupedListItem[];
66
- summary?: Record<string, WidgetData>;
67
- }>;
68
- maxItemsPerGroup?: number;
69
- showGroupSummary: boolean;
70
- }
71
-
72
- /**
73
- * Get grouped list configuration from field
74
- */
75
- export function getGroupedListConfig(): GroupedListConfig {
76
- return {
77
- groupBy: "file",
78
- sortBy: "severity",
79
- showGroupSummary: true,
80
- maxItemsPerGroup: 50,
81
- };
82
- }
83
-
84
- /**
85
- * Group list data by specified field with sorting
86
- */
87
- export function groupListData(
88
- data: GroupedListItem[],
89
- groupBy: string,
90
- ): Map<string, GroupedListItem[]> {
91
- const groups = new Map<string, GroupedListItem[]>();
92
-
93
- for (const item of data) {
94
- const groupValue = item[groupBy];
95
- let groupKey = "unknown";
96
- if (typeof groupValue === "string") {
97
- groupKey = groupValue;
98
- } else if (typeof groupValue === "number") {
99
- groupKey = String(groupValue);
100
- } else if (typeof groupValue === "boolean") {
101
- groupKey = groupValue ? "true" : "false";
102
- } else if (groupValue !== null && groupValue !== undefined) {
103
- groupKey = "unknown";
104
- }
105
- if (!groups.has(groupKey)) {
106
- groups.set(groupKey, []);
107
- }
108
- groups.get(groupKey)!.push(item);
109
- }
110
-
111
- // Sort groups by key alphabetically
112
- return new Map([...groups.entries()].toSorted((a, b) => a[0].localeCompare(b[0])));
113
- }
114
-
115
- /**
116
- * Sort grouped items by specified field
117
- */
118
- export function sortGroupedItems(items: GroupedListItem[], sortBy: string): GroupedListItem[] {
119
- return items.toSorted((a, b) => {
120
- if (sortBy === "severity") {
121
- const severityOrder = { error: 0, warning: 1, info: 2 };
122
- const aOrder = severityOrder[a.severity as keyof typeof severityOrder] ?? 3;
123
- const bOrder = severityOrder[b.severity as keyof typeof severityOrder] ?? 3;
124
- if (aOrder !== bOrder) {
125
- return aOrder - bOrder;
126
- }
127
- }
128
-
129
- // Secondary sort by line number
130
- if (typeof a.line === "number" && typeof b.line === "number") {
131
- return a.line - b.line;
132
- }
133
-
134
- return 0;
135
- });
136
- }
137
-
138
- /**
139
- * Build hierarchical tree structure from flat data
140
- */
141
- export function buildHierarchicalTree(data: GroupedListItem[], groupBy: string): TreeNode {
142
- const root: TreeNode = {
143
- name: "",
144
- fullPath: "",
145
- items: [],
146
- children: new Map(),
147
- };
148
-
149
- // Group items by category path
150
- for (const item of data) {
151
- const categoryPath = item[groupBy];
152
- if (typeof categoryPath !== "string") {
153
- continue;
154
- }
155
-
156
- const parts = categoryPath.split("/").filter((p) => p.length);
157
- let currentNode = root;
158
-
159
- // Build/traverse tree
160
- for (let i = 0; i < parts.length; i++) {
161
- const part = parts[i];
162
- const fullPath = parts.slice(0, i + 1).join("/");
163
-
164
- if (!currentNode.children.has(part)) {
165
- currentNode.children.set(part, {
166
- name: part,
167
- fullPath,
168
- items: [],
169
- children: new Map(),
170
- });
171
- }
172
- currentNode = currentNode.children.get(part)!;
173
- }
174
-
175
- // Add item to leaf node
176
- currentNode.items.push(item);
177
- }
178
-
179
- return root;
180
- }
181
-
182
- /**
183
- * Count items recursively including all children
184
- */
185
- export function countItemsRecursive(node: TreeNode): number {
186
- let count = node.items.length;
187
- for (const childEntry of node.children) {
188
- const child = childEntry[1];
189
- count += countItemsRecursive(child);
190
- }
191
- return count;
192
- }
193
-
194
- /**
195
- * Calculate stat count for a specific field/value combination
196
- */
197
- export function calculateStatCount(data: GroupedListItem[], stat: StatConfig): number {
198
- if (!stat.field || !stat.value) {
199
- return 0;
200
- }
201
-
202
- return data.filter((item) => {
203
- const fieldValue = item[stat.field];
204
- return fieldValue === stat.value;
205
- }).length;
206
- }
207
-
208
- /**
209
- * Extract and validate grouped list data from WidgetData
210
- */
211
- export function extractGroupedListData(
212
- value: WidgetData,
213
- config?: { groupBy?: string; sortBy?: string },
214
- ): ProcessedGroupedList | null {
215
- // Handle direct array input
216
- if (Array.isArray(value)) {
217
- const items = value as GroupedListItem[];
218
- if (items.length === 0) {
219
- return null;
220
- }
221
-
222
- // Use groupBy from config, fallback to "status", or create single group
223
- const groupByField = config?.groupBy ?? "status";
224
- if (groupByField in items[0]) {
225
- const grouped = groupListData(items, groupByField);
226
- let autoGroups = [...grouped.entries()].map(([key, groupItems]) => ({
227
- key,
228
- label: key,
229
- items: groupItems,
230
- }));
231
-
232
- // Apply sorting if sortBy is specified
233
- const sortBy = config?.sortBy;
234
- if (sortBy) {
235
- autoGroups = autoGroups.map((group) => ({
236
- ...group,
237
- items: sortGroupedItems(group.items, sortBy),
238
- }));
239
- }
240
-
241
- return {
242
- groups: autoGroups,
243
- maxItemsPerGroup: undefined,
244
- showGroupSummary: false,
245
- };
246
- }
247
- // Single group with all items
248
- let allItems = items;
249
- if (config?.sortBy) {
250
- allItems = sortGroupedItems(items, config.sortBy);
251
- }
252
-
253
- return {
254
- groups: [
255
- {
256
- key: "all",
257
- label: "All Items",
258
- items: allItems,
259
- },
260
- ],
261
- maxItemsPerGroup: undefined,
262
- showGroupSummary: false,
263
- };
264
- }
265
-
266
- // Narrow to object type
267
- const isObject = typeof value === "object" && value !== null && !Array.isArray(value);
268
-
269
- if (!isObject) {
270
- return null;
271
- }
272
-
273
- // Extract properties with explicit checks
274
- const groups = "groups" in value && Array.isArray(value.groups) ? value.groups : [];
275
- const maxItemsPerGroup =
276
- "maxItemsPerGroup" in value && typeof value.maxItemsPerGroup === "number"
277
- ? value.maxItemsPerGroup
278
- : undefined;
279
- const showGroupSummary =
280
- "showGroupSummary" in value && typeof value.showGroupSummary === "boolean"
281
- ? value.showGroupSummary
282
- : false;
283
-
284
- // If no groups found, try to find an array property to auto-group
285
- if (!groups || groups.length === 0) {
286
- // Look for array properties in the value object (direct or nested)
287
- let arrayKeys = Object.keys(value).filter((key) => Array.isArray(value[key]));
288
-
289
- // If no direct arrays found, check nested objects (common pattern: { response: { items: [...] } })
290
- if (arrayKeys.length === 0) {
291
- for (const key of Object.keys(value)) {
292
- const nestedValue = value[key];
293
- if (
294
- typeof nestedValue === "object" &&
295
- nestedValue !== null &&
296
- !Array.isArray(nestedValue)
297
- ) {
298
- const nestedArrayKeys = Object.keys(nestedValue).filter((nestedKey) =>
299
- Array.isArray(nestedValue[nestedKey]),
300
- );
301
- if (nestedArrayKeys.length > 0) {
302
- // Found nested array, use the nested object as the value
303
- return extractGroupedListData(nestedValue, config);
304
- }
305
- }
306
- }
307
- }
308
-
309
- if (arrayKeys.length > 0) {
310
- // Use the first array found (commonly: leads, items, results, etc.)
311
- const arrayKey = arrayKeys[0];
312
- const items = value[arrayKey] as GroupedListItem[];
313
-
314
- if (items.length > 0) {
315
- // Use groupBy from config, fallback to "status", or create single group
316
- const groupByField = config?.groupBy || "status";
317
- if (groupByField in items[0]) {
318
- const grouped = groupListData(items, groupByField);
319
- let autoGroups = [...grouped.entries()].map(([key, groupItems]) => ({
320
- key,
321
- label: key,
322
- items: groupItems,
323
- }));
324
-
325
- // Apply sorting if sortBy is specified
326
- const sortBy = config?.sortBy;
327
- if (sortBy) {
328
- autoGroups = autoGroups.map((group) => ({
329
- ...group,
330
- items: sortGroupedItems(group.items, sortBy),
331
- }));
332
- }
333
-
334
- return {
335
- groups: autoGroups,
336
- maxItemsPerGroup,
337
- showGroupSummary: false,
338
- };
339
- }
340
- // Single group with all items
341
- let allItems = items;
342
- if (config?.sortBy) {
343
- allItems = sortGroupedItems(items, config.sortBy);
344
- }
345
-
346
- return {
347
- groups: [
348
- {
349
- key: "all",
350
- label: "All Items",
351
- items: allItems,
352
- },
353
- ],
354
- maxItemsPerGroup,
355
- showGroupSummary: false,
356
- };
357
- }
358
- }
359
-
360
- return null;
361
- }
362
-
363
- // Process and validate groups
364
- const processedGroups = groups
365
- .map((group: WidgetData) => {
366
- if (typeof group !== "object" || group === null) {
367
- return null;
368
- }
369
-
370
- const groupKey = "key" in group ? String(group.key) : "";
371
- const groupLabel = "label" in group ? String(group.label) : "";
372
- const groupItems = "items" in group && Array.isArray(group.items) ? group.items : [];
373
- const groupSummary =
374
- "summary" in group && typeof group.summary === "object" && group.summary !== null
375
- ? (group.summary as Record<string, WidgetData>)
376
- : undefined;
377
-
378
- // Filter items to only valid objects
379
- const validItems = groupItems.filter(
380
- (item): item is GroupedListItem =>
381
- typeof item === "object" && item !== null && !Array.isArray(item),
382
- );
383
-
384
- return {
385
- key: groupKey,
386
- label: groupLabel,
387
- items: validItems,
388
- summary: groupSummary,
389
- };
390
- })
391
- .filter((group): group is NonNullable<typeof group> => group !== null);
392
-
393
- if (processedGroups.length === 0) {
394
- return null;
395
- }
396
-
397
- return {
398
- groups: processedGroups,
399
- maxItemsPerGroup,
400
- showGroupSummary,
401
- };
402
- }
403
-
404
- /**
405
- * Get items to display based on maxItemsPerGroup
406
- */
407
- export function getDisplayItems(
408
- items: GroupedListItem[],
409
- maxItems: number | undefined,
410
- isExpanded: boolean,
411
- ): GroupedListItem[] {
412
- if (!maxItems || isExpanded) {
413
- return items;
414
- }
415
- return items.slice(0, maxItems);
416
- }
417
-
418
- /**
419
- * Calculate remaining items count
420
- */
421
- export function getRemainingItemsCount(totalItems: number, maxItems: number | undefined): number {
422
- if (!maxItems || totalItems <= maxItems) {
423
- return 0;
424
- }
425
- return totalItems - maxItems;
426
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * Widget Logic Index
3
- * Central export for all widget data extraction and processing logic
4
- * Used by both React and CLI widget implementations
5
- */
6
-
7
- export * from "./accordion";
8
- export * from "./avatar";
9
- export * from "./badge";
10
- export * from "./code-output";
11
- export {
12
- type CodeQualityItem,
13
- countCodeQualityBySeverity,
14
- extractCodeQualityListData,
15
- groupCodeQualityItems,
16
- type ProcessedCodeQualityList,
17
- sortBySeverity,
18
- } from "./code-quality-list";
19
- export * from "./container";
20
- export * from "./data-card";
21
- export * from "./data-cards";
22
- export * from "./data-list";
23
- export * from "./data-table";
24
- export * from "./editable-text";
25
- export * from "./empty-state";
26
- export * from "./errors";
27
- export * from "./grouped-list";
28
- export * from "./link";
29
- export * from "./link-card";
30
- export * from "./link-list";
31
- export * from "./loading";
32
- export * from "./markdown";
33
- export * from "./metric-card";
34
- export * from "./section";
35
- export * from "./stats-grid";
36
- export * from "./tabs";
37
- export * from "./text";
38
- export * from "./title";
@@ -1,112 +0,0 @@
1
- /**
2
- * Link Card Widget Logic
3
- * Shared data extraction and processing for LINK_CARD widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { IconKey } from "../../../react/icons";
8
- import type { WidgetData } from "../types";
9
-
10
- /**
11
- * Processed link card data structure
12
- */
13
- export interface ProcessedLinkCard {
14
- url: string;
15
- title: string;
16
- description?: string;
17
- icon?: IconKey;
18
- favicon?: IconKey;
19
- metadata?: Record<string, string>;
20
- snippet?: string;
21
- age?: string;
22
- source?: string;
23
- thumbnail?: string;
24
- openInNewTab?: boolean;
25
- }
26
-
27
- /**
28
- * Extract and validate link card data from WidgetData
29
- */
30
- export function extractLinkCardData(value: WidgetData): ProcessedLinkCard | null {
31
- // Narrow to object type first
32
- const isObject = typeof value === "object" && value !== null && !Array.isArray(value);
33
-
34
- if (!isObject) {
35
- return null;
36
- }
37
-
38
- // Extract required url
39
- const url = "url" in value && typeof value.url === "string" ? value.url : "";
40
- if (!url) {
41
- return null;
42
- }
43
-
44
- // Extract optional properties
45
- const title = "title" in value && typeof value.title === "string" ? value.title : url;
46
- const description =
47
- "description" in value && typeof value.description === "string" ? value.description : undefined;
48
- const icon = "icon" in value && typeof value.icon === "string" ? value.icon : undefined;
49
- const favicon =
50
- "favicon" in value && typeof value.favicon === "string" ? value.favicon : undefined;
51
-
52
- // Extract metadata if present
53
- let metadata: Record<string, string> | undefined;
54
- if (
55
- "metadata" in value &&
56
- typeof value.metadata === "object" &&
57
- value.metadata !== null &&
58
- !Array.isArray(value.metadata)
59
- ) {
60
- metadata = {};
61
- for (const [key, val] of Object.entries(value.metadata)) {
62
- if (typeof val === "string") {
63
- metadata[key] = val;
64
- }
65
- }
66
- }
67
-
68
- // Extract additional optional properties
69
- const snippet =
70
- "snippet" in value && typeof value.snippet === "string" ? value.snippet : undefined;
71
- const age = "age" in value && typeof value.age === "string" ? value.age : undefined;
72
- const source = "source" in value && typeof value.source === "string" ? value.source : undefined;
73
- const thumbnail =
74
- "thumbnail" in value && typeof value.thumbnail === "string" ? value.thumbnail : undefined;
75
- const openInNewTab =
76
- "openInNewTab" in value && typeof value.openInNewTab === "boolean" ? value.openInNewTab : true;
77
-
78
- return {
79
- url,
80
- title,
81
- description,
82
- icon: icon as IconKey | undefined,
83
- favicon: favicon as IconKey | undefined,
84
- metadata,
85
- snippet,
86
- age,
87
- source,
88
- thumbnail,
89
- openInNewTab,
90
- };
91
- }
92
-
93
- /**
94
- * Get display URL (shortened for UI)
95
- */
96
- export function getDisplayUrl(url: string, maxLength = 50): string {
97
- try {
98
- const urlObj = new URL(url);
99
- const domain = urlObj.hostname.replace(/^www\./, "");
100
- if (domain.length > maxLength) {
101
- // oxlint-disable-next-line prefer-template
102
- return domain.slice(0, maxLength - 3) + "...";
103
- }
104
- return domain;
105
- } catch {
106
- if (url.length > maxLength) {
107
- // oxlint-disable-next-line prefer-template
108
- return url.slice(0, maxLength - 3) + "...";
109
- }
110
- return url;
111
- }
112
- }
@@ -1,110 +0,0 @@
1
- /**
2
- * Link List Widget Logic
3
- * Shared data extraction and processing for LINK_LIST widget
4
- * Used by both React and CLI implementations
5
- */
6
-
7
- import type { IconKey } from "../../../react/icons";
8
- import type { WidgetData } from "../types";
9
-
10
- /**
11
- * Individual link item
12
- */
13
- export interface LinkItem {
14
- url: string;
15
- title?: string;
16
- description?: string;
17
- icon?: IconKey;
18
- favicon?: IconKey;
19
- [key: string]: WidgetData;
20
- }
21
-
22
- /**
23
- * Processed link list data structure
24
- */
25
- export interface ProcessedLinkList {
26
- items: LinkItem[];
27
- title?: string;
28
- description?: string;
29
- layout: "list" | "grid";
30
- columns: number;
31
- }
32
-
33
- /**
34
- * Extract and validate link list data from WidgetData
35
- */
36
- export function extractLinkListData(value: WidgetData): ProcessedLinkList | null {
37
- let items: WidgetData[] = [];
38
- let title = "";
39
- let description = "";
40
- let layout = "list";
41
- let columns = 1;
42
-
43
- // Handle raw array format (from responseArrayField)
44
- if (Array.isArray(value)) {
45
- items = value;
46
- }
47
- // Handle object format with items property
48
- else if (typeof value === "object" && value !== null) {
49
- items = "items" in value && Array.isArray(value.items) ? value.items : [];
50
- title = "title" in value && typeof value.title === "string" ? value.title : "";
51
- description =
52
- "description" in value && typeof value.description === "string" ? value.description : "";
53
- layout = "layout" in value && typeof value.layout === "string" ? value.layout : "list";
54
- columns = "columns" in value && typeof value.columns === "number" ? value.columns : 1;
55
- } else {
56
- return null;
57
- }
58
-
59
- if (!items || !Array.isArray(items) || items.length === 0) {
60
- return null;
61
- }
62
-
63
- // Validate and process items
64
- const validItems = items
65
- .map((item: WidgetData) => {
66
- if (typeof item !== "object" || item === null || Array.isArray(item)) {
67
- return null;
68
- }
69
-
70
- const url = "url" in item && typeof item.url === "string" ? item.url : "";
71
- if (!url) {
72
- return null;
73
- }
74
-
75
- const title = "title" in item && typeof item.title === "string" ? item.title : "";
76
- const description =
77
- "description" in item && typeof item.description === "string" ? item.description : "";
78
- const icon = "icon" in item && typeof item.icon === "string" ? item.icon : "";
79
- const favicon = "favicon" in item && typeof item.favicon === "string" ? item.favicon : "";
80
-
81
- return {
82
- url,
83
- title,
84
- description,
85
- icon,
86
- favicon,
87
- ...item,
88
- } as LinkItem;
89
- })
90
- .filter((item): item is LinkItem => item !== null);
91
-
92
- if (validItems.length === 0) {
93
- return null;
94
- }
95
-
96
- return {
97
- items: validItems,
98
- title,
99
- description,
100
- layout: layout === "grid" ? "grid" : "list",
101
- columns: Math.max(1, Math.min(4, columns)),
102
- };
103
- }
104
-
105
- /**
106
- * Get grid columns class based on column count
107
- */
108
- export function getGridColumns(columns: number): number {
109
- return Math.max(1, Math.min(4, columns));
110
- }