|
| 1 | +{ |
| 2 | + "description": "Ratchet of the DEFAULT VALUE of every authorable key in one category that has one (#4666) — what a metadata author gets when they omit the key, which for AI-authored metadata is most of the time. Sharded by category like authorable-surface/; the gate reads the whole authorable-defaults/ directory as ONE set. Each line is \"<def>:<key> = <canonical JSON>\". Additions (a NEW key that ships with a default) are auto-recorded — commit the change. CHANGING, ADDING or REMOVING the default of a key that already existed is NOT auto-recorded: it silently alters the behaviour of already-deployed metadata, so it fails check:authorable-surface until it is declared in DEFAULT_CHANGES_BY_MAJOR (scripts/lib/default-changes.ts). Constraints are deliberately NOT recorded here — a tightened bound REJECTS a document loudly, which is a different and self-announcing class (maintainer ruling on #4666, direction B). See #4666, #4661.", |
| 3 | + "category": "api", |
| 4 | + "defaults": [ |
| 5 | + "api/ApiDocumentationConfig:changelog = []", |
| 6 | + "api/ApiDocumentationConfig:codeTemplates = []", |
| 7 | + "api/ApiDocumentationConfig:enabled = true", |
| 8 | + "api/ApiDocumentationConfig:generateOpenApi = true", |
| 9 | + "api/ApiDocumentationConfig:generateTestCollections = true", |
| 10 | + "api/ApiDocumentationConfig:servers = []", |
| 11 | + "api/ApiDocumentationConfig:testCollections = []", |
| 12 | + "api/ApiDocumentationConfig:title = \"API Documentation\"", |
| 13 | + "api/ApiEndpoint:authRequired = true", |
| 14 | + "api/ApiTestCollection:variables = {}", |
| 15 | + "api/ApiTestRequest:headers = {}", |
| 16 | + "api/ApiTestRequest:queryParams = {}", |
| 17 | + "api/ApiTestRequest:variables = {}", |
| 18 | + "api/ApiTestingUiConfig:defaultModelsExpandDepth = 1", |
| 19 | + "api/ApiTestingUiConfig:displayRequestDuration = true", |
| 20 | + "api/ApiTestingUiConfig:enableCors = true", |
| 21 | + "api/ApiTestingUiConfig:enableFilter = true", |
| 22 | + "api/ApiTestingUiConfig:enableTryItOut = true", |
| 23 | + "api/ApiTestingUiConfig:path = \"/api-docs\"", |
| 24 | + "api/ApiTestingUiConfig:syntaxHighlighting = true", |
| 25 | + "api/ApiTestingUiConfig:theme = \"light\"", |
| 26 | + "api/AuthFeaturesConfig:magicLink = false", |
| 27 | + "api/AuthFeaturesConfig:organization = false", |
| 28 | + "api/AuthFeaturesConfig:passkeys = false", |
| 29 | + "api/AuthFeaturesConfig:twoFactor = false", |
| 30 | + "api/AuthProviderInfo:type = \"social\"", |
| 31 | + "api/BatchConfig:enabled = true", |
| 32 | + "api/BatchConfig:maxRecordsPerBatch = 200", |
| 33 | + "api/BatchEndpointsConfig:defaultAtomic = true", |
| 34 | + "api/BatchEndpointsConfig:enableBatchEndpoint = true", |
| 35 | + "api/BatchEndpointsConfig:maxBatchSize = 200", |
| 36 | + "api/BatchLoadingStrategy:associationLoading = \"batch\"", |
| 37 | + "api/BatchOptions:atomic = false", |
| 38 | + "api/BatchOptions:continueOnError = false", |
| 39 | + "api/BatchOptions:returnRecords = false", |
| 40 | + "api/BulkRequest:allOrNone = true", |
| 41 | + "api/CacheInvalidationRequest:cascade = false", |
| 42 | + "api/CreateExportJobRequest:encoding = \"utf-8\"", |
| 43 | + "api/CreateExportJobRequest:format = \"csv\"", |
| 44 | + "api/CreateExportJobRequest:includeHeaders = true", |
| 45 | + "api/CreateFlowRequest:runAs = \"user\"", |
| 46 | + "api/CreateFlowRequest:status = \"draft\"", |
| 47 | + "api/CreateFlowRequest:version = 1", |
| 48 | + "api/CreateImportJobRequest:createMissingOptions = false", |
| 49 | + "api/CreateImportJobRequest:dryRun = false", |
| 50 | + "api/CreateImportJobRequest:runAutomations = false", |
| 51 | + "api/CreateImportJobRequest:skipBlankMatchKey = false", |
| 52 | + "api/CreateImportJobRequest:treatAsHistorical = false", |
| 53 | + "api/CreateImportJobRequest:trimWhitespace = true", |
| 54 | + "api/CreateImportJobRequest:writeMode = \"insert\"", |
| 55 | + "api/CrossObjectBatchOperation:action = \"create\"", |
| 56 | + "api/CrossObjectBatchRequest:atomic = true", |
| 57 | + "api/CrudEndpointsConfig:dataPrefix = \"/data\"", |
| 58 | + "api/CrudEndpointsConfig:objectParamStyle = \"path\"", |
| 59 | + "api/DataLoaderConfig:batchScheduleFn = \"microtask\"", |
| 60 | + "api/DataLoaderConfig:cacheEnabled = true", |
| 61 | + "api/DataLoaderConfig:coalesceRequests = true", |
| 62 | + "api/DataLoaderConfig:maxBatchSize = 100", |
| 63 | + "api/DeviceRequestResponse:interval = 2", |
| 64 | + "api/DispatcherConfig:fallback = \"404\"", |
| 65 | + "api/DispatcherRoute:authRequired = true", |
| 66 | + "api/DispatcherRoute:criticality = \"optional\"", |
| 67 | + "api/ETag:weak = false", |
| 68 | + "api/EnhancedApiError:retryable = false", |
| 69 | + "api/ErrorHandlingConfig:enabled = true", |
| 70 | + "api/ErrorHandlingConfig:exposeInternalErrors = false", |
| 71 | + "api/ErrorHandlingConfig:includeDocumentation = true", |
| 72 | + "api/ErrorHandlingConfig:includeRequestId = true", |
| 73 | + "api/ErrorHandlingConfig:includeStackTrace = false", |
| 74 | + "api/ErrorHandlingConfig:includeTimestamp = true", |
| 75 | + "api/ErrorHandlingConfig:logErrors = true", |
| 76 | + "api/FieldMappingEntry:required = false", |
| 77 | + "api/FieldMappingEntry:transform = \"none\"", |
| 78 | + "api/GetMetaItemCachedResponse:notModified = false", |
| 79 | + "api/GetPresignedUrlRequest:scope = \"user\"", |
| 80 | + "api/ImportRequest:createMissingOptions = false", |
| 81 | + "api/ImportRequest:dryRun = false", |
| 82 | + "api/ImportRequest:runAutomations = false", |
| 83 | + "api/ImportRequest:skipBlankMatchKey = false", |
| 84 | + "api/ImportRequest:treatAsHistorical = false", |
| 85 | + "api/ImportRequest:trimWhitespace = true", |
| 86 | + "api/ImportRequest:writeMode = \"insert\"", |
| 87 | + "api/ImportValidationConfig:maxErrors = 100", |
| 88 | + "api/ImportValidationConfig:mode = \"strict\"", |
| 89 | + "api/ImportValidationConfig:trimWhitespace = true", |
| 90 | + "api/InitiateChunkedUploadRequest:chunkSize = 5242880", |
| 91 | + "api/InitiateChunkedUploadRequest:scope = \"user\"", |
| 92 | + "api/InstallPackageRequest:enableOnInstall = true", |
| 93 | + "api/ListExportJobsRequest:limit = 20", |
| 94 | + "api/ListFlowsRequest:limit = 50", |
| 95 | + "api/ListImportJobsRequest:limit = 50", |
| 96 | + "api/ListImportJobsRequest:offset = 0", |
| 97 | + "api/ListInstalledPackagesRequest:limit = 50", |
| 98 | + "api/ListNotificationsRequest:limit = 20", |
| 99 | + "api/ListRunsRequest:limit = 20", |
| 100 | + "api/LoginRequest:type = \"email\"", |
| 101 | + "api/MetadataBulkRegisterRequest:continueOnError = false", |
| 102 | + "api/MetadataBulkRegisterRequest:validate = true", |
| 103 | + "api/MetadataCacheResponse:notModified = false", |
| 104 | + "api/MetadataEndpointsConfig:cacheTtl = 3600", |
| 105 | + "api/MetadataEndpointsConfig:enableCache = true", |
| 106 | + "api/MetadataEndpointsConfig:prefix = \"/meta\"", |
| 107 | + "api/MetadataExportRequest:format = \"json\"", |
| 108 | + "api/MetadataImportRequest:conflictResolution = \"skip\"", |
| 109 | + "api/MetadataImportRequest:dryRun = false", |
| 110 | + "api/MetadataImportRequest:validate = true", |
| 111 | + "api/MetadataOverlaySaveRequest:active = true", |
| 112 | + "api/MetadataOverlaySaveRequest:scope = \"platform\"", |
| 113 | + "api/MetadataQueryRequest:page = 1", |
| 114 | + "api/MetadataQueryRequest:pageSize = 50", |
| 115 | + "api/MetadataQueryRequest:sortBy = \"name\"", |
| 116 | + "api/MetadataQueryRequest:sortOrder = \"asc\"", |
| 117 | + "api/Notification:read = false", |
| 118 | + "api/NotificationPreferences:digest = \"none\"", |
| 119 | + "api/NotificationPreferences:email = true", |
| 120 | + "api/NotificationPreferences:inApp = true", |
| 121 | + "api/NotificationPreferences:push = true", |
| 122 | + "api/ODataConfig:enabled = true", |
| 123 | + "api/ODataConfig:path = \"/odata\"", |
| 124 | + "api/ODataQueryAdapter:usePrefix = true", |
| 125 | + "api/ODataQueryAdapter:version = \"v4\"", |
| 126 | + "api/OpenApiGenerationConfig:apiVersion = \"1.0.0\"", |
| 127 | + "api/OpenApiGenerationConfig:enabled = true", |
| 128 | + "api/OpenApiGenerationConfig:generateSchemas = true", |
| 129 | + "api/OpenApiGenerationConfig:includeExamples = true", |
| 130 | + "api/OpenApiGenerationConfig:includeInternal = false", |
| 131 | + "api/OpenApiGenerationConfig:outputPath = \"/api/docs/openapi.json\"", |
| 132 | + "api/OpenApiGenerationConfig:title = \"ObjectStack API\"", |
| 133 | + "api/OpenApiGenerationConfig:uiFramework = \"swagger-ui\"", |
| 134 | + "api/OpenApiGenerationConfig:uiPath = \"/api/docs\"", |
| 135 | + "api/OpenApiGenerationConfig:version = \"3.0.3\"", |
| 136 | + "api/OpenApiSpec:openapi = \"3.0.0\"", |
| 137 | + "api/OpenApiSpec:servers = []", |
| 138 | + "api/PackageInstallRequest:enableOnInstall = true", |
| 139 | + "api/PackageRollbackRequest:rollbackCustomizations = true", |
| 140 | + "api/PackageUpgradeRequest:createSnapshot = true", |
| 141 | + "api/PackageUpgradeRequest:dryRun = false", |
| 142 | + "api/PackageUpgradeRequest:mergeStrategy = \"three-way-merge\"", |
| 143 | + "api/PackageUpgradeRequest:skipValidation = false", |
| 144 | + "api/QueryOptimizationConfig:enableQueryPlan = false", |
| 145 | + "api/RealtimeConfig:enabled = true", |
| 146 | + "api/RealtimeConfig:transport = \"websocket\"", |
| 147 | + "api/RequestValidationConfig:enabled = true", |
| 148 | + "api/RequestValidationConfig:includeFieldErrors = true", |
| 149 | + "api/RequestValidationConfig:mode = \"strict\"", |
| 150 | + "api/RequestValidationConfig:validateBody = true", |
| 151 | + "api/RequestValidationConfig:validateHeaders = false", |
| 152 | + "api/RequestValidationConfig:validateParams = true", |
| 153 | + "api/RequestValidationConfig:validateQuery = true", |
| 154 | + "api/ResponseEnvelopeConfig:enabled = true", |
| 155 | + "api/ResponseEnvelopeConfig:includeDuration = false", |
| 156 | + "api/ResponseEnvelopeConfig:includeMetadata = true", |
| 157 | + "api/ResponseEnvelopeConfig:includeRequestId = true", |
| 158 | + "api/ResponseEnvelopeConfig:includeTimestamp = true", |
| 159 | + "api/ResponseEnvelopeConfig:includeTraceId = false", |
| 160 | + "api/ResponseEnvelopeConfig:skipIfWrapped = true", |
| 161 | + "api/RestApiConfig:basePath = \"/api\"", |
| 162 | + "api/RestApiConfig:enableBatch = true", |
| 163 | + "api/RestApiConfig:enableCrud = true", |
| 164 | + "api/RestApiConfig:enableDiscovery = true", |
| 165 | + "api/RestApiConfig:enableMetadata = true", |
| 166 | + "api/RestApiConfig:enableOpenApi = true", |
| 167 | + "api/RestApiConfig:enableProjectScoping = false", |
| 168 | + "api/RestApiConfig:enableUi = true", |
| 169 | + "api/RestApiConfig:projectResolution = \"auto\"", |
| 170 | + "api/RestApiConfig:version = \"v1\"", |
| 171 | + "api/RestApiEndpoint:cacheable = false", |
| 172 | + "api/RestApiEndpoint:public = false", |
| 173 | + "api/RestApiPluginConfig:basePath = \"/api\"", |
| 174 | + "api/RestApiPluginConfig:enabled = true", |
| 175 | + "api/RestApiPluginConfig:version = \"v1\"", |
| 176 | + "api/RestApiRouteRegistration:authRequired = true", |
| 177 | + "api/RestQueryAdapter:fieldsParam = \"fields\"", |
| 178 | + "api/RestQueryAdapter:filterStyle = \"bracket\"", |
| 179 | + "api/RouteDefinition:category = \"api\"", |
| 180 | + "api/RouteDefinition:public = false", |
| 181 | + "api/RouteGenerationConfig:nameTransform = \"none\"", |
| 182 | + "api/RouterConfig:basePath = \"/api\"", |
| 183 | + "api/RouterConfig:mounts = {\"ai\":\"/ai\",\"analytics\":\"/analytics\",\"auth\":\"/auth\",\"automation\":\"/automation\",\"data\":\"/data\",\"i18n\":\"/i18n\",\"metadata\":\"/meta\",\"notifications\":\"/notifications\",\"packages\":\"/packages\",\"realtime\":\"/realtime\",\"storage\":\"/storage\",\"ui\":\"/ui\"}", |
| 184 | + "api/ScheduleExportRequest:format = \"csv\"", |
| 185 | + "api/ScheduledExport:enabled = true", |
| 186 | + "api/ScheduledExport:format = \"csv\"", |
| 187 | + "api/SessionUser:emailVerified = false", |
| 188 | + "api/SessionUser:language = \"en\"", |
| 189 | + "api/SessionUser:roles = []", |
| 190 | + "api/VersioningConfig:headerName = \"ObjectStack-Version\"", |
| 191 | + "api/VersioningConfig:includeInDiscovery = true", |
| 192 | + "api/VersioningConfig:queryParamName = \"version\"", |
| 193 | + "api/VersioningConfig:strategy = \"urlPath\"", |
| 194 | + "api/VersioningConfig:urlPrefix = \"/api\"", |
| 195 | + "api/WebSocketConfig:maxReconnectAttempts = 5", |
| 196 | + "api/WebSocketConfig:pingInterval = 30000", |
| 197 | + "api/WebSocketConfig:reconnect = true", |
| 198 | + "api/WebSocketConfig:reconnectInterval = 1000", |
| 199 | + "api/WebSocketConfig:timeout = 5000", |
| 200 | + "api/WebSocketServerConfig:cursorSharing = false", |
| 201 | + "api/WebSocketServerConfig:enabled = false", |
| 202 | + "api/WebSocketServerConfig:heartbeatInterval = 30000", |
| 203 | + "api/WebSocketServerConfig:path = \"/ws\"", |
| 204 | + "api/WebSocketServerConfig:presence = false", |
| 205 | + "api/WebSocketServerConfig:reconnectAttempts = 5" |
| 206 | + ] |
| 207 | +} |
0 commit comments