@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.
- package/LICENSE +669 -5
- package/README.md +179 -200
- package/check.config.ts +85 -16
- package/generated/alias-map.ts +30 -0
- package/generated/endpoint.ts +75 -0
- package/{src/app/api/[locale]/system/check/oxlint/plugins/i18n/src/index.ts → oxlint-plugins/i18n.ts} +45 -9
- package/{src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/src/index.ts → oxlint-plugins/jsx-capitalization.ts} +84 -17
- package/{src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/src/index.ts → oxlint-plugins/restricted-syntax.ts} +40 -14
- package/package.json +28 -132
- package/.dist/LICENSE +0 -674
- package/.dist/README.md +0 -257
- package/.dist/bin/vibe-runtime.js +0 -58166
- package/.dist/bin/vibe-runtime.js.map +0 -451
- package/.dist/oxlint-plugins/i18n.js +0 -381
- package/.dist/oxlint-plugins/jsx-capitalization.js +0 -436
- package/.dist/oxlint-plugins/restricted-syntax.js +0 -409
- package/src/app/api/[locale]/LICENSE +0 -674
- package/src/app/api/[locale]/i18n/de/index.ts +0 -15
- package/src/app/api/[locale]/i18n/en/index.ts +0 -14
- package/src/app/api/[locale]/i18n/pl/index.ts +0 -13
- package/src/app/api/[locale]/shared/i18n/de/index.ts +0 -85
- package/src/app/api/[locale]/shared/i18n/en/index.ts +0 -83
- package/src/app/api/[locale]/shared/i18n/pl/index.ts +0 -85
- package/src/app/api/[locale]/shared/stats-filtering.ts +0 -174
- package/src/app/api/[locale]/shared/types/common.schema.ts +0 -55
- package/src/app/api/[locale]/shared/types/response.schema.ts +0 -411
- package/src/app/api/[locale]/shared/types/stats-filtering.schema.ts +0 -315
- package/src/app/api/[locale]/shared/types/utils.ts +0 -187
- package/src/app/api/[locale]/shared/utils/base64.ts +0 -46
- package/src/app/api/[locale]/shared/utils/env-util.ts +0 -36
- package/src/app/api/[locale]/shared/utils/i18n/de/index.ts +0 -21
- package/src/app/api/[locale]/shared/utils/i18n/en/index.ts +0 -19
- package/src/app/api/[locale]/shared/utils/i18n/pl/index.ts +0 -21
- package/src/app/api/[locale]/shared/utils/index.ts +0 -11
- package/src/app/api/[locale]/shared/utils/object-path.ts +0 -41
- package/src/app/api/[locale]/shared/utils/object.test.ts +0 -82
- package/src/app/api/[locale]/shared/utils/object.ts +0 -73
- package/src/app/api/[locale]/shared/utils/parse-error.ts +0 -134
- package/src/app/api/[locale]/shared/utils/parse-json.ts +0 -62
- package/src/app/api/[locale]/shared/utils/time.ts +0 -46
- package/src/app/api/[locale]/shared/utils/validation.ts +0 -117
- package/src/app/api/[locale]/shared/utils/zod-required-fields.ts +0 -115
- package/src/app/api/[locale]/system/builder/definition.ts +0 -1750
- package/src/app/api/[locale]/system/builder/enum.ts +0 -78
- package/src/app/api/[locale]/system/builder/i18n/de/index.ts +0 -645
- package/src/app/api/[locale]/system/builder/i18n/en/index.ts +0 -653
- package/src/app/api/[locale]/system/builder/i18n/pl/index.ts +0 -643
- package/src/app/api/[locale]/system/builder/repository/build-executor.test.ts +0 -178
- package/src/app/api/[locale]/system/builder/repository/build-executor.ts +0 -538
- package/src/app/api/[locale]/system/builder/repository/bun-compiler.ts +0 -250
- package/src/app/api/[locale]/system/builder/repository/bundle-analyzer.ts +0 -170
- package/src/app/api/[locale]/system/builder/repository/config-loader.ts +0 -146
- package/src/app/api/[locale]/system/builder/repository/config-validator.ts +0 -97
- package/src/app/api/[locale]/system/builder/repository/constants.ts +0 -125
- package/src/app/api/[locale]/system/builder/repository/error-suggester.ts +0 -67
- package/src/app/api/[locale]/system/builder/repository/file-copier.ts +0 -90
- package/src/app/api/[locale]/system/builder/repository/folder-cleaner.ts +0 -75
- package/src/app/api/[locale]/system/builder/repository/index.ts +0 -2
- package/src/app/api/[locale]/system/builder/repository/npm-package-generator.ts +0 -143
- package/src/app/api/[locale]/system/builder/repository/output-formatter.ts +0 -104
- package/src/app/api/[locale]/system/builder/repository/profile-service.ts +0 -79
- package/src/app/api/[locale]/system/builder/repository/report-generator.ts +0 -109
- package/src/app/api/[locale]/system/builder/repository/vite-compiler.ts +0 -277
- package/src/app/api/[locale]/system/builder/route.ts +0 -21
- package/src/app/api/[locale]/system/builder/test-files/file1.ts +0 -2
- package/src/app/api/[locale]/system/builder/test-files/file2.tsx +0 -10
- package/src/app/api/[locale]/system/builder/test-files/file3.tsx +0 -16
- package/src/app/api/[locale]/system/builder/test-files/folderToCopy/fileInFolder.ts +0 -2
- package/src/app/api/[locale]/system/builder/test-files/test-config.ts +0 -38
- package/src/app/api/[locale]/system/builder/test-files/test-delete-config.ts +0 -8
- package/src/app/api/[locale]/system/builder/test-files/test-project/package.json +0 -24
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/constants.ts +0 -6
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/greet.ts +0 -18
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/index.ts +0 -7
- package/src/app/api/[locale]/system/builder/test-files/test-project/src/utils/calculate.ts +0 -27
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.json +0 -19
- package/src/app/api/[locale]/system/builder/test-files/test-project/tsconfig.tsbuildinfo +0 -1
- package/src/app/api/[locale]/system/builder/test-files/test3.css +0 -1
- package/src/app/api/[locale]/system/check/config/create/definition.ts +0 -266
- package/src/app/api/[locale]/system/check/config/create/i18n/de/index.ts +0 -151
- package/src/app/api/[locale]/system/check/config/create/i18n/en/index.ts +0 -146
- package/src/app/api/[locale]/system/check/config/create/i18n/pl/index.ts +0 -148
- package/src/app/api/[locale]/system/check/config/create/repository.ts +0 -269
- package/src/app/api/[locale]/system/check/config/create/route.ts +0 -21
- package/src/app/api/[locale]/system/check/config/repository.ts +0 -846
- package/src/app/api/[locale]/system/check/config/shared.ts +0 -364
- package/src/app/api/[locale]/system/check/config/types.ts +0 -610
- package/src/app/api/[locale]/system/check/config/utils.ts +0 -155
- package/src/app/api/[locale]/system/check/i18n/de/index.ts +0 -19
- package/src/app/api/[locale]/system/check/i18n/en/index.ts +0 -18
- package/src/app/api/[locale]/system/check/i18n/pl/index.ts +0 -19
- package/src/app/api/[locale]/system/check/lint/definition.ts +0 -383
- package/src/app/api/[locale]/system/check/lint/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/lint/i18n/de/index.ts +0 -160
- package/src/app/api/[locale]/system/check/lint/i18n/en/index.ts +0 -158
- package/src/app/api/[locale]/system/check/lint/i18n/pl/index.ts +0 -160
- package/src/app/api/[locale]/system/check/lint/repository.ts +0 -844
- package/src/app/api/[locale]/system/check/lint/route.ts +0 -21
- package/src/app/api/[locale]/system/check/oxlint/README.md +0 -190
- package/src/app/api/[locale]/system/check/oxlint/definition.ts +0 -375
- package/src/app/api/[locale]/system/check/oxlint/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/oxlint/i18n/de/index.ts +0 -166
- package/src/app/api/[locale]/system/check/oxlint/i18n/en/index.ts +0 -164
- package/src/app/api/[locale]/system/check/oxlint/i18n/pl/index.ts +0 -166
- package/src/app/api/[locale]/system/check/oxlint/plugins/jsx-capitalization/README.md +0 -269
- package/src/app/api/[locale]/system/check/oxlint/plugins/restricted-syntax/test.tsx +0 -74
- package/src/app/api/[locale]/system/check/oxlint/plugins/shared/config-loader.ts +0 -283
- package/src/app/api/[locale]/system/check/oxlint/repository.ts +0 -553
- package/src/app/api/[locale]/system/check/oxlint/route.ts +0 -21
- package/src/app/api/[locale]/system/check/oxlint/types.ts +0 -191
- package/src/app/api/[locale]/system/check/test-project/.vscode/settings.json +0 -48
- package/src/app/api/[locale]/system/check/test-project/bun.lock +0 -640
- package/src/app/api/[locale]/system/check/test-project/check.config.ts +0 -955
- package/src/app/api/[locale]/system/check/test-project/package.json +0 -17
- package/src/app/api/[locale]/system/check/test-project/src/constants.ts +0 -6
- package/src/app/api/[locale]/system/check/test-project/src/greet.ts +0 -18
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/a11y-issues.tsx +0 -107
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/eslint-issues.tsx +0 -37
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/general-issues.ts +0 -135
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/i18n-issues.tsx +0 -113
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/jsx-capitalization-issues.tsx +0 -127
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/nextjs-issues.tsx +0 -92
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/promise-issues.ts +0 -73
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/react-issues.tsx +0 -95
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/restricted-syntax-issues.tsx +0 -61
- package/src/app/api/[locale]/system/check/test-project/src/test-issues/typescript-issues.ts +0 -78
- package/src/app/api/[locale]/system/check/test-project/src/utils/calculate.ts +0 -27
- package/src/app/api/[locale]/system/check/test-project/tsconfig.json +0 -22
- package/src/app/api/[locale]/system/check/test-project/tsconfig.tsbuildinfo +0 -1
- package/src/app/api/[locale]/system/check/typecheck/definition.ts +0 -328
- package/src/app/api/[locale]/system/check/typecheck/enum.ts +0 -34
- package/src/app/api/[locale]/system/check/typecheck/i18n/de/index.ts +0 -148
- package/src/app/api/[locale]/system/check/typecheck/i18n/en/index.ts +0 -145
- package/src/app/api/[locale]/system/check/typecheck/i18n/pl/index.ts +0 -148
- package/src/app/api/[locale]/system/check/typecheck/repository.ts +0 -863
- package/src/app/api/[locale]/system/check/typecheck/route.ts +0 -21
- package/src/app/api/[locale]/system/check/typecheck/utils.ts +0 -160
- package/src/app/api/[locale]/system/check/vibe-check/definition.ts +0 -448
- package/src/app/api/[locale]/system/check/vibe-check/enum.ts +0 -63
- package/src/app/api/[locale]/system/check/vibe-check/i18n/de/index.ts +0 -164
- package/src/app/api/[locale]/system/check/vibe-check/i18n/en/index.ts +0 -161
- package/src/app/api/[locale]/system/check/vibe-check/i18n/pl/index.ts +0 -163
- package/src/app/api/[locale]/system/check/vibe-check/repository.ts +0 -516
- package/src/app/api/[locale]/system/check/vibe-check/route.test.ts +0 -1010
- package/src/app/api/[locale]/system/check/vibe-check/route.ts +0 -21
- package/src/app/api/[locale]/system/generated/endpoint.ts +0 -274
- package/src/app/api/[locale]/system/generated/endpoints.ts +0 -138
- package/src/app/api/[locale]/system/generated/route-handlers.ts +0 -213
- package/src/app/api/[locale]/system/generators/endpoint/definition.ts +0 -167
- package/src/app/api/[locale]/system/generators/endpoint/i18n/de/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/endpoint/i18n/en/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/endpoint/i18n/pl/index.ts +0 -50
- package/src/app/api/[locale]/system/generators/endpoint/repository.ts +0 -286
- package/src/app/api/[locale]/system/generators/endpoint/route.ts +0 -18
- package/src/app/api/[locale]/system/generators/endpoints/definition.ts +0 -246
- package/src/app/api/[locale]/system/generators/endpoints/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/generators/endpoints/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/generators/endpoints/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/generators/endpoints/options-repository.ts +0 -425
- package/src/app/api/[locale]/system/generators/endpoints/repository.ts +0 -368
- package/src/app/api/[locale]/system/generators/endpoints/route.ts +0 -17
- package/src/app/api/[locale]/system/generators/endpoints-index/definition.ts +0 -166
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/de/index.ts +0 -71
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/en/index.ts +0 -69
- package/src/app/api/[locale]/system/generators/endpoints-index/i18n/pl/index.ts +0 -71
- package/src/app/api/[locale]/system/generators/endpoints-index/repository.ts +0 -279
- package/src/app/api/[locale]/system/generators/endpoints-index/route.ts +0 -18
- package/src/app/api/[locale]/system/generators/generate-all/definition.ts +0 -327
- package/src/app/api/[locale]/system/generators/generate-all/i18n/de/index.ts +0 -96
- package/src/app/api/[locale]/system/generators/generate-all/i18n/en/index.ts +0 -94
- package/src/app/api/[locale]/system/generators/generate-all/i18n/pl/index.ts +0 -96
- package/src/app/api/[locale]/system/generators/generate-all/repository.ts +0 -240
- package/src/app/api/[locale]/system/generators/generate-all/route.ts +0 -19
- package/src/app/api/[locale]/system/generators/i18n/de/index.ts +0 -15
- package/src/app/api/[locale]/system/generators/i18n/en/index.ts +0 -14
- package/src/app/api/[locale]/system/generators/i18n/pl/index.ts +0 -15
- package/src/app/api/[locale]/system/generators/route-handlers/definition.ts +0 -178
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/de/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/en/index.ts +0 -48
- package/src/app/api/[locale]/system/generators/route-handlers/i18n/pl/index.ts +0 -50
- package/src/app/api/[locale]/system/generators/route-handlers/repository.ts +0 -267
- package/src/app/api/[locale]/system/generators/route-handlers/route.ts +0 -14
- package/src/app/api/[locale]/system/generators/shared/utils.ts +0 -215
- package/src/app/api/[locale]/system/help/definition.ts +0 -433
- package/src/app/api/[locale]/system/help/i18n/de/index.ts +0 -263
- package/src/app/api/[locale]/system/help/i18n/en/index.ts +0 -259
- package/src/app/api/[locale]/system/help/i18n/pl/index.ts +0 -262
- package/src/app/api/[locale]/system/help/interactive/definition.ts +0 -122
- package/src/app/api/[locale]/system/help/interactive/i18n/de/index.ts +0 -21
- package/src/app/api/[locale]/system/help/interactive/i18n/en/index.ts +0 -19
- package/src/app/api/[locale]/system/help/interactive/i18n/pl/index.ts +0 -21
- package/src/app/api/[locale]/system/help/interactive/repository.ts +0 -1131
- package/src/app/api/[locale]/system/help/interactive/route.ts +0 -43
- package/src/app/api/[locale]/system/help/list/definition.ts +0 -362
- package/src/app/api/[locale]/system/help/list/repository.ts +0 -99
- package/src/app/api/[locale]/system/help/list/route.ts +0 -21
- package/src/app/api/[locale]/system/help/repository.ts +0 -238
- package/src/app/api/[locale]/system/help/route.ts +0 -16
- package/src/app/api/[locale]/system/i18n/de/index.ts +0 -67
- package/src/app/api/[locale]/system/i18n/en/index.ts +0 -66
- package/src/app/api/[locale]/system/i18n/pl/index.ts +0 -67
- package/src/app/api/[locale]/system/release-tool/definition.ts +0 -2925
- package/src/app/api/[locale]/system/release-tool/i18n/de/index.ts +0 -782
- package/src/app/api/[locale]/system/release-tool/i18n/en/index.ts +0 -779
- package/src/app/api/[locale]/system/release-tool/i18n/pl/index.ts +0 -781
- package/src/app/api/[locale]/system/release-tool/repository/asset-zipper.ts +0 -122
- package/src/app/api/[locale]/system/release-tool/repository/changelog-generator.ts +0 -205
- package/src/app/api/[locale]/system/release-tool/repository/ci-detector.ts +0 -540
- package/src/app/api/[locale]/system/release-tool/repository/config.ts +0 -106
- package/src/app/api/[locale]/system/release-tool/repository/constants.ts +0 -406
- package/src/app/api/[locale]/system/release-tool/repository/dependency-manager.ts +0 -496
- package/src/app/api/[locale]/system/release-tool/repository/git-service.ts +0 -378
- package/src/app/api/[locale]/system/release-tool/repository/hook-runner.ts +0 -96
- package/src/app/api/[locale]/system/release-tool/repository/index.ts +0 -1
- package/src/app/api/[locale]/system/release-tool/repository/notification-service.ts +0 -575
- package/src/app/api/[locale]/system/release-tool/repository/package-service.ts +0 -150
- package/src/app/api/[locale]/system/release-tool/repository/publisher.ts +0 -241
- package/src/app/api/[locale]/system/release-tool/repository/quality-runner.ts +0 -413
- package/src/app/api/[locale]/system/release-tool/repository/release-creator.ts +0 -283
- package/src/app/api/[locale]/system/release-tool/repository/release-executor.ts +0 -1084
- package/src/app/api/[locale]/system/release-tool/repository/snyk-service.ts +0 -132
- package/src/app/api/[locale]/system/release-tool/repository/utils.ts +0 -603
- package/src/app/api/[locale]/system/release-tool/repository/validation.ts +0 -265
- package/src/app/api/[locale]/system/release-tool/repository/version-service.ts +0 -275
- package/src/app/api/[locale]/system/release-tool/route.ts +0 -21
- package/src/app/api/[locale]/system/unified-interface/README.md +0 -328
- package/src/app/api/[locale]/system/unified-interface/cli/README.md +0 -349
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-handler.ts +0 -82
- package/src/app/api/[locale]/system/unified-interface/cli/auth/cli-user.ts +0 -120
- package/src/app/api/[locale]/system/unified-interface/cli/auth/session-file.ts +0 -244
- package/src/app/api/[locale]/system/unified-interface/cli/env.ts +0 -24
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/de/index.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/en/index.ts +0 -158
- package/src/app/api/[locale]/system/unified-interface/cli/i18n/pl/index.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/debug.ts +0 -573
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/entry-point.ts +0 -128
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/environment.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/execution-errors.ts +0 -423
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/parsing.ts +0 -252
- package/src/app/api/[locale]/system/unified-interface/cli/runtime/route-executor.ts +0 -901
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/de/index.ts +0 -12
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/en/index.ts +0 -11
- package/src/app/api/[locale]/system/unified-interface/cli/setup/i18n/pl/index.ts +0 -12
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/definition.ts +0 -235
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/repository.ts +0 -444
- package/src/app/api/[locale]/system/unified-interface/cli/setup/install/route.ts +0 -25
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/definition.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/de/index.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/en/index.ts +0 -59
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/i18n/pl/index.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/repository.ts +0 -181
- package/src/app/api/[locale]/system/unified-interface/cli/setup/status/route.ts +0 -22
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/definition.ts +0 -164
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/repository.ts +0 -195
- package/src/app/api/[locale]/system/unified-interface/cli/setup/uninstall/route.ts +0 -24
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/definition.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/de/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/en/index.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/i18n/pl/index.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/repository.ts +0 -105
- package/src/app/api/[locale]/system/unified-interface/cli/setup/update/route.ts +0 -22
- package/src/app/api/[locale]/system/unified-interface/cli/vibe-runtime.ts +0 -264
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/base-renderer.ts +0 -246
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/registry.ts +0 -305
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/core/types.ts +0 -116
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/de/index.ts +0 -67
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/en/index.ts +0 -65
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/i18n/pl/index.ts +0 -67
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/accordion.ts +0 -70
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/avatar.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/badge.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-output.ts +0 -285
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-files.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-list.ts +0 -281
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/code-quality-summary.ts +0 -83
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/container.ts +0 -175
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-card.ts +0 -61
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-cards.ts +0 -518
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-list.ts +0 -75
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/data-table.ts +0 -357
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/editable-text.ts +0 -93
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/empty-state.ts +0 -49
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/errors.ts +0 -63
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/grouped-list.ts +0 -667
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-card.ts +0 -78
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link-list.ts +0 -99
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/link.ts +0 -54
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/loading.ts +0 -46
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/markdown.ts +0 -123
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/metric.ts +0 -269
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/section.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/stats-grid.ts +0 -138
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/tabs.ts +0 -59
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/text.ts +0 -76
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/implementations/title.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/response-renderer.ts +0 -403
- package/src/app/api/[locale]/system/unified-interface/cli/widgets/renderers/schema-handler.ts +0 -504
- package/src/app/api/[locale]/system/unified-interface/i18n/de/index.ts +0 -39
- package/src/app/api/[locale]/system/unified-interface/i18n/en/index.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/i18n/pl/index.ts +0 -39
- package/src/app/api/[locale]/system/unified-interface/mcp/README.md +0 -114
- package/src/app/api/[locale]/system/unified-interface/mcp/converter.ts +0 -136
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/de/index.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/en/index.ts +0 -178
- package/src/app/api/[locale]/system/unified-interface/mcp/i18n/pl/index.ts +0 -180
- package/src/app/api/[locale]/system/unified-interface/mcp/registry.ts +0 -305
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/definition.ts +0 -124
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/repository.ts +0 -44
- package/src/app/api/[locale]/system/unified-interface/mcp/serve/route.ts +0 -14
- package/src/app/api/[locale]/system/unified-interface/mcp/server/protocol-handler.ts +0 -291
- package/src/app/api/[locale]/system/unified-interface/mcp/server/server.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/mcp/server/stdio-transport.ts +0 -191
- package/src/app/api/[locale]/system/unified-interface/mcp/types.ts +0 -247
- package/src/app/api/[locale]/system/unified-interface/react/icons.tsx +0 -346
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create-form.ts +0 -1413
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/create.ts +0 -525
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/endpoint-to-metadata.ts +0 -52
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definition/loader.ts +0 -144
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/definitions/registry.ts +0 -262
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/permissions/registry.ts +0 -656
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/executor.ts +0 -220
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/handler.ts +0 -313
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/multi.ts +0 -182
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/request-validator.ts +0 -173
- package/src/app/api/[locale]/system/unified-interface/shared/endpoints/route/single.ts +0 -58
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env-client.ts +0 -45
- package/src/app/api/[locale]/system/unified-interface/shared/env/define-env.ts +0 -43
- package/src/app/api/[locale]/system/unified-interface/shared/env/validation-logger.ts +0 -58
- package/src/app/api/[locale]/system/unified-interface/shared/field/enum.ts +0 -107
- package/src/app/api/[locale]/system/unified-interface/shared/field/specialized.ts +0 -336
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.test.ts +0 -385
- package/src/app/api/[locale]/system/unified-interface/shared/field/utils.ts +0 -1827
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/endpoint-field-types.ts +0 -108
- package/src/app/api/[locale]/system/unified-interface/shared/field-config/field-config-types.ts +0 -288
- package/src/app/api/[locale]/system/unified-interface/shared/logger/colors.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/shared/logger/endpoint.ts +0 -155
- package/src/app/api/[locale]/system/unified-interface/shared/logger/file-logger.ts +0 -85
- package/src/app/api/[locale]/system/unified-interface/shared/logger/formatters.ts +0 -167
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/base-auth-handler.ts +0 -82
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/auth/factory.ts +0 -34
- package/src/app/api/[locale]/system/unified-interface/shared/server-only/server-only.ts +0 -1
- package/src/app/api/[locale]/system/unified-interface/shared/types/actions.ts +0 -284
- package/src/app/api/[locale]/system/unified-interface/shared/types/endpoint.ts +0 -1101
- package/src/app/api/[locale]/system/unified-interface/shared/types/enums.ts +0 -383
- package/src/app/api/[locale]/system/unified-interface/shared/types/platform.ts +0 -34
- package/src/app/api/[locale]/system/unified-interface/shared/types/types.ts +0 -76
- package/src/app/api/[locale]/system/unified-interface/shared/types/ui-config.ts +0 -72
- package/src/app/api/[locale]/system/unified-interface/shared/utils/error-types.ts +0 -27
- package/src/app/api/[locale]/system/unified-interface/shared/utils/path.ts +0 -80
- package/src/app/api/[locale]/system/unified-interface/shared/utils/scanner.ts +0 -225
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/actions.ts +0 -251
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/configs.ts +0 -1060
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/helpers.ts +0 -70
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/accordion.ts +0 -75
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/avatar.ts +0 -69
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/badge.ts +0 -86
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-output.ts +0 -283
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/code-quality-list.ts +0 -190
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/container.ts +0 -114
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-card.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-cards.ts +0 -228
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-list.ts +0 -119
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/data-table.ts +0 -367
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/editable-text.ts +0 -81
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/empty-state.ts +0 -71
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/errors.ts +0 -79
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/grouped-list.ts +0 -426
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/index.ts +0 -38
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-card.ts +0 -112
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link-list.ts +0 -110
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/link.ts +0 -66
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/loading.ts +0 -79
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/markdown.ts +0 -159
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/metric-card.ts +0 -225
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/section.ts +0 -85
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/stats-grid.ts +0 -63
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/tabs.ts +0 -73
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/text.ts +0 -96
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/logic/title.ts +0 -57
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/types.ts +0 -236
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/field-helpers.ts +0 -120
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/formatting.ts +0 -414
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/url.ts +0 -37
- package/src/app/api/[locale]/system/unified-interface/shared/widgets/utils/widget-helpers.ts +0 -427
- package/src/app/api/[locale]/user/auth/i18n/de/index.ts +0 -204
- package/src/app/api/[locale]/user/auth/i18n/en/index.ts +0 -199
- package/src/app/api/[locale]/user/auth/i18n/pl/index.ts +0 -203
- package/src/app/api/[locale]/user/auth/types.ts +0 -45
- package/src/app/api/[locale]/user/enum.ts +0 -64
- package/src/app/api/[locale]/user/i18n/de/index.ts +0 -75
- package/src/app/api/[locale]/user/i18n/en/index.ts +0 -74
- package/src/app/api/[locale]/user/i18n/pl/index.ts +0 -75
- package/src/app/api/[locale]/user/types.ts +0 -111
- package/src/app/api/[locale]/user/user-roles/enum.ts +0 -103
- package/src/app/api/[locale]/user/user-roles/i18n/de/index.ts +0 -85
- package/src/app/api/[locale]/user/user-roles/i18n/en/index.ts +0 -83
- package/src/app/api/[locale]/user/user-roles/i18n/pl/index.ts +0 -85
- package/src/app/api/[locale]/user/user-roles/types.ts +0 -32
- package/src/app/api/i18n/de/index.ts +0 -6
- package/src/app/api/i18n/en/index.ts +0 -5
- package/src/app/api/i18n/pl/index.ts +0 -5
- package/src/app/i18n/de/index.ts +0 -18
- package/src/app/i18n/en/index.ts +0 -18
- package/src/app/i18n/pl/index.ts +0 -17
- package/src/config/constants.ts +0 -8
- package/src/config/debug.ts +0 -30
- package/src/config/env-client.ts +0 -57
- package/src/config/env.ts +0 -56
- package/src/config/i18n/de/index.ts +0 -3
- package/src/config/i18n/en/index.ts +0 -51
- package/src/config/i18n/pl/index.ts +0 -3
- package/src/i18n/core/config.ts +0 -225
- package/src/i18n/core/language-utils.ts +0 -226
- package/src/i18n/core/localization-utils.ts +0 -394
- package/src/i18n/core/scoped-translation.ts +0 -104
- package/src/i18n/core/shared-component.tsx +0 -28
- package/src/i18n/core/shared-translation-utils.ts +0 -97
- package/src/i18n/core/shared.ts +0 -44
- package/src/i18n/core/static-types.ts +0 -64
- package/src/i18n/core/translation-utils.ts +0 -186
- package/src/i18n/de/index.ts +0 -8
- package/src/i18n/en/index.ts +0 -7
- package/src/i18n/index.ts +0 -100
- package/src/i18n/pl/index.ts +0 -7
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tabs Widget Logic
|
|
3
|
-
* Shared data extraction and processing for TABS widget
|
|
4
|
-
* Used by both React and CLI implementations
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { WidgetData } from "../types";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Tab item structure
|
|
11
|
-
*/
|
|
12
|
-
export interface TabItem {
|
|
13
|
-
id: string;
|
|
14
|
-
label: string;
|
|
15
|
-
content: WidgetData;
|
|
16
|
-
disabled?: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Processed tabs data structure
|
|
21
|
-
*/
|
|
22
|
-
export interface ProcessedTabs {
|
|
23
|
-
tabs: TabItem[];
|
|
24
|
-
activeTab?: string;
|
|
25
|
-
variant?: "default" | "pills" | "underline";
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Extract and validate tabs data from WidgetData
|
|
30
|
-
*/
|
|
31
|
-
export function extractTabsData(value: WidgetData): ProcessedTabs | null {
|
|
32
|
-
// Handle object value with tabs properties
|
|
33
|
-
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
34
|
-
const tabs = "tabs" in value && Array.isArray(value.tabs) ? value.tabs : [];
|
|
35
|
-
const activeTab =
|
|
36
|
-
"activeTab" in value && typeof value.activeTab === "string" ? value.activeTab : undefined;
|
|
37
|
-
const variant =
|
|
38
|
-
"variant" in value && typeof value.variant === "string"
|
|
39
|
-
? (value.variant as "default" | "pills" | "underline")
|
|
40
|
-
: "default";
|
|
41
|
-
|
|
42
|
-
// Validate tabs
|
|
43
|
-
const validTabs = tabs
|
|
44
|
-
.filter((t) => typeof t === "object" && t !== null)
|
|
45
|
-
.map((t) => ({
|
|
46
|
-
id: "id" in t && typeof t.id === "string" ? t.id : "",
|
|
47
|
-
label: "label" in t && typeof t.label === "string" ? t.label : "",
|
|
48
|
-
content: "content" in t ? t.content : null,
|
|
49
|
-
disabled: "disabled" in t && typeof t.disabled === "boolean" ? t.disabled : false,
|
|
50
|
-
}))
|
|
51
|
-
.filter((t) => t.id && t.label);
|
|
52
|
-
|
|
53
|
-
if (validTabs.length === 0) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
tabs: validTabs,
|
|
59
|
-
activeTab: activeTab || validTabs[0].id,
|
|
60
|
-
variant,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Invalid type
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Get active tab from tabs
|
|
70
|
-
*/
|
|
71
|
-
export function getActiveTab(data: ProcessedTabs): TabItem | null {
|
|
72
|
-
return data.tabs.find((tab) => tab.id === data.activeTab) || data.tabs[0] || null;
|
|
73
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Text Widget Logic
|
|
3
|
-
* Shared data extraction and processing for TEXT widget
|
|
4
|
-
* Used by both React and CLI implementations
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { WidgetData } from "../types";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Processed text data structure
|
|
11
|
-
*/
|
|
12
|
-
export interface ProcessedText {
|
|
13
|
-
text: string;
|
|
14
|
-
truncate?: number;
|
|
15
|
-
format?: "plain" | "code" | "pre";
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Extract and validate text data from WidgetData
|
|
20
|
-
*/
|
|
21
|
-
export function extractTextData(value: WidgetData): ProcessedText | null {
|
|
22
|
-
// Handle string value directly
|
|
23
|
-
if (typeof value === "string") {
|
|
24
|
-
return {
|
|
25
|
-
text: value,
|
|
26
|
-
format: "plain",
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Handle number value
|
|
31
|
-
if (typeof value === "number") {
|
|
32
|
-
return {
|
|
33
|
-
text: String(value),
|
|
34
|
-
format: "plain",
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Handle boolean value
|
|
39
|
-
if (typeof value === "boolean") {
|
|
40
|
-
return {
|
|
41
|
-
text: value ? "true" : "false",
|
|
42
|
-
format: "plain",
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Handle object value with text properties
|
|
47
|
-
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
48
|
-
const text = "text" in value && typeof value.text === "string" ? value.text : "";
|
|
49
|
-
const truncate =
|
|
50
|
-
"truncate" in value && typeof value.truncate === "number" ? value.truncate : undefined;
|
|
51
|
-
const format = "format" in value && typeof value.format === "string" ? value.format : "plain";
|
|
52
|
-
|
|
53
|
-
if (!text) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
text,
|
|
59
|
-
truncate,
|
|
60
|
-
format: format === "code" || format === "pre" || format === "plain" ? format : "plain",
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Handle null/undefined
|
|
65
|
-
if (value === null || value === undefined) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Handle array by converting to JSON
|
|
70
|
-
if (Array.isArray(value)) {
|
|
71
|
-
return {
|
|
72
|
-
text: JSON.stringify(value),
|
|
73
|
-
format: "code",
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Truncate text to specified length
|
|
82
|
-
*/
|
|
83
|
-
export function truncateText(text: string, maxLength?: number): string {
|
|
84
|
-
if (!maxLength || text.length <= maxLength) {
|
|
85
|
-
return text;
|
|
86
|
-
}
|
|
87
|
-
// oxlint-disable-next-line prefer-template
|
|
88
|
-
return text.slice(0, maxLength - 3) + "...";
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Format text value for display
|
|
93
|
-
*/
|
|
94
|
-
export function formatText(text: string, truncate?: number): string {
|
|
95
|
-
return truncateText(text, truncate);
|
|
96
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Title Widget Logic
|
|
3
|
-
* Shared data extraction and processing for TITLE widget
|
|
4
|
-
* Used by both React and CLI implementations
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { WidgetData } from "../types";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Processed title data structure
|
|
11
|
-
*/
|
|
12
|
-
export interface ProcessedTitle {
|
|
13
|
-
text: string;
|
|
14
|
-
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
15
|
-
subtitle?: string;
|
|
16
|
-
align?: "left" | "center" | "right";
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Extract and validate title data from WidgetData
|
|
21
|
-
*/
|
|
22
|
-
export function extractTitleData(value: WidgetData): ProcessedTitle | null {
|
|
23
|
-
// Handle string value directly
|
|
24
|
-
if (typeof value === "string") {
|
|
25
|
-
return {
|
|
26
|
-
text: value,
|
|
27
|
-
level: 2,
|
|
28
|
-
align: "left",
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Handle object value with title properties
|
|
33
|
-
if (typeof value === "object" && value !== null && !Array.isArray(value)) {
|
|
34
|
-
const text = "text" in value && typeof value.text === "string" ? value.text : "";
|
|
35
|
-
|
|
36
|
-
if (!text) {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const level = "level" in value && typeof value.level === "number" ? value.level : 2;
|
|
41
|
-
const subtitle =
|
|
42
|
-
"subtitle" in value && typeof value.subtitle === "string" ? value.subtitle : undefined;
|
|
43
|
-
const align = "align" in value && typeof value.align === "string" ? value.align : "left";
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
text,
|
|
47
|
-
level:
|
|
48
|
-
level === 1 || level === 2 || level === 3 || level === 4 || level === 5 || level === 6
|
|
49
|
-
? level
|
|
50
|
-
: 2,
|
|
51
|
-
subtitle,
|
|
52
|
-
align: align === "center" || align === "right" || align === "left" ? align : "left",
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
|
|
3
|
-
import type { ResponseType } from "@/app/api/[locale]/shared/types/response.schema";
|
|
4
|
-
import type { WidgetType } from "@/app/api/[locale]/system/unified-interface/shared/types/enums";
|
|
5
|
-
import type { UserRoleValue } from "@/app/api/[locale]/user/user-roles/enum";
|
|
6
|
-
import type { CountryLanguage } from "@/i18n/core/config";
|
|
7
|
-
import type { TranslatedKeyType } from "@/i18n/core/scoped-translation";
|
|
8
|
-
import type { TParams } from "@/i18n/core/static-types";
|
|
9
|
-
|
|
10
|
-
import type { IconKey } from "../../react/icons";
|
|
11
|
-
import type { CreateApiEndpointAny, UnifiedField } from "../types/endpoint";
|
|
12
|
-
import type { Platform } from "../types/platform";
|
|
13
|
-
import type { ExtractWidgetConfig } from "./configs";
|
|
14
|
-
|
|
15
|
-
export type WidgetData =
|
|
16
|
-
| string
|
|
17
|
-
| number
|
|
18
|
-
| boolean
|
|
19
|
-
| null
|
|
20
|
-
| undefined
|
|
21
|
-
| string[]
|
|
22
|
-
| number[]
|
|
23
|
-
| WidgetData[]
|
|
24
|
-
| { [key: string]: WidgetData };
|
|
25
|
-
|
|
26
|
-
export interface WidgetInput<TKey extends string> {
|
|
27
|
-
field: UnifiedField<TKey>;
|
|
28
|
-
value: WidgetData;
|
|
29
|
-
context: WidgetRenderContext;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export type WidgetActionType =
|
|
33
|
-
| "click"
|
|
34
|
-
| "edit"
|
|
35
|
-
| "delete"
|
|
36
|
-
| "create"
|
|
37
|
-
| "navigate"
|
|
38
|
-
| "refresh"
|
|
39
|
-
| "retry"
|
|
40
|
-
| "cancel"
|
|
41
|
-
| "submit";
|
|
42
|
-
|
|
43
|
-
export type WidgetActionPayload =
|
|
44
|
-
| { type: "click"; fieldName: string; value?: string | number | boolean }
|
|
45
|
-
| { type: "edit"; fieldName: string; oldValue: string; newValue: string }
|
|
46
|
-
| { type: "delete"; id: string }
|
|
47
|
-
| { type: "create"; data: Record<string, string | number | boolean> }
|
|
48
|
-
| { type: "navigate"; url: string }
|
|
49
|
-
| { type: "refresh" }
|
|
50
|
-
| { type: "retry" }
|
|
51
|
-
| { type: "cancel" }
|
|
52
|
-
| { type: "submit"; data: Record<string, string | number | boolean> };
|
|
53
|
-
|
|
54
|
-
export interface WidgetAction {
|
|
55
|
-
type: WidgetActionType;
|
|
56
|
-
payload: WidgetActionPayload;
|
|
57
|
-
metadata?: {
|
|
58
|
-
fieldName?: string;
|
|
59
|
-
fieldPath?: string;
|
|
60
|
-
timestamp?: number;
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface WidgetRenderContext {
|
|
65
|
-
locale: CountryLanguage;
|
|
66
|
-
isInteractive: boolean;
|
|
67
|
-
permissions: readonly UserRoleValue[];
|
|
68
|
-
onNavigate?: (url: string) => void;
|
|
69
|
-
platform?:
|
|
70
|
-
| typeof Platform.TRPC
|
|
71
|
-
| typeof Platform.NEXT_PAGE
|
|
72
|
-
| typeof Platform.NEXT_API
|
|
73
|
-
| typeof Platform.CLI
|
|
74
|
-
| typeof Platform.CLI_PACKAGE;
|
|
75
|
-
theme?: "light" | "dark" | "system";
|
|
76
|
-
endpointFields?: Record<string, WidgetData>; // Original endpoint fields for nested path lookup
|
|
77
|
-
disabled?: boolean; // Disable all form inputs
|
|
78
|
-
response?: ResponseType<WidgetData>; // Full ResponseType from endpoint (includes success/error state)
|
|
79
|
-
/**
|
|
80
|
-
* Optional scoped translation function for this endpoint
|
|
81
|
-
* When provided, widgets should use this instead of the global translation function
|
|
82
|
-
* This enables module-specific translations with type safety
|
|
83
|
-
* Note: Uses method syntax for bivariance - accepts both narrow (scoped) and broad (string) key types
|
|
84
|
-
*/
|
|
85
|
-
scopedT: (locale: CountryLanguage) => {
|
|
86
|
-
t(key: string, params?: TParams): TranslatedKeyType;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Endpoint mutations available for widgets to trigger directly
|
|
90
|
-
* Widgets can call these methods to perform CRUD operations
|
|
91
|
-
* This enables definition-driven interactions without custom handlers
|
|
92
|
-
*/
|
|
93
|
-
endpointMutations?: {
|
|
94
|
-
create?: {
|
|
95
|
-
submit: (data: Record<string, WidgetData>) => Promise<void>;
|
|
96
|
-
isSubmitting?: boolean;
|
|
97
|
-
};
|
|
98
|
-
update?: {
|
|
99
|
-
submit: (data: Record<string, WidgetData>) => Promise<void>;
|
|
100
|
-
isSubmitting?: boolean;
|
|
101
|
-
};
|
|
102
|
-
delete?: {
|
|
103
|
-
submit: (data: Record<string, WidgetData>) => Promise<void>;
|
|
104
|
-
isSubmitting?: boolean;
|
|
105
|
-
};
|
|
106
|
-
read?: {
|
|
107
|
-
refetch: () => Promise<void>;
|
|
108
|
-
isLoading?: boolean;
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Base widget component props.
|
|
115
|
-
*/
|
|
116
|
-
export interface WidgetComponentProps<TKey extends string> {
|
|
117
|
-
field: UnifiedField<TKey>;
|
|
118
|
-
fieldName?: string;
|
|
119
|
-
value: WidgetData;
|
|
120
|
-
context: WidgetRenderContext;
|
|
121
|
-
className?: string;
|
|
122
|
-
onSubmit?: () => void;
|
|
123
|
-
isSubmitting?: boolean;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Field type with narrowed widget config based on WidgetType discriminator.
|
|
128
|
-
*/
|
|
129
|
-
export type NarrowedField<TKey extends string, T extends WidgetType> = UnifiedField<TKey> & {
|
|
130
|
-
ui: ExtractWidgetConfig<T, TKey>;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// ============================================================================
|
|
134
|
-
// DISCRIMINATED UNION TYPES FOR TYPE-SAFE WIDGET PROPS
|
|
135
|
-
// ============================================================================
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Base widget props shared across all platforms.
|
|
139
|
-
* The `widgetType` field acts as the discriminator for the union.
|
|
140
|
-
*/
|
|
141
|
-
export interface BaseWidgetProps<TKey extends string, T extends WidgetType> {
|
|
142
|
-
widgetType: T;
|
|
143
|
-
field: NarrowedField<TKey, T>;
|
|
144
|
-
value: WidgetData;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Maps each WidgetType to its base props.
|
|
149
|
-
* Used to create discriminated unions that TypeScript can narrow automatically.
|
|
150
|
-
*/
|
|
151
|
-
export type WidgetPropsMap<TKey extends string> = {
|
|
152
|
-
[T in WidgetType]: BaseWidgetProps<TKey, T>;
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Union of all widget props - TypeScript narrows this in switch statements.
|
|
157
|
-
*/
|
|
158
|
-
export type WidgetPropsUnion<TKey extends string> = WidgetPropsMap<TKey>[WidgetType];
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* React-specific widget props. Extends base props with React context and form handling.
|
|
162
|
-
*/
|
|
163
|
-
export interface ReactWidgetProps<
|
|
164
|
-
T extends WidgetType,
|
|
165
|
-
TKey extends string,
|
|
166
|
-
> extends BaseWidgetProps<TKey, T> {
|
|
167
|
-
context: WidgetRenderContext;
|
|
168
|
-
fieldName?: string;
|
|
169
|
-
onAction?: (action: WidgetAction) => void | Promise<void>;
|
|
170
|
-
className?: string;
|
|
171
|
-
onSubmit?: () => void;
|
|
172
|
-
onCancel?: () => void;
|
|
173
|
-
isSubmitting?: boolean;
|
|
174
|
-
endpoint: CreateApiEndpointAny;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Value-only React widget props for widgets that don't need field definition.
|
|
179
|
-
* Use this for leaf widgets that only consume value/context (e.g., MetricCardWidget).
|
|
180
|
-
*/
|
|
181
|
-
export interface ValueOnlyReactWidgetProps<T extends WidgetType> {
|
|
182
|
-
widgetType: T;
|
|
183
|
-
value: WidgetData;
|
|
184
|
-
context: WidgetRenderContext;
|
|
185
|
-
className?: string;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Maps each WidgetType to React-specific props.
|
|
190
|
-
*/
|
|
191
|
-
export type ReactWidgetPropsMap<TKey extends string> = {
|
|
192
|
-
[T in WidgetType]: ReactWidgetProps<T, TKey>;
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Union of all React widget props.
|
|
197
|
-
*/
|
|
198
|
-
export type ReactWidgetPropsUnion<TKey extends string> = ReactWidgetPropsMap<TKey>[WidgetType];
|
|
199
|
-
|
|
200
|
-
export type WidgetRenderer<TKey extends string> = (
|
|
201
|
-
props: WidgetComponentProps<TKey>,
|
|
202
|
-
) => React.ReactElement | string | null;
|
|
203
|
-
|
|
204
|
-
export interface WidgetRegistryEntry<TKey extends string> {
|
|
205
|
-
type: WidgetType;
|
|
206
|
-
component: React.ComponentType<WidgetComponentProps<TKey>> | WidgetRenderer<TKey>;
|
|
207
|
-
platforms?: Array<
|
|
208
|
-
| typeof Platform.TRPC
|
|
209
|
-
| typeof Platform.NEXT_PAGE
|
|
210
|
-
| typeof Platform.NEXT_API
|
|
211
|
-
| typeof Platform.CLI
|
|
212
|
-
>;
|
|
213
|
-
supportsEditing?: boolean;
|
|
214
|
-
supportsCRUD?: boolean;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
export interface WidgetErrorBoundaryProps {
|
|
218
|
-
children: React.ReactNode;
|
|
219
|
-
locale: CountryLanguage;
|
|
220
|
-
fallback?: React.ReactElement;
|
|
221
|
-
onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
export interface WidgetLoadingProps {
|
|
225
|
-
message?: string;
|
|
226
|
-
size?: "sm" | "md" | "lg";
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
export interface WidgetEmptyStateProps {
|
|
230
|
-
message: string;
|
|
231
|
-
icon?: IconKey;
|
|
232
|
-
action?: {
|
|
233
|
-
label: string;
|
|
234
|
-
onClick: () => void;
|
|
235
|
-
};
|
|
236
|
-
}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import type { CountryLanguage } from "@/i18n/core/config";
|
|
2
|
-
import { simpleT } from "@/i18n/core/shared";
|
|
3
|
-
import type { TParams } from "@/i18n/core/static-types";
|
|
4
|
-
|
|
5
|
-
import type { CreateApiEndpointAny, UnifiedField } from "../../types/endpoint";
|
|
6
|
-
import { WidgetType } from "../../types/enums";
|
|
7
|
-
import type { WidgetRenderContext } from "../types";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Check if field is used for request (form input)
|
|
11
|
-
*/
|
|
12
|
-
export function isRequestField<TKey extends string>(field: UnifiedField<TKey>): boolean {
|
|
13
|
-
if ("usage" in field && field.usage && typeof field.usage === "object") {
|
|
14
|
-
return "request" in field.usage && field.usage.request !== undefined;
|
|
15
|
-
}
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Check if field is an actual form input field (FORM_FIELD widget with request usage)
|
|
21
|
-
* Used to determine if a container should show auto submit buttons
|
|
22
|
-
*/
|
|
23
|
-
export function isFormInputField<TKey extends string>(field: UnifiedField<TKey>): boolean {
|
|
24
|
-
// Must be a FORM_FIELD widget type
|
|
25
|
-
if (field.ui?.type !== WidgetType.FORM_FIELD) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
// Must have request usage
|
|
29
|
-
return isRequestField(field);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Check if field is used for response (display output)
|
|
34
|
-
*/
|
|
35
|
-
export function isResponseField<TKey extends string>(field: UnifiedField<TKey>): boolean {
|
|
36
|
-
if ("usage" in field && field.usage && typeof field.usage === "object") {
|
|
37
|
-
return "response" in field.usage && field.usage.response === true;
|
|
38
|
-
}
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Get field name for form binding
|
|
44
|
-
*/
|
|
45
|
-
export function getFieldName<TKey extends string>(field: UnifiedField<TKey>): string {
|
|
46
|
-
if ("name" in field && typeof field.name === "string") {
|
|
47
|
-
return field.name;
|
|
48
|
-
}
|
|
49
|
-
if ("apiKey" in field && typeof field.apiKey === "string") {
|
|
50
|
-
return field.apiKey;
|
|
51
|
-
}
|
|
52
|
-
if ("uiKey" in field && typeof field.uiKey === "string") {
|
|
53
|
-
return field.uiKey;
|
|
54
|
-
}
|
|
55
|
-
return "value";
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Get field placeholder text
|
|
60
|
-
*/
|
|
61
|
-
export function getFieldPlaceholder<TKey extends string>(
|
|
62
|
-
field: UnifiedField<TKey>,
|
|
63
|
-
): string | undefined {
|
|
64
|
-
if (
|
|
65
|
-
"ui" in field &&
|
|
66
|
-
field.ui &&
|
|
67
|
-
typeof field.ui === "object" &&
|
|
68
|
-
"placeholder" in field.ui &&
|
|
69
|
-
typeof field.ui.placeholder === "string"
|
|
70
|
-
) {
|
|
71
|
-
return field.ui.placeholder;
|
|
72
|
-
}
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Check if field is required
|
|
78
|
-
*/
|
|
79
|
-
export function isFieldRequired<TKey extends string>(field: UnifiedField<TKey>): boolean {
|
|
80
|
-
if ("required" in field && typeof field.required === "boolean") {
|
|
81
|
-
return field.required;
|
|
82
|
-
}
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Get translation function from context
|
|
88
|
-
* Uses scoped translation function if provided, otherwise falls back to global
|
|
89
|
-
*
|
|
90
|
-
* @param context - Widget render context
|
|
91
|
-
* @returns Translation function { t }
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* ```ts
|
|
95
|
-
* const { t } = getTranslator(context);
|
|
96
|
-
* t("form.fields.name.label");
|
|
97
|
-
* ```
|
|
98
|
-
*/
|
|
99
|
-
export function getTranslator(context: WidgetRenderContext): {
|
|
100
|
-
t: <K extends string>(key: K, params?: TParams) => string;
|
|
101
|
-
} {
|
|
102
|
-
if (context.scopedT) {
|
|
103
|
-
return context.scopedT(context.locale) as {
|
|
104
|
-
t: <K extends string>(key: K, params?: TParams) => string;
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
return simpleT(context.locale) as {
|
|
108
|
-
t: <K extends string>(key: K, params?: TParams) => string;
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export function getTranslatorFromEndpoint<TEndpoint extends CreateApiEndpointAny>(
|
|
113
|
-
endpoint: TEndpoint,
|
|
114
|
-
): (locale: CountryLanguage) => {
|
|
115
|
-
t: <K extends string>(key: K, params?: TParams) => string;
|
|
116
|
-
} {
|
|
117
|
-
return endpoint.scopedTranslation.scopedT as (locale: CountryLanguage) => {
|
|
118
|
-
t: <K extends string>(key: K, params?: TParams) => string;
|
|
119
|
-
};
|
|
120
|
-
}
|