@aphexcms/cms-core 9.3.0 → 9.5.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 (431) hide show
  1. package/dist/admin/block-previews.svelte.d.ts +46 -0
  2. package/dist/admin/block-previews.svelte.d.ts.map +1 -0
  3. package/dist/admin/block-previews.svelte.js +26 -0
  4. package/dist/admin/field-components.svelte.d.ts +16 -0
  5. package/dist/admin/field-components.svelte.d.ts.map +1 -0
  6. package/dist/admin/field-components.svelte.js +18 -0
  7. package/dist/admin/nav.svelte.d.ts +34 -0
  8. package/dist/admin/nav.svelte.d.ts.map +1 -0
  9. package/dist/admin/nav.svelte.js +78 -0
  10. package/dist/admin/slots.svelte.d.ts +50 -0
  11. package/dist/admin/slots.svelte.d.ts.map +1 -0
  12. package/dist/admin/slots.svelte.js +67 -0
  13. package/dist/admin/types.d.ts +7 -0
  14. package/dist/admin/types.d.ts.map +1 -0
  15. package/dist/admin/types.js +1 -0
  16. package/dist/api/schemas/api-keys.d.ts +4 -37
  17. package/dist/api/schemas/api-keys.d.ts.map +1 -1
  18. package/dist/api/schemas/api-keys.js +5 -2
  19. package/dist/api/schemas/assets.d.ts +4 -0
  20. package/dist/api/schemas/assets.d.ts.map +1 -1
  21. package/dist/api/schemas/assets.js +3 -0
  22. package/dist/api/schemas/plugin-settings.d.ts +6 -0
  23. package/dist/api/schemas/plugin-settings.d.ts.map +1 -0
  24. package/dist/api/schemas/plugin-settings.js +8 -0
  25. package/dist/api/schemas/roles.d.ts +7 -56
  26. package/dist/api/schemas/roles.d.ts.map +1 -1
  27. package/dist/api/schemas/roles.js +11 -6
  28. package/dist/api/schemas/user.d.ts +2 -1
  29. package/dist/api/schemas/user.d.ts.map +1 -1
  30. package/dist/api/schemas/user.js +7 -2
  31. package/dist/app-augment.d.ts +11 -0
  32. package/dist/app-augment.d.ts.map +1 -1
  33. package/dist/app.d.ts +2 -0
  34. package/dist/auth/provider.d.ts +3 -0
  35. package/dist/auth/provider.d.ts.map +1 -1
  36. package/dist/cli/generate-types.d.ts +10 -5
  37. package/dist/cli/generate-types.d.ts.map +1 -1
  38. package/dist/cli/generate-types.js +117 -77
  39. package/dist/cli/generate-types.js.map +1 -1
  40. package/dist/cli/index.js +5 -5
  41. package/dist/cli/index.js.map +1 -1
  42. package/dist/cli/migrate.d.ts +1 -1
  43. package/dist/cli/migrate.d.ts.map +1 -1
  44. package/dist/cli/migrate.js +27 -2
  45. package/dist/cli/migrate.js.map +1 -1
  46. package/dist/client/index.d.ts +6 -0
  47. package/dist/client/index.d.ts.map +1 -1
  48. package/dist/client/index.js +9 -0
  49. package/dist/components/AdminApp.svelte +271 -113
  50. package/dist/components/AdminApp.svelte.d.ts +18 -2
  51. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  52. package/dist/components/admin/AdminSlot.svelte +18 -0
  53. package/dist/components/admin/AdminSlot.svelte.d.ts +12 -0
  54. package/dist/components/admin/AdminSlot.svelte.d.ts.map +1 -0
  55. package/dist/components/admin/DocumentEditor.svelte +646 -385
  56. package/dist/components/admin/DocumentEditor.svelte.d.ts +13 -0
  57. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  58. package/dist/components/admin/MediaBrowser.svelte +13 -3
  59. package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -1
  60. package/dist/components/admin/PluginSettingsPanel.svelte +231 -0
  61. package/dist/components/admin/PluginSettingsPanel.svelte.d.ts +8 -0
  62. package/dist/components/admin/PluginSettingsPanel.svelte.d.ts.map +1 -0
  63. package/dist/components/admin/SchemaField.svelte +76 -95
  64. package/dist/components/admin/SchemaField.svelte.d.ts +7 -0
  65. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
  66. package/dist/components/admin/fields/ArrayField.svelte +24 -2
  67. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  68. package/dist/components/admin/fields/FieldInput.svelte +109 -0
  69. package/dist/components/admin/fields/FieldInput.svelte.d.ts +17 -0
  70. package/dist/components/admin/fields/FieldInput.svelte.d.ts.map +1 -0
  71. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte +5 -12
  72. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts +2 -9
  73. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts.map +1 -1
  74. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte +18 -17
  75. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts +2 -9
  76. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts.map +1 -1
  77. package/dist/components/admin/fields/richtext/RichtextField.svelte +55 -2
  78. package/dist/components/admin/fields/richtext/RichtextField.svelte.d.ts.map +1 -1
  79. package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts +7 -0
  80. package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -1
  81. package/dist/components/admin/fields/richtext/portable-text-object-node.js +4 -2
  82. package/dist/components/admin/fields/richtext/svelte-node-view.d.ts +16 -1
  83. package/dist/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -1
  84. package/dist/components/admin/fields/richtext/svelte-node-view.js +20 -1
  85. package/dist/components/layout/OrganizationSwitcher.svelte +31 -10
  86. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -1
  87. package/dist/components/layout/Sidebar.svelte +49 -11
  88. package/dist/components/layout/Sidebar.svelte.d.ts +5 -1
  89. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
  90. package/dist/components/layout/sidebar/AppSidebar.svelte +66 -3
  91. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +5 -0
  92. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -1
  93. package/dist/components/layout/sidebar/NavMain.svelte +3 -2
  94. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +4 -3
  95. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
  96. package/dist/components/layout/sidebar/NavUser.svelte +5 -1
  97. package/dist/config.d.ts.map +1 -1
  98. package/dist/config.js +11 -0
  99. package/dist/db/interfaces/asset.d.ts +1 -0
  100. package/dist/db/interfaces/asset.d.ts.map +1 -1
  101. package/dist/db/interfaces/index.d.ts +3 -1
  102. package/dist/db/interfaces/index.d.ts.map +1 -1
  103. package/dist/db/interfaces/plugin-settings.d.ts +23 -0
  104. package/dist/db/interfaces/plugin-settings.d.ts.map +1 -0
  105. package/dist/db/interfaces/plugin-settings.js +13 -0
  106. package/dist/db/interfaces/role.d.ts +14 -5
  107. package/dist/db/interfaces/role.d.ts.map +1 -1
  108. package/dist/engine.d.ts +28 -0
  109. package/dist/engine.d.ts.map +1 -1
  110. package/dist/engine.js +44 -0
  111. package/dist/field-validation/utils.d.ts +15 -0
  112. package/dist/field-validation/utils.d.ts.map +1 -1
  113. package/dist/field-validation/utils.js +74 -0
  114. package/dist/graphql/resolvers.d.ts.map +1 -1
  115. package/dist/graphql/resolvers.js +9 -10
  116. package/dist/graphql/schema.d.ts.map +1 -1
  117. package/dist/graphql/schema.js +18 -19
  118. package/dist/hooks.d.ts +6 -0
  119. package/dist/hooks.d.ts.map +1 -1
  120. package/dist/hooks.js +59 -2
  121. package/dist/index.d.ts +2 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +5 -0
  124. package/dist/lib/admin/block-previews.svelte.d.ts +46 -0
  125. package/dist/lib/admin/block-previews.svelte.d.ts.map +1 -0
  126. package/dist/lib/admin/block-previews.svelte.js +27 -0
  127. package/dist/lib/admin/block-previews.svelte.js.map +1 -0
  128. package/dist/lib/admin/field-components.svelte.d.ts +16 -0
  129. package/dist/lib/admin/field-components.svelte.d.ts.map +1 -0
  130. package/dist/lib/admin/field-components.svelte.js +19 -0
  131. package/dist/lib/admin/field-components.svelte.js.map +1 -0
  132. package/dist/lib/admin/nav.svelte.d.ts +34 -0
  133. package/dist/lib/admin/nav.svelte.d.ts.map +1 -0
  134. package/dist/lib/admin/nav.svelte.js +79 -0
  135. package/dist/lib/admin/nav.svelte.js.map +1 -0
  136. package/dist/lib/admin/slots.svelte.d.ts +50 -0
  137. package/dist/lib/admin/slots.svelte.d.ts.map +1 -0
  138. package/dist/lib/admin/slots.svelte.js +68 -0
  139. package/dist/lib/admin/slots.svelte.js.map +1 -0
  140. package/dist/lib/admin/types.d.ts +7 -0
  141. package/dist/lib/admin/types.d.ts.map +1 -0
  142. package/dist/lib/admin/types.js +2 -0
  143. package/dist/lib/admin/types.js.map +1 -0
  144. package/dist/lib/api/schemas/api-keys.d.ts +4 -37
  145. package/dist/lib/api/schemas/api-keys.d.ts.map +1 -1
  146. package/dist/lib/api/schemas/api-keys.js +5 -2
  147. package/dist/lib/api/schemas/api-keys.js.map +1 -1
  148. package/dist/lib/api/schemas/assets.d.ts +4 -0
  149. package/dist/lib/api/schemas/assets.d.ts.map +1 -1
  150. package/dist/lib/api/schemas/assets.js +3 -0
  151. package/dist/lib/api/schemas/assets.js.map +1 -1
  152. package/dist/lib/api/schemas/plugin-settings.d.ts +6 -0
  153. package/dist/lib/api/schemas/plugin-settings.d.ts.map +1 -0
  154. package/dist/lib/api/schemas/plugin-settings.js +9 -0
  155. package/dist/lib/api/schemas/plugin-settings.js.map +1 -0
  156. package/dist/lib/api/schemas/roles.d.ts +7 -56
  157. package/dist/lib/api/schemas/roles.d.ts.map +1 -1
  158. package/dist/lib/api/schemas/roles.js +11 -6
  159. package/dist/lib/api/schemas/roles.js.map +1 -1
  160. package/dist/lib/api/schemas/user.d.ts +2 -1
  161. package/dist/lib/api/schemas/user.d.ts.map +1 -1
  162. package/dist/lib/api/schemas/user.js +7 -2
  163. package/dist/lib/api/schemas/user.js.map +1 -1
  164. package/dist/lib/app-augment.d.ts +11 -0
  165. package/dist/lib/app-augment.d.ts.map +1 -1
  166. package/dist/lib/auth/provider.d.ts +3 -0
  167. package/dist/lib/auth/provider.d.ts.map +1 -1
  168. package/dist/lib/client/index.d.ts +6 -0
  169. package/dist/lib/client/index.d.ts.map +1 -1
  170. package/dist/lib/client/index.js +9 -0
  171. package/dist/lib/client/index.js.map +1 -1
  172. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts +7 -0
  173. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -1
  174. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js +4 -2
  175. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js.map +1 -1
  176. package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts +16 -1
  177. package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -1
  178. package/dist/lib/components/admin/fields/richtext/svelte-node-view.js +20 -1
  179. package/dist/lib/components/admin/fields/richtext/svelte-node-view.js.map +1 -1
  180. package/dist/lib/config.d.ts.map +1 -1
  181. package/dist/lib/config.js +11 -0
  182. package/dist/lib/config.js.map +1 -1
  183. package/dist/lib/db/interfaces/asset.d.ts +1 -0
  184. package/dist/lib/db/interfaces/asset.d.ts.map +1 -1
  185. package/dist/lib/db/interfaces/index.d.ts +3 -1
  186. package/dist/lib/db/interfaces/index.d.ts.map +1 -1
  187. package/dist/lib/db/interfaces/plugin-settings.d.ts +23 -0
  188. package/dist/lib/db/interfaces/plugin-settings.d.ts.map +1 -0
  189. package/dist/lib/db/interfaces/plugin-settings.js +14 -0
  190. package/dist/lib/db/interfaces/plugin-settings.js.map +1 -0
  191. package/dist/lib/db/interfaces/role.d.ts +14 -5
  192. package/dist/lib/db/interfaces/role.d.ts.map +1 -1
  193. package/dist/lib/engine.d.ts +28 -0
  194. package/dist/lib/engine.d.ts.map +1 -1
  195. package/dist/lib/engine.js +44 -0
  196. package/dist/lib/engine.js.map +1 -1
  197. package/dist/lib/field-validation/utils.d.ts +15 -0
  198. package/dist/lib/field-validation/utils.d.ts.map +1 -1
  199. package/dist/lib/field-validation/utils.js +74 -0
  200. package/dist/lib/field-validation/utils.js.map +1 -1
  201. package/dist/lib/graphql/resolvers.d.ts.map +1 -1
  202. package/dist/lib/graphql/resolvers.js +9 -10
  203. package/dist/lib/graphql/resolvers.js.map +1 -1
  204. package/dist/lib/graphql/schema.d.ts.map +1 -1
  205. package/dist/lib/graphql/schema.js +18 -19
  206. package/dist/lib/graphql/schema.js.map +1 -1
  207. package/dist/lib/hooks.d.ts +6 -0
  208. package/dist/lib/hooks.d.ts.map +1 -1
  209. package/dist/lib/hooks.js +59 -2
  210. package/dist/lib/hooks.js.map +1 -1
  211. package/dist/lib/index.d.ts +2 -0
  212. package/dist/lib/index.d.ts.map +1 -1
  213. package/dist/lib/index.js +5 -0
  214. package/dist/lib/index.js.map +1 -1
  215. package/dist/lib/local-api/collection-api.d.ts.map +1 -1
  216. package/dist/lib/local-api/collection-api.js +4 -2
  217. package/dist/lib/local-api/collection-api.js.map +1 -1
  218. package/dist/lib/local-api/types.d.ts +8 -0
  219. package/dist/lib/local-api/types.d.ts.map +1 -1
  220. package/dist/lib/mcp/tools.d.ts.map +1 -1
  221. package/dist/lib/mcp/tools.js +110 -1
  222. package/dist/lib/mcp/tools.js.map +1 -1
  223. package/dist/lib/permissions-context.svelte.d.ts +7 -4
  224. package/dist/lib/permissions-context.svelte.d.ts.map +1 -1
  225. package/dist/lib/permissions-context.svelte.js.map +1 -1
  226. package/dist/lib/plugins/index.d.ts +3 -0
  227. package/dist/lib/plugins/index.d.ts.map +1 -0
  228. package/dist/lib/plugins/index.js +3 -0
  229. package/dist/lib/plugins/index.js.map +1 -0
  230. package/dist/lib/plugins/resolver.d.ts +49 -0
  231. package/dist/lib/plugins/resolver.d.ts.map +1 -0
  232. package/dist/lib/plugins/resolver.js +66 -0
  233. package/dist/lib/plugins/resolver.js.map +1 -0
  234. package/dist/lib/plugins/types.d.ts +233 -0
  235. package/dist/lib/plugins/types.d.ts.map +1 -0
  236. package/dist/lib/plugins/types.js +9 -0
  237. package/dist/lib/plugins/types.js.map +1 -0
  238. package/dist/lib/schema-utils/desugar.d.ts +27 -0
  239. package/dist/lib/schema-utils/desugar.d.ts.map +1 -0
  240. package/dist/lib/schema-utils/desugar.js +102 -0
  241. package/dist/lib/schema-utils/desugar.js.map +1 -0
  242. package/dist/lib/schema-utils/index.d.ts +2 -0
  243. package/dist/lib/schema-utils/index.d.ts.map +1 -1
  244. package/dist/lib/schema-utils/index.js +2 -0
  245. package/dist/lib/schema-utils/index.js.map +1 -1
  246. package/dist/lib/schema-utils/settings.d.ts +17 -0
  247. package/dist/lib/schema-utils/settings.d.ts.map +1 -0
  248. package/dist/lib/schema-utils/settings.js +23 -0
  249. package/dist/lib/schema-utils/settings.js.map +1 -0
  250. package/dist/lib/schema-utils/validator.d.ts.map +1 -1
  251. package/dist/lib/schema-utils/validator.js +11 -0
  252. package/dist/lib/schema-utils/validator.js.map +1 -1
  253. package/dist/lib/security/secret-crypto.d.ts +18 -0
  254. package/dist/lib/security/secret-crypto.d.ts.map +1 -0
  255. package/dist/lib/security/secret-crypto.js +71 -0
  256. package/dist/lib/security/secret-crypto.js.map +1 -0
  257. package/dist/lib/server/api/index.d.ts.map +1 -1
  258. package/dist/lib/server/api/index.js +3 -0
  259. package/dist/lib/server/api/index.js.map +1 -1
  260. package/dist/lib/server/api/routes/assets.d.ts.map +1 -1
  261. package/dist/lib/server/api/routes/assets.js +8 -2
  262. package/dist/lib/server/api/routes/assets.js.map +1 -1
  263. package/dist/lib/server/api/routes/organizations.d.ts.map +1 -1
  264. package/dist/lib/server/api/routes/organizations.js +4 -1
  265. package/dist/lib/server/api/routes/organizations.js.map +1 -1
  266. package/dist/lib/server/api/routes/plugin-settings.d.ts +4 -0
  267. package/dist/lib/server/api/routes/plugin-settings.d.ts.map +1 -0
  268. package/dist/lib/server/api/routes/plugin-settings.js +109 -0
  269. package/dist/lib/server/api/routes/plugin-settings.js.map +1 -0
  270. package/dist/lib/server/api/routes/roles.d.ts.map +1 -1
  271. package/dist/lib/server/api/routes/roles.js +37 -0
  272. package/dist/lib/server/api/routes/roles.js.map +1 -1
  273. package/dist/lib/server/api/routes/user.d.ts.map +1 -1
  274. package/dist/lib/server/api/routes/user.js +14 -3
  275. package/dist/lib/server/api/routes/user.js.map +1 -1
  276. package/dist/lib/services/asset-service.d.ts +1 -0
  277. package/dist/lib/services/asset-service.d.ts.map +1 -1
  278. package/dist/lib/services/asset-service.js.map +1 -1
  279. package/dist/lib/services/index.d.ts +2 -0
  280. package/dist/lib/services/index.d.ts.map +1 -1
  281. package/dist/lib/services/index.js +1 -0
  282. package/dist/lib/services/index.js.map +1 -1
  283. package/dist/lib/services/plugin-settings-service.d.ts +76 -0
  284. package/dist/lib/services/plugin-settings-service.d.ts.map +1 -0
  285. package/dist/lib/services/plugin-settings-service.js +236 -0
  286. package/dist/lib/services/plugin-settings-service.js.map +1 -0
  287. package/dist/lib/services/roles-service.d.ts +2 -2
  288. package/dist/lib/services/roles-service.d.ts.map +1 -1
  289. package/dist/lib/services/roles-service.js.map +1 -1
  290. package/dist/lib/theme/css.d.ts +30 -0
  291. package/dist/lib/theme/css.d.ts.map +1 -0
  292. package/dist/lib/theme/css.js +54 -0
  293. package/dist/lib/theme/css.js.map +1 -0
  294. package/dist/lib/theme/derive.d.ts +27 -0
  295. package/dist/lib/theme/derive.d.ts.map +1 -0
  296. package/dist/lib/theme/derive.js +108 -0
  297. package/dist/lib/theme/derive.js.map +1 -0
  298. package/dist/lib/theme/index.d.ts +5 -0
  299. package/dist/lib/theme/index.d.ts.map +1 -0
  300. package/dist/lib/theme/index.js +5 -0
  301. package/dist/lib/theme/index.js.map +1 -0
  302. package/dist/lib/theme/schemes.d.ts +60 -0
  303. package/dist/lib/theme/schemes.d.ts.map +1 -0
  304. package/dist/lib/theme/schemes.js +150 -0
  305. package/dist/lib/theme/schemes.js.map +1 -0
  306. package/dist/lib/theme/tokens.d.ts +57 -0
  307. package/dist/lib/theme/tokens.d.ts.map +1 -0
  308. package/dist/lib/theme/tokens.js +11 -0
  309. package/dist/lib/theme/tokens.js.map +1 -0
  310. package/dist/lib/types/auth.d.ts +10 -10
  311. package/dist/lib/types/auth.d.ts.map +1 -1
  312. package/dist/lib/types/capabilities.d.ts +50 -9
  313. package/dist/lib/types/capabilities.d.ts.map +1 -1
  314. package/dist/lib/types/capabilities.js +147 -5
  315. package/dist/lib/types/capabilities.js.map +1 -1
  316. package/dist/lib/types/config.d.ts +30 -1
  317. package/dist/lib/types/config.d.ts.map +1 -1
  318. package/dist/lib/types/schemas.d.ts +90 -2
  319. package/dist/lib/types/schemas.d.ts.map +1 -1
  320. package/dist/lib/types/schemas.js.map +1 -1
  321. package/dist/lib/types/sidebar.d.ts +3 -1
  322. package/dist/lib/types/sidebar.d.ts.map +1 -1
  323. package/dist/lib/utils/index.d.ts +1 -0
  324. package/dist/lib/utils/index.d.ts.map +1 -1
  325. package/dist/lib/utils/index.js +1 -0
  326. package/dist/lib/utils/index.js.map +1 -1
  327. package/dist/lib/utils/preview.d.ts +16 -5
  328. package/dist/lib/utils/preview.d.ts.map +1 -1
  329. package/dist/lib/utils/preview.js +7 -2
  330. package/dist/lib/utils/preview.js.map +1 -1
  331. package/dist/lib/utils/string-case.d.ts +21 -0
  332. package/dist/lib/utils/string-case.d.ts.map +1 -0
  333. package/dist/lib/utils/string-case.js +26 -0
  334. package/dist/lib/utils/string-case.js.map +1 -0
  335. package/dist/lib/vite/index.d.ts +7 -0
  336. package/dist/lib/vite/index.d.ts.map +1 -1
  337. package/dist/lib/vite/index.js +37 -6
  338. package/dist/lib/vite/index.js.map +1 -1
  339. package/dist/local-api/collection-api.d.ts.map +1 -1
  340. package/dist/local-api/collection-api.js +4 -2
  341. package/dist/local-api/types.d.ts +8 -0
  342. package/dist/local-api/types.d.ts.map +1 -1
  343. package/dist/mcp/tools.d.ts.map +1 -1
  344. package/dist/mcp/tools.js +110 -1
  345. package/dist/permissions-context.svelte.d.ts +7 -4
  346. package/dist/permissions-context.svelte.d.ts.map +1 -1
  347. package/dist/plugins/index.d.ts +3 -0
  348. package/dist/plugins/index.d.ts.map +1 -0
  349. package/dist/plugins/index.js +2 -0
  350. package/dist/plugins/resolver.d.ts +49 -0
  351. package/dist/plugins/resolver.d.ts.map +1 -0
  352. package/dist/plugins/resolver.js +65 -0
  353. package/dist/plugins/types.d.ts +233 -0
  354. package/dist/plugins/types.d.ts.map +1 -0
  355. package/dist/plugins/types.js +8 -0
  356. package/dist/schema-utils/desugar.d.ts +27 -0
  357. package/dist/schema-utils/desugar.d.ts.map +1 -0
  358. package/dist/schema-utils/desugar.js +101 -0
  359. package/dist/schema-utils/index.d.ts +2 -0
  360. package/dist/schema-utils/index.d.ts.map +1 -1
  361. package/dist/schema-utils/index.js +2 -0
  362. package/dist/schema-utils/settings.d.ts +17 -0
  363. package/dist/schema-utils/settings.d.ts.map +1 -0
  364. package/dist/schema-utils/settings.js +22 -0
  365. package/dist/schema-utils/validator.d.ts.map +1 -1
  366. package/dist/schema-utils/validator.js +11 -0
  367. package/dist/security/secret-crypto.d.ts +18 -0
  368. package/dist/security/secret-crypto.d.ts.map +1 -0
  369. package/dist/security/secret-crypto.js +70 -0
  370. package/dist/server/api/index.d.ts.map +1 -1
  371. package/dist/server/api/index.js +3 -0
  372. package/dist/server/api/routes/assets.d.ts.map +1 -1
  373. package/dist/server/api/routes/assets.js +8 -2
  374. package/dist/server/api/routes/organizations.d.ts.map +1 -1
  375. package/dist/server/api/routes/organizations.js +4 -1
  376. package/dist/server/api/routes/plugin-settings.d.ts +4 -0
  377. package/dist/server/api/routes/plugin-settings.d.ts.map +1 -0
  378. package/dist/server/api/routes/plugin-settings.js +108 -0
  379. package/dist/server/api/routes/roles.d.ts.map +1 -1
  380. package/dist/server/api/routes/roles.js +37 -0
  381. package/dist/server/api/routes/user.d.ts.map +1 -1
  382. package/dist/server/api/routes/user.js +14 -3
  383. package/dist/services/asset-service.d.ts +1 -0
  384. package/dist/services/asset-service.d.ts.map +1 -1
  385. package/dist/services/index.d.ts +2 -0
  386. package/dist/services/index.d.ts.map +1 -1
  387. package/dist/services/index.js +1 -0
  388. package/dist/services/plugin-settings-service.d.ts +76 -0
  389. package/dist/services/plugin-settings-service.d.ts.map +1 -0
  390. package/dist/services/plugin-settings-service.js +235 -0
  391. package/dist/services/roles-service.d.ts +2 -2
  392. package/dist/services/roles-service.d.ts.map +1 -1
  393. package/dist/theme/css.d.ts +30 -0
  394. package/dist/theme/css.d.ts.map +1 -0
  395. package/dist/theme/css.js +53 -0
  396. package/dist/theme/derive.d.ts +27 -0
  397. package/dist/theme/derive.d.ts.map +1 -0
  398. package/dist/theme/derive.js +107 -0
  399. package/dist/theme/index.d.ts +5 -0
  400. package/dist/theme/index.d.ts.map +1 -0
  401. package/dist/theme/index.js +4 -0
  402. package/dist/theme/schemes.d.ts +60 -0
  403. package/dist/theme/schemes.d.ts.map +1 -0
  404. package/dist/theme/schemes.js +149 -0
  405. package/dist/theme/tokens.d.ts +57 -0
  406. package/dist/theme/tokens.d.ts.map +1 -0
  407. package/dist/theme/tokens.js +10 -0
  408. package/dist/types/auth.d.ts +10 -10
  409. package/dist/types/auth.d.ts.map +1 -1
  410. package/dist/types/capabilities.d.ts +50 -9
  411. package/dist/types/capabilities.d.ts.map +1 -1
  412. package/dist/types/capabilities.js +147 -5
  413. package/dist/types/config.d.ts +30 -1
  414. package/dist/types/config.d.ts.map +1 -1
  415. package/dist/types/schemas.d.ts +90 -2
  416. package/dist/types/schemas.d.ts.map +1 -1
  417. package/dist/types/sidebar.d.ts +3 -1
  418. package/dist/types/sidebar.d.ts.map +1 -1
  419. package/dist/utils/index.d.ts +1 -0
  420. package/dist/utils/index.d.ts.map +1 -1
  421. package/dist/utils/index.js +1 -0
  422. package/dist/utils/preview.d.ts +16 -5
  423. package/dist/utils/preview.d.ts.map +1 -1
  424. package/dist/utils/preview.js +7 -2
  425. package/dist/utils/string-case.d.ts +21 -0
  426. package/dist/utils/string-case.d.ts.map +1 -0
  427. package/dist/utils/string-case.js +25 -0
  428. package/dist/vite/index.d.ts +7 -0
  429. package/dist/vite/index.d.ts.map +1 -1
  430. package/dist/vite/index.js +37 -6
  431. package/package.json +6 -4
