studiocms 0.3.0 → 0.4.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 (263) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/cli/add/index.d.ts +2 -2
  3. package/dist/cli/add/npm-utils.d.ts +6 -6
  4. package/dist/cli/add/tryToInstallPlugins.d.ts +1 -1
  5. package/dist/cli/add/updateStudioCMSConfig.d.ts +1 -1
  6. package/dist/cli/add/validatePlugins.d.ts +1 -1
  7. package/dist/cli/crypto/genJWT/index.d.ts +1 -1
  8. package/dist/cli/crypto/index.d.ts +1 -1
  9. package/dist/cli/init/steps/env.js +12 -2
  10. package/dist/cli/init/steps/next.d.ts +1 -1
  11. package/dist/cli/migrator/index.d.ts +1 -1
  12. package/dist/cli/users/index.d.ts +1 -1
  13. package/dist/cli/users/steps/createUsers.js +3 -3
  14. package/dist/cli/users/steps/next.d.ts +1 -1
  15. package/dist/cli/utils/context.d.ts +1 -1
  16. package/dist/cli/utils/getCliDbClient.d.ts +1 -1
  17. package/dist/cli/utils/intro.d.ts +1 -1
  18. package/dist/cli/utils/loadConfig.d.ts +54 -49
  19. package/dist/cli/utils/loadConfig.js +5 -8
  20. package/dist/cli/utils/user-utils.d.ts +1 -1
  21. package/dist/client/apiClient.d.ts +4923 -0
  22. package/dist/client/apiClient.js +72 -0
  23. package/dist/config.d.ts +1734 -1
  24. package/dist/consts.d.ts +5 -5
  25. package/dist/consts.js +3 -2
  26. package/dist/db/plugins.d.ts +1 -1
  27. package/dist/db/plugins.js +5 -8
  28. package/dist/handlers/frontend/routes.d.ts +4 -18
  29. package/dist/handlers/frontend/routes.js +13 -152
  30. package/dist/handlers/frontend/types.d.ts +1 -1
  31. package/dist/handlers/frontend/utils.js +0 -18
  32. package/dist/handlers/pluginHandler.d.ts +34 -257
  33. package/dist/handlers/pluginHandler.js +92 -46
  34. package/dist/handlers/routeHandler.js +32 -11
  35. package/dist/handlers/setupDbStudio.d.ts +1 -1
  36. package/dist/handlers/storage-manager/core/effectify-astro-context.d.ts +25 -0
  37. package/dist/handlers/storage-manager/core/effectify-astro-context.js +78 -0
  38. package/dist/handlers/storage-manager/no-op.d.ts +2 -2
  39. package/dist/handlers/storage-manager/no-op.js +2 -3
  40. package/dist/index.d.ts +0 -1
  41. package/dist/index.js +9 -5
  42. package/dist/integrations/robots/index.d.ts +2 -2
  43. package/dist/integrations/robots/index.js +1 -3
  44. package/dist/integrations/robots/schema.d.ts +102 -273
  45. package/dist/integrations/robots/schema.js +220 -209
  46. package/dist/plugins/analytics/assets/schemas.d.ts +14 -9
  47. package/dist/plugins/analytics/assets/schemas.js +25 -17
  48. package/dist/plugins/analytics/db-client.d.ts +1 -1
  49. package/dist/plugins/analytics/index.d.ts +823 -3
  50. package/dist/plugins/analytics/index.js +4 -5
  51. package/dist/plugins/analytics/schemas.d.ts +54 -62
  52. package/dist/plugins/analytics/schemas.js +64 -13
  53. package/dist/plugins/analytics/table.d.ts +1 -1
  54. package/dist/plugins.d.ts +0 -1
  55. package/dist/schemas/config/api.d.ts +17 -0
  56. package/dist/schemas/config/api.js +14 -0
  57. package/dist/schemas/config/auth.d.ts +55 -59
  58. package/dist/schemas/config/auth.js +34 -11
  59. package/dist/schemas/config/dashboard.d.ts +43 -79
  60. package/dist/schemas/config/dashboard.js +43 -12
  61. package/dist/schemas/config/db.d.ts +15 -17
  62. package/dist/schemas/config/db.js +13 -5
  63. package/dist/schemas/config/developer.d.ts +33 -45
  64. package/dist/schemas/config/developer.js +22 -5
  65. package/dist/schemas/config/index.d.ts +398 -521
  66. package/dist/schemas/config/index.js +115 -57
  67. package/dist/schemas/config/sdk.d.ts +50 -196
  68. package/dist/schemas/config/sdk.js +61 -73
  69. package/dist/schemas/custom.d.ts +40 -0
  70. package/dist/schemas/custom.js +41 -0
  71. package/dist/schemas/external-schemas.d.ts +171 -0
  72. package/dist/schemas/external-schemas.js +179 -0
  73. package/dist/schemas/index.d.ts +2 -0
  74. package/dist/schemas/index.js +2 -0
  75. package/dist/schemas/plugins/i18n.d.ts +59 -39
  76. package/dist/schemas/plugins/i18n.js +42 -5
  77. package/dist/schemas/plugins/index.d.ts +7126 -10296
  78. package/dist/schemas/plugins/index.js +260 -276
  79. package/dist/schemas/plugins/shared.d.ts +1293 -3718
  80. package/dist/schemas/plugins/shared.js +320 -329
  81. package/dist/test-utils.d.ts +15 -4
  82. package/dist/test-utils.js +27 -11
  83. package/dist/toolbar/db-viewer/db-shared-types.d.ts +6 -6
  84. package/dist/toolbar/db-viewer/viewer.js +20 -21
  85. package/dist/types.d.ts +30 -0
  86. package/dist/utils/effects/smtp.d.ts +1 -1
  87. package/dist/utils/lang-helper.d.ts +10 -2
  88. package/dist/virtual.d.ts +23 -0
  89. package/dist/virtuals/auth/core.d.ts +5 -5
  90. package/dist/virtuals/auth/verify-email.d.ts +6 -6
  91. package/dist/virtuals/components/Generator.astro +2 -2
  92. package/dist/virtuals/components/Renderer.astro +9 -1
  93. package/dist/virtuals/components/renderFn.d.ts +3 -1
  94. package/dist/virtuals/components/renderFn.js +18 -0
  95. package/dist/virtuals/lib/headDefaults.d.ts +4 -2
  96. package/dist/virtuals/lib/headDefaults.js +0 -2
  97. package/dist/virtuals/lib/routeMap.d.ts +0 -12
  98. package/dist/virtuals/lib/routeMap.js +2 -14
  99. package/dist/virtuals/mailer/index.d.ts +3 -3
  100. package/dist/virtuals/notifier/index.d.ts +5 -5
  101. package/dist/virtuals/plugins/dashboard-pages.d.ts +2 -64
  102. package/dist/virtuals/scripts/StorageFileBrowser.d.ts +1 -172
  103. package/dist/virtuals/scripts/StorageFileBrowser.js +216 -119
  104. package/dist/virtuals/template-engine/index.d.ts +4 -4
  105. package/frontend/components/dashboard/configuration/ConfigForm.astro +218 -110
  106. package/frontend/components/dashboard/content-mgmt/ContentSearch.astro +21 -22
  107. package/frontend/components/dashboard/content-mgmt/CreateFolder.astro +66 -54
  108. package/frontend/components/dashboard/content-mgmt/CreatePage.astro +58 -104
  109. package/frontend/components/dashboard/content-mgmt/EditFolder.astro +65 -67
  110. package/frontend/components/dashboard/content-mgmt/EditPage.astro +86 -134
  111. package/frontend/components/dashboard/content-mgmt/InnerSidebarElement.astro +0 -1
  112. package/frontend/components/dashboard/content-mgmt/PageHeader.astro +33 -52
  113. package/frontend/components/dashboard/content-mgmt/PageTypeHandler.astro +2 -2
  114. package/frontend/components/dashboard/profile/APITokens.astro +219 -158
  115. package/frontend/components/dashboard/profile/BasicInfo.astro +165 -106
  116. package/frontend/components/dashboard/profile/Notifications.astro +27 -18
  117. package/frontend/components/dashboard/profile/UpdatePassword.astro +134 -94
  118. package/frontend/components/dashboard/sidebar/VersionCheck.astro +31 -16
  119. package/frontend/components/dashboard/sidebar/VersionCheckChangelog.astro +18 -11
  120. package/frontend/components/dashboard/sidebar-modals/VersionModal.astro +2 -2
  121. package/frontend/components/dashboard/smtp-config/TemplateEditor.astro +14 -14
  122. package/frontend/components/dashboard/taxonomy/InnerSidebarElement.astro +0 -1
  123. package/frontend/components/dashboard/taxonomy/MetaContainer.astro +0 -2
  124. package/frontend/components/dashboard/taxonomy/PageHeader.astro +16 -24
  125. package/frontend/components/dashboard/taxonomy/TaxonomySearch.astro +23 -27
  126. package/frontend/components/dashboard/user-mgmt/InnerSidebarElement.astro +111 -104
  127. package/frontend/components/dashboard/user-mgmt/UserListItem.astro +9 -22
  128. package/frontend/components/dashboard/user-mgmt/UserListItems.astro +18 -0
  129. package/frontend/components/first-time-setup/snippets/{opt2-studiocms.config.diff → studiocms.config.diff} +1 -0
  130. package/frontend/components/shared/Code.astro +1 -4
  131. package/frontend/components/shared/DynamicSettingsRenderer.astro +1 -1
  132. package/frontend/components/shared/SSRUser.astro +2 -4
  133. package/frontend/components/shared/foldertree/FolderTreeNode.astro +0 -6
  134. package/frontend/components/shared/storage-manager/StorageCopyOutput.astro +0 -1
  135. package/frontend/components/shared/taxonomy/TaxonomyTreeNode.astro +0 -6
  136. package/frontend/layouts/DashboardLayout.astro +0 -9
  137. package/frontend/layouts/TaxonomyLayout.astro +0 -1
  138. package/frontend/middleware/index.ts +102 -61
  139. package/frontend/pages/404.astro +0 -1
  140. package/frontend/pages/[dashboard]/[...pluginPage].astro +10 -1
  141. package/frontend/pages/[dashboard]/configuration.astro +10 -1
  142. package/frontend/pages/[dashboard]/content-management/createfolder.astro +10 -1
  143. package/frontend/pages/[dashboard]/content-management/createpage.astro +10 -1
  144. package/frontend/pages/[dashboard]/content-management/diff.astro +39 -14
  145. package/frontend/pages/[dashboard]/content-management/editfolder.astro +10 -1
  146. package/frontend/pages/[dashboard]/content-management/editpage.astro +10 -1
  147. package/frontend/pages/[dashboard]/content-management/index.astro +10 -1
  148. package/frontend/pages/[dashboard]/index.astro +10 -1
  149. package/frontend/pages/[dashboard]/login.astro +86 -25
  150. package/frontend/pages/[dashboard]/password-reset.astro +22 -16
  151. package/frontend/pages/[dashboard]/plugins/[plugin].astro +10 -1
  152. package/frontend/pages/[dashboard]/profile.astro +10 -1
  153. package/frontend/pages/[dashboard]/signup.astro +153 -52
  154. package/frontend/pages/[dashboard]/smtp-configuration.astro +77 -75
  155. package/frontend/pages/[dashboard]/system-management.astro +10 -1
  156. package/frontend/pages/[dashboard]/taxonomy/categories.astro +30 -41
  157. package/frontend/pages/[dashboard]/taxonomy/index.astro +10 -0
  158. package/frontend/pages/[dashboard]/taxonomy/tags.astro +33 -43
  159. package/frontend/pages/[dashboard]/unverified-email.astro +29 -21
  160. package/frontend/pages/[dashboard]/user-management/edit.astro +170 -90
  161. package/frontend/pages/[dashboard]/user-management/index.astro +10 -1
  162. package/frontend/pages/studiocms_api/[...all].ts +106 -0
  163. package/frontend/pages/studiocms_api/_handlers/_utils/auth.ts +26 -0
  164. package/frontend/pages/studiocms_api/_handlers/_utils/changelog.ts +147 -0
  165. package/frontend/pages/studiocms_api/_handlers/_utils/db-studio-driver.ts +46 -0
  166. package/frontend/pages/studiocms_api/_handlers/_utils/parseLogLevel.ts +27 -0
  167. package/frontend/pages/studiocms_api/_handlers/auth/auth.ts +459 -0
  168. package/frontend/pages/studiocms_api/_handlers/auth/index.ts +17 -0
  169. package/frontend/pages/studiocms_api/_handlers/auth/oauth.ts +91 -0
  170. package/frontend/pages/studiocms_api/_handlers/dashboard/_shared.ts +57 -0
  171. package/frontend/pages/studiocms_api/_handlers/dashboard/apiTokens.ts +134 -0
  172. package/frontend/pages/studiocms_api/_handlers/dashboard/config.ts +64 -0
  173. package/frontend/pages/studiocms_api/_handlers/dashboard/content.ts +741 -0
  174. package/frontend/pages/studiocms_api/_handlers/dashboard/create.ts +480 -0
  175. package/frontend/pages/studiocms_api/_handlers/dashboard/emailNotifications.ts +49 -0
  176. package/frontend/pages/studiocms_api/_handlers/dashboard/index.ts +45 -0
  177. package/frontend/pages/studiocms_api/_handlers/dashboard/mailer.ts +136 -0
  178. package/frontend/pages/studiocms_api/_handlers/dashboard/plugins.ts +80 -0
  179. package/frontend/pages/studiocms_api/_handlers/dashboard/profile.ts +275 -0
  180. package/frontend/pages/studiocms_api/_handlers/dashboard/resetPassword.ts +140 -0
  181. package/frontend/pages/studiocms_api/_handlers/dashboard/search.ts +63 -0
  182. package/frontend/pages/studiocms_api/_handlers/dashboard/taxonomy.ts +285 -0
  183. package/frontend/pages/studiocms_api/_handlers/dashboard/templates.ts +75 -0
  184. package/frontend/pages/studiocms_api/_handlers/dashboard/users.ts +312 -0
  185. package/frontend/pages/studiocms_api/_handlers/dashboard/verifyEndpoints.ts +307 -0
  186. package/frontend/pages/studiocms_api/_handlers/integration/dbStudio.ts +98 -0
  187. package/frontend/pages/studiocms_api/_handlers/integration/index.ts +17 -0
  188. package/frontend/pages/studiocms_api/_handlers/integration/storageManager.ts +107 -0
  189. package/frontend/pages/studiocms_api/_handlers/rest-api/index.ts +8 -0
  190. package/frontend/pages/studiocms_api/_handlers/rest-api/v1/_shared.ts +41 -0
  191. package/frontend/pages/studiocms_api/_handlers/rest-api/v1/index.ts +17 -0
  192. package/frontend/pages/studiocms_api/_handlers/rest-api/v1/public.ts +195 -0
  193. package/frontend/pages/studiocms_api/_handlers/rest-api/v1/secure.ts +1726 -0
  194. package/frontend/pages/studiocms_api/_handlers/sdk.ts +129 -0
  195. package/frontend/pages/studiocms_api/_middleware/astroLocals.ts +36 -0
  196. package/frontend/pages/studiocms_api/_middleware/restApi.ts +56 -0
  197. package/frontend/pages/studiocms_api/integrations/[...all].ts +8 -0
  198. package/frontend/scripts/formdata.ts +219 -0
  199. package/frontend/setup-pages/3-done.astro +4 -20
  200. package/frontend/setup-pages/studiocms_api/dashboard/step-2.ts +3 -6
  201. package/frontend/styles/dashboard-base.css +0 -1
  202. package/frontend/web-vitals/endpoint.ts +2 -1
  203. package/package.json +34 -29
  204. package/dist/global.d.ts +0 -9
  205. package/frontend/components/dashboard/LoginChecker.astro +0 -68
  206. package/frontend/components/dashboard/user-mgmt/RankCheck.astro +0 -57
  207. package/frontend/components/first-time-setup/snippets/opt1-astro.config.diff +0 -14
  208. package/frontend/components/first-time-setup/snippets/opt2-astro.config.diff +0 -9
  209. package/frontend/middleware/_authmap.ts +0 -63
  210. package/frontend/pages/studiocms_api/auth/[path].ts +0 -384
  211. package/frontend/pages/studiocms_api/auth/[provider]/[...id].ts +0 -64
  212. package/frontend/pages/studiocms_api/auth/[provider]/_effects/index.ts +0 -101
  213. package/frontend/pages/studiocms_api/auth/_shared.ts +0 -52
  214. package/frontend/pages/studiocms_api/dashboard/api-tokens.ts +0 -115
  215. package/frontend/pages/studiocms_api/dashboard/config.ts +0 -74
  216. package/frontend/pages/studiocms_api/dashboard/content/diff.ts +0 -73
  217. package/frontend/pages/studiocms_api/dashboard/content/folder.ts +0 -220
  218. package/frontend/pages/studiocms_api/dashboard/content/page.ts +0 -359
  219. package/frontend/pages/studiocms_api/dashboard/create-reset-link.ts +0 -77
  220. package/frontend/pages/studiocms_api/dashboard/create-user-invite.ts +0 -231
  221. package/frontend/pages/studiocms_api/dashboard/create-user.ts +0 -186
  222. package/frontend/pages/studiocms_api/dashboard/email-notification-settings-site.ts +0 -74
  223. package/frontend/pages/studiocms_api/dashboard/mailer/check-email.ts +0 -75
  224. package/frontend/pages/studiocms_api/dashboard/mailer/config.ts +0 -136
  225. package/frontend/pages/studiocms_api/dashboard/plugins/[plugin].ts +0 -80
  226. package/frontend/pages/studiocms_api/dashboard/profile.ts +0 -245
  227. package/frontend/pages/studiocms_api/dashboard/resend-verify-email.ts +0 -77
  228. package/frontend/pages/studiocms_api/dashboard/reset-password.ts +0 -124
  229. package/frontend/pages/studiocms_api/dashboard/search-list.ts +0 -59
  230. package/frontend/pages/studiocms_api/dashboard/taxonomy-search.ts +0 -47
  231. package/frontend/pages/studiocms_api/dashboard/taxonomy.ts +0 -230
  232. package/frontend/pages/studiocms_api/dashboard/templates.ts +0 -74
  233. package/frontend/pages/studiocms_api/dashboard/update-user-notifications.ts +0 -86
  234. package/frontend/pages/studiocms_api/dashboard/users.ts +0 -236
  235. package/frontend/pages/studiocms_api/dashboard/verify-email.ts +0 -83
  236. package/frontend/pages/studiocms_api/dashboard/verify-session.ts +0 -187
  237. package/frontend/pages/studiocms_api/integrations/[type]/[...id].ts +0 -15
  238. package/frontend/pages/studiocms_api/integrations/[type]/_routes/db-studio.ts +0 -173
  239. package/frontend/pages/studiocms_api/integrations/[type]/_routes/storage.ts +0 -88
  240. package/frontend/pages/studiocms_api/partials/editor.astro +0 -74
  241. package/frontend/pages/studiocms_api/partials/render.astro +0 -39
  242. package/frontend/pages/studiocms_api/partials/user-list-items.astro +0 -43
  243. package/frontend/pages/studiocms_api/rest/utils/auth-token.ts +0 -59
  244. package/frontend/pages/studiocms_api/rest/v1/[type]/[...id].ts +0 -23
  245. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/categories.ts +0 -267
  246. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/folders.ts +0 -283
  247. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/pages.ts +0 -505
  248. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/settings.ts +0 -100
  249. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/tags.ts +0 -229
  250. package/frontend/pages/studiocms_api/rest/v1/[type]/_routes/users.ts +0 -553
  251. package/frontend/pages/studiocms_api/rest/v1/public/[type]/[...id].ts +0 -19
  252. package/frontend/pages/studiocms_api/rest/v1/public/[type]/_routes/categories.ts +0 -74
  253. package/frontend/pages/studiocms_api/rest/v1/public/[type]/_routes/folders.ts +0 -85
  254. package/frontend/pages/studiocms_api/rest/v1/public/[type]/_routes/pages.ts +0 -103
  255. package/frontend/pages/studiocms_api/rest/v1/public/[type]/_routes/tags.ts +0 -67
  256. package/frontend/pages/studiocms_api/sdk/[...path].ts +0 -97
  257. package/frontend/pages/studiocms_api/sdk/utils/changelog.ts +0 -119
  258. package/frontend/scripts/auth/formListener.ts +0 -81
  259. package/frontend/scripts/formdata-utils.ts +0 -116
  260. package/frontend/utils/build-partial-schema.ts +0 -46
  261. package/frontend/utils/errors.ts +0 -6
  262. package/frontend/utils/param-extractor.ts +0 -83
  263. package/frontend/utils/rest-router.ts +0 -444
