@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,1101 +0,0 @@
1
- /**
2
- * Core Types for Endpoint Types System
3
- *
4
- * Fundamental type definitions used throughout the endpoint types system.
5
- */
6
-
7
- import type { z } from "zod";
8
-
9
- import type { UserRoleValue } from "@/app/api/[locale]/user/user-roles/enum";
10
- import type { TranslationKey } from "@/i18n/core/static-types";
11
-
12
- import type { IconKey } from "../../react/icons";
13
- import type { CreateApiEndpoint } from "../endpoints/definition/create";
14
- import type { WidgetConfig } from "../widgets/configs";
15
- import type {
16
- ActionTiming,
17
- ActionType,
18
- CacheStrategy,
19
- ComponentSize,
20
- ComponentVariant,
21
- InterfaceContext,
22
- Methods,
23
- } from "./enums";
24
- import type { FieldUsage } from "./enums";
25
-
26
- // ============================================================================
27
- // ENDPOINT REGISTRY TYPES
28
- // ============================================================================
29
-
30
- /**
31
- * Type alias for CreateApiEndpoint - accepts any generic parameters
32
- * This is a branded type that any CreateApiEndpoint can be assigned to
33
- */
34
- export type CreateApiEndpointAny = CreateApiEndpoint<
35
- string,
36
- Methods,
37
- readonly UserRoleValue[],
38
- string,
39
- // oxlint-disable-next-line no-explicit-any
40
- any
41
- >;
42
-
43
- /**
44
- * API section type for nested endpoint structure
45
- * Used in generated endpoints.ts file
46
- * Accepts CreateApiEndpoint with any type parameters or CreateEndpointReturnInMethod
47
- */
48
- export interface ApiSection {
49
- readonly GET?: CreateApiEndpointAny;
50
- readonly POST?: CreateApiEndpointAny;
51
- readonly PUT?: CreateApiEndpointAny;
52
- readonly PATCH?: CreateApiEndpointAny;
53
- readonly DELETE?: CreateApiEndpointAny;
54
- readonly [key: string]: CreateApiEndpointAny | ApiSection | undefined;
55
- }
56
-
57
- // ============================================================================
58
- // SCHEMA TYPE PRESERVATION AND BACK-PROPAGATION SYSTEM
59
- // ============================================================================
60
-
61
- /**
62
- * Extract the Output type using Zod's built-in z.output<T>
63
- * This ensures compatibility with the current Zod version
64
- */
65
- export type ExtractOutput<T> = z.output<T>;
66
-
67
- /**
68
- * Extract the Input type using Zod's built-in z.input<T>
69
- * This ensures compatibility with the current Zod version
70
- */
71
- export type ExtractInput<T> = z.input<T>;
72
-
73
- /**
74
- * Extract Input, Output, and ZodType definition from z.ZodType<Output, ZodTypeDef, Input>
75
- * This preserves complete type information for full type safety
76
- */
77
- export type ExtractInputOutput<T> =
78
- T extends z.ZodType<infer Output, infer ZodType, infer Input>
79
- ? { Input: Input; Output: Output; ZodType: ZodType }
80
- : never;
81
-
82
- /**
83
- * Method usage structure
84
- */
85
- interface MethodUsageStructure {
86
- request?: "data" | "urlPathParams" | "data&urlPathParams";
87
- response?: boolean;
88
- }
89
-
90
- /**
91
- * Check if usage object has method-specific structure
92
- * Uses MethodUsageStructure for proper type checking
93
- */
94
- type IsMethodSpecificUsage<TUsage> =
95
- // FIXED: Check for string key syntax first (this works reliably)
96
- TUsage extends { GET: MethodUsageStructure }
97
- ? true
98
- : TUsage extends { POST: MethodUsageStructure }
99
- ? true
100
- : TUsage extends { PUT: MethodUsageStructure }
101
- ? true
102
- : TUsage extends { DELETE: MethodUsageStructure }
103
- ? true
104
- : TUsage extends { PATCH: MethodUsageStructure }
105
- ? true
106
- : // Fallback: Check for computed property syntax [Methods.X] (unreliable)
107
- TUsage extends { [Methods.GET]: MethodUsageStructure }
108
- ? true
109
- : TUsage extends { [Methods.POST]: MethodUsageStructure }
110
- ? true
111
- : TUsage extends { [Methods.PUT]: MethodUsageStructure }
112
- ? true
113
- : TUsage extends { [Methods.DELETE]: MethodUsageStructure }
114
- ? true
115
- : TUsage extends { [Methods.PATCH]: MethodUsageStructure }
116
- ? true
117
- : false;
118
-
119
- /**
120
- * Check if any method in method-specific usage supports the target usage
121
- * More flexible version that checks method usage properties
122
- */
123
- type AnyMethodSupportsUsage<
124
- TUsage,
125
- TTargetUsage extends FieldUsage,
126
- > = TTargetUsage extends FieldUsage.Response
127
- ? // Use union types to check all possibilities in parallel
128
- // String key syntax (primary)
129
- TUsage extends { POST: { response: true } }
130
- ? true
131
- : TUsage extends { GET: { response: true } }
132
- ? true
133
- : TUsage extends { PUT: { response: true } }
134
- ? true
135
- : TUsage extends { PATCH: { response: true } }
136
- ? true
137
- : TUsage extends { DELETE: { response: true } }
138
- ? true
139
- : // Computed property syntax (fallback)
140
- TUsage extends { [Methods.POST]: { response: true } }
141
- ? true
142
- : TUsage extends { [Methods.GET]: { response: true } }
143
- ? true
144
- : TUsage extends { [Methods.PUT]: { response: true } }
145
- ? true
146
- : TUsage extends { [Methods.PATCH]: { response: true } }
147
- ? true
148
- : TUsage extends { [Methods.DELETE]: { response: true } }
149
- ? true
150
- : false
151
- : TTargetUsage extends FieldUsage.RequestData
152
- ? // Use union types to check all possibilities in parallel
153
- // String key syntax (primary)
154
- TUsage extends { POST: { request: "data" | "data&urlPathParams" } }
155
- ? true
156
- : TUsage extends { PUT: { request: "data" | "data&urlPathParams" } }
157
- ? true
158
- : TUsage extends { PATCH: { request: "data" | "data&urlPathParams" } }
159
- ? true
160
- : // Computed property syntax (fallback)
161
- TUsage extends {
162
- [Methods.POST]: { request: "data" | "data&urlPathParams" };
163
- }
164
- ? true
165
- : TUsage extends {
166
- [Methods.PUT]: { request: "data" | "data&urlPathParams" };
167
- }
168
- ? true
169
- : TUsage extends {
170
- [Methods.PATCH]: { request: "data" | "data&urlPathParams" };
171
- }
172
- ? true
173
- : false
174
- : false;
175
-
176
- /**
177
- * USAGE MATCHING: Fixed to work correctly with method-specific patterns
178
- * This now properly handles the case where method-specific usage should be filtered
179
- */
180
- type MatchesUsage<TUsage, TTargetUsage extends FieldUsage> =
181
- // Check if it's method-specific usage
182
- IsMethodSpecificUsage<TUsage> extends true
183
- ? // For method-specific usage, check if ANY method supports the target usage
184
- // This is correct for field inclusion - if any method needs the field, include it
185
- AnyMethodSupportsUsage<TUsage, TTargetUsage>
186
- : // Original simple usage matching for backward compatibility
187
- TTargetUsage extends FieldUsage.RequestData
188
- ? TUsage extends { request: "data" | "data&urlPathParams" }
189
- ? true
190
- : false
191
- : TTargetUsage extends FieldUsage.RequestUrlParams
192
- ? TUsage extends { request: "urlPathParams" | "data&urlPathParams" }
193
- ? true
194
- : false
195
- : TTargetUsage extends FieldUsage.Response
196
- ? TUsage extends { response: true }
197
- ? true
198
- : false
199
- : false;
200
-
201
- // Removed duplicate MatchesUsageForMethod - using the one defined later
202
-
203
- /**
204
- * COMPREHENSIVE SCHEMA INFERENCE: The complete type system
205
- * Back-propagates all 3 type parameters (Output, ZodType, Input) through the entire chain
206
- */
207
- /**
208
- * Helper type to convert variant fields to Zod object schemas
209
- * Uses string for pattern matching since fields have TKey=string
210
- */
211
- type InferVariantSchemas<
212
- // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for API compatibility
213
- _TTranslationKey extends string,
214
- TVariants extends readonly ObjectField<
215
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
216
- FieldUsageConfig,
217
- string,
218
- WidgetConfig<string>
219
- >[],
220
- Usage extends FieldUsage,
221
- > = TVariants extends readonly [infer Head, ...infer Tail]
222
- ? Head extends ObjectField<
223
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
224
- FieldUsageConfig,
225
- string,
226
- WidgetConfig<string>
227
- >
228
- ? Tail extends readonly ObjectField<
229
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
230
- FieldUsageConfig,
231
- string,
232
- WidgetConfig<string>
233
- >[]
234
- ? [InferSchemaFromField<Head, Usage>, ...InferVariantSchemas<string, Tail, Usage>]
235
- : [InferSchemaFromField<Head, Usage>]
236
- : []
237
- : [];
238
-
239
- export type InferSchemaFromField<F, Usage extends FieldUsage> =
240
- // Handle PrimitiveField - use string for pattern matching
241
- F extends PrimitiveField<infer TSchemaInferred, FieldUsageConfig, string, WidgetConfig<string>>
242
- ? F extends { usage: infer TUsage }
243
- ? MatchesUsage<TUsage, Usage> extends true
244
- ? TSchemaInferred
245
- : z.ZodNever
246
- : z.ZodNever
247
- : // Handle ObjectUnionField - use string for pattern matching
248
- F extends ObjectUnionField<
249
- infer TDiscriminator extends string,
250
- string,
251
- infer TVariants,
252
- FieldUsageConfig,
253
- WidgetConfig<string>
254
- >
255
- ? F extends { usage: infer TUsage }
256
- ? MatchesUsage<TUsage, Usage> extends true
257
- ? TVariants extends readonly [
258
- ObjectField<
259
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
260
- FieldUsageConfig,
261
- string,
262
- WidgetConfig<string>
263
- >,
264
- ObjectField<
265
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
266
- FieldUsageConfig,
267
- string,
268
- WidgetConfig<string>
269
- >,
270
- ...ObjectField<
271
- Record<string, UnifiedField<string, z.ZodTypeAny>>,
272
- FieldUsageConfig,
273
- string,
274
- WidgetConfig<string>
275
- >[],
276
- ]
277
- ? z.ZodDiscriminatedUnion<
278
- InferVariantSchemas<string, TVariants, Usage> extends infer T
279
- ? T extends readonly [
280
- z.ZodObject<z.ZodRawShape>,
281
- z.ZodObject<z.ZodRawShape>,
282
- ...z.ZodObject<z.ZodRawShape>[],
283
- ]
284
- ? T
285
- : readonly [z.ZodObject<z.ZodRawShape>, z.ZodObject<z.ZodRawShape>]
286
- : readonly [z.ZodObject<z.ZodRawShape>, z.ZodObject<z.ZodRawShape>],
287
- TDiscriminator
288
- >
289
- : z.ZodNever
290
- : z.ZodNever
291
- : z.ZodNever
292
- : // Handle ObjectField - use string for pattern matching
293
- F extends ObjectField<infer TChildren, FieldUsageConfig, string, WidgetConfig<string>>
294
- ? F extends { usage: infer TUsage }
295
- ? MatchesUsage<TUsage, Usage> extends true
296
- ? z.ZodObject<{
297
- [K in keyof TChildren as InferSchemaFromField<
298
- TChildren[K],
299
- Usage
300
- > extends z.ZodNever
301
- ? never
302
- : K]: InferSchemaFromField<TChildren[K], Usage>;
303
- }>
304
- : z.ZodNever
305
- : z.ZodNever
306
- : // Handle ObjectOptionalField - use string for pattern matching
307
- F extends ObjectOptionalField<
308
- infer TChildren,
309
- FieldUsageConfig,
310
- string,
311
- WidgetConfig<string>
312
- >
313
- ? F extends { usage: infer TUsage }
314
- ? MatchesUsage<TUsage, Usage> extends true
315
- ? z.ZodOptional<
316
- z.ZodNullable<
317
- z.ZodObject<{
318
- [K in keyof TChildren as InferSchemaFromField<
319
- TChildren[K],
320
- Usage
321
- > extends z.ZodNever
322
- ? never
323
- : K]: InferSchemaFromField<TChildren[K], Usage>;
324
- }>
325
- >
326
- >
327
- : z.ZodNever
328
- : z.ZodNever
329
- : // Handle ArrayField - use string for pattern matching
330
- F extends ArrayField<infer TChild, FieldUsageConfig, string, WidgetConfig<string>>
331
- ? F extends { usage: infer TUsage }
332
- ? MatchesUsage<TUsage, Usage> extends true
333
- ? z.ZodArray<
334
- TChild extends UnifiedField<string, z.ZodTypeAny>
335
- ? InferSchemaFromField<TChild, Usage>
336
- : TChild extends z.ZodTypeAny
337
- ? TChild
338
- : z.ZodNever
339
- >
340
- : z.ZodNever
341
- : z.ZodNever
342
- : // Handle ArrayOptionalField - use string for pattern matching
343
- F extends ArrayOptionalField<
344
- infer TChild,
345
- FieldUsageConfig,
346
- string,
347
- WidgetConfig<string>
348
- >
349
- ? F extends { usage: infer TUsage }
350
- ? MatchesUsage<TUsage, Usage> extends true
351
- ? z.ZodNullable<
352
- z.ZodArray<
353
- TChild extends UnifiedField<string, z.ZodTypeAny>
354
- ? InferSchemaFromField<TChild, Usage>
355
- : TChild extends z.ZodTypeAny
356
- ? TChild
357
- : z.ZodNever
358
- >
359
- >
360
- : z.ZodNever
361
- : z.ZodNever
362
- : // Fallback: If F is not a UnifiedField but is a ZodTypeAny, return it directly
363
- F extends z.ZodTypeAny
364
- ? F
365
- : z.ZodNever;
366
-
367
- /**
368
- * Infer the exact input type from a field structure for a specific usage
369
- */
370
- export type InferInputFromField<
371
- TTranslationKey extends string,
372
- F extends UnifiedField<TTranslationKey, TSchema>,
373
- Usage extends FieldUsage,
374
- TSchema extends z.ZodTypeAny = z.ZodTypeAny,
375
- > = ExtractInput<InferSchemaFromField<F, Usage>>;
376
-
377
- /**
378
- * Infer the exact output type from a field structure for a specific usage
379
- */
380
- export type InferOutputFromField<
381
- TTranslationKey extends string,
382
- F extends UnifiedField<TTranslationKey, TSchema>,
383
- Usage extends FieldUsage,
384
- TSchema extends z.ZodTypeAny = z.ZodTypeAny,
385
- > = ExtractOutput<InferSchemaFromField<F, Usage>>;
386
-
387
- /**
388
- * METHOD-SPECIFIC USAGE MATCHING: Check if usage matches for a specific method
389
- * This is the core logic that enables method-specific type inference
390
- */
391
- type MatchesUsageForMethod<TUsage, TMethod extends Methods, TTargetUsage extends FieldUsage> =
392
- // Check if it's method-specific format first
393
- TMethod extends keyof TUsage
394
- ? TUsage[TMethod] extends infer TMethodUsage
395
- ? TTargetUsage extends FieldUsage.RequestData
396
- ? TMethodUsage extends { request: "data" | "data&urlPathParams" }
397
- ? true
398
- : false
399
- : TTargetUsage extends FieldUsage.RequestUrlParams
400
- ? TMethodUsage extends {
401
- request: "urlPathParams" | "data&urlPathParams";
402
- }
403
- ? true
404
- : false
405
- : TTargetUsage extends FieldUsage.Response
406
- ? TMethodUsage extends { response: true }
407
- ? true
408
- : false
409
- : false
410
- : false
411
- : // Fall back to original logic for backward compatibility
412
- TTargetUsage extends FieldUsage.RequestData
413
- ? TUsage extends { request: "data" | "data&urlPathParams" }
414
- ? true
415
- : false
416
- : TTargetUsage extends FieldUsage.RequestUrlParams
417
- ? TUsage extends { request: "urlPathParams" | "data&urlPathParams" }
418
- ? true
419
- : false
420
- : TTargetUsage extends FieldUsage.Response
421
- ? TUsage extends { response: true }
422
- ? true
423
- : false
424
- : false;
425
-
426
- /**
427
- * METHOD-SPECIFIC SCHEMA INFERENCE: Infer schema for a specific HTTP method and usage
428
- * This is the key missing piece that enables proper method-specific type inference
429
- */
430
- /**
431
- * Helper type to compute schemas for children once
432
- * Avoids double evaluation that causes deep recursion
433
- */
434
- type ComputeChildSchemas<
435
- TTranslationKey extends string,
436
- TChildren,
437
- Method extends Methods,
438
- Usage extends FieldUsage,
439
- > = {
440
- [K in keyof TChildren]: TChildren[K] extends UnifiedField<TTranslationKey, z.ZodTypeAny>
441
- ? InferSchemaFromFieldForMethod<TTranslationKey, TChildren[K], Method, Usage, z.ZodTypeAny>
442
- : never;
443
- };
444
-
445
- /**
446
- * Filter out never schemas from computed children
447
- */
448
- type FilterNeverSchemas<TSchemas> = {
449
- [K in keyof TSchemas as TSchemas[K] extends z.ZodNever ? never : K]: TSchemas[K];
450
- };
451
-
452
- export type InferSchemaFromFieldForMethod<
453
- TTranslationKey extends string,
454
- F extends UnifiedField<TTranslationKey, TSchema>,
455
- Method extends Methods,
456
- Usage extends FieldUsage,
457
- TSchema extends z.ZodTypeAny = z.ZodTypeAny,
458
- > =
459
- // Handle PrimitiveField
460
- F extends PrimitiveField<
461
- infer TFieldSchema,
462
- FieldUsageConfig,
463
- TTranslationKey,
464
- WidgetConfig<TTranslationKey>
465
- >
466
- ? F extends { usage: infer TUsage }
467
- ? MatchesUsageForMethod<TUsage, Method, Usage> extends true
468
- ? TFieldSchema
469
- : z.ZodNever
470
- : z.ZodNever
471
- : // Handle ObjectField - process children based on their own usage
472
- F extends ObjectField<
473
- infer TChildren,
474
- FieldUsageConfig,
475
- TTranslationKey,
476
- WidgetConfig<TTranslationKey>
477
- >
478
- ? z.ZodObject<
479
- FilterNeverSchemas<ComputeChildSchemas<TTranslationKey, TChildren, Method, Usage>>
480
- >
481
- : // Handle ObjectOptionalField - process children based on their own usage
482
- F extends ObjectOptionalField<
483
- infer TChildren,
484
- FieldUsageConfig,
485
- TTranslationKey,
486
- WidgetConfig<TTranslationKey>
487
- >
488
- ? z.ZodOptional<
489
- z.ZodNullable<
490
- z.ZodObject<
491
- FilterNeverSchemas<ComputeChildSchemas<TTranslationKey, TChildren, Method, Usage>>
492
- >
493
- >
494
- >
495
- : // Handle ArrayField
496
- F extends ArrayField<
497
- infer TChild,
498
- FieldUsageConfig,
499
- TTranslationKey,
500
- WidgetConfig<TTranslationKey>
501
- >
502
- ? F extends { usage: infer TUsage }
503
- ? MatchesUsageForMethod<TUsage, Method, Usage> extends true
504
- ? z.ZodArray<
505
- TChild extends UnifiedField<TTranslationKey, z.ZodTypeAny>
506
- ? InferSchemaFromFieldForMethod<
507
- TTranslationKey,
508
- TChild,
509
- Method,
510
- Usage,
511
- z.ZodTypeAny
512
- >
513
- : TChild extends z.ZodTypeAny
514
- ? TChild
515
- : z.ZodNever
516
- >
517
- : z.ZodNever
518
- : z.ZodNever
519
- : // Handle ArrayOptionalField
520
- F extends ArrayOptionalField<
521
- infer TChild,
522
- FieldUsageConfig,
523
- TTranslationKey,
524
- WidgetConfig<TTranslationKey>
525
- >
526
- ? F extends { usage: infer TUsage }
527
- ? MatchesUsageForMethod<TUsage, Method, Usage> extends true
528
- ? z.ZodNullable<
529
- z.ZodArray<
530
- TChild extends UnifiedField<TTranslationKey, z.ZodTypeAny>
531
- ? InferSchemaFromFieldForMethod<
532
- TTranslationKey,
533
- TChild,
534
- Method,
535
- Usage,
536
- z.ZodTypeAny
537
- >
538
- : TChild extends z.ZodTypeAny
539
- ? TChild
540
- : z.ZodNever
541
- >
542
- >
543
- : z.ZodNever
544
- : z.ZodNever
545
- : z.ZodNever;
546
-
547
- /**
548
- * METHOD-SPECIFIC INPUT TYPE INFERENCE
549
- */
550
- export type InferInputFromFieldForMethod<
551
- TTranslationKey extends string,
552
- F extends UnifiedField<TTranslationKey, TSchema>,
553
- Method extends Methods,
554
- Usage extends FieldUsage,
555
- TSchema extends z.ZodTypeAny = z.ZodTypeAny,
556
- > = ExtractInput<InferSchemaFromFieldForMethod<TTranslationKey, F, Method, Usage, TSchema>>;
557
-
558
- /**
559
- * METHOD-SPECIFIC OUTPUT TYPE INFERENCE
560
- */
561
- export type InferOutputFromFieldForMethod<
562
- TTranslationKey extends string,
563
- F extends UnifiedField<TTranslationKey, TSchema>,
564
- Method extends Methods,
565
- Usage extends FieldUsage,
566
- TSchema extends z.ZodTypeAny = z.ZodTypeAny,
567
- > = ExtractOutput<InferSchemaFromFieldForMethod<TTranslationKey, F, Method, Usage, TSchema>>;
568
-
569
- // ============================================================================
570
- // BASIC TYPE UTILITIES
571
- // ============================================================================
572
-
573
- /**
574
- * Field value types that can be handled by the system
575
- */
576
- export type FieldValue = string | number | boolean | Date | null | undefined;
577
-
578
- /**
579
- * Field usage configuration
580
- * Supports both current format (backward compatible) and method-specific configuration
581
- */
582
- export type FieldUsageConfig =
583
- // applies to all methods
584
- | { request: "data"; response?: never }
585
- | { request: "urlPathParams"; response?: never }
586
- | { request: "data&urlPathParams"; response?: never }
587
- | { request?: never; response: true }
588
- | { request: "data"; response: true }
589
- | { request: "urlPathParams"; response: true }
590
- | { request: "data&urlPathParams"; response: true }
591
- // method-specific format
592
- | {
593
- [Methods.GET]?: {
594
- request?: "data" | "urlPathParams" | "data&urlPathParams";
595
- response?: true;
596
- };
597
- [Methods.POST]?: {
598
- request?: "data" | "urlPathParams" | "data&urlPathParams";
599
- response?: true;
600
- };
601
- [Methods.PUT]?: {
602
- request?: "data" | "urlPathParams" | "data&urlPathParams";
603
- response?: true;
604
- };
605
- [Methods.PATCH]?: {
606
- request?: "data" | "urlPathParams" | "data&urlPathParams";
607
- response?: true;
608
- };
609
- [Methods.DELETE]?: {
610
- request?: "data" | "urlPathParams" | "data&urlPathParams";
611
- response?: true;
612
- };
613
- request?: never;
614
- response?: never;
615
- }
616
- | {
617
- [Methods.GET]?: {
618
- request?: "data" | "urlPathParams" | "data&urlPathParams";
619
- response?: never;
620
- };
621
- [Methods.POST]?: {
622
- request?: "data" | "urlPathParams" | "data&urlPathParams";
623
- response?: never;
624
- };
625
- [Methods.PUT]?: {
626
- request?: "data" | "urlPathParams" | "data&urlPathParams";
627
- response?: never;
628
- };
629
- [Methods.PATCH]?: {
630
- request?: "data" | "urlPathParams" | "data&urlPathParams";
631
- response?: never;
632
- };
633
- [Methods.DELETE]?: {
634
- request?: "data" | "urlPathParams" | "data&urlPathParams";
635
- response?: never;
636
- };
637
- request?: never;
638
- response?: never;
639
- }
640
- // New method-specific format - urlPathParams request type
641
- | {
642
- [Methods.GET]?: { request?: "urlPathParams"; response?: true };
643
- [Methods.POST]?: { request?: "urlPathParams"; response?: true };
644
- [Methods.PUT]?: { request?: "urlPathParams"; response?: true };
645
- [Methods.PATCH]?: { request?: "urlPathParams"; response?: true };
646
- [Methods.DELETE]?: { request?: "urlPathParams"; response?: true };
647
- request?: never;
648
- response?: never;
649
- }
650
- | {
651
- [Methods.GET]?: { request?: "urlPathParams"; response?: never };
652
- [Methods.POST]?: { request?: "urlPathParams"; response?: never };
653
- [Methods.PUT]?: { request?: "urlPathParams"; response?: never };
654
- [Methods.PATCH]?: { request?: "urlPathParams"; response?: never };
655
- [Methods.DELETE]?: { request?: "urlPathParams"; response?: never };
656
- request?: never;
657
- response?: never;
658
- }
659
- // New method-specific format - data&urlPathParams request type
660
- | {
661
- [Methods.GET]?: { request?: "data&urlPathParams"; response?: true };
662
- [Methods.POST]?: { request?: "data&urlPathParams"; response?: true };
663
- [Methods.PUT]?: { request?: "data&urlPathParams"; response?: true };
664
- [Methods.PATCH]?: { request?: "data&urlPathParams"; response?: true };
665
- [Methods.DELETE]?: { request?: "data&urlPathParams"; response?: true };
666
- request?: never;
667
- response?: never;
668
- }
669
- | {
670
- [Methods.GET]?: { request?: "data&urlPathParams"; response?: never };
671
- [Methods.POST]?: { request?: "data&urlPathParams"; response?: never };
672
- [Methods.PUT]?: { request?: "data&urlPathParams"; response?: never };
673
- [Methods.PATCH]?: { request?: "data&urlPathParams"; response?: never };
674
- [Methods.DELETE]?: { request?: "data&urlPathParams"; response?: never };
675
- request?: never;
676
- response?: never;
677
- }
678
- // New method-specific format - response only
679
- | {
680
- [Methods.GET]?: { request?: never; response: true };
681
- [Methods.POST]?: { request?: never; response: true };
682
- [Methods.PUT]?: { request?: never; response: true };
683
- [Methods.PATCH]?: { request?: never; response: true };
684
- [Methods.DELETE]?: { request?: never; response: true };
685
- request?: never;
686
- response?: never;
687
- };
688
-
689
- export type ExamplesList<T, TExampleKey extends string> = {
690
- [exampleKey in TExampleKey]: T; // & { id?: string };
691
- };
692
-
693
- // ============================================================================
694
- // ACTION SYSTEM TYPES
695
- // ============================================================================
696
-
697
- /**
698
- * Action condition for conditional execution
699
- */
700
- export interface ActionCondition {
701
- field: string;
702
- operator:
703
- | "equals"
704
- | "not_equals"
705
- | "contains"
706
- | "not_contains"
707
- | "exists"
708
- | "not_exists"
709
- | "greater_than"
710
- | "less_than";
711
- value?: FieldValue;
712
- }
713
-
714
- /**
715
- * Base action configuration
716
- */
717
- export interface BaseActionConfig {
718
- type: ActionType;
719
- timing?: ActionTiming;
720
- delay?: number;
721
- conditions?: ActionCondition[];
722
- contexts?: InterfaceContext[];
723
- }
724
-
725
- /**
726
- * Toast/Notification action
727
- */
728
- export interface ToastActionConfig extends BaseActionConfig {
729
- type: ActionType.TOAST | ActionType.NOTIFICATION | ActionType.ALERT;
730
- message: TranslationKey;
731
- variant?: ComponentVariant;
732
- duration?: number;
733
- title?: TranslationKey;
734
- description?: TranslationKey;
735
- }
736
-
737
- /**
738
- * Navigation action
739
- */
740
- export interface NavigationActionConfig extends BaseActionConfig {
741
- type:
742
- | ActionType.ROUTER_PUSH
743
- | ActionType.ROUTER_REPLACE
744
- | ActionType.ROUTER_BACK
745
- | ActionType.REDIRECT;
746
- path?: string;
747
- params?: Record<string, string>;
748
- query?: Record<string, string>;
749
- replace?: boolean;
750
- external?: boolean;
751
- }
752
-
753
- /**
754
- * Data/Cache action
755
- */
756
- export interface RefetchActionConfig extends BaseActionConfig {
757
- type:
758
- | ActionType.REFETCH
759
- | ActionType.INVALIDATE_CACHE
760
- | ActionType.UPDATE_CACHE
761
- | ActionType.CLEAR_CACHE;
762
- queryKeys?: string[][];
763
- exact?: boolean;
764
- data?: Record<string, FieldValue>;
765
- }
766
-
767
- /**
768
- * Form action
769
- */
770
- export interface FormActionConfig extends BaseActionConfig {
771
- type:
772
- | ActionType.RESET_FORM
773
- | ActionType.CLEAR_FORM
774
- | ActionType.SET_FORM_VALUES
775
- | ActionType.FOCUS_FIELD;
776
- formId?: string;
777
- values?: Record<string, FieldValue>;
778
- fieldName?: string;
779
- resetToDefaults?: boolean;
780
- }
781
-
782
- /**
783
- * State action
784
- */
785
- export interface StateActionConfig extends BaseActionConfig {
786
- type: ActionType.SET_STATE | ActionType.TOGGLE_STATE | ActionType.UPDATE_STATE;
787
- key: string;
788
- value?: FieldValue;
789
- updater?: (current: FieldValue) => FieldValue;
790
- }
791
-
792
- /**
793
- * Custom action
794
- */
795
- export interface CustomActionConfig extends BaseActionConfig {
796
- type: ActionType.CUSTOM;
797
- handler: string | ((context: ActionContext) => Promise<ActionResult>);
798
- payload?: Record<string, FieldValue>;
799
- }
800
-
801
- /**
802
- * Union type for all action configurations
803
- */
804
- export type ActionConfig =
805
- | ToastActionConfig
806
- | NavigationActionConfig
807
- | RefetchActionConfig
808
- | FormActionConfig
809
- | StateActionConfig
810
- | CustomActionConfig;
811
-
812
- /**
813
- * Action execution context
814
- */
815
- export interface ActionContext {
816
- context: InterfaceContext;
817
- data?: Record<string, FieldValue>;
818
- error?: Error;
819
- endpoint?: Record<string, FieldValue>;
820
- timestamp: string;
821
- user: {
822
- id: string;
823
- roles: string[];
824
- };
825
- metadata?: Record<string, FieldValue>;
826
- formValues?: Record<string, FieldValue>;
827
- fieldValue?: FieldValue;
828
- }
829
-
830
- /**
831
- * Action execution result
832
- */
833
- export interface ActionResult {
834
- success: boolean;
835
- data?: Record<string, FieldValue>;
836
- error?: string;
837
- metadata?: Record<string, FieldValue>;
838
- }
839
-
840
- /**
841
- * Lifecycle actions
842
- */
843
- export interface LifecycleActions {
844
- onSuccess?: ActionConfig[];
845
- onError?: ActionConfig[];
846
- onLoading?: ActionConfig[];
847
- onComplete?: ActionConfig[];
848
- onMount?: ActionConfig[];
849
- onUnmount?: ActionConfig[];
850
- }
851
-
852
- /**
853
- * Interactive actions
854
- */
855
- export interface InteractiveActions {
856
- onClick?: ActionConfig[];
857
- onDoubleClick?: ActionConfig[];
858
- onHover?: ActionConfig[];
859
- onFocus?: ActionConfig[];
860
- onBlur?: ActionConfig[];
861
- }
862
-
863
- /**
864
- * Form field actions
865
- */
866
- export interface FieldActions {
867
- onChange?: ActionConfig[];
868
- onValidation?: ActionConfig[];
869
- onError?: ActionConfig[];
870
- onClear?: ActionConfig[];
871
- }
872
-
873
- /**
874
- * Button action configuration
875
- */
876
- export interface ButtonAction {
877
- label: TranslationKey;
878
- icon?: IconKey;
879
- variant?: ComponentVariant;
880
- size?: ComponentSize;
881
- actions: ActionConfig[];
882
- conditions?: ActionCondition[];
883
- disabled?: boolean;
884
- loading?: boolean;
885
- }
886
-
887
- /**
888
- * Context menu action
889
- */
890
- export interface ContextMenuAction {
891
- label: TranslationKey;
892
- icon?: IconKey;
893
- actions: ActionConfig[];
894
- separator?: boolean;
895
- disabled?: boolean;
896
- dangerous?: boolean;
897
- }
898
-
899
- /**
900
- * Bulk action for data tables
901
- */
902
- export interface BulkAction {
903
- label: TranslationKey;
904
- icon?: IconKey;
905
- variant?: ComponentVariant;
906
- actions: ActionConfig[];
907
- confirmationMessage?: TranslationKey;
908
- requiresSelection?: boolean;
909
- maxSelection?: number;
910
- }
911
-
912
- // ============================================================================
913
- // FIELD SYSTEM TYPES
914
- // ============================================================================
915
-
916
- /**
917
- * Primitive field type
918
- */
919
- export interface PrimitiveField<
920
- out TSchema extends z.ZodTypeAny,
921
- out TUsage extends FieldUsageConfig,
922
- TKey extends string,
923
- out TUIConfig extends WidgetConfig<TKey>,
924
- > {
925
- type: "primitive";
926
- schema: TSchema;
927
- usage: TUsage;
928
- cache?: CacheStrategy;
929
- ui: TUIConfig;
930
- apiKey?: string;
931
- uiKey?: string;
932
- }
933
-
934
- /**
935
- * Object field type with children
936
- */
937
- export interface ObjectField<
938
- out TChildren,
939
- out TUsage extends FieldUsageConfig,
940
- TKey extends string,
941
- out TUIConfig extends WidgetConfig<TKey>,
942
- > {
943
- type: "object";
944
- usage: TUsage;
945
- cache?: CacheStrategy;
946
- ui: TUIConfig;
947
- children: TChildren;
948
- }
949
-
950
- /**
951
- * Optional object field type
952
- */
953
- export interface ObjectOptionalField<
954
- out TChildren,
955
- out TUsage extends FieldUsageConfig,
956
- TKey extends string,
957
- out TUIConfig extends WidgetConfig<TKey>,
958
- > {
959
- type: "object-optional";
960
- usage: TUsage;
961
- cache?: CacheStrategy;
962
- ui: TUIConfig;
963
- children: TChildren;
964
- }
965
-
966
- /**
967
- * Object union field type for discriminated unions
968
- */
969
- export interface ObjectUnionField<
970
- out TDiscriminator extends string,
971
- TKey extends string,
972
- out TVariants extends readonly [
973
- ObjectField<
974
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
975
- FieldUsageConfig,
976
- TKey,
977
- WidgetConfig<TKey>
978
- >,
979
- ...ObjectField<
980
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
981
- FieldUsageConfig,
982
- TKey,
983
- WidgetConfig<TKey>
984
- >[],
985
- ],
986
- out TUsage extends FieldUsageConfig,
987
- out TUIConfig extends WidgetConfig<TKey>,
988
- > {
989
- type: "object-union";
990
- discriminator: TDiscriminator;
991
- variants: TVariants;
992
- usage: TUsage;
993
- cache?: CacheStrategy;
994
- ui: TUIConfig;
995
- }
996
-
997
- /**
998
- * Array field type
999
- */
1000
- export interface ArrayField<
1001
- out TChild,
1002
- out TUsage extends FieldUsageConfig,
1003
- TKey extends string,
1004
- out TUIConfig extends WidgetConfig<TKey>,
1005
- > {
1006
- type: "array";
1007
- usage: TUsage;
1008
- cache?: CacheStrategy;
1009
- ui: TUIConfig;
1010
- child: TChild;
1011
- }
1012
-
1013
- /**
1014
- * Optional array field type
1015
- */
1016
- export interface ArrayOptionalField<
1017
- out TChild,
1018
- out TUsage extends FieldUsageConfig,
1019
- TKey extends string,
1020
- out TUIConfig extends WidgetConfig<TKey>,
1021
- > {
1022
- type: "array-optional";
1023
- usage: TUsage;
1024
- cache?: CacheStrategy;
1025
- ui: TUIConfig;
1026
- child: TChild;
1027
- }
1028
-
1029
- /**
1030
- * Widget field (UI-only, no schema)
1031
- */
1032
- export interface WidgetField<
1033
- out TUsage extends FieldUsageConfig,
1034
- TKey extends string,
1035
- out TUIConfig extends WidgetConfig<TKey>,
1036
- > {
1037
- type: "widget";
1038
- usage: TUsage;
1039
- cache?: CacheStrategy;
1040
- ui: TUIConfig;
1041
- }
1042
-
1043
- /**
1044
- * Unified field type that supports all field configurations with enhanced type preservation
1045
- *
1046
- * TSchema: The Zod schema type for primitive fields
1047
- * TKey: The translation key type - can be global TranslationKey or scoped translation keys
1048
- *
1049
- * When using scoped translations, pass the scoped key type:
1050
- * UnifiedField<z.ZodTypeAny, ContactTranslationKey>
1051
- *
1052
- * This ensures all widget configs in the field tree use the correct translation key type.
1053
- *
1054
- */
1055
- export type UnifiedField<TKey extends string, TSchema extends z.ZodTypeAny = z.ZodTypeAny> =
1056
- | PrimitiveField<TSchema, FieldUsageConfig, TKey, WidgetConfig<TKey>>
1057
- | ObjectField<
1058
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
1059
- FieldUsageConfig,
1060
- TKey,
1061
- WidgetConfig<TKey>
1062
- >
1063
- | ObjectOptionalField<
1064
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
1065
- FieldUsageConfig,
1066
- TKey,
1067
- WidgetConfig<TKey>
1068
- >
1069
- | ObjectUnionField<
1070
- string,
1071
- TKey,
1072
- readonly [
1073
- ObjectField<
1074
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
1075
- FieldUsageConfig,
1076
- TKey,
1077
- WidgetConfig<TKey>
1078
- >,
1079
- ...ObjectField<
1080
- Record<string, UnifiedField<TKey, z.ZodTypeAny>>,
1081
- FieldUsageConfig,
1082
- TKey,
1083
- WidgetConfig<TKey>
1084
- >[],
1085
- ],
1086
- FieldUsageConfig,
1087
- WidgetConfig<TKey>
1088
- >
1089
- | ArrayField<
1090
- UnifiedField<TKey, z.ZodTypeAny> | z.ZodTypeAny,
1091
- FieldUsageConfig,
1092
- TKey,
1093
- WidgetConfig<TKey>
1094
- >
1095
- | ArrayOptionalField<
1096
- UnifiedField<TKey, z.ZodTypeAny> | z.ZodTypeAny,
1097
- FieldUsageConfig,
1098
- TKey,
1099
- WidgetConfig<TKey>
1100
- >
1101
- | WidgetField<FieldUsageConfig, TKey, WidgetConfig<TKey>>;