@@ -6,11 +6,44 @@ import type { OrganizationRole } from './organization.js';
6
6
  * Append-only: removing or renaming a value silently weakens every call site.
7
7
  * If a capability is no longer needed, leave the string and stop granting it.
8
8
  */
9
- export type Capability = 'document.read' | 'document.create' | 'document.update' | 'document.delete' | 'document.publish' | 'document.unpublish' | 'asset.read' | 'asset.upload' | 'asset.delete' | 'member.invite' | 'member.remove' | 'member.changeRole' | 'apiKey.manage' | 'role.manage' | 'org.settings';
9
+ export type Capability = 'document.read' | 'document.create' | 'document.update' | 'document.delete' | 'document.publish' | 'document.unpublish' | 'asset.read' | 'asset.upload' | 'asset.delete' | 'member.invite' | 'member.remove' | 'member.changeRole' | 'apiKey.manage' | 'role.manage' | 'org.settings' | 'plugin.settings.manage';
10
10
  /**
11
11
  * Enumerate every capability. Useful for owner seeding and validation.
12
12
  */
13
13
  export declare const ALL_CAPABILITIES: readonly Capability[];
14
+ /**
15
+ * Metadata for one capability — a registry entry. Turns a bare permission string
16
+ * into something the roles UI can present (title, help text, grouping). Built-ins
17
+ * are defined below; plugins add their own via the `aphex/capabilities` part, and
18
+ * the part resolver merges both into one catalog (`resolver.capabilityCatalog()`).
19
+ */
20
+ export interface CapabilityDefinition {
21
+ /** The permission string checked at runtime, e.g. `'document.publish'`. */
22
+ id: string;
23
+ /** Human label shown in the roles UI. */
24
+ title: string;
25
+ /** One-line explanation shown under the title. */
26
+ description?: string;
27
+ /** Group heading in the roles UI, e.g. `'Documents'`. */
28
+ group?: string;
29
+ }
30
+ /**
31
+ * Define a capability with metadata. Plugins pass these to the `aphex/capabilities`
32
+ * part so their permissions appear (and are assignable) in the roles UI.
33
+ *
34
+ * @example
35
+ * defineCapability('forms.export', { title: 'Export submissions', group: 'Forms' })
36
+ */
37
+ export declare function defineCapability(id: string, meta?: Partial<Omit<CapabilityDefinition, 'id'>>): CapabilityDefinition;
38
+ /** Fallback label for a bare id: `document.publish` → `Publish` (last segment, title-cased). */
39
+ export declare function prettifyCapabilityId(id: string): string;
40
+ /** The built-in capability catalog — metadata for every core capability. */
41
+ export declare const BUILTIN_CAPABILITY_DEFS: readonly CapabilityDefinition[];
42
+ /**
43
+ * Merge the built-in catalog with extra (plugin) definitions, deduped by id — the
44
+ * first definition of an id wins, so plugins can't silently redefine a core cap.
45
+ */
46
+ export declare function mergeCapabilityCatalog(extra?: readonly CapabilityDefinition[]): CapabilityDefinition[];
14
47
  /**
15
48
  * Built-in role names. These are the guaranteed defaults every org receives.
16
49
  * Custom role names are any other string.
@@ -19,9 +52,15 @@ export declare const BUILTIN_ROLE_NAMES: readonly OrganizationRole[];
19
52
  /**
20
53
  * Seed data for the four built-in roles.
21
54
  *
22
- * This is the **default floor** — the set of capabilities a freshly-created
23
- * org starts with. Once seeded, rows live in `cms_roles` and can be edited by
24
- * admins (via future Roles UI). Custom roles live alongside these.
55
+ * For viewer/editor/admin this is the **default floor** — the set of capabilities
56
+ * a freshly-created org starts with. Once seeded, rows live in `cms_roles` and can
57
+ * be edited by admins via the Roles UI; they are never force-updated afterwards,
58
+ * so a capability added by a later core upgrade is not granted retroactively.
59
+ *
60
+ * `owner` is different: it is an **invariant**, not a floor. It is always the whole
61
+ * of ALL_CAPABILITIES, is rejected by the roles PATCH route, and is reconciled on
62
+ * every boot (see CMSEngine.reconcileBuiltinRoles) so new capabilities reach orgs
63
+ * that were seeded before those capabilities existed.
25
64
  *
26
65
  * Also acts as the defense-in-depth fallback: if a role lookup misses (e.g.
27
66
  * a row got deleted out-of-band for a built-in name), the checker falls back
@@ -34,8 +73,10 @@ export declare const BUILTIN_ROLE_SEED: Record<OrganizationRole, {
34
73
  /**
35
74
  * Idempotently expand a capability list so that any write cap drags in the
36
75
  * corresponding read. Used by both the role schema and the API-key schema.
76
+ * Accepts `string[]` since a granted list may include plugin capability ids; the
77
+ * built-in read/write implications only touch known core ids and pass others through.
37
78
  */
