182 lines
4.8 KiB
JSON
182 lines
4.8 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-ROUTE",
|
|
"path": "src/features/installed-feature-contracts.js",
|
|
"exportName": "ROUTE_REGISTRY",
|
|
"owner": "feature-routing-navigation-guard-contract",
|
|
"uniqueFields": ["routeId", "path", "chunkId"],
|
|
"allowedValues": {
|
|
"paramsSchema": [null, "NotFoundSplat"],
|
|
"searchSchema": [null, "ReferenceResourceListQuery"],
|
|
"loadingSurface": [
|
|
"app-shell",
|
|
"example-page",
|
|
"reference-resource-list",
|
|
"none"
|
|
],
|
|
"errorSurface": [
|
|
"route-boundary",
|
|
"feature-boundary",
|
|
"not-found"
|
|
],
|
|
"chunkId": [
|
|
"route-home",
|
|
"route-examples-ui",
|
|
"route-examples-states",
|
|
"route-examples-auth",
|
|
"route-reference-resources",
|
|
"route-not-found"
|
|
]
|
|
},
|
|
"references": [
|
|
{
|
|
"field": "routeId",
|
|
"registryId": "FE-REG-ROUTE-RUNTIME",
|
|
"targetField": "routeId"
|
|
}
|
|
],
|
|
"requiredFields": [
|
|
"routeId",
|
|
"path",
|
|
"paramsSchema",
|
|
"searchSchema",
|
|
"access",
|
|
"loadingSurface",
|
|
"errorSurface",
|
|
"chunkId"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ROUTE-RUNTIME",
|
|
"path": "src/features/installed-feature-contracts.js",
|
|
"exportName": "ROUTE_RUNTIME_CONTRACT",
|
|
"owner": "feature-frontend-routing-release-recovery-runtime",
|
|
"requiredFields": [
|
|
"routeId",
|
|
"moduleId",
|
|
"paramsCodec",
|
|
"searchCodec"
|
|
],
|
|
"uniqueFields": ["routeId", "moduleId"],
|
|
"allowedValues": {
|
|
"moduleId": [
|
|
"home-page",
|
|
"ui-gallery-page",
|
|
"state-gallery-page",
|
|
"auth-example-page",
|
|
"reference-resource-page",
|
|
"not-found-page"
|
|
],
|
|
"paramsCodec": ["none", "NotFoundSplat"],
|
|
"searchCodec": ["none", "ReferenceResourceListQuery"]
|
|
},
|
|
"references": [
|
|
{
|
|
"field": "routeId",
|
|
"registryId": "FE-REG-ROUTE",
|
|
"targetField": "routeId"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-API",
|
|
"path": "src/features/installed-feature-contracts.js",
|
|
"exportName": "API_OPERATIONS",
|
|
"owner": "feature-api-client-response-envelope-contract",
|
|
"requiredFields": [
|
|
"method",
|
|
"path",
|
|
"operationId",
|
|
"auth",
|
|
"timeoutMs",
|
|
"idempotency",
|
|
"retry",
|
|
"requestSource",
|
|
"requestSchema",
|
|
"responseSchema",
|
|
"owner"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ENV",
|
|
"path": "src/contracts/env.js",
|
|
"exportName": "ENV_REGISTRY",
|
|
"owner": "feature-frontend-env-runtime-config-contract",
|
|
"requiredFields": ["phase", "classification", "required", "defaultValue"]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-STORAGE",
|
|
"path": "src/contracts/storage-keys.js",
|
|
"exportName": "STORAGE_REGISTRY",
|
|
"owner": "feature-frontend-storage-registry-contract",
|
|
"requiredFields": [
|
|
"logicalName",
|
|
"physicalKey",
|
|
"backend",
|
|
"classification",
|
|
"schemaVersion",
|
|
"ttl",
|
|
"migration",
|
|
"quotaFallback"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-ERROR",
|
|
"path": "src/contracts/errors.js",
|
|
"exportName": "ERROR_REGISTRY",
|
|
"owner": "feature-frontend-error-classification-boundary-contract",
|
|
"requiredFields": [
|
|
"kind",
|
|
"defaultRetryable",
|
|
"severity",
|
|
"userMessageKey",
|
|
"action",
|
|
"telemetryEvent",
|
|
"redaction"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-QUERY",
|
|
"path": "src/features/installed-feature-contracts.js",
|
|
"exportName": "QUERY_REGISTRY",
|
|
"owner": "feature-server-state-caching-contract",
|
|
"requiredFields": [
|
|
"namespace",
|
|
"serialization",
|
|
"identity",
|
|
"invalidation",
|
|
"version",
|
|
"persistence"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-TELEMETRY",
|
|
"path": "src/contracts/telemetry.js",
|
|
"exportName": "TELEMETRY_REGISTRY",
|
|
"owner": "feature-frontend-observability-logging-trace-contract",
|
|
"requiredFields": [
|
|
"eventName",
|
|
"trigger",
|
|
"requiredAttributes",
|
|
"optionalAttributes",
|
|
"forbiddenAttributes",
|
|
"sampling",
|
|
"delivery"
|
|
]
|
|
},
|
|
{
|
|
"registryId": "FE-REG-RELEASE",
|
|
"path": "src/contracts/release-tokens.js",
|
|
"exportName": "RELEASE_TOKEN_REGISTRY",
|
|
"owner": "feature-frontend-release-cache-rollback-contract",
|
|
"requiredFields": ["token", "source", "compatibilityRole"]
|
|
}
|
|
],
|
|
"compatibilityImpact": {
|
|
"allowed": ["none", "additive", "behavior-change", "breaking"],
|
|
"current": "behavior-change"
|
|
}
|
|
}
|