@plumix/core 0.6.0 → 0.7.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 (418) hide show
  1. package/dist/cache/embedded-tags.d.ts +5 -0
  2. package/dist/cache/embedded-tags.d.ts.map +1 -0
  3. package/dist/cache/embedded-tags.js +30 -0
  4. package/dist/cache/embedded-tags.js.map +1 -0
  5. package/dist/entries/read-service.d.ts.map +1 -1
  6. package/dist/entries/read-service.js +5 -3
  7. package/dist/entries/read-service.js.map +1 -1
  8. package/dist/index.d.ts +3 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/plugin/errors.d.ts +7 -1
  13. package/dist/plugin/errors.d.ts.map +1 -1
  14. package/dist/plugin/errors.js +5 -0
  15. package/dist/plugin/errors.js.map +1 -1
  16. package/dist/plugin/fields/builder.d.ts +106 -0
  17. package/dist/plugin/fields/builder.d.ts.map +1 -0
  18. package/dist/plugin/fields/builder.js +162 -0
  19. package/dist/plugin/fields/builder.js.map +1 -0
  20. package/dist/plugin/fields/color.d.ts +78 -18
  21. package/dist/plugin/fields/color.d.ts.map +1 -1
  22. package/dist/plugin/fields/color.js +116 -25
  23. package/dist/plugin/fields/color.js.map +1 -1
  24. package/dist/plugin/fields/condition.d.ts +40 -0
  25. package/dist/plugin/fields/condition.d.ts.map +1 -0
  26. package/dist/plugin/fields/condition.js +115 -0
  27. package/dist/plugin/fields/condition.js.map +1 -0
  28. package/dist/plugin/fields/contributions.d.ts +233 -0
  29. package/dist/plugin/fields/contributions.d.ts.map +1 -0
  30. package/dist/plugin/fields/contributions.js +1 -0
  31. package/dist/plugin/fields/contributions.js.map +1 -0
  32. package/dist/plugin/fields/entry.d.ts +18 -22
  33. package/dist/plugin/fields/entry.d.ts.map +1 -1
  34. package/dist/plugin/fields/entry.js +13 -21
  35. package/dist/plugin/fields/entry.js.map +1 -1
  36. package/dist/plugin/fields/errors.d.ts +23 -11
  37. package/dist/plugin/fields/errors.d.ts.map +1 -1
  38. package/dist/plugin/fields/errors.js +20 -13
  39. package/dist/plugin/fields/errors.js.map +1 -1
  40. package/dist/plugin/fields/group.d.ts +90 -0
  41. package/dist/plugin/fields/group.d.ts.map +1 -0
  42. package/dist/plugin/fields/group.js +124 -0
  43. package/dist/plugin/fields/group.js.map +1 -0
  44. package/dist/plugin/fields/index.d.ts +22 -45
  45. package/dist/plugin/fields/index.d.ts.map +1 -1
  46. package/dist/plugin/fields/index.js +25 -30
  47. package/dist/plugin/fields/index.js.map +1 -1
  48. package/dist/plugin/fields/json.d.ts +71 -9
  49. package/dist/plugin/fields/json.d.ts.map +1 -1
  50. package/dist/plugin/fields/json.js +110 -16
  51. package/dist/plugin/fields/json.js.map +1 -1
  52. package/dist/plugin/fields/link.d.ts +96 -0
  53. package/dist/plugin/fields/link.d.ts.map +1 -0
  54. package/dist/plugin/fields/link.js +160 -0
  55. package/dist/plugin/fields/link.js.map +1 -0
  56. package/dist/plugin/fields/number.d.ts +86 -13
  57. package/dist/plugin/fields/number.d.ts.map +1 -1
  58. package/dist/plugin/fields/number.js +133 -20
  59. package/dist/plugin/fields/number.js.map +1 -1
  60. package/dist/plugin/fields/range.d.ts +101 -17
  61. package/dist/plugin/fields/range.d.ts.map +1 -1
  62. package/dist/plugin/fields/range.js +153 -38
  63. package/dist/plugin/fields/range.js.map +1 -1
  64. package/dist/plugin/fields/reference.d.ts +171 -0
  65. package/dist/plugin/fields/reference.d.ts.map +1 -0
  66. package/dist/plugin/fields/reference.js +193 -0
  67. package/dist/plugin/fields/reference.js.map +1 -0
  68. package/dist/plugin/fields/repeater.d.ts +111 -8
  69. package/dist/plugin/fields/repeater.d.ts.map +1 -1
  70. package/dist/plugin/fields/repeater.js +157 -66
  71. package/dist/plugin/fields/repeater.js.map +1 -1
  72. package/dist/plugin/fields/richtext-validate.d.ts +7 -0
  73. package/dist/plugin/fields/richtext-validate.d.ts.map +1 -1
  74. package/dist/plugin/fields/richtext-validate.js +11 -5
  75. package/dist/plugin/fields/richtext-validate.js.map +1 -1
  76. package/dist/plugin/fields/richtext.d.ts +78 -12
  77. package/dist/plugin/fields/richtext.d.ts.map +1 -1
  78. package/dist/plugin/fields/richtext.js +121 -26
  79. package/dist/plugin/fields/richtext.js.map +1 -1
  80. package/dist/plugin/fields/select.d.ts +150 -10
  81. package/dist/plugin/fields/select.d.ts.map +1 -1
  82. package/dist/plugin/fields/select.js +205 -17
  83. package/dist/plugin/fields/select.js.map +1 -1
  84. package/dist/plugin/fields/sub-fields.d.ts +12 -0
  85. package/dist/plugin/fields/sub-fields.d.ts.map +1 -0
  86. package/dist/plugin/fields/sub-fields.js +62 -0
  87. package/dist/plugin/fields/sub-fields.js.map +1 -0
  88. package/dist/plugin/fields/temporal.d.ts +124 -0
  89. package/dist/plugin/fields/temporal.d.ts.map +1 -0
  90. package/dist/plugin/fields/temporal.js +180 -0
  91. package/dist/plugin/fields/temporal.js.map +1 -0
  92. package/dist/plugin/fields/term.d.ts +11 -16
  93. package/dist/plugin/fields/term.d.ts.map +1 -1
  94. package/dist/plugin/fields/term.js +11 -19
  95. package/dist/plugin/fields/term.js.map +1 -1
  96. package/dist/plugin/fields/toggle.d.ts +97 -0
  97. package/dist/plugin/fields/toggle.d.ts.map +1 -0
  98. package/dist/plugin/fields/toggle.js +135 -0
  99. package/dist/plugin/fields/toggle.js.map +1 -0
  100. package/dist/plugin/fields/user.d.ts +14 -26
  101. package/dist/plugin/fields/user.d.ts.map +1 -1
  102. package/dist/plugin/fields/user.js +11 -25
  103. package/dist/plugin/fields/user.js.map +1 -1
  104. package/dist/plugin/lookup.d.ts +70 -1
  105. package/dist/plugin/lookup.d.ts.map +1 -1
  106. package/dist/plugin/manifest.d.ts +308 -128
  107. package/dist/plugin/manifest.d.ts.map +1 -1
  108. package/dist/plugin/manifest.js +94 -4
  109. package/dist/plugin/manifest.js.map +1 -1
  110. package/dist/plugin/setup-context.d.ts +5 -4
  111. package/dist/plugin/setup-context.d.ts.map +1 -1
  112. package/dist/plugin/setup-context.js +10 -3
  113. package/dist/plugin/setup-context.js.map +1 -1
  114. package/dist/plugin/validation/meta-box-fields.d.ts.map +1 -1
  115. package/dist/plugin/validation/meta-box-fields.js +16 -0
  116. package/dist/plugin/validation/meta-box-fields.js.map +1 -1
  117. package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
  118. package/dist/route/render/build-resolved-entries.js +7 -2
  119. package/dist/route/render/build-resolved-entries.js.map +1 -1
  120. package/dist/route/render/render-template.d.ts.map +1 -1
  121. package/dist/route/render/render-template.js +12 -2
  122. package/dist/route/render/render-template.js.map +1 -1
  123. package/dist/route/render/template-builders.d.ts +15 -10
  124. package/dist/route/render/template-builders.d.ts.map +1 -1
  125. package/dist/route/render/template-builders.js.map +1 -1
  126. package/dist/rpc/base.d.ts +7 -0
  127. package/dist/rpc/base.d.ts.map +1 -1
  128. package/dist/rpc/errors.d.ts +7 -0
  129. package/dist/rpc/errors.d.ts.map +1 -1
  130. package/dist/rpc/errors.js +16 -0
  131. package/dist/rpc/errors.js.map +1 -1
  132. package/dist/rpc/meta/core.d.ts +89 -10
  133. package/dist/rpc/meta/core.d.ts.map +1 -1
  134. package/dist/rpc/meta/core.js +465 -282
  135. package/dist/rpc/meta/core.js.map +1 -1
  136. package/dist/rpc/meta/field-messages.d.ts +67 -0
  137. package/dist/rpc/meta/field-messages.d.ts.map +1 -0
  138. package/dist/rpc/meta/field-messages.js +67 -0
  139. package/dist/rpc/meta/field-messages.js.map +1 -0
  140. package/dist/rpc/meta/field-pipeline.d.ts +52 -0
  141. package/dist/rpc/meta/field-pipeline.d.ts.map +1 -0
  142. package/dist/rpc/meta/field-pipeline.js +501 -0
  143. package/dist/rpc/meta/field-pipeline.js.map +1 -0
  144. package/dist/rpc/procedures/auth/allowed-domains/create.d.ts +7 -0
  145. package/dist/rpc/procedures/auth/allowed-domains/create.d.ts.map +1 -1
  146. package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts +7 -0
  147. package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts.map +1 -1
  148. package/dist/rpc/procedures/auth/allowed-domains/index.d.ts +28 -0
  149. package/dist/rpc/procedures/auth/allowed-domains/index.d.ts.map +1 -1
  150. package/dist/rpc/procedures/auth/allowed-domains/list.d.ts +7 -0
  151. package/dist/rpc/procedures/auth/allowed-domains/list.d.ts.map +1 -1
  152. package/dist/rpc/procedures/auth/allowed-domains/update.d.ts +7 -0
  153. package/dist/rpc/procedures/auth/allowed-domains/update.d.ts.map +1 -1
  154. package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts +7 -0
  155. package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts.map +1 -1
  156. package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts +7 -0
  157. package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts.map +1 -1
  158. package/dist/rpc/procedures/auth/api-tokens/create.d.ts +7 -0
  159. package/dist/rpc/procedures/auth/api-tokens/create.d.ts.map +1 -1
  160. package/dist/rpc/procedures/auth/api-tokens/index.d.ts +35 -0
  161. package/dist/rpc/procedures/auth/api-tokens/index.d.ts.map +1 -1
  162. package/dist/rpc/procedures/auth/api-tokens/list.d.ts +7 -0
  163. package/dist/rpc/procedures/auth/api-tokens/list.d.ts.map +1 -1
  164. package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts +7 -0
  165. package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts.map +1 -1
  166. package/dist/rpc/procedures/auth/credentials/delete.d.ts +7 -0
  167. package/dist/rpc/procedures/auth/credentials/delete.d.ts.map +1 -1
  168. package/dist/rpc/procedures/auth/credentials/index.d.ts +21 -0
  169. package/dist/rpc/procedures/auth/credentials/index.d.ts.map +1 -1
  170. package/dist/rpc/procedures/auth/credentials/list.d.ts +7 -0
  171. package/dist/rpc/procedures/auth/credentials/list.d.ts.map +1 -1
  172. package/dist/rpc/procedures/auth/credentials/rename.d.ts +7 -0
  173. package/dist/rpc/procedures/auth/credentials/rename.d.ts.map +1 -1
  174. package/dist/rpc/procedures/auth/device-flow/approve.d.ts +7 -0
  175. package/dist/rpc/procedures/auth/device-flow/approve.d.ts.map +1 -1
  176. package/dist/rpc/procedures/auth/device-flow/deny.d.ts +7 -0
  177. package/dist/rpc/procedures/auth/device-flow/deny.d.ts.map +1 -1
  178. package/dist/rpc/procedures/auth/device-flow/index.d.ts +21 -0
  179. package/dist/rpc/procedures/auth/device-flow/index.d.ts.map +1 -1
  180. package/dist/rpc/procedures/auth/device-flow/lookup.d.ts +7 -0
  181. package/dist/rpc/procedures/auth/device-flow/lookup.d.ts.map +1 -1
  182. package/dist/rpc/procedures/auth/index.d.ts +154 -0
  183. package/dist/rpc/procedures/auth/index.d.ts.map +1 -1
  184. package/dist/rpc/procedures/auth/login-links.d.ts +7 -0
  185. package/dist/rpc/procedures/auth/login-links.d.ts.map +1 -1
  186. package/dist/rpc/procedures/auth/mailer/index.d.ts +7 -0
  187. package/dist/rpc/procedures/auth/mailer/index.d.ts.map +1 -1
  188. package/dist/rpc/procedures/auth/mailer/test-send.d.ts +7 -0
  189. package/dist/rpc/procedures/auth/mailer/test-send.d.ts.map +1 -1
  190. package/dist/rpc/procedures/auth/oauth-providers.d.ts +7 -0
  191. package/dist/rpc/procedures/auth/oauth-providers.d.ts.map +1 -1
  192. package/dist/rpc/procedures/auth/session.d.ts +7 -0
  193. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  194. package/dist/rpc/procedures/auth/sessions/index.d.ts +21 -0
  195. package/dist/rpc/procedures/auth/sessions/index.d.ts.map +1 -1
  196. package/dist/rpc/procedures/auth/sessions/list.d.ts +7 -0
  197. package/dist/rpc/procedures/auth/sessions/list.d.ts.map +1 -1
  198. package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts +7 -0
  199. package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts.map +1 -1
  200. package/dist/rpc/procedures/auth/sessions/revoke.d.ts +7 -0
  201. package/dist/rpc/procedures/auth/sessions/revoke.d.ts.map +1 -1
  202. package/dist/rpc/procedures/entry/activity.d.ts +7 -0
  203. package/dist/rpc/procedures/entry/activity.d.ts.map +1 -1
  204. package/dist/rpc/procedures/entry/bulk.d.ts +21 -0
  205. package/dist/rpc/procedures/entry/bulk.d.ts.map +1 -1
  206. package/dist/rpc/procedures/entry/create-preview-link.d.ts +7 -0
  207. package/dist/rpc/procedures/entry/create-preview-link.d.ts.map +1 -1
  208. package/dist/rpc/procedures/entry/create.d.ts +8 -1
  209. package/dist/rpc/procedures/entry/create.d.ts.map +1 -1
  210. package/dist/rpc/procedures/entry/create.js +8 -8
  211. package/dist/rpc/procedures/entry/create.js.map +1 -1
  212. package/dist/rpc/procedures/entry/dashboard.d.ts +14 -0
  213. package/dist/rpc/procedures/entry/dashboard.d.ts.map +1 -1
  214. package/dist/rpc/procedures/entry/delete-permanent.d.ts +7 -0
  215. package/dist/rpc/procedures/entry/delete-permanent.d.ts.map +1 -1
  216. package/dist/rpc/procedures/entry/discard-draft.d.ts +7 -0
  217. package/dist/rpc/procedures/entry/discard-draft.d.ts.map +1 -1
  218. package/dist/rpc/procedures/entry/duplicate.d.ts +7 -0
  219. package/dist/rpc/procedures/entry/duplicate.d.ts.map +1 -1
  220. package/dist/rpc/procedures/entry/duplicate.js +2 -2
  221. package/dist/rpc/procedures/entry/duplicate.js.map +1 -1
  222. package/dist/rpc/procedures/entry/get.d.ts +7 -0
  223. package/dist/rpc/procedures/entry/get.d.ts.map +1 -1
  224. package/dist/rpc/procedures/entry/get.js +2 -2
  225. package/dist/rpc/procedures/entry/get.js.map +1 -1
  226. package/dist/rpc/procedures/entry/index.d.ts +156 -2
  227. package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
  228. package/dist/rpc/procedures/entry/list.d.ts +7 -0
  229. package/dist/rpc/procedures/entry/list.d.ts.map +1 -1
  230. package/dist/rpc/procedures/entry/lookup.d.ts +8 -2
  231. package/dist/rpc/procedures/entry/lookup.d.ts.map +1 -1
  232. package/dist/rpc/procedures/entry/lookup.js +60 -1
  233. package/dist/rpc/procedures/entry/lookup.js.map +1 -1
  234. package/dist/rpc/procedures/entry/meta.d.ts +37 -3
  235. package/dist/rpc/procedures/entry/meta.d.ts.map +1 -1
  236. package/dist/rpc/procedures/entry/meta.js +63 -7
  237. package/dist/rpc/procedures/entry/meta.js.map +1 -1
  238. package/dist/rpc/procedures/entry/publish.d.ts +7 -0
  239. package/dist/rpc/procedures/entry/publish.d.ts.map +1 -1
  240. package/dist/rpc/procedures/entry/publish.js +6 -4
  241. package/dist/rpc/procedures/entry/publish.js.map +1 -1
  242. package/dist/rpc/procedures/entry/refresh-block-loader.d.ts +7 -0
  243. package/dist/rpc/procedures/entry/refresh-block-loader.d.ts.map +1 -1
  244. package/dist/rpc/procedures/entry/restore.d.ts +7 -0
  245. package/dist/rpc/procedures/entry/restore.d.ts.map +1 -1
  246. package/dist/rpc/procedures/entry/revisions.d.ts +56 -0
  247. package/dist/rpc/procedures/entry/revisions.d.ts.map +1 -1
  248. package/dist/rpc/procedures/entry/schemas.d.ts +2 -2
  249. package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
  250. package/dist/rpc/procedures/entry/schemas.js +9 -2
  251. package/dist/rpc/procedures/entry/schemas.js.map +1 -1
  252. package/dist/rpc/procedures/entry/trash.d.ts +7 -0
  253. package/dist/rpc/procedures/entry/trash.d.ts.map +1 -1
  254. package/dist/rpc/procedures/entry/update.d.ts +8 -1
  255. package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
  256. package/dist/rpc/procedures/entry/update.js +77 -18
  257. package/dist/rpc/procedures/entry/update.js.map +1 -1
  258. package/dist/rpc/procedures/lookup/index.d.ts +14 -0
  259. package/dist/rpc/procedures/lookup/index.d.ts.map +1 -1
  260. package/dist/rpc/procedures/lookup/list.d.ts +7 -0
  261. package/dist/rpc/procedures/lookup/list.d.ts.map +1 -1
  262. package/dist/rpc/procedures/lookup/resolve.d.ts +7 -0
  263. package/dist/rpc/procedures/lookup/resolve.d.ts.map +1 -1
  264. package/dist/rpc/procedures/lookup/resolve.js +1 -1
  265. package/dist/rpc/procedures/lookup/resolve.js.map +1 -1
  266. package/dist/rpc/procedures/search/index.d.ts +7 -0
  267. package/dist/rpc/procedures/search/index.d.ts.map +1 -1
  268. package/dist/rpc/procedures/settings/get.d.ts +7 -0
  269. package/dist/rpc/procedures/settings/get.d.ts.map +1 -1
  270. package/dist/rpc/procedures/settings/index.d.ts +14 -0
  271. package/dist/rpc/procedures/settings/index.d.ts.map +1 -1
  272. package/dist/rpc/procedures/settings/upsert.d.ts +7 -0
  273. package/dist/rpc/procedures/settings/upsert.d.ts.map +1 -1
  274. package/dist/rpc/procedures/settings/upsert.js +9 -0
  275. package/dist/rpc/procedures/settings/upsert.js.map +1 -1
  276. package/dist/rpc/procedures/term/create.d.ts +7 -0
  277. package/dist/rpc/procedures/term/create.d.ts.map +1 -1
  278. package/dist/rpc/procedures/term/create.js +3 -3
  279. package/dist/rpc/procedures/term/create.js.map +1 -1
  280. package/dist/rpc/procedures/term/delete.d.ts +7 -0
  281. package/dist/rpc/procedures/term/delete.d.ts.map +1 -1
  282. package/dist/rpc/procedures/term/get.d.ts +7 -0
  283. package/dist/rpc/procedures/term/get.d.ts.map +1 -1
  284. package/dist/rpc/procedures/term/index.d.ts +35 -0
  285. package/dist/rpc/procedures/term/index.d.ts.map +1 -1
  286. package/dist/rpc/procedures/term/list.d.ts +7 -0
  287. package/dist/rpc/procedures/term/list.d.ts.map +1 -1
  288. package/dist/rpc/procedures/term/lookup.d.ts +7 -2
  289. package/dist/rpc/procedures/term/lookup.d.ts.map +1 -1
  290. package/dist/rpc/procedures/term/lookup.js +26 -0
  291. package/dist/rpc/procedures/term/lookup.js.map +1 -1
  292. package/dist/rpc/procedures/term/meta.d.ts +3 -2
  293. package/dist/rpc/procedures/term/meta.d.ts.map +1 -1
  294. package/dist/rpc/procedures/term/meta.js +7 -5
  295. package/dist/rpc/procedures/term/meta.js.map +1 -1
  296. package/dist/rpc/procedures/term/update.d.ts +7 -0
  297. package/dist/rpc/procedures/term/update.d.ts.map +1 -1
  298. package/dist/rpc/procedures/term/update.js +4 -4
  299. package/dist/rpc/procedures/term/update.js.map +1 -1
  300. package/dist/rpc/procedures/user/cancel-email-change.d.ts +7 -0
  301. package/dist/rpc/procedures/user/cancel-email-change.d.ts.map +1 -1
  302. package/dist/rpc/procedures/user/delete.d.ts +7 -0
  303. package/dist/rpc/procedures/user/delete.d.ts.map +1 -1
  304. package/dist/rpc/procedures/user/disable.d.ts +7 -0
  305. package/dist/rpc/procedures/user/disable.d.ts.map +1 -1
  306. package/dist/rpc/procedures/user/enable.d.ts +7 -0
  307. package/dist/rpc/procedures/user/enable.d.ts.map +1 -1
  308. package/dist/rpc/procedures/user/get.d.ts +7 -0
  309. package/dist/rpc/procedures/user/get.d.ts.map +1 -1
  310. package/dist/rpc/procedures/user/get.js +2 -2
  311. package/dist/rpc/procedures/user/get.js.map +1 -1
  312. package/dist/rpc/procedures/user/index.d.ts +77 -0
  313. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  314. package/dist/rpc/procedures/user/invite.d.ts +7 -0
  315. package/dist/rpc/procedures/user/invite.d.ts.map +1 -1
  316. package/dist/rpc/procedures/user/list.d.ts +7 -0
  317. package/dist/rpc/procedures/user/list.d.ts.map +1 -1
  318. package/dist/rpc/procedures/user/lookup.d.ts +6 -2
  319. package/dist/rpc/procedures/user/lookup.d.ts.map +1 -1
  320. package/dist/rpc/procedures/user/lookup.js +29 -0
  321. package/dist/rpc/procedures/user/lookup.js.map +1 -1
  322. package/dist/rpc/procedures/user/meta.d.ts +3 -2
  323. package/dist/rpc/procedures/user/meta.d.ts.map +1 -1
  324. package/dist/rpc/procedures/user/meta.js +7 -5
  325. package/dist/rpc/procedures/user/meta.js.map +1 -1
  326. package/dist/rpc/procedures/user/pending-email-change.d.ts +7 -0
  327. package/dist/rpc/procedures/user/pending-email-change.d.ts.map +1 -1
  328. package/dist/rpc/procedures/user/request-email-change.d.ts +7 -0
  329. package/dist/rpc/procedures/user/request-email-change.d.ts.map +1 -1
  330. package/dist/rpc/procedures/user/set-locale.d.ts +7 -0
  331. package/dist/rpc/procedures/user/set-locale.d.ts.map +1 -1
  332. package/dist/rpc/procedures/user/update.d.ts +7 -0
  333. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  334. package/dist/rpc/procedures/user/update.js +4 -4
  335. package/dist/rpc/procedures/user/update.js.map +1 -1
  336. package/dist/rpc/router.d.ts +457 -2
  337. package/dist/rpc/router.d.ts.map +1 -1
  338. package/dist/rpc/validation.d.ts +1 -0
  339. package/dist/rpc/validation.d.ts.map +1 -1
  340. package/dist/rpc/validation.js +1 -0
  341. package/dist/rpc/validation.js.map +1 -1
  342. package/dist/runtime/dispatcher.d.ts.map +1 -1
  343. package/dist/runtime/dispatcher.js +20 -10
  344. package/dist/runtime/dispatcher.js.map +1 -1
  345. package/dist/seo/feed.d.ts.map +1 -1
  346. package/dist/seo/feed.js +7 -1
  347. package/dist/seo/feed.js.map +1 -1
  348. package/dist/settings-core.js +1 -1
  349. package/dist/settings-core.js.map +1 -1
  350. package/dist/template-registry.d.ts +0 -16
  351. package/dist/template-registry.d.ts.map +1 -1
  352. package/dist/terms/read-service.js +2 -2
  353. package/dist/terms/read-service.js.map +1 -1
  354. package/dist/test/traced-context.d.ts +1 -1
  355. package/dist/test/traced-context.d.ts.map +1 -1
  356. package/dist/test/traced-context.js +2 -2
  357. package/dist/test/traced-context.js.map +1 -1
  358. package/package.json +2 -2
  359. package/dist/plugin/fields/checkbox.d.ts +0 -19
  360. package/dist/plugin/fields/checkbox.d.ts.map +0 -1
  361. package/dist/plugin/fields/checkbox.js +0 -20
  362. package/dist/plugin/fields/checkbox.js.map +0 -1
  363. package/dist/plugin/fields/date.d.ts +0 -24
  364. package/dist/plugin/fields/date.d.ts.map +0 -1
  365. package/dist/plugin/fields/date.js +0 -23
  366. package/dist/plugin/fields/date.js.map +0 -1
  367. package/dist/plugin/fields/datetime.d.ts +0 -26
  368. package/dist/plugin/fields/datetime.d.ts.map +0 -1
  369. package/dist/plugin/fields/datetime.js +0 -25
  370. package/dist/plugin/fields/datetime.js.map +0 -1
  371. package/dist/plugin/fields/email.d.ts +0 -17
  372. package/dist/plugin/fields/email.d.ts.map +0 -1
  373. package/dist/plugin/fields/email.js +0 -18
  374. package/dist/plugin/fields/email.js.map +0 -1
  375. package/dist/plugin/fields/entry-list.d.ts +0 -28
  376. package/dist/plugin/fields/entry-list.d.ts.map +0 -1
  377. package/dist/plugin/fields/entry-list.js +0 -31
  378. package/dist/plugin/fields/entry-list.js.map +0 -1
  379. package/dist/plugin/fields/multiselect.d.ts +0 -21
  380. package/dist/plugin/fields/multiselect.d.ts.map +0 -1
  381. package/dist/plugin/fields/multiselect.js +0 -43
  382. package/dist/plugin/fields/multiselect.js.map +0 -1
  383. package/dist/plugin/fields/password.d.ts +0 -24
  384. package/dist/plugin/fields/password.d.ts.map +0 -1
  385. package/dist/plugin/fields/password.js +0 -25
  386. package/dist/plugin/fields/password.js.map +0 -1
  387. package/dist/plugin/fields/radio.d.ts +0 -16
  388. package/dist/plugin/fields/radio.d.ts.map +0 -1
  389. package/dist/plugin/fields/radio.js +0 -17
  390. package/dist/plugin/fields/radio.js.map +0 -1
  391. package/dist/plugin/fields/repeater-validate.d.ts +0 -34
  392. package/dist/plugin/fields/repeater-validate.d.ts.map +0 -1
  393. package/dist/plugin/fields/repeater-validate.js +0 -104
  394. package/dist/plugin/fields/repeater-validate.js.map +0 -1
  395. package/dist/plugin/fields/term-list.d.ts +0 -27
  396. package/dist/plugin/fields/term-list.d.ts.map +0 -1
  397. package/dist/plugin/fields/term-list.js +0 -30
  398. package/dist/plugin/fields/term-list.js.map +0 -1
  399. package/dist/plugin/fields/text.d.ts +0 -37
  400. package/dist/plugin/fields/text.d.ts.map +0 -1
  401. package/dist/plugin/fields/text.js +0 -31
  402. package/dist/plugin/fields/text.js.map +0 -1
  403. package/dist/plugin/fields/textarea.d.ts +0 -20
  404. package/dist/plugin/fields/textarea.d.ts.map +0 -1
  405. package/dist/plugin/fields/textarea.js +0 -21
  406. package/dist/plugin/fields/textarea.js.map +0 -1
  407. package/dist/plugin/fields/time.d.ts +0 -24
  408. package/dist/plugin/fields/time.d.ts.map +0 -1
  409. package/dist/plugin/fields/time.js +0 -23
  410. package/dist/plugin/fields/time.js.map +0 -1
  411. package/dist/plugin/fields/url.d.ts +0 -17
  412. package/dist/plugin/fields/url.d.ts.map +0 -1
  413. package/dist/plugin/fields/url.js +0 -18
  414. package/dist/plugin/fields/url.js.map +0 -1
  415. package/dist/plugin/fields/user-list.d.ts +0 -29
  416. package/dist/plugin/fields/user-list.d.ts.map +0 -1
  417. package/dist/plugin/fields/user-list.js +0 -31
  418. package/dist/plugin/fields/user-list.js.map +0 -1