38
- export declare function normalizeCapabilities(caps: readonly Capability[]): Capability[];
79
+ export declare function normalizeCapabilities(caps: readonly string[]): string[];
39
80
  /**
40
81
  * A persisted role row (per organization).
41
82
  */
@@ -44,7 +85,7 @@ export interface Role {
44
85
  organizationId: string;
45
86
  name: string;
46
87
  description: string | null;
47
- capabilities: Capability[];
88
+ capabilities: string[];
48
89
  isBuiltIn: boolean;
49
90
  createdAt: Date;
50
91
  updatedAt: Date;
@@ -53,7 +94,7 @@ export interface NewRole {
53
94
  organizationId: string;
54
95
  name: string;
55
96
  description?: string | null;
56
- capabilities: Capability[];
97
+ capabilities: string[];
57
98
  isBuiltIn?: boolean;
58
99
  }
59
100
  /**
@@ -69,7 +110,7 @@ export declare function isInstanceRole(auth: Auth): boolean;
69
110
  * RolesService. If absent (e.g. legacy call site), falls back to the built-in
70
111
  * seed for the org role so behavior remains safe.
71
112
  */
72
- export declare function hasCapability(auth: Auth, capability: Capability): boolean;
113
+ export declare function hasCapability(auth: Auth, capability: Capability | (string & {})): boolean;
73
114
  /**
74
115
  * Resolve the effective capability set for an Auth.
75
116
  *
@@ -80,7 +121,7 @@ export declare function hasCapability(auth: Auth, capability: Capability): boole
80
121
  * 4. Session fallback → built-in seed for the org role.
81
122
  * 5. Partial session → empty set.
82
123
  */
83
- export declare function resolveCapabilities(auth: Auth): ReadonlySet<Capability>;
124
+ export declare function resolveCapabilities(auth: Auth): ReadonlySet<string>;
84
125
  /**
85
126
  * Resolve the effective organization role name for an Auth, honoring
86
127
  * instance-role overrides. Returns the role name as a string — built-in or
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/lib/types/capabilities.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAEnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GAEpB,YAAY,GACZ,cAAc,GACd,cAAc,GAEd,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAMlB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAgBxC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAKzD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACrC,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CA4C5D,CAAC;AAeF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAK/E;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CAQtE;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAEzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAoCvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAInE;AAID;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0EAA0E;IAC1E,YAAY,EAAE,UAAU,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/lib/types/capabilities.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,141 @@ export const ALL_CAPABILITIES = [
31
31
  'member.changeRole',
32
32
  'apiKey.manage',
33
33
  'role.manage',
34
- 'org.settings'
34
+ 'org.settings',
35
+ 'plugin.settings.manage'
35
36
  ];
37
+ /**
38
+ * Define a capability with metadata. Plugins pass these to the `aphex/capabilities`
39
+ * part so their permissions appear (and are assignable) in the roles UI.
40
+ *
41
+ * @example
42
+ * defineCapability('forms.export', { title: 'Export submissions', group: 'Forms' })
43
+ */
44
+ export function defineCapability(id, meta = {}) {
45
+ return {
46
+ id,
47
+ title: meta.title || prettifyCapabilityId(id),
48
+ description: meta.description,
49
+ group: meta.group
50
+ };
51
+ }
52
+ /** Fallback label for a bare id: `document.publish` → `Publish` (last segment, title-cased). */
53
+ export function prettifyCapabilityId(id) {
54
+ const last = id.split(/[.:]/).pop() ?? id;
55
+ const spaced = last.replace(/([a-z])([A-Z])/g, '$1 $2').replace(/[-_]/g, ' ');
56
+ return spaced.charAt(0).toUpperCase() + spaced.slice(1);
57
+ }
58
+ /** The built-in capability catalog — metadata for every core capability. */
59
+ export const BUILTIN_CAPABILITY_DEFS = [
60
+ {
61
+ id: 'document.read',
62
+ title: 'Read documents',
63
+ group: 'Documents',
64
+ description: 'View documents and their content.'
65
+ },
66
+ {
67
+ id: 'document.create',
68
+ title: 'Create documents',
69
+ group: 'Documents',
70
+ description: 'Create new documents.'
71
+ },
72
+ {
73
+ id: 'document.update',
74
+ title: 'Edit documents',
75
+ group: 'Documents',
76
+ description: 'Edit existing documents.'
77
+ },
78
+ {
79
+ id: 'document.delete',
80
+ title: 'Delete documents',
81
+ group: 'Documents',
82
+ description: 'Delete documents.'
83
+ },
84
+ {
85
+ id: 'document.publish',
86
+ title: 'Publish documents',
87
+ group: 'Documents',
88
+ description: 'Publish drafts to the live site.'
89
+ },
90
+ {
91
+ id: 'document.unpublish',
92
+ title: 'Unpublish documents',
93
+ group: 'Documents',
94
+ description: 'Revert published documents to draft.'
95
+ },
96
+ {
97
+ id: 'asset.read',
98
+ title: 'View assets',
99
+ group: 'Assets',
100
+ description: 'Browse the media library.'
101
+ },
102
+ {
103
+ id: 'asset.upload',
104
+ title: 'Upload assets',
105
+ group: 'Assets',
106
+ description: 'Upload files to the media library.'
107
+ },
108
+ {
109
+ id: 'asset.delete',
110
+ title: 'Delete assets',
111
+ group: 'Assets',
112
+ description: 'Delete files from the media library.'
113
+ },
114
+ {
115
+ id: 'member.invite',
116
+ title: 'Invite members',
117
+ group: 'Organization',
118
+ description: 'Invite people to the organization.'
119
+ },
120
+ {
121
+ id: 'member.remove',
122
+ title: 'Remove members',
123
+ group: 'Organization',
124
+ description: 'Remove people from the organization.'
125
+ },
126
+ {
127
+ id: 'member.changeRole',
128
+ title: 'Change member roles',
129
+ group: 'Organization',
130
+ description: "Change a member's role."
131
+ },
132
+ {
133
+ id: 'apiKey.manage',
134
+ title: 'Manage API keys',
135
+ group: 'Organization',
136
+ description: 'Create and revoke API keys.'
137
+ },
138
+ {
139
+ id: 'role.manage',
140
+ title: 'Manage roles',
141
+ group: 'Organization',
142
+ description: 'Create and edit custom roles.'
143
+ },
144
+ {
145
+ id: 'org.settings',
146
+ title: 'Edit settings',
147
+ group: 'Organization',
148
+ description: 'Change organization settings.'
149
+ },
150
+ {
151
+ id: 'plugin.settings.manage',
152
+ title: 'Manage plugin settings',
153
+ group: 'Organization',
154
+ description: 'View and edit configuration and secrets for installed plugins.'
155
+ }
156
+ ];
157
+ /**
158
+ * Merge the built-in catalog with extra (plugin) definitions, deduped by id — the
159
+ * first definition of an id wins, so plugins can't silently redefine a core cap.
160
+ */
161
+ export function mergeCapabilityCatalog(extra = []) {
162
+ const byId = new Map();
163
+ for (const def of [...BUILTIN_CAPABILITY_DEFS, ...extra]) {
164
+ if (!byId.has(def.id))
165
+ byId.set(def.id, def);
166
+ }
167
+ return [...byId.values()];
168
+ }
36
169
  /**
37
170
  * Built-in role names. These are the guaranteed defaults every org receives.
38
171
  * Custom role names are any other string.
@@ -46,9 +179,15 @@ export const BUILTIN_ROLE_NAMES = [
46
179
  /**
47
180
  * Seed data for the four built-in roles.
48
181
  *
49
- * This is the **default floor** — the set of capabilities a freshly-created
50
- * org starts with. Once seeded, rows live in `cms_roles` and can be edited by
51
- * admins (via future Roles UI). Custom roles live alongside these.
182
+ * For viewer/editor/admin this is the **default floor** — the set of capabilities
183
+ * a freshly-created org starts with. Once seeded, rows live in `cms_roles` and can
184
+ * be edited by admins via the Roles UI; they are never force-updated afterwards,
185
+ * so a capability added by a later core upgrade is not granted retroactively.
186
+ *
187
+ * `owner` is different: it is an **invariant**, not a floor. It is always the whole
188
+ * of ALL_CAPABILITIES, is rejected by the roles PATCH route, and is reconciled on
189
+ * every boot (see CMSEngine.reconcileBuiltinRoles) so new capabilities reach orgs
190
+ * that were seeded before those capabilities existed.
52
191
  *
53
192
  * Also acts as the defense-in-depth fallback: if a role lookup misses (e.g.
54
193
  * a row got deleted out-of-band for a built-in name), the checker falls back
@@ -90,7 +229,8 @@ export const BUILTIN_ROLE_SEED = {
90
229
  'member.changeRole',
91
230
  'apiKey.manage',
92
231
  'role.manage',
93
- 'org.settings'
232
+ 'org.settings',
233
+ 'plugin.settings.manage'
94
234
  ]
95
235
  },
96
236
  owner: {
@@ -113,6 +253,8 @@ const ASSET_WRITE_CAPS = ['asset.upload', 'asset.delete'];
113
253
  /**
114
254
  * Idempotently expand a capability list so that any write cap drags in the
115
255
  * corresponding read. Used by both the role schema and the API-key schema.
256
+ * Accepts `string[]` since a granted list may include plugin capability ids; the
257
+ * built-in read/write implications only touch known core ids and pass others through.
116
258
  */
117
259
  export function normalizeCapabilities(caps) {
118
260
  const set = new Set(caps);
@@ -8,10 +8,20 @@ import type { GraphQLConfig } from '../graphql/index.js';
8
8
  import type { AphexEnv } from '../server/api/index.js';
9
9
  import type { SchemaType } from './schemas.js';
10
10
  import type { Logger } from '../utils/logger.js';
11
+ import type { CMSPlugin } from '../plugins/types.js';
12
+ import type { Auth } from './auth.js';
13
+ import type { PreviewPerspective } from '../preview/perspective.js';
11
14
  export type { GraphQLConfig };
12
15
  export interface CMSConfig {
13
16
  schemaTypes: SchemaType[];
14
17
  database: DatabaseAdapter;
18
+ /**
19
+ * Build-time plugins. Each contributes typed "parts" (schemas, server routes,
20
+ * document actions, admin tools, field components, capabilities). Schema parts
21
+ * are merged into `schemaTypes` at config time; the rest are indexed by a part
22
+ * resolver on `event.locals.aphexCMS.partResolver`. See the plugins module.
23
+ */
24
+ plugins?: CMSPlugin[];
15
25
  storage?: StorageAdapter | null;
16
26
  email?: EmailAdapter | null;
17
27
  customization?: {
@@ -69,10 +79,21 @@ export interface CMSConfig {
69
79
  };
70
80
  /**
71
81
  * Live preview configuration.
72
- * - `stega`: Enable stega encoding in preview data pushes so field overlays work automatically. Default: true.
82
+ * - `stega`: Enable stega encoding in preview data pushes so field overlays work
83
+ * automatically. Default: true.
84
+ * - `resolvePerspective`: Decide the read perspective per request. The CMS hook
85
+ * runs it and stores the result on `locals.previewPerspective`, which site loads
86
+ * inherit via a preview-aware context (see `siteContext`). Defaults to
87
+ * `getPreviewPerspective` — `'draft'` only for an authenticated session with
88
+ * `?aphex-preview`; `'published'` otherwise. Override to change the signal
89
+ * (e.g. a preview token, a different query param, or per-role rules).
73
90
  */
74
91
  preview?: {
75
92
  stega?: boolean;
93
+ resolvePerspective?: (args: {
94
+ auth?: Auth;
95
+ url: URL;
96
+ }) => PreviewPerspective;
76
97
  };
77
98
  security?: {
78
99
  /**
@@ -81,6 +102,14 @@ export interface CMSConfig {
81
102
  * Required for signed asset URLs to work
82
103
  */
83
104
  assetSigningSecret?: string;
105
+ /**
106
+ * Key used to encrypt plugin secret settings at rest (AES-256-GCM). A long,
107
+ * random string (32+ chars); keep it out of source and stable across deploys —
108
+ * rotating it makes existing encrypted secrets undecryptable. When absent,
109
+ * `type: 'secret'` settings fields are read-only and flagged in the UI (fail
110
+ * safe — core never stores a secret as plaintext).
111
+ */
112
+ secretEncryptionKey?: string;
84
113
  };
85
114
  /**
86
115
  * Register custom HTTP endpoints / middleware onto the Aphex API Hono app.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/types/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;KACF,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,OAAO,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/types/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;KACF,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,EAAE,IAAI,CAAC;YAAC,GAAG,EAAE,GAAG,CAAA;SAAE,KAAK,kBAAkB,CAAC;KAC7E,CAAC;IACF,QAAQ,CAAC,EAAE;QACV;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;;;;;WAMG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CACpC"}
@@ -52,7 +52,39 @@ export interface FieldAccess {
52
52
  read?: Array<OrganizationRole | (string & {})>;
53
53
  update?: Array<OrganizationRole | (string & {})>;
54
54
  }
55
- export type FieldType = 'string' | 'text' | 'number' | 'boolean' | 'slug' | 'url' | 'image' | 'file' | 'array' | 'object' | 'reference' | 'date' | 'datetime';
55
+ /**
56
+ * Registry mapping each field `type` keyword to its interface. Built-ins are declared
57
+ * here; a plugin adds its own type by augmenting this interface:
58
+ *
59
+ * ```ts
60
+ * declare module '@aphexcms/cms-core' {
61
+ * interface FieldTypeMap { color: ColorField }
62
+ * }
63
+ * ```
64
+ *
65
+ * Because both `FieldType` (below) and the `Field` union derive from this map, that one
66
+ * augmentation makes `{ type: 'color' }` a first-class, fully type-safe field —
67
+ * autocomplete, discriminated narrowing, and typo-checking all intact — without opening
68
+ * the union to arbitrary strings. The plugin still ships an `aphex/schema/transform`
69
+ * part that desugars its type into a built-in (usually `object`) at runtime/codegen; the
70
+ * registry is the compile-time half, the transform is the runtime half.
71
+ */
72
+ export interface FieldTypeMap {
73
+ string: StringField;
74
+ text: TextField;
75
+ number: NumberField;
76
+ boolean: BooleanField;
77
+ slug: SlugField;
78
+ url: URLField;
79
+ image: ImageField;
80
+ file: FileField;
81
+ array: ArrayField;
82
+ object: ObjectField;
83
+ reference: ReferenceField;
84
+ date: DateField;
85
+ datetime: DateTimeField;
86
+ }
87
+ export type FieldType = keyof FieldTypeMap;
56
88
  export interface BaseField {
57
89
  name: string;
58
90
  type: FieldType;
@@ -62,6 +94,18 @@ export interface BaseField {
62
94
  group?: string | string[];
63
95
  /** Per-field access control — see FieldAccess. */
64
96
  access?: FieldAccess;
97
+ /**
98
+ * Render this field with a custom input widget registered by a plugin
99
+ * (`aphex/field/component` with a matching `input` key), instead of the built-in
100
+ * renderer for its `type`. The stored value's shape is still governed by `type`.
101
+ */
102
+ input?: string;
103
+ /**
104
+ * Free-form config for a custom `input` widget — read by the plugin component
105
+ * (e.g. the color picker reads `inputOptions.alpha`). Lives on BaseField so any
106
+ * field type can carry widget config without widening its own `options`.
107
+ */
108
+ inputOptions?: Record<string, unknown>;
65
109
  }
66
110
  export interface FieldGroup {
67
111
  name: string;
@@ -101,6 +145,40 @@ export interface TextField extends BaseField {
101
145
  placeholder?: string;
102
146
  initialValue?: string | (() => string | Promise<string>);
103
147
  }
148
+ /**
149
+ * A write-only encrypted secret — for **plugin settings only**, never content.
150
+ *
151
+ * Deliberately a STANDALONE interface, not `extends BaseField` and not in `FieldTypeMap`:
152
+ * that's what keeps `secret` out of the content `FieldType`/`Field` union, so a secret
153
+ * can never enter the content pipeline (documents, versions, the content API, generated
154
+ * types). It's allowed only in an `aphex/settings` declaration (`SettingsField`). Core
155
+ * encrypts it at rest (AES-256-GCM), never serializes the plaintext to the browser
156
+ * (renders a masked placeholder), and decrypts it only when injecting into plugin
157
+ * server code. Submitting a blank value means "leave unchanged"; a new value replaces it.
158
+ */
159
+ export interface SecretField {
160
+ name: string;
161
+ type: 'secret';
162
+ title: string;
163
+ description?: string;
164
+ group?: string | string[];
165
+ placeholder?: string;
166
+ }
167
+ /**
168
+ * A field usable in a plugin settings declaration.
169
+ *
170
+ * Deliberately a NARROW subset of the content field types — settings are config, not
171
+ * content, and this is the exact set `PluginSettingsPanel` renders and
172
+ * `PluginSettingsService` can validate. Widening it would be a lie: an `image` or
173
+ * `reference` here would fall through to a bare text input and store nonsense. If a
174
+ * plugin needs richer configuration, model it as a content document instead.
175
+ *
176
+ * A `string` field carrying `options.list` renders as a select.
177
+ *
178
+ * Note `input` (custom widget) is NOT honoured here — the settings panel renders these
179
+ * types directly and never consults `aphex/field/component`.
180
+ */
181
+ export type SettingsField = StringField | TextField | NumberField | BooleanField | SecretField;
104
182
  export interface NumberField extends BaseField {
105
183
  type: 'number';
106
184
  min?: number;
@@ -152,6 +230,8 @@ export interface TypeReference {
152
230
  type: string;
153
231
  title?: string;
154
232
  name?: string;
233
+ /** Custom input widget for this item (aphex/field/component), like a field's `input`. */
234
+ input?: string;
155
235
  fields?: Field[];
156
236
  icon?: typeof LucideIcon;
157
237
  preview?: PreviewConfig;
@@ -225,9 +305,17 @@ export interface AnnotationDefinition {
225
305
  icon?: any;
226
306
  fields: Field[];
227
307
  }
228
- export type Field = StringField | TextField | NumberField | BooleanField | SlugField | URLField | ImageField | FileField | ArrayField | ObjectField | DateField | DateTimeField | ReferenceField;
308
+ export type Field = FieldTypeMap[keyof FieldTypeMap];
229
309
  export interface PreviewConfig {
310
+ /**
311
+ * A literal, static title shown as-is (e.g. `'Homepage'`). Distinct from
312
+ * `select.title`, which is a dot-path read from the document's data. Handy for
313
+ * singletons whose data has no natural title field — the editor would otherwise
314
+ * fall back to "Untitled". Precedence: `prepare()` → `title` → `select.title`.
315
+ */
316
+ title?: string;
230
317
  select?: {
318
+ /** Dot-path into the document data (e.g. `seo.title`), NOT a literal. */
231
319
  title?: string;
232
320
  subtitle?: string;
233
321
  media?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { Component } from 'svelte';
2
+ import type { IconProps } from '@lucide/svelte';
1
3
  export interface SidebarUser {
2
4
  id: string;
3
5
  email: string;
@@ -8,7 +10,7 @@ export interface SidebarUser {
8
10
  export interface SidebarNavItem {
9
11
  href: string;
10
12
  label: string;
11
- icon?: string;
13
+ icon?: Component<IconProps>;
12
14
  badge?: string | number;
13
15
  }
14
16
  export interface SidebarBranding {
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/lib/types/sidebar.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/lib/types/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC"}
@@ -3,6 +3,7 @@ export * from '../schema-utils/index.js';
3
3
  export * from '../field-validation/utils.js';
4
4
  export * from './content-hash.js';
5
5
  export * from './slug.js';
6
+ export * from './preview.js';
6
7
  export * from './image-url.js';
7
8
  export * from './initial-value-helpers.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGjE,cAAc,uBAAuB,CAAC;AAGtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGjE,cAAc,uBAAuB,CAAC;AAGtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -8,5 +8,6 @@ export * from '../field-validation/utils.js';
8
8
  // Other utilities
9
9
  export * from './content-hash.js';
10
10
  export * from './slug.js';
11
+ export * from './preview.js';
11
12
  export * from './image-url.js';
12
13
  export * from './initial-value-helpers.js';
@@ -1,4 +1,14 @@
1
- import type { SchemaType } from '../types/schemas.js';
1
+ import type { PreviewConfig } from '../types/schemas.js';
2
+ /**
3
+ * The minimum a thing needs to drive a preview row: an optional fallback `title`
4
+ * and a `preview` config. Structural on purpose — both `SchemaType` (documents /
5
+ * objects) and `TypeReference` (array members, Portable Text block types) satisfy
6
+ * it, so array rows and rich-text block cards share one resolver.
7
+ */
8
+ export type PreviewSource = {
9
+ title?: string;
10
+ preview?: PreviewConfig;
11
+ } | null | undefined;
2
12
  /**
3
13
  * Walk a dot-path (e.g. `seo.title`) through an object. Returns the
4
14
  * terminal value, or `undefined` if any segment along the way is missing.
@@ -10,14 +20,15 @@ import type { SchemaType } from '../types/schemas.js';
10
20
  export declare function readPath(item: any, path: string): unknown;
11
21
  /**
12
22
  * Resolve the title to display for an item (array row, document list row,
13
- * reference picker row). Precedence: `preview.prepare()` → `select.title`
14
- * dot-path → conventional field names → schema title → type name.
23
+ * reference picker row, editor breadcrumb). Precedence: `preview.prepare()` →
24
+ * literal `preview.title` → `select.title` dot-path → conventional field names →
25
+ * schema title → type name.
15
26
  */
16
- export declare function resolvePreviewTitle(item: any, schema: SchemaType | null | undefined, defaultTypeLabel?: string): string;
27
+ export declare function resolvePreviewTitle(item: any, schema: PreviewSource, defaultTypeLabel?: string): string;
17
28
  /**
18
29
  * Resolve the subtitle to display for an item. Returns `null` when no
19
30
  * subtitle is configured or the configured field is empty — callers
20
31
  * should branch on the null and skip rendering the subtitle line.
21
32
  */
22
- export declare function resolvePreviewSubtitle(item: any, schema: SchemaType | null | undefined): string | null;
33
+ export declare function resolvePreviewSubtitle(item: any, schema: PreviewSource): string | null;
23
34
  //# sourceMappingURL=preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/lib/utils/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUzD;AA2CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,gBAAgB,CAAC,EAAE,MAAM,GACvB,MAAM,CAkBR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACnC,MAAM,GAAG,IAAI,CAMf"}
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/lib/utils/preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAE3F;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUzD;AA2CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,aAAa,EACrB,gBAAgB,CAAC,EAAE,MAAM,GACvB,MAAM,CAsBR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAMtF"}