@@ -1,562 +1,439 @@
1
- import { z } from 'astro/zod';
2
- import { RobotsTXTConfigSchema } from '../../integrations/robots/schema.js';
3
- import type { StudioCMSPlugin, StudioCMSStorageManager } from '../plugins/index.js';
4
- import { type AuthConfig } from './auth.js';
5
- import { type DashboardConfig, dashboardConfigSchema } from './dashboard.js';
6
- import { type DBConfigSchema } from './db.js';
7
- import { type DeveloperConfig } from './developer.js';
8
- import { type StudioCMS_SDKOptions } from './sdk.js';
9
- export { dashboardConfigSchema };
10
- interface LocaleConfig {
11
- /**
12
- * Date Locale used for formatting dates
13
- *
14
- * @default 'en-us'
15
- */
16
- dateLocale?: string;
17
- /**
18
- * DateTime Format Options
19
- *
20
- * @default
21
- * { year: 'numeric', month: 'short', day: 'numeric' }
22
- */
23
- dateTimeFormat?: Intl.DateTimeFormatOptions;
24
- /**
25
- * I18n Specific Settings
26
- */
27
- i18n?: {
28
- /**
29
- * Default Locale for the StudioCMS
30
- *
31
- * This option sets the default language for the StudioCMS application.
32
- *
33
- * It must be one of the available translation keys or 'en' for English.
34
- *
35
- * @remarks
36
- * All translations are 2-letter language codes as per ISO 639-1 standard.
37
- * Existing available translations can be found in the `/src/virtuals/i18n/translations/` directory. or on [Crowdin](https://crowdin.com/project/studiocms).
38
- *
39
- * @default 'en'
40
- */
41
- defaultLocale?: string;
42
- };
43
- }
44
- export interface FeaturesConfig {
45
- /**
46
- * Allows the user to enable/disable the use of the StudioCMS Custom `astro-robots-txt` Integration
47
- *
48
- * @default robotsTXT: { policy: [ { userAgent: ['*'], allow: ['/'], disallow: ['/dashboard/'] } ] }
49
- */
50
- robotsTXT?: boolean | z.infer<typeof RobotsTXTConfigSchema>;
51
- /**
52
- * Enable Quick Actions Menu - Whether to enable the quick actions menu which allows easy access to your dashboard while logged in on non-dashboard pages.
53
- * @default true
54
- */
55
- injectQuickActionsMenu?: boolean;
56
- /**
57
- * SDKSchema is a Zod schema that validates the SDK configuration.
58
- * It can either be a boolean or an object containing cache configuration.
59
- *
60
- * If it is a boolean, it defaults to `true` and transforms into an object
61
- * with default cache configuration.
62
- *
63
- * If it is an object, it must contain the `cacheConfig` property which is
64
- * validated by the `SDKCacheSchema`.
65
- */
66
- sdk?: StudioCMS_SDKOptions;
67
- /**
68
- * Allows customization of the Dashboard Configuration
69
- */
70
- dashboardConfig?: DashboardConfig;
71
- /**
72
- * Auth Configuration - Allows customization of the Authentication Configuration
73
- */
74
- authConfig?: AuthConfig;
75
- /**
76
- * Developer Options/Configuration
77
- */
78
- developerConfig?: DeveloperConfig;
79
- /**
80
- * Set the identifier of the Preferred Image Service
81
- *
82
- * Requires an Image Service to be installed such as 'cloudinary-js'
83
- */
84
- preferredImageService?: string;
85
- /**
86
- * Enable Web Vitals Collection and Dashboard
87
- *
88
- * @default false
89
- */
90
- webVitals?: boolean;
91
- }
92
- export interface StudioCMSOptions {
93
- /**
94
- * Project Initialization Page - Used during First Time Setup to initialize the database
95
- *
96
- * @default true
97
- */
98
- dbStartPage?: boolean;
99
- /**
100
- * Whether to show verbose output
101
- * @default false
102
- */
103
- verbose?: boolean;
104
- /**
105
- * Set the LogLevel for Effect based code
106
- */
107
- logLevel?: 'All' | 'Fatal' | 'Error' | 'Warning' | 'Info' | 'Debug' | 'Trace' | 'None';
108
- /**
109
- * Database Configuration
110
- */
111
- db?: DBConfigSchema;
112
- /**
113
- * Add Plugins to the StudioCMS
114
- */
115
- plugins?: StudioCMSPlugin[];
116
- /**
117
- * Storage Manager Configuration
118
- */
119
- storageManager?: StudioCMSStorageManager;
120
- /**
121
- * Component Registry
122
- */
123
- componentRegistry?: Record<string, string>;
124
- /**
125
- * Locale specific settings
126
- */
127
- locale?: LocaleConfig;
128
- /**
129
- * Allows adjusting the StudioCMS Dashboard features
130
- */
131
- features?: FeaturesConfig;
132
- }
133
- export declare const StudioCMSOptionsSchema: z.ZodDefault<z.ZodOptional<z.ZodObject<{
134
- dbStartPage: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
135
- verbose: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
136
- logLevel: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"All">, z.ZodLiteral<"Fatal">, z.ZodLiteral<"Error">, z.ZodLiteral<"Warning">, z.ZodLiteral<"Info">, z.ZodLiteral<"Debug">, z.ZodLiteral<"Trace">, z.ZodLiteral<"None">]>>>;
137
- db: z.ZodDefault<z.ZodOptional<z.ZodObject<{
138
- dialect: z.ZodDefault<z.ZodOptional<z.ZodEnum<["libsql", "postgres", "mysql"]>>>;
139
- }, "strip", z.ZodTypeAny, {
140
- dialect: "libsql" | "postgres" | "mysql";
1
+ import * as Schema from 'effect/Schema';
2
+ import { DateTimeFormatOptions } from '../external-schemas.js';
3
+ import { StudioCMSPluginSchema, StudioCMSStorageManagerSchema } from '../plugins/index.js';
4
+ /**
5
+ * Schema for Locale I18n Configuration, which includes settings for the default locale used in the dashboard translations.
6
+ */
7
+ export declare const LocaleI18nConfigSchema: Schema.Struct<{
8
+ defaultLocale: Schema.optionalWith<Schema.Schema<string, string, never>, {
9
+ default: () => string;
10
+ }>;
11
+ }>;
12
+ /**
13
+ * Schema for the locale configuration, which includes settings for date locale, date time format, and internationalization configuration for the dashboard.
14
+ */
15
+ export declare const LocaleConfigSchema: Schema.Struct<{
16
+ dateLocale: Schema.optionalWith<Schema.Schema<string, string, never>, {
17
+ default: () => string;
18
+ }>;
19
+ dateTimeFormat: Schema.optionalWith<Schema.Schema<DateTimeFormatOptions, {
20
+ readonly localeMatcher?: "best fit" | "lookup" | undefined;
21
+ readonly weekday?: "long" | "short" | "narrow" | undefined;
22
+ readonly era?: "long" | "short" | "narrow" | undefined;
23
+ readonly year?: "numeric" | "2-digit" | undefined;
24
+ readonly month?: "long" | "short" | "narrow" | "numeric" | "2-digit" | undefined;
25
+ readonly day?: "numeric" | "2-digit" | undefined;
26
+ readonly hour?: "numeric" | "2-digit" | undefined;
27
+ readonly minute?: "numeric" | "2-digit" | undefined;
28
+ readonly second?: "numeric" | "2-digit" | undefined;
29
+ readonly timeZoneName?: "long" | "short" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric" | undefined;
30
+ readonly formatMatcher?: "basic" | "best fit" | undefined;
31
+ readonly hour12?: boolean | undefined;
32
+ readonly timeZone?: string | undefined;
33
+ }, never>, {
34
+ default: () => DateTimeFormatOptions;
35
+ }>;
36
+ i18n: Schema.optionalWith<Schema.Schema<{
37
+ readonly defaultLocale: string;
141
38
  }, {
142
- dialect?: "libsql" | "postgres" | "mysql" | undefined;
143
- }>>>;
144
- plugins: z.ZodOptional<z.ZodType<StudioCMSPlugin[], z.ZodTypeDef, StudioCMSPlugin[]>>;
145
- storageManager: z.ZodOptional<z.ZodType<StudioCMSStorageManager, z.ZodTypeDef, StudioCMSStorageManager>>;
146
- componentRegistry: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
147
- locale: z.ZodDefault<z.ZodOptional<z.ZodObject<{
148
- dateLocale: z.ZodDefault<z.ZodOptional<z.ZodString>>;
149
- dateTimeFormat: z.ZodDefault<z.ZodOptional<z.ZodType<Intl.DateTimeFormatOptions, z.ZodTypeDef, Intl.DateTimeFormatOptions>>>;
150
- i18n: z.ZodDefault<z.ZodOptional<z.ZodObject<{
151
- defaultLocale: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
152
- }, "strip", z.ZodTypeAny, {
153
- defaultLocale: string;
154
- }, {
155
- defaultLocale?: string | undefined;
156
- }>>>;
157
- }, "strip", z.ZodTypeAny, {
158
- dateLocale: string;
159
- dateTimeFormat: Intl.DateTimeFormatOptions;
160
- i18n: {
161
- defaultLocale: string;
39
+ readonly defaultLocale?: string | undefined;
40
+ }, never>, {
41
+ default: () => {
42
+ readonly defaultLocale: string;
162
43
  };
163
- }, {
164
- dateLocale?: string | undefined;
165
- dateTimeFormat?: Intl.DateTimeFormatOptions | undefined;
166
- i18n?: {
167
- defaultLocale?: string | undefined;
168
- } | undefined;
44
+ }>;
45
+ }>;
46
+ /**
47
+ * Type for the locale configuration.
48
+ */
49
+ export type LocaleConfig = typeof LocaleConfigSchema.Encoded;
50
+ /**
51
+ * Resolved type for the locale configuration.
52
+ */
53
+ export type LocaleConfigResolved = typeof LocaleConfigSchema.Type;
54
+ /**
55
+ * Schema for defining the options for the RobotsTXT integration within StudioCMS, which includes user agents, allowed and disallowed paths, crawl delay, and clean parameters for the robots.txt configuration.
56
+ */
57
+ export declare const StudioCMSRobotsTXTConfigSchema: Schema.Union<[typeof Schema.Boolean, Schema.Struct<{
58
+ host: Schema.optional<Schema.Union<[typeof Schema.String, typeof Schema.Boolean]>>;
59
+ sitemap: Schema.optional<Schema.Union<[Schema.Union<[typeof Schema.String, Schema.Array$<typeof Schema.String>]>, typeof Schema.Boolean]>>;
60
+ policy: Schema.optional<Schema.Array$<Schema.Struct<{
61
+ userAgent: Schema.optional<Schema.Union<[Schema.Union<[Schema.Literal<["*"]>, Schema.Union<[Schema.Literal<["360Spider", "360Spider-Image", "360Spider-Video"]>, Schema.Literal<["HaoSouSpider"]>, Schema.Literal<["AdsBot-Google", "AdsBot-Google-Mobile", "AdsBot-Google-Mobile-Apps"]>, Schema.Literal<["Googlebot", "Googlebot-Image", "Googlebot-Mobile", "Googlebot-News", "Googlebot-Video"]>, Schema.Literal<["Mediapartners-Google"]>, Schema.Literal<["adidxbot"]>, Schema.Literal<["bingbot"]>, Schema.Literal<["BingPreview"]>, Schema.Literal<["MicrosoftPreview"]>, Schema.Literal<["msnbot", "msnbot-media"]>, Schema.Literal<["Applebot", "AppleNewsBot"]>, Schema.Literal<["Baiduspider", "Baiduspider-image", "Baiduspider-mobile", "Baiduspider-news", "Baiduspider-video"]>, Schema.Literal<["coccoc", "coccocbot-image", "coccocbot-web"]>, Schema.Literal<["DuckDuckBot", "DuckDuckGo-Favicons-Bot"]>, Schema.Literal<["facebookcatalog", "facebookexternalhit", "Facebot"]>, Schema.Literal<["gooblog"]>, Schema.Literal<["ichiro"]>, Schema.Literal<["Sogou blog", "Sogou inst spider", "Sogou News Spider", "Sogou Orion spider", "Sogou spider2", "Sogou web spider"]>, Schema.Literal<["Yandex", "YandexMobileBot"]>, Schema.Literal<["Algolia Crawler"]>, Schema.Literal<["BublupBot"]>, Schema.Literal<["CCBot"]>, Schema.Literal<["Cliqzbot"]>, Schema.Literal<["Daumoa"]>, Schema.Literal<["DeuSu"]>, Schema.Literal<["EuripBot"]>, Schema.Literal<["Exploratodo"]>, Schema.Literal<["Feedly"]>, Schema.Literal<["Findxbot"]>, Schema.Literal<["istellabot"]>, Schema.Literal<["JikeSpider"]>, Schema.Literal<["Lycos"]>, Schema.Literal<["Mail.Ru"]>, Schema.Literal<["MojeekBot"]>, Schema.Literal<["OrangeBot"]>, Schema.Literal<["Pinterest"]>, Schema.Literal<["Plukkie"]>, Schema.Literal<["Qwantify"]>, Schema.Literal<["Rambler"]>, Schema.Literal<["SemanticScholarBot"]>, Schema.Literal<["SeSchemanamBot"]>, Schema.Literal<["Sosospider"]>, Schema.Literal<["Slurp"]>, Schema.Literal<["Twitterbot"]>, Schema.Literal<["WhatsApp"]>, Schema.Literal<["yacybot"]>, Schema.Literal<["YepBot"]>, Schema.Literal<["Yeti"]>, Schema.Literal<["YioopBot"]>, Schema.Literal<["yooSchemaBot"]>, Schema.Literal<["YoudaoBot"]>]>]>, Schema.Array$<Schema.Union<[Schema.Literal<["*"]>, Schema.Union<[Schema.Literal<["360Spider", "360Spider-Image", "360Spider-Video"]>, Schema.Literal<["HaoSouSpider"]>, Schema.Literal<["AdsBot-Google", "AdsBot-Google-Mobile", "AdsBot-Google-Mobile-Apps"]>, Schema.Literal<["Googlebot", "Googlebot-Image", "Googlebot-Mobile", "Googlebot-News", "Googlebot-Video"]>, Schema.Literal<["Mediapartners-Google"]>, Schema.Literal<["adidxbot"]>, Schema.Literal<["bingbot"]>, Schema.Literal<["BingPreview"]>, Schema.Literal<["MicrosoftPreview"]>, Schema.Literal<["msnbot", "msnbot-media"]>, Schema.Literal<["Applebot", "AppleNewsBot"]>, Schema.Literal<["Baiduspider", "Baiduspider-image", "Baiduspider-mobile", "Baiduspider-news", "Baiduspider-video"]>, Schema.Literal<["coccoc", "coccocbot-image", "coccocbot-web"]>, Schema.Literal<["DuckDuckBot", "DuckDuckGo-Favicons-Bot"]>, Schema.Literal<["facebookcatalog", "facebookexternalhit", "Facebot"]>, Schema.Literal<["gooblog"]>, Schema.Literal<["ichiro"]>, Schema.Literal<["Sogou blog", "Sogou inst spider", "Sogou News Spider", "Sogou Orion spider", "Sogou spider2", "Sogou web spider"]>, Schema.Literal<["Yandex", "YandexMobileBot"]>, Schema.Literal<["Algolia Crawler"]>, Schema.Literal<["BublupBot"]>, Schema.Literal<["CCBot"]>, Schema.Literal<["Cliqzbot"]>, Schema.Literal<["Daumoa"]>, Schema.Literal<["DeuSu"]>, Schema.Literal<["EuripBot"]>, Schema.Literal<["Exploratodo"]>, Schema.Literal<["Feedly"]>, Schema.Literal<["Findxbot"]>, Schema.Literal<["istellabot"]>, Schema.Literal<["JikeSpider"]>, Schema.Literal<["Lycos"]>, Schema.Literal<["Mail.Ru"]>, Schema.Literal<["MojeekBot"]>, Schema.Literal<["OrangeBot"]>, Schema.Literal<["Pinterest"]>, Schema.Literal<["Plukkie"]>, Schema.Literal<["Qwantify"]>, Schema.Literal<["Rambler"]>, Schema.Literal<["SemanticScholarBot"]>, Schema.Literal<["SeSchemanamBot"]>, Schema.Literal<["Sosospider"]>, Schema.Literal<["Slurp"]>, Schema.Literal<["Twitterbot"]>, Schema.Literal<["WhatsApp"]>, Schema.Literal<["yacybot"]>, Schema.Literal<["YepBot"]>, Schema.Literal<["Yeti"]>, Schema.Literal<["YioopBot"]>, Schema.Literal<["yooSchemaBot"]>, Schema.Literal<["YoudaoBot"]>]>]>>]>>;
62
+ allow: Schema.optional<Schema.Union<[typeof Schema.String, Schema.Array$<typeof Schema.String>]>>;
63
+ disallow: Schema.optional<Schema.Union<[typeof Schema.String, Schema.Array$<typeof Schema.String>]>>;
64
+ crawlDelay: Schema.optional<typeof Schema.Number>;
65
+ cleanParam: Schema.optional<Schema.Union<[typeof Schema.String, Schema.Array$<typeof Schema.String>]>>;
169
66
  }>>>;
170
- features: z.ZodDefault<z.ZodOptional<z.ZodObject<{
171
- robotsTXT: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
172
- host: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
173
- sitemap: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodBoolean]>>;
174
- policy: z.ZodOptional<z.ZodArray<z.ZodObject<{
175
- userAgent: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"*">, z.ZodUnion<[z.ZodLiteral<"360Spider">, z.ZodLiteral<"360Spider-Image">, z.ZodLiteral<"360Spider-Video">, z.ZodLiteral<"HaoSouSpider">, z.ZodLiteral<"AdsBot-Google">, z.ZodLiteral<"AdsBot-Google-Mobile">, z.ZodLiteral<"AdsBot-Google-Mobile-Apps">, z.ZodLiteral<"Googlebot">, z.ZodLiteral<"Googlebot-Image">, z.ZodLiteral<"Googlebot-Mobile">, z.ZodLiteral<"Googlebot-News">, z.ZodLiteral<"Googlebot-Video">, z.ZodLiteral<"Mediapartners-Google">, z.ZodLiteral<"adidxbot">, z.ZodLiteral<"bingbot">, z.ZodLiteral<"BingPreview">, z.ZodLiteral<"MicrosoftPreview">, z.ZodLiteral<"msnbot">, z.ZodLiteral<"msnbot-media">, z.ZodLiteral<"Applebot">, z.ZodLiteral<"AppleNewsBot">, z.ZodLiteral<"Baiduspider">, z.ZodLiteral<"Baiduspider-image">, z.ZodLiteral<"Baiduspider-mobile">, z.ZodLiteral<"Baiduspider-news">, z.ZodLiteral<"Baiduspider-video">, z.ZodLiteral<"coccoc">, z.ZodLiteral<"coccocbot-image">, z.ZodLiteral<"coccocbot-web">, z.ZodLiteral<"DuckDuckBot">, z.ZodLiteral<"DuckDuckGo-Favicons-Bot">, z.ZodLiteral<"facebookcatalog">, z.ZodLiteral<"facebookexternalhit">, z.ZodLiteral<"Facebot">, z.ZodLiteral<"gooblog">, z.ZodLiteral<"ichiro">, z.ZodLiteral<"Sogou blog">, z.ZodLiteral<"Sogou inst spider">, z.ZodLiteral<"Sogou News Spider">, z.ZodLiteral<"Sogou Orion spider">, z.ZodLiteral<"Sogou spider2">, z.ZodLiteral<"Sogou web spider">, z.ZodLiteral<"Yandex">, z.ZodLiteral<"YandexMobileBot">, z.ZodLiteral<"Algolia Crawler">, z.ZodLiteral<"BublupBot">, z.ZodLiteral<"CCBot">, z.ZodLiteral<"Cliqzbot">, z.ZodLiteral<"Daumoa">, z.ZodLiteral<"DeuSu">, z.ZodLiteral<"EuripBot">, z.ZodLiteral<"Exploratodo">, z.ZodLiteral<"Feedly">, z.ZodLiteral<"Findxbot">, z.ZodLiteral<"istellabot">, z.ZodLiteral<"JikeSpider">, z.ZodLiteral<"Lycos">, z.ZodLiteral<"Mail.Ru">, z.ZodLiteral<"MojeekBot">, z.ZodLiteral<"OrangeBot">, z.ZodLiteral<"Pinterest">, z.ZodLiteral<"Plukkie">, z.ZodLiteral<"Qwantify">, z.ZodLiteral<"Rambler">, z.ZodLiteral<"SemanticScholarBot">, z.ZodLiteral<"SeznamBot">, z.ZodLiteral<"Sosospider">, z.ZodLiteral<"Slurp">, z.ZodLiteral<"Twitterbot">, z.ZodLiteral<"WhatsApp">, z.ZodLiteral<"yacybot">, z.ZodLiteral<"YepBot">, z.ZodLiteral<"Yeti">, z.ZodLiteral<"YioopBot">, z.ZodLiteral<"yoozBot">, z.ZodLiteral<"YoudaoBot">]>]>, z.ZodArray<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodUnion<[z.ZodLiteral<"360Spider">, z.ZodLiteral<"360Spider-Image">, z.ZodLiteral<"360Spider-Video">, z.ZodLiteral<"HaoSouSpider">, z.ZodLiteral<"AdsBot-Google">, z.ZodLiteral<"AdsBot-Google-Mobile">, z.ZodLiteral<"AdsBot-Google-Mobile-Apps">, z.ZodLiteral<"Googlebot">, z.ZodLiteral<"Googlebot-Image">, z.ZodLiteral<"Googlebot-Mobile">, z.ZodLiteral<"Googlebot-News">, z.ZodLiteral<"Googlebot-Video">, z.ZodLiteral<"Mediapartners-Google">, z.ZodLiteral<"adidxbot">, z.ZodLiteral<"bingbot">, z.ZodLiteral<"BingPreview">, z.ZodLiteral<"MicrosoftPreview">, z.ZodLiteral<"msnbot">, z.ZodLiteral<"msnbot-media">, z.ZodLiteral<"Applebot">, z.ZodLiteral<"AppleNewsBot">, z.ZodLiteral<"Baiduspider">, z.ZodLiteral<"Baiduspider-image">, z.ZodLiteral<"Baiduspider-mobile">, z.ZodLiteral<"Baiduspider-news">, z.ZodLiteral<"Baiduspider-video">, z.ZodLiteral<"coccoc">, z.ZodLiteral<"coccocbot-image">, z.ZodLiteral<"coccocbot-web">, z.ZodLiteral<"DuckDuckBot">, z.ZodLiteral<"DuckDuckGo-Favicons-Bot">, z.ZodLiteral<"facebookcatalog">, z.ZodLiteral<"facebookexternalhit">, z.ZodLiteral<"Facebot">, z.ZodLiteral<"gooblog">, z.ZodLiteral<"ichiro">, z.ZodLiteral<"Sogou blog">, z.ZodLiteral<"Sogou inst spider">, z.ZodLiteral<"Sogou News Spider">, z.ZodLiteral<"Sogou Orion spider">, z.ZodLiteral<"Sogou spider2">, z.ZodLiteral<"Sogou web spider">, z.ZodLiteral<"Yandex">, z.ZodLiteral<"YandexMobileBot">, z.ZodLiteral<"Algolia Crawler">, z.ZodLiteral<"BublupBot">, z.ZodLiteral<"CCBot">, z.ZodLiteral<"Cliqzbot">, z.ZodLiteral<"Daumoa">, z.ZodLiteral<"DeuSu">, z.ZodLiteral<"EuripBot">, z.ZodLiteral<"Exploratodo">, z.ZodLiteral<"Feedly">, z.ZodLiteral<"Findxbot">, z.ZodLiteral<"istellabot">, z.ZodLiteral<"JikeSpider">, z.ZodLiteral<"Lycos">, z.ZodLiteral<"Mail.Ru">, z.ZodLiteral<"MojeekBot">, z.ZodLiteral<"OrangeBot">, z.ZodLiteral<"Pinterest">, z.ZodLiteral<"Plukkie">, z.ZodLiteral<"Qwantify">, z.ZodLiteral<"Rambler">, z.ZodLiteral<"SemanticScholarBot">, z.ZodLiteral<"SeznamBot">, z.ZodLiteral<"Sosospider">, z.ZodLiteral<"Slurp">, z.ZodLiteral<"Twitterbot">, z.ZodLiteral<"WhatsApp">, z.ZodLiteral<"yacybot">, z.ZodLiteral<"YepBot">, z.ZodLiteral<"Yeti">, z.ZodLiteral<"YioopBot">, z.ZodLiteral<"yoozBot">, z.ZodLiteral<"YoudaoBot">]>]>, "many">]>>;
176
- allow: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
177
- disallow: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
178
- crawlDelay: z.ZodOptional<z.ZodNumber>;
179
- cleanParam: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
180
- }, "strip", z.ZodTypeAny, {
181
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
182
- allow?: string | string[] | undefined;
183
- disallow?: string | string[] | undefined;
184
- crawlDelay?: number | undefined;
185
- cleanParam?: string | string[] | undefined;
186
- }, {
187
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
188
- allow?: string | string[] | undefined;
189
- disallow?: string | string[] | undefined;
190
- crawlDelay?: number | undefined;
191
- cleanParam?: string | string[] | undefined;
192
- }>, "many">>;
193
- }, "strip", z.ZodTypeAny, {
194
- host?: string | boolean | undefined;
195
- sitemap?: string | boolean | string[] | undefined;
196
- policy?: {
197
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
198
- allow?: string | string[] | undefined;
199
- disallow?: string | string[] | undefined;
200
- crawlDelay?: number | undefined;
201
- cleanParam?: string | string[] | undefined;
202
- }[] | undefined;
203
- }, {
204
- host?: string | boolean | undefined;
205
- sitemap?: string | boolean | string[] | undefined;
206
- policy?: {
207
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
208
- allow?: string | string[] | undefined;
209
- disallow?: string | string[] | undefined;
210
- crawlDelay?: number | undefined;
211
- cleanParam?: string | string[] | undefined;
67
+ }>]>;
68
+ /**
69
+ * Schema for the features configuration, which includes various feature flags and settings for the dashboard, such as enabling/disabling the dashboard, authentication, SDK settings, and more.
70
+ */
71
+ export declare const FeaturesConfigSchema: Schema.Struct<{
72
+ robotsTXT: Schema.optionalWith<Schema.Schema<boolean | {
73
+ readonly host?: string | boolean | undefined;
74
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
75
+ readonly policy?: readonly {
76
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
77
+ readonly allow?: string | readonly string[] | undefined;
78
+ readonly disallow?: string | readonly string[] | undefined;
79
+ readonly crawlDelay?: number | undefined;
80
+ readonly cleanParam?: string | readonly string[] | undefined;
81
+ }[] | undefined;
82
+ }, boolean | {
83
+ readonly host?: string | boolean | undefined;
84
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
85
+ readonly policy?: readonly {
86
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
87
+ readonly allow?: string | readonly string[] | undefined;
88
+ readonly disallow?: string | readonly string[] | undefined;
89
+ readonly crawlDelay?: number | undefined;
90
+ readonly cleanParam?: string | readonly string[] | undefined;
91
+ }[] | undefined;
92
+ }, never>, {
93
+ default: () => boolean | {
94
+ readonly host?: string | boolean | undefined;
95
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
96
+ readonly policy?: readonly {
97
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
98
+ readonly allow?: string | readonly string[] | undefined;
99
+ readonly disallow?: string | readonly string[] | undefined;
100
+ readonly crawlDelay?: number | undefined;
101
+ readonly cleanParam?: string | readonly string[] | undefined;
212
102
  }[] | undefined;
213
- }>, z.ZodBoolean]>>>;
214
- injectQuickActionsMenu: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
215
- sdk: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
216
- cacheConfig: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
217
- lifetime: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>>;
218
- }, "strip", z.ZodTypeAny, {
219
- lifetime: number;
220
- }, {
221
- lifetime?: string | undefined;
222
- }>]>>>, {
223
- lifetime: number;
224
- enabled: boolean;
225
- }, boolean | {
226
- lifetime?: string | undefined;
227
- } | undefined>;
228
- }, "strip", z.ZodTypeAny, {
229
- cacheConfig: {
230
- lifetime: number;
231
- enabled: boolean;
103
+ };
104
+ }>;
105
+ injectQuickActionsMenu: Schema.optionalWith<typeof Schema.Boolean, {
106
+ default: () => true;
107
+ }>;
108
+ sdk: Schema.optionalWith<Schema.Schema<{
109
+ readonly cacheConfig: {
110
+ readonly lifetime: number;
111
+ readonly enabled: boolean;
112
+ };
113
+ }, boolean | {
114
+ readonly cacheConfig: boolean | {
115
+ readonly lifetime?: import("effect/Duration").Duration | undefined;
116
+ };
117
+ }, never>, {
118
+ default: () => {
119
+ readonly cacheConfig: {
120
+ readonly lifetime: number;
121
+ readonly enabled: boolean;
232
122
  };
233
- }, {
234
- cacheConfig?: boolean | {
235
- lifetime?: string | undefined;
236
- } | undefined;
237
- }>]>>>, {
238
- cacheConfig: {
239
- lifetime: number;
240
- enabled: boolean;
123
+ };
124
+ }>;
125
+ dashboardConfig: Schema.optionalWith<Schema.Schema<{
126
+ readonly dashboardEnabled: boolean;
127
+ readonly inject404Route: boolean;
128
+ readonly faviconURL: string;
129
+ readonly dashboardRouteOverride?: string | undefined;
130
+ readonly versionCheck: boolean;
131
+ readonly security: {
132
+ readonly hideGeneratorTags: boolean;
133
+ };
134
+ }, {
135
+ readonly dashboardEnabled?: boolean | undefined;
136
+ readonly inject404Route?: boolean | undefined;
137
+ readonly faviconURL?: string | undefined;
138
+ readonly dashboardRouteOverride?: string | undefined;
139
+ readonly versionCheck?: boolean | undefined;
140
+ readonly security?: {
141
+ readonly hideGeneratorTags?: boolean | undefined;
142
+ } | undefined;
143
+ }, never>, {
144
+ default: () => {
145
+ readonly dashboardEnabled: boolean;
146
+ readonly inject404Route: boolean;
147
+ readonly faviconURL: string;
148
+ readonly dashboardRouteOverride?: string | undefined;
149
+ readonly versionCheck: boolean;
150
+ readonly security: {
151
+ readonly hideGeneratorTags: boolean;
241
152
  };
242
- }, boolean | {
243
- cacheConfig?: boolean | {
244
- lifetime?: string | undefined;
245
- } | undefined;
246
- } | undefined>;
247
- dashboardConfig: z.ZodDefault<z.ZodOptional<z.ZodObject<{
248
- dashboardEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
249
- inject404Route: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
250
- faviconURL: z.ZodDefault<z.ZodOptional<z.ZodString>>;
251
- dashboardRouteOverride: z.ZodOptional<z.ZodString>;
252
- versionCheck: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
253
- security: z.ZodDefault<z.ZodOptional<z.ZodObject<{
254
- hideGeneratorTags: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
255
- }, "strip", z.ZodTypeAny, {
256
- hideGeneratorTags: boolean;
257
- }, {
258
- hideGeneratorTags?: boolean | undefined;
259
- }>>>;
260
- }, "strip", z.ZodTypeAny, {
261
- dashboardEnabled: boolean;
262
- inject404Route: boolean;
263
- faviconURL: string;
264
- versionCheck: boolean;
265
- security: {
266
- hideGeneratorTags: boolean;
153
+ };
154
+ }>;
155
+ authConfig: Schema.optionalWith<Schema.Schema<{
156
+ readonly enabled: boolean;
157
+ readonly providers: {
158
+ readonly usernameAndPassword: boolean;
159
+ readonly usernameAndPasswordConfig: {
160
+ readonly allowUserRegistration: boolean;
267
161
  };
268
- dashboardRouteOverride?: string | undefined;
269
- }, {
270
- dashboardEnabled?: boolean | undefined;
271
- inject404Route?: boolean | undefined;
272
- faviconURL?: string | undefined;
273
- dashboardRouteOverride?: string | undefined;
274
- versionCheck?: boolean | undefined;
275
- security?: {
276
- hideGeneratorTags?: boolean | undefined;
162
+ };
163
+ }, {
164
+ readonly enabled?: boolean | undefined;
165
+ readonly providers?: {
166
+ readonly usernameAndPassword?: boolean | undefined;
167
+ readonly usernameAndPasswordConfig?: {
168
+ readonly allowUserRegistration?: boolean | undefined;
277
169
  } | undefined;
278
- }>>>;
279
- authConfig: z.ZodDefault<z.ZodOptional<z.ZodObject<{
280
- providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
281
- usernameAndPassword: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
282
- usernameAndPasswordConfig: z.ZodDefault<z.ZodOptional<z.ZodObject<{
283
- allowUserRegistration: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
284
- }, "strip", z.ZodTypeAny, {
285
- allowUserRegistration: boolean;
286
- }, {
287
- allowUserRegistration?: boolean | undefined;
288
- }>>>;
289
- }, "strip", z.ZodTypeAny, {
290
- usernameAndPassword: boolean;
291
- usernameAndPasswordConfig: {
292
- allowUserRegistration: boolean;
293
- };
294
- }, {
295
- usernameAndPassword?: boolean | undefined;
296
- usernameAndPasswordConfig?: {
297
- allowUserRegistration?: boolean | undefined;
298
- } | undefined;
299
- }>>>;
300
- enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
301
- }, "strip", z.ZodTypeAny, {
302
- enabled: boolean;
303
- providers: {
304
- usernameAndPassword: boolean;
305
- usernameAndPasswordConfig: {
306
- allowUserRegistration: boolean;
170
+ } | undefined;
171
+ }, never>, {
172
+ default: () => {
173
+ readonly enabled: boolean;
174
+ readonly providers: {
175
+ readonly usernameAndPassword: boolean;
176
+ readonly usernameAndPasswordConfig: {
177
+ readonly allowUserRegistration: boolean;
307
178
  };
308
179
  };
309
- }, {
310
- enabled?: boolean | undefined;
311
- providers?: {
312
- usernameAndPassword?: boolean | undefined;
313
- usernameAndPasswordConfig?: {
314
- allowUserRegistration?: boolean | undefined;
315
- } | undefined;
316
- } | undefined;
317
- }>>>;
318
- developerConfig: z.ZodDefault<z.ZodOptional<z.ZodObject<{
319
- demoMode: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
320
- username: z.ZodString;
321
- password: z.ZodString;
322
- }, "strip", z.ZodTypeAny, {
323
- username: string;
324
- password: string;
325
- }, {
326
- username: string;
327
- password: string;
328
- }>]>>>;
329
- }, "strip", z.ZodTypeAny, {
330
- demoMode: false | {
331
- username: string;
332
- password: string;
333
- };
334
- }, {
335
- demoMode?: false | {
336
- username: string;
337
- password: string;
338
- } | undefined;
339
- }>>>;
340
- preferredImageService: z.ZodOptional<z.ZodString>;
341
- webVitals: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
342
- }, "strip", z.ZodTypeAny, {
343
- robotsTXT: boolean | {
344
- host?: string | boolean | undefined;
345
- sitemap?: string | boolean | string[] | undefined;
346
- policy?: {
347
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
348
- allow?: string | string[] | undefined;
349
- disallow?: string | string[] | undefined;
350
- crawlDelay?: number | undefined;
351
- cleanParam?: string | string[] | undefined;
352
- }[] | undefined;
353
180
  };
354
- injectQuickActionsMenu: boolean;
355
- sdk: {
356
- cacheConfig: {
357
- lifetime: number;
358
- enabled: boolean;
359
- };
181
+ }>;
182
+ developerConfig: Schema.optionalWith<Schema.Schema<{
183
+ readonly demoMode: boolean | {
184
+ readonly password: string;
185
+ readonly username: string;
360
186
  };
361
- dashboardConfig: {
362
- dashboardEnabled: boolean;
363
- inject404Route: boolean;
364
- faviconURL: string;
365
- versionCheck: boolean;
366
- security: {
367
- hideGeneratorTags: boolean;
187
+ }, {
188
+ readonly demoMode?: boolean | {
189
+ readonly password: string;
190
+ readonly username: string;
191
+ } | undefined;
192
+ }, never>, {
193
+ default: () => {
194
+ readonly demoMode: boolean | {
195
+ readonly password: string;
196
+ readonly username: string;
368
197
  };
369
- dashboardRouteOverride?: string | undefined;
370
198
  };
371
- authConfig: {
372
- enabled: boolean;
373
- providers: {
374
- usernameAndPassword: boolean;
375
- usernameAndPasswordConfig: {
376
- allowUserRegistration: boolean;
377
- };
378
- };
199
+ }>;
200
+ preferredImageService: Schema.optional<typeof Schema.String>;
201
+ webVitals: Schema.optionalWith<typeof Schema.Boolean, {
202
+ default: () => false;
203
+ }>;
204
+ api: Schema.optionalWith<Schema.Schema<{
205
+ readonly apiDocs: boolean;
206
+ }, {
207
+ readonly apiDocs?: boolean | undefined;
208
+ }, never>, {
209
+ default: () => {
210
+ readonly apiDocs: boolean;
379
211
  };
380
- developerConfig: {
381
- demoMode: false | {
382
- username: string;
383
- password: string;
384
- };
212
+ }>;
213
+ }>;
214
+ /**
215
+ * Type for the features configuration.
216
+ */
217
+ export type FeaturesConfig = typeof FeaturesConfigSchema.Encoded;
218
+ /**
219
+ * Resolved type for the features configuration, where all optional fields have been resolved to their default values if not provided.
220
+ */
221
+ export type FeaturesConfigResolved = typeof FeaturesConfigSchema.Type;
222
+ /**
223
+ * Schema for the processed SDK configuration, which is the resulting configuration after processing the input SDK configuration, including cache settings with defaults applied.
224
+ */
225
+ export declare const StudioCMSOptionsSchema: Schema.Struct<{
226
+ dbStartPage: Schema.optionalWith<typeof Schema.Boolean, {
227
+ default: () => true;
228
+ }>;
229
+ verbose: Schema.optionalWith<typeof Schema.Boolean, {
230
+ default: () => false;
231
+ }>;
232
+ logLevel: Schema.optionalWith<Schema.Literal<["All", "Fatal", "Error", "Warning", "Info", "Debug", "Trace", "None"]>, {
233
+ default: () => "Info";
234
+ }>;
235
+ db: Schema.optionalWith<Schema.Schema<{
236
+ readonly dialect: "libsql" | "postgres" | "mysql";
237
+ }, {
238
+ readonly dialect?: "libsql" | "postgres" | "mysql" | undefined;
239
+ }, never>, {
240
+ default: () => {
241
+ readonly dialect: "libsql" | "postgres" | "mysql";
242
+ };
243
+ }>;
244
+ plugins: Schema.optional<Schema.mutable<Schema.Array$<typeof StudioCMSPluginSchema>>>;
245
+ storageManager: Schema.optional<typeof StudioCMSStorageManagerSchema>;
246
+ componentRegistry: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.String>>;
247
+ locale: Schema.optionalWith<Schema.Schema<{
248
+ readonly dateLocale: string;
249
+ readonly dateTimeFormat: DateTimeFormatOptions;
250
+ readonly i18n: {
251
+ readonly defaultLocale: string;
385
252
  };
386
- webVitals: boolean;
387
- preferredImageService?: string | undefined;
388
253
  }, {
389
- robotsTXT?: boolean | {
390
- host?: string | boolean | undefined;
391
- sitemap?: string | boolean | string[] | undefined;
392
- policy?: {
393
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
394
- allow?: string | string[] | undefined;
395
- disallow?: string | string[] | undefined;
396
- crawlDelay?: number | undefined;
397
- cleanParam?: string | string[] | undefined;
398
- }[] | undefined;
399
- } | undefined;
400
- injectQuickActionsMenu?: boolean | undefined;
401
- sdk?: boolean | {
402
- cacheConfig?: boolean | {
403
- lifetime?: string | undefined;
404
- } | undefined;
254
+ readonly dateLocale?: string | undefined;
255
+ readonly dateTimeFormat?: {
256
+ readonly localeMatcher?: "best fit" | "lookup" | undefined;
257
+ readonly weekday?: "long" | "short" | "narrow" | undefined;
258
+ readonly era?: "long" | "short" | "narrow" | undefined;
259
+ readonly year?: "numeric" | "2-digit" | undefined;
260
+ readonly month?: "long" | "short" | "narrow" | "numeric" | "2-digit" | undefined;
261
+ readonly day?: "numeric" | "2-digit" | undefined;
262
+ readonly hour?: "numeric" | "2-digit" | undefined;
263
+ readonly minute?: "numeric" | "2-digit" | undefined;
264
+ readonly second?: "numeric" | "2-digit" | undefined;
265
+ readonly timeZoneName?: "long" | "short" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric" | undefined;
266
+ readonly formatMatcher?: "basic" | "best fit" | undefined;
267
+ readonly hour12?: boolean | undefined;
268
+ readonly timeZone?: string | undefined;
405
269
  } | undefined;
406
- dashboardConfig?: {
407
- dashboardEnabled?: boolean | undefined;
408
- inject404Route?: boolean | undefined;
409
- faviconURL?: string | undefined;
410
- dashboardRouteOverride?: string | undefined;
411
- versionCheck?: boolean | undefined;
412
- security?: {
413
- hideGeneratorTags?: boolean | undefined;
414
- } | undefined;
270
+ readonly i18n?: {
271
+ readonly defaultLocale?: string | undefined;
415
272
  } | undefined;
416
- authConfig?: {
417
- enabled?: boolean | undefined;
418
- providers?: {
419
- usernameAndPassword?: boolean | undefined;
420
- usernameAndPasswordConfig?: {
421
- allowUserRegistration?: boolean | undefined;
422
- } | undefined;
423
- } | undefined;
424
- } | undefined;
425
- developerConfig?: {
426
- demoMode?: false | {
427
- username: string;
428
- password: string;
429
- } | undefined;
430
- } | undefined;
431
- preferredImageService?: string | undefined;
432
- webVitals?: boolean | undefined;
433
- }>>>;
434
- }, "strip", z.ZodTypeAny, {
435
- dbStartPage: boolean;
436
- verbose: boolean;
437
- logLevel: "All" | "Fatal" | "Error" | "Warning" | "Info" | "Debug" | "Trace" | "None";
438
- db: {
439
- dialect: "libsql" | "postgres" | "mysql";
440
- };
441
- locale: {
442
- dateLocale: string;
443
- dateTimeFormat: Intl.DateTimeFormatOptions;
444
- i18n: {
445
- defaultLocale: string;
273
+ }, never>, {
274
+ default: () => {
275
+ readonly dateLocale: string;
276
+ readonly dateTimeFormat: DateTimeFormatOptions;
277
+ readonly i18n: {
278
+ readonly defaultLocale: string;
279
+ };
446
280
  };
447
- };
448
- features: {
449
- robotsTXT: boolean | {
450
- host?: string | boolean | undefined;
451
- sitemap?: string | boolean | string[] | undefined;
452
- policy?: {
453
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
454
- allow?: string | string[] | undefined;
455
- disallow?: string | string[] | undefined;
456
- crawlDelay?: number | undefined;
457
- cleanParam?: string | string[] | undefined;
281
+ }>;
282
+ features: Schema.optionalWith<Schema.Schema<{
283
+ readonly robotsTXT: boolean | {
284
+ readonly host?: string | boolean | undefined;
285
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
286
+ readonly policy?: readonly {
287
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
288
+ readonly allow?: string | readonly string[] | undefined;
289
+ readonly disallow?: string | readonly string[] | undefined;
290
+ readonly crawlDelay?: number | undefined;
291
+ readonly cleanParam?: string | readonly string[] | undefined;
458
292
  }[] | undefined;
459
293
  };
460
- injectQuickActionsMenu: boolean;
461
- sdk: {
462
- cacheConfig: {
463
- lifetime: number;
464
- enabled: boolean;
294
+ readonly injectQuickActionsMenu: boolean;
295
+ readonly sdk: {
296
+ readonly cacheConfig: {
297
+ readonly lifetime: number;
298
+ readonly enabled: boolean;
465
299
  };
466
300
  };
467
- dashboardConfig: {
468
- dashboardEnabled: boolean;
469
- inject404Route: boolean;
470
- faviconURL: string;
471
- versionCheck: boolean;
472
- security: {
473
- hideGeneratorTags: boolean;
301
+ readonly dashboardConfig: {
302
+ readonly dashboardEnabled: boolean;
303
+ readonly inject404Route: boolean;
304
+ readonly faviconURL: string;
305
+ readonly dashboardRouteOverride?: string | undefined;
306
+ readonly versionCheck: boolean;
307
+ readonly security: {
308
+ readonly hideGeneratorTags: boolean;
474
309
  };
475
- dashboardRouteOverride?: string | undefined;
476
310
  };
477
- authConfig: {
478
- enabled: boolean;
479
- providers: {
480
- usernameAndPassword: boolean;
481
- usernameAndPasswordConfig: {
482
- allowUserRegistration: boolean;
311
+ readonly authConfig: {
312
+ readonly enabled: boolean;
313
+ readonly providers: {
314
+ readonly usernameAndPassword: boolean;
315
+ readonly usernameAndPasswordConfig: {
316
+ readonly allowUserRegistration: boolean;
483
317
  };
484
318
  };
485
319
  };
486
- developerConfig: {
487
- demoMode: false | {
488
- username: string;
489
- password: string;
320
+ readonly developerConfig: {
321
+ readonly demoMode: boolean | {
322
+ readonly password: string;
323
+ readonly username: string;
490
324
  };
491
325
  };
492
- webVitals: boolean;
493
- preferredImageService?: string | undefined;
494
- };
495
- plugins?: StudioCMSPlugin[] | undefined;
496
- storageManager?: StudioCMSStorageManager | undefined;
497
- componentRegistry?: Record<string, string> | undefined;
498
- }, {
499
- dbStartPage?: boolean | undefined;
500
- verbose?: boolean | undefined;
501
- logLevel?: "All" | "Fatal" | "Error" | "Warning" | "Info" | "Debug" | "Trace" | "None" | undefined;
502
- db?: {
503
- dialect?: "libsql" | "postgres" | "mysql" | undefined;
504
- } | undefined;
505
- plugins?: StudioCMSPlugin[] | undefined;
506
- storageManager?: StudioCMSStorageManager | undefined;
507
- componentRegistry?: Record<string, string> | undefined;
508
- locale?: {
509
- dateLocale?: string | undefined;
510
- dateTimeFormat?: Intl.DateTimeFormatOptions | undefined;
511
- i18n?: {
512
- defaultLocale?: string | undefined;
513
- } | undefined;
514
- } | undefined;
515
- features?: {
516
- robotsTXT?: boolean | {
517
- host?: string | boolean | undefined;
518
- sitemap?: string | boolean | string[] | undefined;
519
- policy?: {
520
- userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*" | ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeznamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yoozBot" | "YoudaoBot" | "*")[] | undefined;
521
- allow?: string | string[] | undefined;
522
- disallow?: string | string[] | undefined;
523
- crawlDelay?: number | undefined;
524
- cleanParam?: string | string[] | undefined;
326
+ readonly preferredImageService?: string | undefined;
327
+ readonly webVitals: boolean;
328
+ readonly api: {
329
+ readonly apiDocs: boolean;
330
+ };
331
+ }, {
332
+ readonly robotsTXT?: boolean | {
333
+ readonly host?: string | boolean | undefined;
334
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
335
+ readonly policy?: readonly {
336
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
337
+ readonly allow?: string | readonly string[] | undefined;
338
+ readonly disallow?: string | readonly string[] | undefined;
339
+ readonly crawlDelay?: number | undefined;
340
+ readonly cleanParam?: string | readonly string[] | undefined;
525
341
  }[] | undefined;
526
342
  } | undefined;
527
- injectQuickActionsMenu?: boolean | undefined;
528
- sdk?: boolean | {
529
- cacheConfig?: boolean | {
530
- lifetime?: string | undefined;
531
- } | undefined;
343
+ readonly injectQuickActionsMenu?: boolean | undefined;
344
+ readonly sdk?: boolean | {
345
+ readonly cacheConfig: boolean | {
346
+ readonly lifetime?: import("effect/Duration").Duration | undefined;
347
+ };
532
348
  } | undefined;
533
- dashboardConfig?: {
534
- dashboardEnabled?: boolean | undefined;
535
- inject404Route?: boolean | undefined;
536
- faviconURL?: string | undefined;
537
- dashboardRouteOverride?: string | undefined;
538
- versionCheck?: boolean | undefined;
539
- security?: {
540
- hideGeneratorTags?: boolean | undefined;
349
+ readonly dashboardConfig?: {
350
+ readonly dashboardEnabled?: boolean | undefined;
351
+ readonly inject404Route?: boolean | undefined;
352
+ readonly faviconURL?: string | undefined;
353
+ readonly dashboardRouteOverride?: string | undefined;
354
+ readonly versionCheck?: boolean | undefined;
355
+ readonly security?: {
356
+ readonly hideGeneratorTags?: boolean | undefined;
541
357
  } | undefined;
542
358
  } | undefined;
543
- authConfig?: {
544
- enabled?: boolean | undefined;
545
- providers?: {
546
- usernameAndPassword?: boolean | undefined;
547
- usernameAndPasswordConfig?: {
548
- allowUserRegistration?: boolean | undefined;
359
+ readonly authConfig?: {
360
+ readonly enabled?: boolean | undefined;
361
+ readonly providers?: {
362
+ readonly usernameAndPassword?: boolean | undefined;
363
+ readonly usernameAndPasswordConfig?: {
364
+ readonly allowUserRegistration?: boolean | undefined;
549
365
  } | undefined;
550
366
  } | undefined;
551
367
  } | undefined;
552
- developerConfig?: {
553
- demoMode?: false | {
554
- username: string;
555
- password: string;
368
+ readonly developerConfig?: {
369
+ readonly demoMode?: boolean | {
370
+ readonly password: string;
371
+ readonly username: string;
556
372
  } | undefined;
557
373
  } | undefined;
558
- preferredImageService?: string | undefined;
559
- webVitals?: boolean | undefined;
560
- } | undefined;
561
- }>>>;
562
- export type StudioCMSConfig = typeof StudioCMSOptionsSchema._output;
374
+ readonly preferredImageService?: string | undefined;
375
+ readonly webVitals?: boolean | undefined;
376
+ readonly api?: {
377
+ readonly apiDocs?: boolean | undefined;
378
+ } | undefined;
379
+ }, never>, {
380
+ default: () => {
381
+ readonly robotsTXT: boolean | {
382
+ readonly host?: string | boolean | undefined;
383
+ readonly sitemap?: string | boolean | readonly string[] | undefined;
384
+ readonly policy?: readonly {
385
+ readonly userAgent?: "360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*" | readonly ("360Spider" | "360Spider-Image" | "360Spider-Video" | "HaoSouSpider" | "AdsBot-Google" | "AdsBot-Google-Mobile" | "AdsBot-Google-Mobile-Apps" | "Googlebot" | "Googlebot-Image" | "Googlebot-Mobile" | "Googlebot-News" | "Googlebot-Video" | "Mediapartners-Google" | "adidxbot" | "bingbot" | "BingPreview" | "MicrosoftPreview" | "msnbot" | "msnbot-media" | "Applebot" | "AppleNewsBot" | "Baiduspider" | "Baiduspider-image" | "Baiduspider-mobile" | "Baiduspider-news" | "Baiduspider-video" | "coccoc" | "coccocbot-image" | "coccocbot-web" | "DuckDuckBot" | "DuckDuckGo-Favicons-Bot" | "facebookcatalog" | "facebookexternalhit" | "Facebot" | "gooblog" | "ichiro" | "Sogou blog" | "Sogou inst spider" | "Sogou News Spider" | "Sogou Orion spider" | "Sogou spider2" | "Sogou web spider" | "Yandex" | "YandexMobileBot" | "Algolia Crawler" | "BublupBot" | "CCBot" | "Cliqzbot" | "Daumoa" | "DeuSu" | "EuripBot" | "Exploratodo" | "Feedly" | "Findxbot" | "istellabot" | "JikeSpider" | "Lycos" | "Mail.Ru" | "MojeekBot" | "OrangeBot" | "Pinterest" | "Plukkie" | "Qwantify" | "Rambler" | "SemanticScholarBot" | "SeSchemanamBot" | "Sosospider" | "Slurp" | "Twitterbot" | "WhatsApp" | "yacybot" | "YepBot" | "Yeti" | "YioopBot" | "yooSchemaBot" | "YoudaoBot" | "*")[] | undefined;
386
+ readonly allow?: string | readonly string[] | undefined;
387
+ readonly disallow?: string | readonly string[] | undefined;
388
+ readonly crawlDelay?: number | undefined;
389
+ readonly cleanParam?: string | readonly string[] | undefined;
390
+ }[] | undefined;
391
+ };
392
+ readonly injectQuickActionsMenu: boolean;
393
+ readonly sdk: {
394
+ readonly cacheConfig: {
395
+ readonly lifetime: number;
396
+ readonly enabled: boolean;
397
+ };
398
+ };
399
+ readonly dashboardConfig: {
400
+ readonly dashboardEnabled: boolean;
401
+ readonly inject404Route: boolean;
402
+ readonly faviconURL: string;
403
+ readonly dashboardRouteOverride?: string | undefined;
404
+ readonly versionCheck: boolean;
405
+ readonly security: {
406
+ readonly hideGeneratorTags: boolean;
407
+ };
408
+ };
409
+ readonly authConfig: {
410
+ readonly enabled: boolean;
411
+ readonly providers: {
412
+ readonly usernameAndPassword: boolean;
413
+ readonly usernameAndPasswordConfig: {
414
+ readonly allowUserRegistration: boolean;
415
+ };
416
+ };
417
+ };
418
+ readonly developerConfig: {
419
+ readonly demoMode: boolean | {
420
+ readonly password: string;
421
+ readonly username: string;
422
+ };
423
+ };
424
+ readonly preferredImageService?: string | undefined;
425
+ readonly webVitals: boolean;
426
+ readonly api: {
427
+ readonly apiDocs: boolean;
428
+ };
429
+ };
430
+ }>;
431
+ }>;
432
+ /**
433
+ * Type for the main StudioCMS configuration.
434
+ */
435
+ export type StudioCMSOptions = typeof StudioCMSOptionsSchema.Encoded;
436
+ /**
437
+ * Resolved type for the main StudioCMS configuration, where all optional fields have been resolved to their default values if not provided.
438
+ */
439
+ export type StudioCMSConfig = typeof StudioCMSOptionsSchema.Type;