@@ -0,0 +1,135 @@
1
+ var _a;
2
+ import { humanizeFieldKey } from "./builder.js";
3
+ /**
4
+ * Fluent chain for the boolean switch field. Immutable — every call
5
+ * returns a fresh instance, so a shared base chain can be forked
6
+ * without aliasing. `V` is the phantom read type: `boolean |
7
+ * undefined` unadorned, narrowed to `boolean` by `.required()` /
8
+ * `.default()`. Purely type-level — nothing at runtime carries it.
9
+ */
10
+ export class ToggleFieldBuilder {
11
+ #key;
12
+ #state;
13
+ constructor(key, state = {}) {
14
+ this.#key = key;
15
+ this.#state = state;
16
+ }
17
+ #fork(patch) {
18
+ return new _a(this.#key, {
19
+ ...this.#state,
20
+ ...patch,
21
+ });
22
+ }
23
+ /** Label shown beside the switch while it is on. */
24
+ onText(onText) {
25
+ return this.#fork({ onText });
26
+ }
27
+ /** Label shown beside the switch while it is off. */
28
+ offText(offText) {
29
+ return this.#fork({ offText });
30
+ }
31
+ /** Override the derived (humanized-key) label. */
32
+ label(label) {
33
+ return this.#fork({ label });
34
+ }
35
+ /** Help text rendered under the label. */
36
+ description(description) {
37
+ return this.#fork({ description });
38
+ }
39
+ /** Admin-form prefill for unsaved keys — narrows the read type to `boolean`. */
40
+ default(value) {
41
+ return this.#fork({ default: value });
42
+ }
43
+ /** Mark the field required — narrows the read type to `boolean`. */
44
+ required() {
45
+ return this.#fork({ required: true });
46
+ }
47
+ /**
48
+ * Column span within the box's 12-column grid — a universal layout
49
+ * hint; surfaces that can't honor it (the entry editor rail) ignore it.
50
+ */
51
+ span(span) {
52
+ return this.#fork({ span });
53
+ }
54
+ /** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
55
+ capability(capability) {
56
+ return this.#fork({ capability });
57
+ }
58
+ /** Opt this field's value into public REST responses (default-deny). */
59
+ showInApi() {
60
+ return this.#fork({ showInApi: true });
61
+ }
62
+ /** Rule factory: this field's value equals `value` — pass the rule
63
+ * to a dependent field's `.visibleWhen()`. */
64
+ is(value) {
65
+ return { key: this.#key, op: "eq", value };
66
+ }
67
+ /** Rule factory: this field's value differs from `value`. */
68
+ isNot(value) {
69
+ return { key: this.#key, op: "neq", value };
70
+ }
71
+ /** Rule factory: this field has no value (unset or cleared). */
72
+ isEmpty() {
73
+ return { key: this.#key, op: "empty" };
74
+ }
75
+ /** Rule factory: this field has a value. */
76
+ isNotEmpty() {
77
+ return { key: this.#key, op: "not_empty" };
78
+ }
79
+ /** Rule factory: the switch is on. */
80
+ isOn() {
81
+ return { key: this.#key, op: "eq", value: true };
82
+ }
83
+ /** Rule factory: the switch is off. `neq true` rather than
84
+ * `eq false`, so an unset toggle (which renders as off) counts. */
85
+ isOff() {
86
+ return { key: this.#key, op: "neq", value: true };
87
+ }
88
+ /**
89
+ * Show this field only when every rule passes (one AND group) —
90
+ * rules come from sibling fields' condition factories. Replaces any
91
+ * previously declared condition; `.orVisibleWhen()` adds
92
+ * alternatives.
93
+ */
94
+ visibleWhen(...rules) {
95
+ return this.#fork({ visibleWhen: [rules] });
96
+ }
97
+ /** Add an OR alternative — one more AND group of rules. */
98
+ orVisibleWhen(...rules) {
99
+ return this.#fork({
100
+ visibleWhen: [...(this.#state.visibleWhen ?? []), rules],
101
+ });
102
+ }
103
+ /** Normalising transform, applied after coercion and before persistence. */
104
+ sanitize(sanitize) {
105
+ return this.#fork({ sanitize: sanitize });
106
+ }
107
+ /**
108
+ * Custom validation — `true` for valid, or an i18n-able failure
109
+ * message (sync or async). Runs after `.sanitize()` and the
110
+ * declarative constraints.
111
+ */
112
+ validate(validate) {
113
+ return this.#fork({ validate: validate });
114
+ }
115
+ /** Compile the chain into the wire/manifest field definition. */
116
+ build() {
117
+ return {
118
+ ...this.#state,
119
+ key: this.#key,
120
+ label: this.#state.label ?? humanizeFieldKey(this.#key),
121
+ type: "boolean",
122
+ inputType: "toggle",
123
+ };
124
+ }
125
+ }
126
+ _a = ToggleFieldBuilder;
127
+ /**
128
+ * Boolean switch field — `toggle("featured").onText("Yes").offText("No")`.
129
+ * Reads as `boolean | undefined`, narrowed by `.required()` /
130
+ * `.default()`.
131
+ */
132
+ export function toggle(key) {
133
+ return new ToggleFieldBuilder(key);
134
+ }
135
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../../src/plugin/fields/toggle.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { UserRole } from "../../db/schema/users.js";
2
- import type { Label } from "../../i18n/label.js";
3
- import type { MetaBoxFieldSpan, UserMetaBoxField } from "../manifest.js";
2
+ import { ReferenceFieldBuilder } from "./reference.js";
4
3
  /**
5
4
  * Public scope shape for the `user()` reference field. Carried on
6
5
  * the field's `referenceTarget.scope`; the user `LookupAdapter`
@@ -8,36 +7,25 @@ import type { MetaBoxFieldSpan, UserMetaBoxField } from "../manifest.js";
8
7
  * read-time orphan resolution.
9
8
  */
10
9
  export interface UserFieldScope {
11
- /** Restrict matches to these roles. Empty/absent → any role. */
10
+ /** Restrict matches to these roles. Empty/absent → any role. Set via `.roles()`. */
12
11
  readonly roles?: readonly UserRole[];
13
12
  /**
14
- * Whether to surface disabled accounts. Default `false` —
15
- * disabled users are usually invalid reference targets even
16
- * though the row still exists.
13
+ * Whether to surface disabled accounts. Default `false` — disabled
14
+ * users are usually invalid reference targets even though the row
15
+ * still exists. Set via `.includeDisabled()`.
17
16
  */
18
17
  readonly includeDisabled?: boolean;
19
18
  }
20
- export interface UserFieldOptions {
21
- readonly key: string;
22
- readonly label: Label;
23
- readonly required?: boolean;
24
- readonly description?: Label;
25
- readonly default?: string;
26
- readonly span?: MetaBoxFieldSpan;
27
- readonly capability?: string;
28
- readonly roles?: readonly UserRole[];
29
- readonly includeDisabled?: boolean;
30
- }
31
19
  /**
32
- * Build a typed `user` reference field. Storage is the bare user id
33
- * as a string (`"42"` `users.id = 42`); reads return the resolved
34
- * user (or `null` when the target is gone or no longer matches
35
- * scope). The admin renders a picker that calls the lookup RPC with
36
- * `{ kind: "user", scope: { roles, includeDisabled } }`.
20
+ * Build a typed `user` reference field `user("owner")`. Scope is
21
+ * optional and chained (`.roles([...])`, `.includeDisabled()`);
22
+ * `.multiple()` flips to an id array.
37
23
  *
38
- * Scope rolls the two filters (`roles`, `includeDisabled`) into the
39
- * builder's flat option shape internally they're packaged into a
40
- * `referenceTarget.scope` object the user adapter consumes.
24
+ * Storage is the bare user id as a string (an id array under
25
+ * `.multiple()`). Reads hydrate to the user summary by default
26
+ * (`.returns("id")` opts back to the bare id); single reads stay
27
+ * optional (a target can orphan). The admin renders a picker that
28
+ * calls the lookup RPC with `{ kind: "user", scope }`.
41
29
  */
42
- export declare function user(options: UserFieldOptions): UserMetaBoxField;
30
+ export declare function user<K extends string>(key: K): ReferenceFieldBuilder<"user", K>;
43
31
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAiBhE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EACnC,GAAG,EAAE,CAAC,GACL,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAElC"}
@@ -1,30 +1,16 @@
1
+ import { ReferenceFieldBuilder } from "./reference.js";
1
2
  /**
2
- * Build a typed `user` reference field. Storage is the bare user id
3
- * as a string (`"42"` `users.id = 42`); reads return the resolved
4
- * user (or `null` when the target is gone or no longer matches
5
- * scope). The admin renders a picker that calls the lookup RPC with
6
- * `{ kind: "user", scope: { roles, includeDisabled } }`.
3
+ * Build a typed `user` reference field `user("owner")`. Scope is
4
+ * optional and chained (`.roles([...])`, `.includeDisabled()`);
5
+ * `.multiple()` flips to an id array.
7
6
  *
8
- * Scope rolls the two filters (`roles`, `includeDisabled`) into the
9
- * builder's flat option shape internally they're packaged into a
10
- * `referenceTarget.scope` object the user adapter consumes.
7
+ * Storage is the bare user id as a string (an id array under
8
+ * `.multiple()`). Reads hydrate to the user summary by default
9
+ * (`.returns("id")` opts back to the bare id); single reads stay
10
+ * optional (a target can orphan). The admin renders a picker that
11
+ * calls the lookup RPC with `{ kind: "user", scope }`.
11
12
  */
12
- export function user(options) {
13
- const scope = {
14
- roles: options.roles,
15
- includeDisabled: options.includeDisabled,
16
- };
17
- return {
18
- key: options.key,
19
- label: options.label,
20
- type: "string",
21
- inputType: "user",
22
- referenceTarget: { kind: "user", scope },
23
- required: options.required,
24
- description: options.description,
25
- default: options.default,
26
- span: options.span,
27
- capability: options.capability,
28
- };
13
+ export function user(key) {
14
+ return new ReferenceFieldBuilder("user", key, {});
29
15
  }
30
16
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/plugin/fields/user.ts"],"names":[],"mappings":"AAiCA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAAC,OAAyB;IAC5C,MAAM,KAAK,GAAmB;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/plugin/fields/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAmBvD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,IAAI,CAClB,GAAM;IAEN,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -26,6 +26,54 @@ export interface LookupResult {
26
26
  */
27
27
  readonly href?: string;
28
28
  }
29
+ /**
30
+ * Minimum shape of a batched-hydration payload. `id` is the stored
31
+ * reference id (string form) so a hydrated value posted back through
32
+ * a meta write self-heals to the plain id — the same `{ id, ... }`
33
+ * extraction that migrates legacy snapshot values.
34
+ */
35
+ export interface HydratedReference {
36
+ readonly id: string;
37
+ }
38
+ export interface LookupHydrateOptions<TScope = unknown> {
39
+ readonly ids: readonly string[];
40
+ readonly scope?: TScope;
41
+ }
42
+ /**
43
+ * Read-shape registry for reference kinds, keyed by adapter `kind`.
44
+ * Core declares its own kinds; plugins augment via declaration
45
+ * merging (`declare module "plumix/plugin"`), so the typed-meta layer
46
+ * can resolve a reference field's hydrated value without core knowing
47
+ * plugin-provided kinds.
48
+ */
49
+ export interface ReferenceHydrationShapes {
50
+ readonly entry: EntryReferenceSummary;
51
+ readonly term: TermReferenceSummary;
52
+ readonly user: UserReferenceSummary;
53
+ }
54
+ /** Hydrated shape of an `entry` reference — enough to render a link. */
55
+ export interface EntryReferenceSummary extends HydratedReference {
56
+ readonly type: string;
57
+ /** `null` mirrors `LookupResult.label`: no human-authored title. */
58
+ readonly title: string | null;
59
+ readonly slug: string;
60
+ /** Permalink; `null` when the entry has no public URL. */
61
+ readonly url: string | null;
62
+ }
63
+ /** Hydrated shape of a `term` reference. */
64
+ export interface TermReferenceSummary extends HydratedReference {
65
+ readonly taxonomy: string;
66
+ readonly name: string;
67
+ readonly slug: string;
68
+ /** Archive URL; `null` for private taxonomies / nested terms. */
69
+ readonly url: string | null;
70
+ }
71
+ /** Hydrated shape of a `user` reference — public-safe columns only. */
72
+ export interface UserReferenceSummary extends HydratedReference {
73
+ readonly name: string | null;
74
+ readonly slug: string;
75
+ readonly avatarUrl: string | null;
76
+ }
29
77
  export interface LookupListOptions<TScope = unknown> {
30
78
  readonly query?: string;
31
79
  readonly scope?: TScope;
@@ -49,7 +97,7 @@ export interface LookupListOptions<TScope = unknown> {
49
97
  * Two methods, one round-trip per call regardless of selection size:
50
98
  * - `list` covers search/browse (no `ids`, optional `query`) and
51
99
  * resolve-by-id batch (`ids` set, `query` ignored). The meta
52
- * pipeline (`validateMetaReferences` + `filterMetaOrphans`)
100
+ * pipeline (`validateMetaReferences` + `hydrateMetaBags`)
53
101
  * groups all reference fields by `(kind, scope)` and issues one
54
102
  * `list({ ids })` per group, eliminating per-field N+1 on both
55
103
  * reads and writes. The `MultiReferencePicker` batches the same
@@ -62,6 +110,27 @@ export interface LookupAdapter<TScope = unknown> {
62
110
  list(ctx: AppContext, options: LookupListOptions<TScope>): Promise<readonly LookupResult[]>;
63
111
  /** Returns `null` when the target is gone or no longer matches scope (orphan). */
64
112
  resolve(ctx: AppContext, id: string, scope?: TScope): Promise<LookupResult | null>;
113
+ /**
114
+ * Batched read-time hydration: resolve `ids` (subject to `scope`)
115
+ * into this kind's hydrated shape (`ReferenceHydrationShapes[kind]`)
116
+ * in one query. Ids that are gone or out of scope are simply absent
117
+ * from the result — the meta pipeline reads absence as an orphan.
118
+ * Optional: kinds without it read as plain ids (orphan-stripped via
119
+ * `list({ ids })`, the pre-hydration behavior).
120
+ */
121
+ hydrate?(ctx: AppContext, options: LookupHydrateOptions<TScope>): Promise<readonly HydratedReference[]>;
122
+ /**
123
+ * Cache tags a hydrated payload contributes to the page that embeds it,
124
+ * so editing or deleting the referenced entity purges the pages that
125
+ * hydrated it (#1508). Called once per hydrated payload during
126
+ * read-time hydration; the tags fold into the embedding page's stored
127
+ * cache tags. Return the same tag the entity's own purge enqueues —
128
+ * the entry adapter returns `e:<id>`, the precise per-entity tag. Kinds
129
+ * whose entities carry no per-entity purge identity (e.g. `user`) omit
130
+ * this method; their references embed without a cache-tag dependency.
131
+ * Optional.
132
+ */
133
+ embeddedCacheTags?(payload: HydratedReference): readonly string[];
65
134
  }
66
135
  export interface RegisteredLookupAdapter<TScope = unknown> extends LookupAdapterOptions<TScope> {
67
136
  readonly kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/plugin/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,OAAO;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO;IAC7C,IAAI,CACF,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,GACjC,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAEpC,kFAAkF;IAClF,OAAO,CACL,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACjC;AAMD,MAAM,WAAW,uBAAuB,CACtC,MAAM,GAAG,OAAO,CAChB,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../src/plugin/lookup.ts"],"names":[],"mappings":"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"}