@btst/stack 2.6.2 → 2.8.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 (309) hide show
  1. package/README.md +1 -0
  2. package/dist/api/index.d.cts +2 -2
  3. package/dist/api/index.d.mts +2 -2
  4. package/dist/api/index.d.ts +2 -2
  5. package/dist/client/index.d.cts +2 -2
  6. package/dist/client/index.d.mts +2 -2
  7. package/dist/client/index.d.ts +2 -2
  8. package/dist/components/auto-form/index.d.cts +2 -2
  9. package/dist/components/auto-form/index.d.mts +2 -2
  10. package/dist/components/auto-form/index.d.ts +2 -2
  11. package/dist/components/form-builder/index.d.cts +1 -1
  12. package/dist/components/form-builder/index.d.mts +1 -1
  13. package/dist/components/form-builder/index.d.ts +1 -1
  14. package/dist/components/stepped-auto-form/index.d.cts +1 -1
  15. package/dist/components/stepped-auto-form/index.d.mts +1 -1
  16. package/dist/components/stepped-auto-form/index.d.ts +1 -1
  17. package/dist/index.d.cts +1 -1
  18. package/dist/index.d.mts +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/packages/stack/src/plugins/blog/client/components/loading/post-navigation-skeleton.cjs +13 -0
  21. package/dist/packages/stack/src/plugins/blog/client/components/loading/post-navigation-skeleton.mjs +11 -0
  22. package/dist/packages/stack/src/plugins/blog/client/components/loading/recent-posts-carousel-skeleton.cjs +17 -0
  23. package/dist/packages/stack/src/plugins/blog/client/components/loading/recent-posts-carousel-skeleton.mjs +15 -0
  24. package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.cjs +18 -7
  25. package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.mjs +18 -7
  26. package/dist/packages/stack/src/plugins/blog/client/components/shared/post-navigation.cjs +48 -52
  27. package/dist/packages/stack/src/plugins/blog/client/components/shared/post-navigation.mjs +49 -53
  28. package/dist/packages/stack/src/plugins/blog/client/components/shared/recent-posts-carousel.cjs +34 -37
  29. package/dist/packages/stack/src/plugins/blog/client/components/shared/recent-posts-carousel.mjs +35 -38
  30. package/dist/packages/stack/src/plugins/blog/client/hooks/blog-hooks.cjs +4 -21
  31. package/dist/packages/stack/src/plugins/blog/client/hooks/blog-hooks.mjs +4 -21
  32. package/dist/packages/stack/src/plugins/comments/api/getters.cjs +284 -0
  33. package/dist/packages/stack/src/plugins/comments/api/getters.mjs +280 -0
  34. package/dist/packages/stack/src/plugins/comments/api/mutations.cjs +118 -0
  35. package/dist/packages/stack/src/plugins/comments/api/mutations.mjs +112 -0
  36. package/dist/packages/stack/src/plugins/comments/api/plugin.cjs +335 -0
  37. package/dist/packages/stack/src/plugins/comments/api/plugin.mjs +333 -0
  38. package/dist/packages/stack/src/plugins/comments/api/query-key-defs.cjs +60 -0
  39. package/dist/packages/stack/src/plugins/comments/api/query-key-defs.mjs +55 -0
  40. package/dist/packages/stack/src/plugins/comments/api/serializers.cjs +23 -0
  41. package/dist/packages/stack/src/plugins/comments/api/serializers.mjs +21 -0
  42. package/dist/packages/stack/src/plugins/comments/client/components/comment-count.cjs +46 -0
  43. package/dist/packages/stack/src/plugins/comments/client/components/comment-count.mjs +44 -0
  44. package/dist/packages/stack/src/plugins/comments/client/components/comment-form.cjs +86 -0
  45. package/dist/packages/stack/src/plugins/comments/client/components/comment-form.mjs +84 -0
  46. package/dist/packages/stack/src/plugins/comments/client/components/comment-thread.cjs +540 -0
  47. package/dist/packages/stack/src/plugins/comments/client/components/comment-thread.mjs +538 -0
  48. package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.cjs +64 -0
  49. package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.internal.cjs +426 -0
  50. package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.internal.mjs +424 -0
  51. package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.mjs +62 -0
  52. package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.cjs +66 -0
  53. package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.internal.cjs +256 -0
  54. package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.internal.mjs +254 -0
  55. package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.mjs +64 -0
  56. package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.cjs +86 -0
  57. package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.internal.cjs +191 -0
  58. package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.internal.mjs +189 -0
  59. package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.mjs +84 -0
  60. package/dist/packages/stack/src/plugins/comments/client/components/shared/page-wrapper.cjs +27 -0
  61. package/dist/packages/stack/src/plugins/comments/client/components/shared/page-wrapper.mjs +25 -0
  62. package/dist/packages/stack/src/plugins/comments/client/components/shared/pagination.cjs +37 -0
  63. package/dist/packages/stack/src/plugins/comments/client/components/shared/pagination.mjs +35 -0
  64. package/dist/packages/stack/src/plugins/comments/client/hooks/use-comments.cjs +476 -0
  65. package/dist/packages/stack/src/plugins/comments/client/hooks/use-comments.mjs +464 -0
  66. package/dist/packages/stack/src/plugins/comments/client/localization/comments-moderation.cjs +67 -0
  67. package/dist/packages/stack/src/plugins/comments/client/localization/comments-moderation.mjs +65 -0
  68. package/dist/packages/stack/src/plugins/comments/client/localization/comments-my.cjs +27 -0
  69. package/dist/packages/stack/src/plugins/comments/client/localization/comments-my.mjs +25 -0
  70. package/dist/packages/stack/src/plugins/comments/client/localization/comments-thread.cjs +30 -0
  71. package/dist/packages/stack/src/plugins/comments/client/localization/comments-thread.mjs +28 -0
  72. package/dist/packages/stack/src/plugins/comments/client/localization/index.cjs +13 -0
  73. package/dist/packages/stack/src/plugins/comments/client/localization/index.mjs +11 -0
  74. package/dist/packages/stack/src/plugins/comments/client/plugin.cjs +116 -0
  75. package/dist/packages/stack/src/plugins/comments/client/plugin.mjs +114 -0
  76. package/dist/packages/stack/src/plugins/comments/client/utils.cjs +41 -0
  77. package/dist/packages/stack/src/plugins/comments/client/utils.mjs +37 -0
  78. package/dist/packages/stack/src/plugins/comments/db.cjs +75 -0
  79. package/dist/packages/stack/src/plugins/comments/db.mjs +73 -0
  80. package/dist/packages/stack/src/plugins/comments/schemas.cjs +45 -0
  81. package/dist/packages/stack/src/plugins/comments/schemas.mjs +38 -0
  82. package/dist/packages/stack/src/plugins/kanban/api/plugin.cjs +5 -4
  83. package/dist/packages/stack/src/plugins/kanban/api/plugin.mjs +5 -4
  84. package/dist/packages/stack/src/plugins/kanban/client/components/forms/task-form.cjs +0 -1
  85. package/dist/packages/stack/src/plugins/kanban/client/components/forms/task-form.mjs +0 -1
  86. package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.internal.cjs +39 -22
  87. package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.internal.mjs +40 -23
  88. package/dist/packages/ui/src/components/avatar.mjs +1 -1
  89. package/dist/packages/ui/src/components/pagination-controls.cjs +64 -0
  90. package/dist/packages/ui/src/components/pagination-controls.mjs +62 -0
  91. package/dist/packages/ui/src/components/when-visible.cjs +39 -0
  92. package/dist/packages/ui/src/components/when-visible.mjs +37 -0
  93. package/dist/plugins/ai-chat/api/index.d.cts +4 -6
  94. package/dist/plugins/ai-chat/api/index.d.mts +4 -6
  95. package/dist/plugins/ai-chat/api/index.d.ts +4 -6
  96. package/dist/plugins/ai-chat/client/hooks/index.d.cts +1 -3
  97. package/dist/plugins/ai-chat/client/hooks/index.d.mts +1 -3
  98. package/dist/plugins/ai-chat/client/hooks/index.d.ts +1 -3
  99. package/dist/plugins/ai-chat/query-keys.d.cts +1 -3
  100. package/dist/plugins/ai-chat/query-keys.d.mts +1 -3
  101. package/dist/plugins/ai-chat/query-keys.d.ts +1 -3
  102. package/dist/plugins/api/index.d.cts +3 -3
  103. package/dist/plugins/api/index.d.mts +3 -3
  104. package/dist/plugins/api/index.d.ts +3 -3
  105. package/dist/plugins/blog/api/index.d.cts +3 -3
  106. package/dist/plugins/blog/api/index.d.mts +3 -3
  107. package/dist/plugins/blog/api/index.d.ts +3 -3
  108. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  109. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  110. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  111. package/dist/plugins/blog/client/index.d.cts +25 -3
  112. package/dist/plugins/blog/client/index.d.mts +25 -3
  113. package/dist/plugins/blog/client/index.d.ts +25 -3
  114. package/dist/plugins/blog/query-keys.d.cts +3 -3
  115. package/dist/plugins/blog/query-keys.d.mts +3 -3
  116. package/dist/plugins/blog/query-keys.d.ts +3 -3
  117. package/dist/plugins/client/index.d.cts +2 -2
  118. package/dist/plugins/client/index.d.mts +2 -2
  119. package/dist/plugins/client/index.d.ts +2 -2
  120. package/dist/plugins/cms/api/index.d.cts +1 -1
  121. package/dist/plugins/cms/api/index.d.mts +1 -1
  122. package/dist/plugins/cms/api/index.d.ts +1 -1
  123. package/dist/plugins/cms/client/index.d.cts +1 -1
  124. package/dist/plugins/cms/client/index.d.mts +1 -1
  125. package/dist/plugins/cms/client/index.d.ts +1 -1
  126. package/dist/plugins/cms/query-keys.d.cts +1 -1
  127. package/dist/plugins/cms/query-keys.d.mts +1 -1
  128. package/dist/plugins/cms/query-keys.d.ts +1 -1
  129. package/dist/plugins/comments/api/index.cjs +21 -0
  130. package/dist/plugins/comments/api/index.d.cts +126 -0
  131. package/dist/plugins/comments/api/index.d.mts +126 -0
  132. package/dist/plugins/comments/api/index.d.ts +126 -0
  133. package/dist/plugins/comments/api/index.mjs +5 -0
  134. package/dist/plugins/comments/client/components/index.cjs +15 -0
  135. package/dist/plugins/comments/client/components/index.d.cts +125 -0
  136. package/dist/plugins/comments/client/components/index.d.mts +125 -0
  137. package/dist/plugins/comments/client/components/index.d.ts +125 -0
  138. package/dist/plugins/comments/client/components/index.mjs +5 -0
  139. package/dist/plugins/comments/client/hooks/index.cjs +17 -0
  140. package/dist/plugins/comments/client/hooks/index.d.cts +200 -0
  141. package/dist/plugins/comments/client/hooks/index.d.mts +200 -0
  142. package/dist/plugins/comments/client/hooks/index.d.ts +200 -0
  143. package/dist/plugins/comments/client/hooks/index.mjs +1 -0
  144. package/dist/plugins/comments/client/index.cjs +9 -0
  145. package/dist/plugins/comments/client/index.d.cts +262 -0
  146. package/dist/plugins/comments/client/index.d.mts +262 -0
  147. package/dist/plugins/comments/client/index.d.ts +262 -0
  148. package/dist/plugins/comments/client/index.mjs +2 -0
  149. package/dist/plugins/comments/client.css +2 -0
  150. package/dist/plugins/comments/query-keys.cjs +113 -0
  151. package/dist/plugins/comments/query-keys.d.cts +71 -0
  152. package/dist/plugins/comments/query-keys.d.mts +71 -0
  153. package/dist/plugins/comments/query-keys.d.ts +71 -0
  154. package/dist/plugins/comments/query-keys.mjs +111 -0
  155. package/dist/plugins/comments/style.css +15 -0
  156. package/dist/plugins/form-builder/api/index.d.cts +2 -2
  157. package/dist/plugins/form-builder/api/index.d.mts +2 -2
  158. package/dist/plugins/form-builder/api/index.d.ts +2 -2
  159. package/dist/plugins/form-builder/client/components/index.d.cts +1 -1
  160. package/dist/plugins/form-builder/client/components/index.d.mts +1 -1
  161. package/dist/plugins/form-builder/client/components/index.d.ts +1 -1
  162. package/dist/plugins/form-builder/client/index.d.cts +1 -1
  163. package/dist/plugins/form-builder/client/index.d.mts +1 -1
  164. package/dist/plugins/form-builder/client/index.d.ts +1 -1
  165. package/dist/plugins/form-builder/query-keys.d.cts +1 -1
  166. package/dist/plugins/form-builder/query-keys.d.mts +1 -1
  167. package/dist/plugins/form-builder/query-keys.d.ts +1 -1
  168. package/dist/plugins/kanban/api/index.d.cts +2 -2
  169. package/dist/plugins/kanban/api/index.d.mts +2 -2
  170. package/dist/plugins/kanban/api/index.d.ts +2 -2
  171. package/dist/plugins/kanban/client/hooks/index.d.cts +1 -1
  172. package/dist/plugins/kanban/client/hooks/index.d.mts +1 -1
  173. package/dist/plugins/kanban/client/hooks/index.d.ts +1 -1
  174. package/dist/plugins/kanban/client/index.d.cts +1 -1
  175. package/dist/plugins/kanban/client/index.d.mts +1 -1
  176. package/dist/plugins/kanban/client/index.d.ts +1 -1
  177. package/dist/plugins/kanban/query-keys.d.cts +2 -2
  178. package/dist/plugins/kanban/query-keys.d.mts +2 -2
  179. package/dist/plugins/kanban/query-keys.d.ts +2 -2
  180. package/dist/plugins/open-api/api/index.d.cts +3 -3
  181. package/dist/plugins/open-api/api/index.d.mts +3 -3
  182. package/dist/plugins/open-api/api/index.d.ts +3 -3
  183. package/dist/plugins/route-docs/client/index.d.cts +1 -1
  184. package/dist/plugins/route-docs/client/index.d.mts +1 -1
  185. package/dist/plugins/route-docs/client/index.d.ts +1 -1
  186. package/dist/plugins/ui-builder/client/components/index.d.cts +2 -2
  187. package/dist/plugins/ui-builder/client/components/index.d.mts +2 -2
  188. package/dist/plugins/ui-builder/client/components/index.d.ts +2 -2
  189. package/dist/plugins/ui-builder/client/hooks/index.d.cts +3 -3
  190. package/dist/plugins/ui-builder/client/hooks/index.d.mts +3 -3
  191. package/dist/plugins/ui-builder/client/hooks/index.d.ts +3 -3
  192. package/dist/plugins/ui-builder/client/index.d.cts +3 -3
  193. package/dist/plugins/ui-builder/client/index.d.mts +3 -3
  194. package/dist/plugins/ui-builder/client/index.d.ts +3 -3
  195. package/dist/plugins/ui-builder/index.d.cts +3 -3
  196. package/dist/plugins/ui-builder/index.d.mts +3 -3
  197. package/dist/plugins/ui-builder/index.d.ts +3 -3
  198. package/dist/shared/{stack.B1srlBud.d.mts → stack.BFoBvGML.d.mts} +1 -1
  199. package/dist/shared/{stack.DmpPDPxA.d.cts → stack.BOCvd9HK.d.cts} +1 -1
  200. package/dist/shared/{stack.n1_i1p2B.d.cts → stack.BOokfhZD.d.cts} +170 -110
  201. package/dist/shared/{stack.DXnclTG7.d.ts → stack.BSqJrCTM.d.cts} +120 -59
  202. package/dist/shared/{stack.B58oHdqm.d.mts → stack.BX7MHi0J.d.mts} +90 -45
  203. package/dist/shared/{stack.cfCkioTe.d.mts → stack.BXxrFL9R.d.ts} +120 -59
  204. package/dist/shared/{stack.CSx98K5H.d.cts → stack.BYN8wCV6.d.cts} +87 -58
  205. package/dist/shared/{stack.FVWf2JhZ.d.mts → stack.BgQrdSlo.d.mts} +60 -45
  206. package/dist/shared/{stack.BK9Z2dcL.d.ts → stack.BmMB0LNC.d.ts} +1 -1
  207. package/dist/shared/{stack.j75TpKh2.d.ts → stack.BvCR4-9H.d.ts} +170 -110
  208. package/dist/shared/{stack.FeaWkglm.d.ts → stack.BxFl46lB.d.cts} +24 -1
  209. package/dist/shared/stack.C-b3Sn8j.d.cts +142 -0
  210. package/dist/shared/stack.C-b3Sn8j.d.mts +142 -0
  211. package/dist/shared/stack.C-b3Sn8j.d.ts +142 -0
  212. package/dist/shared/{stack.CFECM0ew.d.cts → stack.C1nXGBr6.d.cts} +1 -1
  213. package/dist/shared/{stack.C9Mg2Q46.d.cts → stack.C9zoS1TN.d.cts} +90 -45
  214. package/dist/shared/stack.CJE9sAjV.d.ts +335 -0
  215. package/dist/shared/{stack.fdi94T4S.d.mts → stack.CPsYC2-Z.d.cts} +7 -7
  216. package/dist/shared/{stack.fdi94T4S.d.ts → stack.CPsYC2-Z.d.mts} +7 -7
  217. package/dist/shared/{stack.fdi94T4S.d.cts → stack.CPsYC2-Z.d.ts} +7 -7
  218. package/dist/shared/{stack.7n9Y_u7N.d.cts → stack.CQnwAN7x.d.cts} +6 -6
  219. package/dist/shared/{stack.7n9Y_u7N.d.mts → stack.CQnwAN7x.d.mts} +6 -6
  220. package/dist/shared/{stack.7n9Y_u7N.d.ts → stack.CQnwAN7x.d.ts} +6 -6
  221. package/dist/shared/{stack.CxaFNQCV.d.mts → stack.CWxAl9K3.d.mts} +170 -110
  222. package/dist/shared/{stack.D-b5zbPm.d.cts → stack.Cbsrl06u.d.cts} +60 -45
  223. package/dist/shared/stack.CmHRdhl8.d.cts +335 -0
  224. package/dist/shared/{stack.BgTmujxW.d.mts → stack.D88yU4FT.d.mts} +87 -58
  225. package/dist/shared/{stack.DVtk5CNw.d.mts → stack.DLPa6Gzm.d.mts} +1 -1
  226. package/dist/shared/{stack.BAT540yW.d.ts → stack.DOZ1EXjM.d.mts} +9 -15
  227. package/dist/shared/{stack.FeaWkglm.d.mts → stack.DRpeDS6X.d.ts} +24 -1
  228. package/dist/shared/{stack.B8vT-Yt4.d.mts → stack.DX-tQ93o.d.cts} +9 -15
  229. package/dist/shared/stack.Dcz6636A.d.mts +335 -0
  230. package/dist/shared/{stack.ASwEoINr.d.ts → stack.DxJ-tHLt.d.ts} +1 -1
  231. package/dist/shared/{stack.DaZM10cp.d.cts → stack.DzOhpIYM.d.mts} +120 -59
  232. package/dist/shared/{stack.CTDVxbrA.d.ts → stack.Fl2Kl_bt.d.ts} +60 -45
  233. package/dist/shared/{stack.FeaWkglm.d.cts → stack.Jb0kQDJC.d.mts} +24 -1
  234. package/dist/shared/stack.Ldfkr5b2.d.cts +112 -0
  235. package/dist/shared/stack.Ldfkr5b2.d.mts +112 -0
  236. package/dist/shared/stack.Ldfkr5b2.d.ts +112 -0
  237. package/dist/shared/{stack.CLQuVdwK.d.ts → stack.RuQ9JCLo.d.ts} +87 -58
  238. package/dist/shared/{stack.BwA7trxA.d.cts → stack.VF6FhyZw.d.ts} +9 -15
  239. package/dist/shared/{stack.sO33ZDhK.d.ts → stack.fQjVhw5a.d.ts} +90 -45
  240. package/package.json +70 -5
  241. package/src/__tests__/plugins.test.tsx +5 -1
  242. package/src/__tests__/stack-api.test.ts +1 -1
  243. package/src/plugins/ai-chat/__tests__/getters.test.ts +1 -1
  244. package/src/plugins/ai-chat/api/getters.ts +1 -1
  245. package/src/plugins/ai-chat/api/plugin.ts +1 -1
  246. package/src/plugins/api/index.ts +5 -1
  247. package/src/plugins/blog/__tests__/getters.test.ts +1 -1
  248. package/src/plugins/blog/api/getters.ts +1 -1
  249. package/src/plugins/blog/api/plugin.ts +1 -1
  250. package/src/plugins/blog/client/components/loading/post-navigation-skeleton.tsx +10 -0
  251. package/src/plugins/blog/client/components/loading/recent-posts-carousel-skeleton.tsx +18 -0
  252. package/src/plugins/blog/client/components/pages/post-page.internal.tsx +23 -8
  253. package/src/plugins/blog/client/components/shared/post-navigation.tsx +0 -5
  254. package/src/plugins/blog/client/components/shared/recent-posts-carousel.tsx +1 -5
  255. package/src/plugins/blog/client/hooks/blog-hooks.tsx +8 -33
  256. package/src/plugins/blog/client/overrides.ts +26 -1
  257. package/src/plugins/cms/__tests__/getters.test.ts +1 -1
  258. package/src/plugins/cms/api/getters.ts +1 -1
  259. package/src/plugins/cms/api/mutations.ts +1 -1
  260. package/src/plugins/cms/api/plugin.ts +1 -1
  261. package/src/plugins/cms/client/components/shared/pagination.tsx +14 -42
  262. package/src/plugins/comments/api/getters.ts +444 -0
  263. package/src/plugins/comments/api/index.ts +21 -0
  264. package/src/plugins/comments/api/mutations.ts +206 -0
  265. package/src/plugins/comments/api/plugin.ts +628 -0
  266. package/src/plugins/comments/api/query-key-defs.ts +143 -0
  267. package/src/plugins/comments/api/serializers.ts +37 -0
  268. package/src/plugins/comments/client/components/comment-count.tsx +66 -0
  269. package/src/plugins/comments/client/components/comment-form.tsx +112 -0
  270. package/src/plugins/comments/client/components/comment-thread.tsx +799 -0
  271. package/src/plugins/comments/client/components/index.tsx +11 -0
  272. package/src/plugins/comments/client/components/pages/moderation-page.internal.tsx +550 -0
  273. package/src/plugins/comments/client/components/pages/moderation-page.tsx +70 -0
  274. package/src/plugins/comments/client/components/pages/my-comments-page.internal.tsx +367 -0
  275. package/src/plugins/comments/client/components/pages/my-comments-page.tsx +72 -0
  276. package/src/plugins/comments/client/components/pages/resource-comments-page.internal.tsx +225 -0
  277. package/src/plugins/comments/client/components/pages/resource-comments-page.tsx +97 -0
  278. package/src/plugins/comments/client/components/shared/page-wrapper.tsx +32 -0
  279. package/src/plugins/comments/client/components/shared/pagination.tsx +44 -0
  280. package/src/plugins/comments/client/hooks/index.tsx +13 -0
  281. package/src/plugins/comments/client/hooks/use-comments.tsx +717 -0
  282. package/src/plugins/comments/client/index.ts +14 -0
  283. package/src/plugins/comments/client/localization/comments-moderation.ts +75 -0
  284. package/src/plugins/comments/client/localization/comments-my.ts +32 -0
  285. package/src/plugins/comments/client/localization/comments-thread.ts +32 -0
  286. package/src/plugins/comments/client/localization/index.ts +11 -0
  287. package/src/plugins/comments/client/overrides.ts +164 -0
  288. package/src/plugins/comments/client/plugin.tsx +195 -0
  289. package/src/plugins/comments/client/utils.ts +67 -0
  290. package/src/plugins/comments/client.css +2 -0
  291. package/src/plugins/comments/db.ts +77 -0
  292. package/src/plugins/comments/query-keys.ts +189 -0
  293. package/src/plugins/comments/schemas.ts +72 -0
  294. package/src/plugins/comments/style.css +15 -0
  295. package/src/plugins/comments/types.ts +73 -0
  296. package/src/plugins/form-builder/__tests__/getters.test.ts +1 -1
  297. package/src/plugins/form-builder/api/getters.ts +1 -1
  298. package/src/plugins/form-builder/api/plugin.ts +1 -1
  299. package/src/plugins/kanban/__tests__/getters.test.ts +1 -1
  300. package/src/plugins/kanban/api/getters.ts +1 -1
  301. package/src/plugins/kanban/api/mutations.ts +1 -1
  302. package/src/plugins/kanban/api/plugin.ts +6 -5
  303. package/src/plugins/kanban/client/components/forms/task-form.tsx +0 -1
  304. package/src/plugins/kanban/client/components/pages/board-page.internal.tsx +46 -27
  305. package/src/plugins/kanban/client/overrides.ts +27 -1
  306. package/src/types.ts +5 -1
  307. package/dist/shared/{stack.BQmuNl5p.d.mts → stack.BWp0hcm9.d.cts} +3 -3
  308. package/dist/shared/{stack.BQmuNl5p.d.ts → stack.BWp0hcm9.d.mts} +3 -3
  309. package/dist/shared/{stack.BQmuNl5p.d.cts → stack.BWp0hcm9.d.ts} +3 -3
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Comment status values
3
+ */
4
+ type CommentStatus = "pending" | "approved" | "spam";
5
+ /**
6
+ * A comment record as stored in the database
7
+ */
8
+ type Comment = {
9
+ id: string;
10
+ resourceId: string;
11
+ resourceType: string;
12
+ parentId: string | null;
13
+ authorId: string;
14
+ body: string;
15
+ status: CommentStatus;
16
+ likes: number;
17
+ editedAt?: Date;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ };
21
+ /**
22
+ * A comment enriched with server-resolved author info and like status.
23
+ * All dates are ISO strings (safe for serialisation over HTTP / React Query cache).
24
+ */
25
+ interface SerializedComment {
26
+ id: string;
27
+ resourceId: string;
28
+ resourceType: string;
29
+ parentId: string | null;
30
+ authorId: string;
31
+ /** Resolved from resolveUser(authorId). Falls back to "[deleted]" when user cannot be found. */
32
+ resolvedAuthorName: string;
33
+ /** Resolved avatar URL or null */
34
+ resolvedAvatarUrl: string | null;
35
+ body: string;
36
+ status: CommentStatus;
37
+ /** Denormalized counter — updated atomically on toggleLike */
38
+ likes: number;
39
+ /** True when the currentUserId query param matches an existing commentLike row */
40
+ isLikedByCurrentUser: boolean;
41
+ /** ISO string set when the comment body was edited; null for unedited comments */
42
+ editedAt: string | null;
43
+ createdAt: string;
44
+ updatedAt: string;
45
+ /**
46
+ * Number of direct replies visible to the requesting user.
47
+ * Includes approved replies plus any pending replies authored by `currentUserId`.
48
+ * Always 0 for reply comments (non-null parentId).
49
+ */
50
+ replyCount: number;
51
+ }
52
+ /**
53
+ * Paginated list result for comments
54
+ */
55
+ interface CommentListResult {
56
+ items: SerializedComment[];
57
+ total: number;
58
+ limit: number;
59
+ offset: number;
60
+ }
61
+
62
+ /**
63
+ * Internal query key constants for the Comments plugin.
64
+ * Shared between query-keys.ts (HTTP path) and any SSG/direct DB path
65
+ * to prevent key drift between loaders and prefetch calls.
66
+ */
67
+ interface CommentsListDiscriminator {
68
+ resourceId: string | undefined;
69
+ resourceType: string | undefined;
70
+ parentId: string | null | undefined;
71
+ status: string | undefined;
72
+ currentUserId: string | undefined;
73
+ authorId: string | undefined;
74
+ sort: string | undefined;
75
+ limit: number;
76
+ offset: number;
77
+ }
78
+ interface CommentCountDiscriminator {
79
+ resourceId: string;
80
+ resourceType: string;
81
+ status: string | undefined;
82
+ }
83
+ /**
84
+ * Discriminator for the infinite thread query (top-level comments only).
85
+ * Intentionally excludes `offset` — pages are driven by `pageParam`, not the key.
86
+ */
87
+ interface CommentsThreadDiscriminator {
88
+ resourceId: string | undefined;
89
+ resourceType: string | undefined;
90
+ parentId: string | null | undefined;
91
+ status: string | undefined;
92
+ currentUserId: string | undefined;
93
+ limit: number;
94
+ }
95
+ /** Full query key builders — use with queryClient.setQueryData() */
96
+ declare const COMMENTS_QUERY_KEYS: {
97
+ /**
98
+ * Key for comments list query.
99
+ * Full key: ["comments", "list", { resourceId, resourceType, parentId, status, currentUserId, limit, offset }]
100
+ */
101
+ commentsList: (params?: {
102
+ resourceId?: string;
103
+ resourceType?: string;
104
+ parentId?: string | null;
105
+ status?: string;
106
+ currentUserId?: string;
107
+ authorId?: string;
108
+ sort?: string;
109
+ limit?: number;
110
+ offset?: number;
111
+ }) => readonly ["comments", "list", CommentsListDiscriminator];
112
+ /**
113
+ * Key for a single comment detail query.
114
+ * Full key: ["comments", "detail", id]
115
+ */
116
+ commentDetail: (id: string) => readonly ["comments", "detail", string];
117
+ /**
118
+ * Key for comment count query.
119
+ * Full key: ["comments", "count", { resourceId, resourceType, status }]
120
+ */
121
+ commentCount: (params: {
122
+ resourceId: string;
123
+ resourceType: string;
124
+ status?: string;
125
+ }) => readonly ["comments", "count", CommentCountDiscriminator];
126
+ /**
127
+ * Key for the infinite thread query (top-level comments, load-more).
128
+ * Full key: ["commentsThread", "list", { resourceId, resourceType, parentId, status, currentUserId, limit }]
129
+ * Offset is excluded — it is driven by `pageParam`, not baked into the key.
130
+ */
131
+ commentsThread: (params?: {
132
+ resourceId?: string;
133
+ resourceType?: string;
134
+ parentId?: string | null;
135
+ status?: string;
136
+ currentUserId?: string;
137
+ limit?: number;
138
+ }) => readonly ["commentsThread", "list", CommentsThreadDiscriminator];
139
+ };
140
+
141
+ export { COMMENTS_QUERY_KEYS as e };
142
+ export type { CommentListResult as C, SerializedComment as S, CommentsThreadDiscriminator as a, CommentsListDiscriminator as b, CommentCountDiscriminator as c, Comment as d };
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Comment status values
3
+ */
4
+ type CommentStatus = "pending" | "approved" | "spam";
5
+ /**
6
+ * A comment record as stored in the database
7
+ */
8
+ type Comment = {
9
+ id: string;
10
+ resourceId: string;
11
+ resourceType: string;
12
+ parentId: string | null;
13
+ authorId: string;
14
+ body: string;
15
+ status: CommentStatus;
16
+ likes: number;
17
+ editedAt?: Date;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ };
21
+ /**
22
+ * A comment enriched with server-resolved author info and like status.
23
+ * All dates are ISO strings (safe for serialisation over HTTP / React Query cache).
24
+ */
25
+ interface SerializedComment {
26
+ id: string;
27
+ resourceId: string;
28
+ resourceType: string;
29
+ parentId: string | null;
30
+ authorId: string;
31
+ /** Resolved from resolveUser(authorId). Falls back to "[deleted]" when user cannot be found. */
32
+ resolvedAuthorName: string;
33
+ /** Resolved avatar URL or null */
34
+ resolvedAvatarUrl: string | null;
35
+ body: string;
36
+ status: CommentStatus;
37
+ /** Denormalized counter — updated atomically on toggleLike */
38
+ likes: number;
39
+ /** True when the currentUserId query param matches an existing commentLike row */
40
+ isLikedByCurrentUser: boolean;
41
+ /** ISO string set when the comment body was edited; null for unedited comments */
42
+ editedAt: string | null;
43
+ createdAt: string;
44
+ updatedAt: string;
45
+ /**
46
+ * Number of direct replies visible to the requesting user.
47
+ * Includes approved replies plus any pending replies authored by `currentUserId`.
48
+ * Always 0 for reply comments (non-null parentId).
49
+ */
50
+ replyCount: number;
51
+ }
52
+ /**
53
+ * Paginated list result for comments
54
+ */
55
+ interface CommentListResult {
56
+ items: SerializedComment[];
57
+ total: number;
58
+ limit: number;
59
+ offset: number;
60
+ }
61
+
62
+ /**
63
+ * Internal query key constants for the Comments plugin.
64
+ * Shared between query-keys.ts (HTTP path) and any SSG/direct DB path
65
+ * to prevent key drift between loaders and prefetch calls.
66
+ */
67
+ interface CommentsListDiscriminator {
68
+ resourceId: string | undefined;
69
+ resourceType: string | undefined;
70
+ parentId: string | null | undefined;
71
+ status: string | undefined;
72
+ currentUserId: string | undefined;
73
+ authorId: string | undefined;
74
+ sort: string | undefined;
75
+ limit: number;
76
+ offset: number;
77
+ }
78
+ interface CommentCountDiscriminator {
79
+ resourceId: string;
80
+ resourceType: string;
81
+ status: string | undefined;
82
+ }
83
+ /**
84
+ * Discriminator for the infinite thread query (top-level comments only).
85
+ * Intentionally excludes `offset` — pages are driven by `pageParam`, not the key.
86
+ */
87
+ interface CommentsThreadDiscriminator {
88
+ resourceId: string | undefined;
89
+ resourceType: string | undefined;
90
+ parentId: string | null | undefined;
91
+ status: string | undefined;
92
+ currentUserId: string | undefined;
93
+ limit: number;
94
+ }
95
+ /** Full query key builders — use with queryClient.setQueryData() */
96
+ declare const COMMENTS_QUERY_KEYS: {
97
+ /**
98
+ * Key for comments list query.
99
+ * Full key: ["comments", "list", { resourceId, resourceType, parentId, status, currentUserId, limit, offset }]
100
+ */
101
+ commentsList: (params?: {
102
+ resourceId?: string;
103
+ resourceType?: string;
104
+ parentId?: string | null;
105
+ status?: string;
106
+ currentUserId?: string;
107
+ authorId?: string;
108
+ sort?: string;
109
+ limit?: number;
110
+ offset?: number;
111
+ }) => readonly ["comments", "list", CommentsListDiscriminator];
112
+ /**
113
+ * Key for a single comment detail query.
114
+ * Full key: ["comments", "detail", id]
115
+ */
116
+ commentDetail: (id: string) => readonly ["comments", "detail", string];
117
+ /**
118
+ * Key for comment count query.
119
+ * Full key: ["comments", "count", { resourceId, resourceType, status }]
120
+ */
121
+ commentCount: (params: {
122
+ resourceId: string;
123
+ resourceType: string;
124
+ status?: string;
125
+ }) => readonly ["comments", "count", CommentCountDiscriminator];
126
+ /**
127
+ * Key for the infinite thread query (top-level comments, load-more).
128
+ * Full key: ["commentsThread", "list", { resourceId, resourceType, parentId, status, currentUserId, limit }]
129
+ * Offset is excluded — it is driven by `pageParam`, not baked into the key.
130
+ */
131
+ commentsThread: (params?: {
132
+ resourceId?: string;
133
+ resourceType?: string;
134
+ parentId?: string | null;
135
+ status?: string;
136
+ currentUserId?: string;
137
+ limit?: number;
138
+ }) => readonly ["commentsThread", "list", CommentsThreadDiscriminator];
139
+ };
140
+
141
+ export { COMMENTS_QUERY_KEYS as e };
142
+ export type { CommentListResult as C, SerializedComment as S, CommentsThreadDiscriminator as a, CommentsListDiscriminator as b, CommentCountDiscriminator as c, Comment as d };
@@ -1,4 +1,4 @@
1
- import { C as ComponentLayer, V as Variable } from './stack.DmpPDPxA.cjs';
1
+ import { C as ComponentLayer, V as Variable } from './stack.BOCvd9HK.cjs';
2
2
 
