feat(diagnostics): add health engine
This commit is contained in:
@@ -468,4 +468,93 @@ export const en: Translations = {
|
||||
compareSize: 'Size',
|
||||
compareUnknown: 'unknown',
|
||||
},
|
||||
diagnostics: {
|
||||
title: 'Marketplace Diagnostics',
|
||||
disabledTitle: 'Diagnostics unavailable',
|
||||
disabledDescription: 'Diagnostics page is available only in development mode.',
|
||||
generatedAt: 'Generated at {{value}}',
|
||||
healthScore: 'Health score',
|
||||
summary: 'Summary',
|
||||
passedChecks: '{{count}} passed checks',
|
||||
warnings: '{{count}} warnings',
|
||||
errors: '{{count}} errors',
|
||||
critical: '{{count}} critical',
|
||||
healthChecks: 'Health checks',
|
||||
results: 'Detailed results',
|
||||
noIssues: 'No diagnostics issues found.',
|
||||
ok: 'OK',
|
||||
failed: 'Failed',
|
||||
affectedComponent: 'Affected component',
|
||||
suggestedResolution: 'Suggested resolution',
|
||||
severity: {
|
||||
info: 'Info',
|
||||
warning: 'Warning',
|
||||
error: 'Error',
|
||||
critical: 'Critical',
|
||||
},
|
||||
checks: {
|
||||
bootstrapLoaded: 'Bootstrap loaded',
|
||||
tenantResolved: 'Tenant resolved',
|
||||
runtimeInitialized: 'Runtime initialized',
|
||||
themeLoaded: 'Theme loaded',
|
||||
widgetManifestLoaded: 'Widget manifest loaded',
|
||||
sectionEngineInitialized: 'Section engine reachable',
|
||||
configurationEngineInitialized: 'Configuration engine initialized',
|
||||
translationResourcesAvailable: 'Translations available',
|
||||
requiredAssetsAvailable: 'Required assets healthy',
|
||||
},
|
||||
bootstrapMissingTitle: 'Bootstrap missing',
|
||||
bootstrapMissingDescription: 'Bootstrap configuration could not be loaded.',
|
||||
bootstrapMissingResolution: 'Verify bootstrap provider response and local mock availability.',
|
||||
requiredPropertyMissingTitle: 'Required property missing',
|
||||
requiredPropertyMissingDescription: 'Required bootstrap property is missing.',
|
||||
requiredPropertyMissingResolution: 'Add missing property to bootstrap payload.',
|
||||
unknownWidgetTypeTitle: 'Unknown widget type',
|
||||
unknownWidgetTypeDescription: 'Widget type is not present in widget manifest.',
|
||||
unknownWidgetTypeResolution: 'Register widget in manifest or remove invalid widget config.',
|
||||
duplicateIdTitle: 'Duplicate identifier',
|
||||
duplicatePageIdDescription: 'Duplicate page id detected.',
|
||||
duplicateSectionIdDescription: 'Duplicate section id detected.',
|
||||
duplicateWidgetIdDescription: 'Duplicate widget id detected.',
|
||||
duplicateIdResolution: 'Ensure ids are unique within bootstrap config.',
|
||||
unknownLayoutTitle: 'Unknown layout',
|
||||
unknownLayoutDescription: 'Page layout value is not recognized.',
|
||||
unknownLayoutResolution: 'Use supported layout or extend diagnostics allow-list.',
|
||||
invalidFeatureFlagTitle: 'Invalid feature flag',
|
||||
invalidFeatureFlagDescription: 'Feature flag value must be boolean.',
|
||||
invalidFeatureFlagResolution: 'Normalize feature flag values to true or false.',
|
||||
brokenPageDefinitionTitle: 'Broken page definition',
|
||||
brokenPageDefinitionDescription: 'Page definition is incomplete.',
|
||||
brokenPageDefinitionResolution: 'Add missing route, title, key, or sections.',
|
||||
invalidNavigationTargetTitle: 'Invalid navigation target',
|
||||
invalidNavigationTargetDescription: 'Navigation route does not match known routes.',
|
||||
invalidNavigationTargetResolution: 'Update route target or add matching route surface.',
|
||||
missingTranslationTitle: 'Missing translation',
|
||||
missingTranslationDescription: 'Translation key resolves to itself.',
|
||||
missingTranslationResolution: 'Add missing key to translation resources.',
|
||||
missingMediaTitle: 'Missing media',
|
||||
missingMediaDescription: 'Expected branding media is missing.',
|
||||
missingMediaResolution: 'Provide valid media URLs in bootstrap branding config.',
|
||||
runtimeNotInitializedTitle: 'Runtime not initialized',
|
||||
runtimeNotInitializedDescription: 'Platform runtime state has not been marked initialized.',
|
||||
runtimeNotInitializedResolution: 'Verify PlatformRuntimeService initialize sequence.',
|
||||
configFallbackUsageTitle: 'Configuration fallback in use',
|
||||
configFallbackUsageDescription: 'Development runtime is using fallback or mock configuration.',
|
||||
configFallbackUsageResolution: 'Switch provider mode if real bootstrap validation is needed.',
|
||||
missingDatasourceTitle: 'Missing datasource',
|
||||
missingDatasourceDescription: 'Widget supports datasource selection but none was declared.',
|
||||
missingDatasourceResolution: 'Define source in widget props or manifest default settings.',
|
||||
widgetRenderFailureTitle: 'Widget render failure',
|
||||
widgetRenderFailureDescription: 'Widget fell back to unknown widget renderer.',
|
||||
widgetRenderFailureResolution: 'Register widget component or fix manifest component key.',
|
||||
brokenRouteTitle: 'Broken route expectation',
|
||||
brokenRouteDescription: 'Expected route surface is missing.',
|
||||
brokenRouteResolution: 'Restore route registration or update diagnostics expectation.',
|
||||
imageLoadFailedTitle: 'Image load failed',
|
||||
imageLoadFailedDescription: 'Rendered image failed to load.',
|
||||
imageLoadFailedResolution: 'Verify asset path, CORS, and media availability.',
|
||||
optionalDataMissingTitle: 'Optional data missing',
|
||||
optionalDataMissingDescription: 'Optional configuration data is absent.',
|
||||
optionalDataMissingResolution: 'Add optional value if UX depends on it.',
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user