3
3
  /**
4
4
  * UI Builder Page data structure
@@ -2,7 +2,7 @@ import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
2
2
  import { a as SerializedContentItemWithType, S as SerializedContentType, b as ContentType, c as ContentItem, d as SerializedContentItem, e as ContentItemWithType, f as CMSBackendConfig, I as InverseRelation } from './stack.B8QD11QU.cjs';
3
3
  import * as better_call from 'better-call';
4
4
  import { z } from 'zod';
5
- import { Adapter } from '@btst/db';
5
+ import { DBAdapter } from '@btst/db';
6
6
  import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  /**
@@ -29,7 +29,7 @@ declare function serializeContentItemWithType(item: ContentItemWithType): Serial
29
29
  *
30
30
  * @param adapter - The database adapter
31
31
  */
32
- declare function getAllContentTypes(adapter: Adapter): Promise<SerializedContentType[]>;
32
+ declare function getAllContentTypes(adapter: DBAdapter): Promise<SerializedContentType[]>;
33
33
  /**
34
34
  * Retrieve all content items for a given content type, with optional pagination.
35
35
  * Pure DB function — no hooks, no HTTP context. Safe for SSG and server-side use.
@@ -42,7 +42,7 @@ declare function getAllContentTypes(adapter: Adapter): Promise<SerializedContent
42
42
  * @param contentTypeSlug - The slug of the content type to query
43
43
  * @param params - Optional filter/pagination parameters
44
44
  */
45
- declare function getAllContentItems(adapter: Adapter, contentTypeSlug: string, params?: {
45
+ declare function getAllContentItems(adapter: DBAdapter, contentTypeSlug: string, params?: {
46
46
  slug?: string;
47
47
  limit?: number;
48
48
  offset?: number;
@@ -63,7 +63,7 @@ declare function getAllContentItems(adapter: Adapter, contentTypeSlug: string, p
63
63
  * @param adapter - The database adapter
64
64
  * @param id - The content item ID (UUID)
65
65
  */
66
- declare function getContentItemById(adapter: Adapter, id: string): Promise<SerializedContentItemWithType | null>;
66
+ declare function getContentItemById(adapter: DBAdapter, id: string): Promise<SerializedContentItemWithType | null>;
67
67
  /**
68
68
  * Retrieve a single content item by its slug within a content type.
69
69
  * Returns null if the content type or item is not found.
@@ -76,7 +76,7 @@ declare function getContentItemById(adapter: Adapter, id: string): Promise<Seria
76
76
  * @param contentTypeSlug - The slug of the content type
77
77
  * @param slug - The slug of the content item
78
78
  */
79
- declare function getContentItemBySlug(adapter: Adapter, contentTypeSlug: string, slug: string): Promise<SerializedContentItemWithType | null>;
79
+ declare function getContentItemBySlug(adapter: DBAdapter, contentTypeSlug: string, slug: string): Promise<SerializedContentItemWithType | null>;
80
80
 
81
81
  /**
82
82
  * Input for creating a new CMS content item.
@@ -105,7 +105,7 @@ interface CreateCMSContentItemInput {
105
105
  * @param contentTypeSlug - Slug of the target content type
106
106
  * @param input - Item slug and data payload
107
107
  */
108
- declare function createCMSContentItem(adapter: Adapter, contentTypeSlug: string, input: CreateCMSContentItemInput): Promise<SerializedContentItem>;
108
+ declare function createCMSContentItem(adapter: DBAdapter, contentTypeSlug: string, input: CreateCMSContentItemInput): Promise<SerializedContentItem>;
109
109
 
110
110
  /**
111
111
  * Route keys for the CMS plugin — matches the keys returned by
@@ -129,7 +129,7 @@ interface CMSPrefetchForRoute {
129
129
  * @param config - Configuration with content types and optional hooks
130
130
  */
131
131
  declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugins_api.BackendPlugin<{
132
- listContentTypes: better_call.StrictEndpoint<"/content-types", {
132
+ listContentTypes: better_call.StrictEndpoint<"/content-types", {} & {
133
133
  method: "GET";
134
134
  }, {
135
135
  itemCount: number;
@@ -144,21 +144,28 @@ declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugin
144
144
  autoFormVersion?: number | undefined;
145
145
  }[]>;
146
146
  getContentTypeBySlug: better_call.StrictEndpoint<"/content-types/:slug", {
147
- method: "GET";
148
147
  params: z.ZodObject<{
149
148
  slug: z.ZodString;
150
149
  }, z.core.$strip>;
150
+ } & {
151
+ method: "GET";
151
152
  }, SerializedContentType>;
152
153
  listContentItems: better_call.StrictEndpoint<"/content/:typeSlug", {
153
- method: "GET";
154
154
  params: z.ZodObject<{
155
155
  typeSlug: z.ZodString;
156
156
  }, z.core.$strip>;
157
- query: z.ZodObject<{
158
- slug: z.ZodOptional<z.ZodString>;
159
- limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
160
- offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
161
- }, z.core.$strip>;
157
+ } & {
158
+ method: "GET";
159
+ } & {
160
+ query: better_call.StandardSchemaV1<{
161
+ slug?: string | undefined;
162
+ limit?: unknown;
163
+ offset?: unknown;
164
+ }, {
165
+ slug?: string | undefined;
166
+ limit?: unknown;
167
+ offset?: unknown;
168
+ }>;
162
169
  }, {
163
170
  items: SerializedContentItemWithType[];
164
171
  total: number;
@@ -166,21 +173,30 @@ declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugin
166
173
  offset?: number;
167
174
  }>;
168
175
  getContentItem: better_call.StrictEndpoint<"/content/:typeSlug/:id", {
169
- method: "GET";
170
176
  params: z.ZodObject<{
171
177
  typeSlug: z.ZodString;
172
178
  id: z.ZodString;
173
179
  }, z.core.$strip>;
180
+ } & {
181
+ method: "GET";
174
182
  }, SerializedContentItemWithType<Record<string, unknown>>>;
175
183
  createContentItem: better_call.StrictEndpoint<"/content/:typeSlug", {
176
- method: "POST";
177
184
  params: z.ZodObject<{
178
185
  typeSlug: z.ZodString;
179
186
  }, z.core.$strip>;
180
- body: z.ZodObject<{
181
- slug: z.ZodString;
182
- data: z.ZodObject<{}, z.core.$loose>;
183
- }, z.core.$strip>;
187
+ } & {
188
+ method: "POST";
189
+ body: better_call.StandardSchemaV1<{
190
+ slug: string;
191
+ data: {
192
+ [x: string]: unknown;
193
+ };
194
+ }, {
195
+ slug: string;
196
+ data: {
197
+ [x: string]: unknown;
198
+ };
199
+ }>;
184
200
  }, {
185
201
  parsedData: Record<string, unknown>;
186
202
  createdAt: string;
@@ -192,31 +208,42 @@ declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugin
192
208
  authorId?: string | undefined;
193
209
  }>;
194
210
  updateContentItem: better_call.StrictEndpoint<"/content/:typeSlug/:id", {
195
- method: "PUT";
196
211
  params: z.ZodObject<{
197
212
  typeSlug: z.ZodString;
198
213
  id: z.ZodString;
199
214
  }, z.core.$strip>;
200
- body: z.ZodObject<{
201
- slug: z.ZodOptional<z.ZodString>;
202
- data: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
203
- }, z.core.$strip>;
215
+ } & {
216
+ method: "PUT";
217
+ body: better_call.StandardSchemaV1<{
218
+ slug?: string | undefined;
219
+ data?: {
220
+ [x: string]: unknown;
221
+ } | undefined;
222
+ }, {
223
+ slug?: string | undefined;
224
+ data?: {
225
+ [x: string]: unknown;
226
+ } | undefined;
227
+ }>;
204
228
  }, SerializedContentItemWithType<Record<string, unknown>>>;
205
229
  deleteContentItem: better_call.StrictEndpoint<"/content/:typeSlug/:id", {
206
- method: "DELETE";
207
230
  params: z.ZodObject<{
208
231
  typeSlug: z.ZodString;
209
232
  id: z.ZodString;
210
233
  }, z.core.$strip>;
234
+ } & {
235
+ method: "DELETE";
236
+ body: better_call.StandardSchemaV1<unknown, unknown>;
211
237
  }, {
212
238
  success: boolean;
213
239
  }>;
214
240
  getContentItemPopulated: better_call.StrictEndpoint<"/content/:typeSlug/:id/populated", {
215
- method: "GET";
216
241
  params: z.ZodObject<{
217
242
  typeSlug: z.ZodString;
218
243
  id: z.ZodString;
219
244
  }, z.core.$strip>;
245
+ } & {
246
+ method: "GET";
220
247
  }, {
221
248
  _relations: Record<string, SerializedContentItemWithType<Record<string, unknown>>[]>;
222
249
  parsedData: Record<string, unknown>;
@@ -230,16 +257,23 @@ declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugin
230
257
  authorId?: string | undefined;
231
258
  }>;
232
259
  listContentByRelation: better_call.StrictEndpoint<"/content/:typeSlug/by-relation", {
233
- method: "GET";
234
260
  params: z.ZodObject<{
235
261
  typeSlug: z.ZodString;
236
262
  }, z.core.$strip>;
237
- query: z.ZodObject<{
238
- field: z.ZodString;
239
- targetId: z.ZodString;
240
- limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
241
- offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
242
- }, z.core.$strip>;
263
+ } & {
264
+ method: "GET";
265
+ } & {
266
+ query: better_call.StandardSchemaV1<{
267
+ field: string;
268
+ targetId: string;
269
+ limit?: unknown;
270
+ offset?: unknown;
271
+ }, {
272
+ field: string;
273
+ targetId: string;
274
+ limit?: unknown;
275
+ offset?: unknown;
276
+ }>;
243
277
  }, {
244
278
  items: SerializedContentItemWithType<Record<string, unknown>>[];
245
279
  total: number;
@@ -247,28 +281,39 @@ declare const cmsBackendPlugin: (config: CMSBackendConfig) => _btst_stack_plugin
247
281
  offset: number;
248
282
  }>;
249
283
  getInverseRelations: better_call.StrictEndpoint<"/content-types/:slug/inverse-relations", {
250
- method: "GET";
251
284
  params: z.ZodObject<{
252
285
  slug: z.ZodString;
253
286
  }, z.core.$strip>;
254
- query: z.ZodObject<{
255
- itemId: z.ZodOptional<z.ZodString>;
256
- }, z.core.$strip>;
287
+ } & {
288
+ method: "GET";
289
+ } & {
290
+ query: better_call.StandardSchemaV1<{
291
+ itemId?: string | undefined;
292
+ }, {
293
+ itemId?: string | undefined;
294
+ }>;
257
295
  }, {
258
296
  inverseRelations: InverseRelation[];
259
297
  }>;
260
298
  listInverseRelationItems: better_call.StrictEndpoint<"/content-types/:slug/inverse-relations/:sourceType", {
261
- method: "GET";
262
299
  params: z.ZodObject<{
263
300
  slug: z.ZodString;
264
301
  sourceType: z.ZodString;
265
302
  }, z.core.$strip>;
266
- query: z.ZodObject<{
267
- itemId: z.ZodString;
268
- fieldName: z.ZodString;
269
- limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
270
- offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
271
- }, z.core.$strip>;
303
+ } & {
304
+ method: "GET";
305
+ } & {
306
+ query: better_call.StandardSchemaV1<{
307
+ itemId: string;
308
+ fieldName: string;
309
+ limit?: unknown;
310
+ offset?: unknown;
311
+ }, {
312
+ itemId: string;
313
+ fieldName: string;
314
+ limit?: unknown;
315
+ offset?: unknown;
316
+ }>;
272
317
  }, {
273
318
  items: SerializedContentItemWithType<Record<string, unknown>>[];
274
319
  total: number;