@btst/stack 2.3.0 → 2.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 (208) hide show
  1. package/dist/packages/stack/src/client/components/compose.cjs +1 -2
  2. package/dist/packages/stack/src/client/components/compose.mjs +1 -2
  3. package/dist/packages/stack/src/plugins/ai-chat/api/page-tools.cjs +71 -0
  4. package/dist/packages/stack/src/plugins/ai-chat/api/page-tools.mjs +68 -0
  5. package/dist/packages/stack/src/plugins/ai-chat/api/plugin.cjs +87 -54
  6. package/dist/packages/stack/src/plugins/ai-chat/api/plugin.mjs +87 -54
  7. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-input.cjs +2 -2
  8. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-input.mjs +2 -2
  9. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.cjs +89 -22
  10. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.mjs +90 -23
  11. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.cjs +110 -33
  12. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.mjs +112 -35
  13. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs +1 -1
  14. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs +1 -1
  15. package/dist/packages/stack/src/plugins/ai-chat/client/plugin.cjs +14 -21
  16. package/dist/packages/stack/src/plugins/ai-chat/client/plugin.mjs +15 -22
  17. package/dist/packages/stack/src/plugins/ai-chat/schemas.cjs +17 -1
  18. package/dist/packages/stack/src/plugins/ai-chat/schemas.mjs +17 -1
  19. package/dist/packages/stack/src/plugins/blog/api/plugin.cjs +28 -45
  20. package/dist/packages/stack/src/plugins/blog/api/plugin.mjs +22 -39
  21. package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.cjs +15 -2
  22. package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.mjs +16 -3
  23. package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.internal.cjs +24 -1
  24. package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.internal.mjs +24 -1
  25. package/dist/packages/stack/src/plugins/blog/client/components/pages/fill-blog-form-handler.cjs +26 -0
  26. package/dist/packages/stack/src/plugins/blog/client/components/pages/fill-blog-form-handler.mjs +24 -0
  27. package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.internal.cjs +30 -1
  28. package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.internal.mjs +30 -1
  29. package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.cjs +18 -0
  30. package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.mjs +18 -0
  31. package/dist/packages/stack/src/plugins/blog/client/plugin.cjs +23 -27
  32. package/dist/packages/stack/src/plugins/blog/client/plugin.mjs +24 -28
  33. package/dist/packages/stack/src/plugins/cms/api/mutations.cjs +48 -0
  34. package/dist/packages/stack/src/plugins/cms/api/mutations.mjs +46 -0
  35. package/dist/packages/stack/src/plugins/cms/api/plugin.cjs +21 -18
  36. package/dist/packages/stack/src/plugins/cms/api/plugin.mjs +21 -18
  37. package/dist/packages/stack/src/plugins/cms/client/plugin.cjs +11 -15
  38. package/dist/packages/stack/src/plugins/cms/client/plugin.mjs +12 -16
  39. package/dist/packages/stack/src/plugins/form-builder/api/plugin.cjs +58 -62
  40. package/dist/packages/stack/src/plugins/form-builder/api/plugin.mjs +58 -62
  41. package/dist/packages/stack/src/plugins/form-builder/client/plugin.cjs +12 -12
  42. package/dist/packages/stack/src/plugins/form-builder/client/plugin.mjs +13 -13
  43. package/dist/packages/stack/src/plugins/kanban/api/mutations.cjs +91 -0
  44. package/dist/packages/stack/src/plugins/kanban/api/mutations.mjs +87 -0
  45. package/dist/packages/stack/src/plugins/kanban/api/plugin.cjs +92 -118
  46. package/dist/packages/stack/src/plugins/kanban/api/plugin.mjs +89 -115
  47. package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-hooks.cjs +7 -3
  48. package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-hooks.mjs +7 -3
  49. package/dist/packages/stack/src/plugins/kanban/client/plugin.cjs +22 -29
  50. package/dist/packages/stack/src/plugins/kanban/client/plugin.mjs +23 -30
  51. package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.cjs +89 -0
  52. package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.mjs +89 -0
  53. package/dist/packages/stack/src/plugins/ui-builder/client/plugin.cjs +8 -8
  54. package/dist/packages/stack/src/plugins/ui-builder/client/plugin.mjs +9 -9
  55. package/dist/packages/stack/src/plugins/utils.cjs +42 -0
  56. package/dist/packages/stack/src/plugins/utils.mjs +41 -1
  57. package/dist/plugins/ai-chat/api/index.d.cts +1 -1
  58. package/dist/plugins/ai-chat/api/index.d.mts +1 -1
  59. package/dist/plugins/ai-chat/api/index.d.ts +1 -1
  60. package/dist/plugins/ai-chat/client/components/index.d.cts +1 -1
  61. package/dist/plugins/ai-chat/client/components/index.d.mts +1 -1
  62. package/dist/plugins/ai-chat/client/components/index.d.ts +1 -1
  63. package/dist/plugins/ai-chat/client/context/page-ai-context.cjs +92 -0
  64. package/dist/plugins/ai-chat/client/context/page-ai-context.d.cts +84 -0
  65. package/dist/plugins/ai-chat/client/context/page-ai-context.d.mts +84 -0
  66. package/dist/plugins/ai-chat/client/context/page-ai-context.d.ts +84 -0
  67. package/dist/plugins/ai-chat/client/context/page-ai-context.mjs +88 -0
  68. package/dist/plugins/ai-chat/client/hooks/index.d.cts +1 -1
  69. package/dist/plugins/ai-chat/client/hooks/index.d.mts +1 -1
  70. package/dist/plugins/ai-chat/client/hooks/index.d.ts +1 -1
  71. package/dist/plugins/ai-chat/client/index.d.cts +10 -10
  72. package/dist/plugins/ai-chat/client/index.d.mts +10 -10
  73. package/dist/plugins/ai-chat/client/index.d.ts +10 -10
  74. package/dist/plugins/ai-chat/query-keys.d.cts +1 -1
  75. package/dist/plugins/ai-chat/query-keys.d.mts +1 -1
  76. package/dist/plugins/ai-chat/query-keys.d.ts +1 -1
  77. package/dist/plugins/blog/api/index.d.cts +2 -2
  78. package/dist/plugins/blog/api/index.d.mts +2 -2
  79. package/dist/plugins/blog/api/index.d.ts +2 -2
  80. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  81. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  82. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  83. package/dist/plugins/blog/client/index.d.cts +13 -13
  84. package/dist/plugins/blog/client/index.d.mts +13 -13
  85. package/dist/plugins/blog/client/index.d.ts +13 -13
  86. package/dist/plugins/blog/query-keys.d.cts +2 -2
  87. package/dist/plugins/blog/query-keys.d.mts +2 -2
  88. package/dist/plugins/blog/query-keys.d.ts +2 -2
  89. package/dist/plugins/client/index.cjs +1 -0
  90. package/dist/plugins/client/index.d.cts +8 -1
  91. package/dist/plugins/client/index.d.mts +8 -1
  92. package/dist/plugins/client/index.d.ts +8 -1
  93. package/dist/plugins/client/index.mjs +1 -1
  94. package/dist/plugins/cms/api/index.cjs +2 -0
  95. package/dist/plugins/cms/api/index.d.cts +2 -2
  96. package/dist/plugins/cms/api/index.d.mts +2 -2
  97. package/dist/plugins/cms/api/index.d.ts +2 -2
  98. package/dist/plugins/cms/api/index.mjs +1 -0
  99. package/dist/plugins/cms/client/hooks/index.d.cts +1 -1
  100. package/dist/plugins/cms/client/hooks/index.d.mts +1 -1
  101. package/dist/plugins/cms/client/hooks/index.d.ts +1 -1
  102. package/dist/plugins/cms/client/index.d.cts +6 -6
  103. package/dist/plugins/cms/client/index.d.mts +6 -6
  104. package/dist/plugins/cms/client/index.d.ts +6 -6
  105. package/dist/plugins/cms/query-keys.d.cts +2 -2
  106. package/dist/plugins/cms/query-keys.d.mts +2 -2
  107. package/dist/plugins/cms/query-keys.d.ts +2 -2
  108. package/dist/plugins/form-builder/api/index.d.cts +2 -2
  109. package/dist/plugins/form-builder/api/index.d.mts +2 -2
  110. package/dist/plugins/form-builder/api/index.d.ts +2 -2
  111. package/dist/plugins/form-builder/client/components/index.d.cts +1 -1
  112. package/dist/plugins/form-builder/client/components/index.d.mts +1 -1
  113. package/dist/plugins/form-builder/client/components/index.d.ts +1 -1
  114. package/dist/plugins/form-builder/client/hooks/index.d.cts +1 -1
  115. package/dist/plugins/form-builder/client/hooks/index.d.mts +1 -1
  116. package/dist/plugins/form-builder/client/hooks/index.d.ts +1 -1
  117. package/dist/plugins/form-builder/client/index.d.cts +6 -6
  118. package/dist/plugins/form-builder/client/index.d.mts +6 -6
  119. package/dist/plugins/form-builder/client/index.d.ts +6 -6
  120. package/dist/plugins/form-builder/query-keys.d.cts +2 -2
  121. package/dist/plugins/form-builder/query-keys.d.mts +2 -2
  122. package/dist/plugins/form-builder/query-keys.d.ts +2 -2
  123. package/dist/plugins/kanban/api/index.cjs +4 -0
  124. package/dist/plugins/kanban/api/index.d.cts +1 -1
  125. package/dist/plugins/kanban/api/index.d.mts +1 -1
  126. package/dist/plugins/kanban/api/index.d.ts +1 -1
  127. package/dist/plugins/kanban/api/index.mjs +1 -0
  128. package/dist/plugins/kanban/client/index.d.cts +12 -12
  129. package/dist/plugins/kanban/client/index.d.mts +12 -12
  130. package/dist/plugins/kanban/client/index.d.ts +12 -12
  131. package/dist/plugins/kanban/query-keys.d.cts +1 -1
  132. package/dist/plugins/kanban/query-keys.d.mts +1 -1
  133. package/dist/plugins/kanban/query-keys.d.ts +1 -1
  134. package/dist/plugins/ui-builder/client/hooks/index.d.cts +1 -1
  135. package/dist/plugins/ui-builder/client/hooks/index.d.mts +1 -1
  136. package/dist/plugins/ui-builder/client/hooks/index.d.ts +1 -1
  137. package/dist/plugins/ui-builder/client/index.d.cts +3 -3
  138. package/dist/plugins/ui-builder/client/index.d.mts +3 -3
  139. package/dist/plugins/ui-builder/client/index.d.ts +3 -3
  140. package/dist/plugins/ui-builder/index.d.cts +2 -2
  141. package/dist/plugins/ui-builder/index.d.mts +2 -2
  142. package/dist/plugins/ui-builder/index.d.ts +2 -2
  143. package/dist/shared/{stack.C-WUPMT6.d.cts → stack.B2xZTSiO.d.cts} +4 -4
  144. package/dist/shared/{stack.B1EeBt1b.d.ts → stack.B58oHdqm.d.mts} +33 -3
  145. package/dist/shared/{stack.CVDTkMoO.d.mts → stack.B8QD11QU.d.cts} +7 -7
  146. package/dist/shared/{stack.CVDTkMoO.d.cts → stack.B8QD11QU.d.mts} +7 -7
  147. package/dist/shared/{stack.CVDTkMoO.d.ts → stack.B8QD11QU.d.ts} +7 -7
  148. package/dist/shared/{stack.CIP6QS9l.d.ts → stack.BDVEpue1.d.ts} +1 -1
  149. package/dist/shared/{stack.C5dtIncc.d.mts → stack.BTvbxZvw.d.cts} +1 -1
  150. package/dist/shared/{stack.DaOcgmrM.d.ts → stack.BV9hnvu4.d.cts} +31 -7
  151. package/dist/shared/{stack.DaOcgmrM.d.cts → stack.BV9hnvu4.d.mts} +31 -7
  152. package/dist/shared/{stack.DaOcgmrM.d.mts → stack.BV9hnvu4.d.ts} +31 -7
  153. package/dist/shared/{stack.DdI5W6MB.d.mts → stack.BozPgbrZ.d.cts} +19 -19
  154. package/dist/shared/{stack.DdI5W6MB.d.ts → stack.BozPgbrZ.d.mts} +19 -19
  155. package/dist/shared/{stack.DdI5W6MB.d.cts → stack.BozPgbrZ.d.ts} +19 -19
  156. package/dist/shared/{stack.CP68pFEH.d.mts → stack.C9Mg2Q46.d.cts} +33 -3
  157. package/dist/shared/{stack.BeSm90va.d.ts → stack.CTDVxbrA.d.ts} +72 -14
  158. package/dist/shared/{stack.C-Ptrz8s.d.ts → stack.Cj_zKww4.d.ts} +4 -4
  159. package/dist/shared/{stack.TIBF2AOx.d.ts → stack.CxaFNQCV.d.mts} +89 -34
  160. package/dist/shared/{stack.CMh_EdxW.d.cts → stack.D-b5zbPm.d.cts} +72 -14
  161. package/dist/shared/{stack.Dw0Ly2TM.d.cts → stack.DTtmJPQO.d.mts} +1 -1
  162. package/dist/shared/{stack.BKfolAyK.d.ts → stack.DXnclTG7.d.ts} +11 -11
  163. package/dist/shared/{stack.snB1EDP7.d.cts → stack.DaZM10cp.d.cts} +11 -11
  164. package/dist/shared/{stack.Dg09R0oB.d.mts → stack.FVWf2JhZ.d.mts} +72 -14
  165. package/dist/shared/{stack.BIXEI6v_.d.mts → stack.cfCkioTe.d.mts} +11 -11
  166. package/dist/shared/{stack.6fUOjLs9.d.mts → stack.dH7u-TJH.d.mts} +4 -4
  167. package/dist/shared/{stack.BpolpQpf.d.cts → stack.j75TpKh2.d.ts} +89 -34
  168. package/dist/shared/{stack.rTy7-wQU.d.mts → stack.n1_i1p2B.d.cts} +89 -34
  169. package/dist/shared/{stack.IdtKDRka.d.cts → stack.sO33ZDhK.d.ts} +33 -3
  170. package/package.json +14 -1
  171. package/src/client/components/compose.tsx +7 -4
  172. package/src/plugins/ai-chat/api/page-tools.ts +111 -0
  173. package/src/plugins/ai-chat/api/plugin.ts +228 -72
  174. package/src/plugins/ai-chat/client/components/chat-input.tsx +2 -2
  175. package/src/plugins/ai-chat/client/components/chat-interface.tsx +154 -58
  176. package/src/plugins/ai-chat/client/components/chat-layout.tsx +166 -32
  177. package/src/plugins/ai-chat/client/components/chat-sidebar.tsx +1 -1
  178. package/src/plugins/ai-chat/client/context/page-ai-context.tsx +240 -0
  179. package/src/plugins/ai-chat/client/plugin.tsx +23 -31
  180. package/src/plugins/ai-chat/schemas.ts +16 -0
  181. package/src/plugins/blog/api/plugin.ts +31 -47
  182. package/src/plugins/blog/client/components/forms/post-forms.tsx +29 -2
  183. package/src/plugins/blog/client/components/pages/edit-post-page.internal.tsx +28 -0
  184. package/src/plugins/blog/client/components/pages/fill-blog-form-handler.ts +38 -0
  185. package/src/plugins/blog/client/components/pages/new-post-page.internal.tsx +33 -1
  186. package/src/plugins/blog/client/components/pages/post-page.internal.tsx +20 -0
  187. package/src/plugins/blog/client/plugin.tsx +36 -39
  188. package/src/plugins/client/index.ts +5 -1
  189. package/src/plugins/cms/api/index.ts +4 -0
  190. package/src/plugins/cms/api/mutations.ts +84 -0
  191. package/src/plugins/cms/api/plugin.ts +23 -17
  192. package/src/plugins/cms/client/plugin.tsx +18 -21
  193. package/src/plugins/cms/types.ts +7 -7
  194. package/src/plugins/form-builder/api/plugin.ts +64 -64
  195. package/src/plugins/form-builder/client/plugin.tsx +19 -18
  196. package/src/plugins/form-builder/types.ts +19 -24
  197. package/src/plugins/kanban/api/index.ts +6 -0
  198. package/src/plugins/kanban/api/mutations.ts +169 -0
  199. package/src/plugins/kanban/api/plugin.ts +123 -136
  200. package/src/plugins/kanban/client/hooks/kanban-hooks.tsx +4 -0
  201. package/src/plugins/kanban/client/plugin.tsx +35 -41
  202. package/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.tsx +132 -0
  203. package/src/plugins/ui-builder/client/plugin.tsx +11 -10
  204. package/src/plugins/ui-builder/types.ts +4 -4
  205. package/src/plugins/utils.ts +92 -1
  206. package/dist/shared/{stack.CBON0dWL.d.mts → stack.BQmuNl5p.d.cts} +2 -2
  207. package/dist/shared/{stack.CBON0dWL.d.ts → stack.BQmuNl5p.d.mts} +2 -2
  208. package/dist/shared/{stack.CBON0dWL.d.cts → stack.BQmuNl5p.d.ts} +2 -2
@@ -1,7 +1,7 @@
1
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.IdtKDRka.cjs';
1
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.C9Mg2Q46.cjs';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.CVDTkMoO.cjs';
4
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B8QD11QU.cjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -1,7 +1,7 @@
1
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.CP68pFEH.mjs';
1
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.B58oHdqm.mjs';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.CVDTkMoO.mjs';
4
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B8QD11QU.mjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -1,7 +1,7 @@
1
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.B1EeBt1b.js';
1
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.sO33ZDhK.js';
2
2
  import * as _tanstack_react_query from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.CVDTkMoO.js';
4
+ import { S as SerializedContentType, P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B8QD11QU.js';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -1,7 +1,7 @@
1
- export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.Dw0Ly2TM.cjs';
1
+ export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.BTvbxZvw.cjs';
2
2
  import '@btst/stack/plugins/api';
3
3
  import 'better-call';
4
- import '../../../shared/stack.DdI5W6MB.cjs';
4
+ import '../../../shared/stack.BozPgbrZ.cjs';
5
5
  import 'zod';
6
6
  import '@btst/db';
7
7
  import '@tanstack/react-query';
@@ -1,7 +1,7 @@
1
- export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.C5dtIncc.mjs';
1
+ export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.DTtmJPQO.mjs';
2
2
  import '@btst/stack/plugins/api';
3
3
  import 'better-call';
4
- import '../../../shared/stack.DdI5W6MB.mjs';
4
+ import '../../../shared/stack.BozPgbrZ.mjs';
5
5
  import 'zod';
6
6
  import '@btst/db';
7
7
  import '@tanstack/react-query';
@@ -1,7 +1,7 @@
1
- export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.CIP6QS9l.js';
1
+ export { j as FORM_QUERY_KEYS, F as FormBuilderApiRouter, b as FormBuilderRouteKey, f as formBuilderBackendPlugin, g as getAllForms, c as getFormById, d as getFormBySlug, e as getFormSubmissions, s as serializeForm, h as serializeFormSubmission, i as serializeFormSubmissionWithData } from '../../../shared/stack.BDVEpue1.js';
2
2
  import '@btst/stack/plugins/api';
3
3
  import 'better-call';
4
- import '../../../shared/stack.DdI5W6MB.js';
4
+ import '../../../shared/stack.BozPgbrZ.js';
5
5
  import 'zod';
6
6
  import '@btst/db';
7
7
  import '@tanstack/react-query';
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentType } from 'react';
3
3
  import { A as AutoFormInputComponentProps } from '../../../../shared/stack.8nldKomx.cjs';
4
- import { a as SerializedFormSubmission } from '../../../../shared/stack.DdI5W6MB.cjs';
4
+ import { a as SerializedFormSubmission } from '../../../../shared/stack.BozPgbrZ.cjs';
5
5
  import 'react-hook-form';
6
6
  import 'zod';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentType } from 'react';
3
3
  import { A as AutoFormInputComponentProps } from '../../../../shared/stack.8nldKomx.mjs';
4
- import { a as SerializedFormSubmission } from '../../../../shared/stack.DdI5W6MB.mjs';
4
+ import { a as SerializedFormSubmission } from '../../../../shared/stack.BozPgbrZ.mjs';
5
5
  import 'react-hook-form';
6
6
  import 'zod';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ComponentType } from 'react';
3
3
  import { A as AutoFormInputComponentProps } from '../../../../shared/stack.8nldKomx.js';
4
- import { a as SerializedFormSubmission } from '../../../../shared/stack.DdI5W6MB.js';
4
+ import { a as SerializedFormSubmission } from '../../../../shared/stack.BozPgbrZ.js';
5
5
  import 'react-hook-form';
6
6
  import 'zod';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.DdI5W6MB.cjs';
2
+ import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.BozPgbrZ.cjs';
3
3
 
4
4
  interface UseFormsOptions {
5
5
  /** Filter by status */
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.DdI5W6MB.mjs';
2
+ import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.BozPgbrZ.mjs';
3
3
 
4
4
  interface UseFormsOptions {
5
5
  /** Filter by status */
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.DdI5W6MB.js';
2
+ import { S as SerializedForm, a as SerializedFormSubmission, b as SerializedFormSubmissionWithData } from '../../../../shared/stack.BozPgbrZ.js';
3
3
 
4
4
  interface UseFormsOptions {
5
5
  /** Filter by status */
@@ -34,21 +34,21 @@ interface LoaderContext {
34
34
  */
35
35
  interface FormBuilderClientHooks {
36
36
  /**
37
- * Called before loading the form list page. Return false to cancel loading.
37
+ * Called before loading the form list page. Throw an error to cancel loading.
38
38
  * @param context - Loader context with path, params, etc.
39
39
  */
40
- beforeLoadFormList?: (context: LoaderContext) => Promise<boolean> | boolean;
40
+ beforeLoadFormList?: (context: LoaderContext) => Promise<void> | void;
41
41
  /**
42
42
  * Called after the form list is loaded.
43
43
  * @param context - Loader context
44
44
  */
45
45
  afterLoadFormList?: (context: LoaderContext) => Promise<void> | void;
46
46
  /**
47
- * Called before loading the form builder page. Return false to cancel loading.
47
+ * Called before loading the form builder page. Throw an error to cancel loading.
48
48
  * @param id - The form ID (undefined for new forms)
49
49
  * @param context - Loader context
50
50
  */
51
- beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<boolean> | boolean;
51
+ beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
52
52
  /**
53
53
  * Called after the form builder is loaded.
54
54
  * @param id - The form ID (undefined for new forms)
@@ -56,11 +56,11 @@ interface FormBuilderClientHooks {
56
56
  */
57
57
  afterLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
58
58
  /**
59
- * Called before loading the submissions page. Return false to cancel loading.
59
+ * Called before loading the submissions page. Throw an error to cancel loading.
60
60
  * @param formId - The form ID
61
61
  * @param context - Loader context
62
62
  */
63
- beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<boolean> | boolean;
63
+ beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<void> | void;
64
64
  /**
65
65
  * Called after the submissions page is loaded.
66
66
  * @param formId - The form ID
@@ -34,21 +34,21 @@ interface LoaderContext {
34
34
  */
35
35
  interface FormBuilderClientHooks {
36
36
  /**
37
- * Called before loading the form list page. Return false to cancel loading.
37
+ * Called before loading the form list page. Throw an error to cancel loading.
38
38
  * @param context - Loader context with path, params, etc.
39
39
  */
40
- beforeLoadFormList?: (context: LoaderContext) => Promise<boolean> | boolean;
40
+ beforeLoadFormList?: (context: LoaderContext) => Promise<void> | void;
41
41
  /**
42
42
  * Called after the form list is loaded.
43
43
  * @param context - Loader context
44
44
  */
45
45
  afterLoadFormList?: (context: LoaderContext) => Promise<void> | void;
46
46
  /**
47
- * Called before loading the form builder page. Return false to cancel loading.
47
+ * Called before loading the form builder page. Throw an error to cancel loading.
48
48
  * @param id - The form ID (undefined for new forms)
49
49
  * @param context - Loader context
50
50
  */
51
- beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<boolean> | boolean;
51
+ beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
52
52
  /**
53
53
  * Called after the form builder is loaded.
54
54
  * @param id - The form ID (undefined for new forms)
@@ -56,11 +56,11 @@ interface FormBuilderClientHooks {
56
56
  */
57
57
  afterLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
58
58
  /**
59
- * Called before loading the submissions page. Return false to cancel loading.
59
+ * Called before loading the submissions page. Throw an error to cancel loading.
60
60
  * @param formId - The form ID
61
61
  * @param context - Loader context
62
62
  */
63
- beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<boolean> | boolean;
63
+ beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<void> | void;
64
64
  /**
65
65
  * Called after the submissions page is loaded.
66
66
  * @param formId - The form ID
@@ -34,21 +34,21 @@ interface LoaderContext {
34
34
  */
35
35
  interface FormBuilderClientHooks {
36
36
  /**
37
- * Called before loading the form list page. Return false to cancel loading.
37
+ * Called before loading the form list page. Throw an error to cancel loading.
38
38
  * @param context - Loader context with path, params, etc.
39
39
  */
40
- beforeLoadFormList?: (context: LoaderContext) => Promise<boolean> | boolean;
40
+ beforeLoadFormList?: (context: LoaderContext) => Promise<void> | void;
41
41
  /**
42
42
  * Called after the form list is loaded.
43
43
  * @param context - Loader context
44
44
  */
45
45
  afterLoadFormList?: (context: LoaderContext) => Promise<void> | void;
46
46
  /**
47
- * Called before loading the form builder page. Return false to cancel loading.
47
+ * Called before loading the form builder page. Throw an error to cancel loading.
48
48
  * @param id - The form ID (undefined for new forms)
49
49
  * @param context - Loader context
50
50
  */
51
- beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<boolean> | boolean;
51
+ beforeLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
52
52
  /**
53
53
  * Called after the form builder is loaded.
54
54
  * @param id - The form ID (undefined for new forms)
@@ -56,11 +56,11 @@ interface FormBuilderClientHooks {
56
56
  */
57
57
  afterLoadFormBuilder?: (id: string | undefined, context: LoaderContext) => Promise<void> | void;
58
58
  /**
59
- * Called before loading the submissions page. Return false to cancel loading.
59
+ * Called before loading the submissions page. Throw an error to cancel loading.
60
60
  * @param formId - The form ID
61
61
  * @param context - Loader context
62
62
  */
63
- beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<boolean> | boolean;
63
+ beforeLoadSubmissions?: (formId: string, context: LoaderContext) => Promise<void> | void;
64
64
  /**
65
65
  * Called after the submissions page is loaded.
66
66
  * @param formId - The form ID
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.Dw0Ly2TM.cjs';
2
+ import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.BTvbxZvw.cjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.DdI5W6MB.cjs';
4
+ import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.BozPgbrZ.cjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.C5dtIncc.mjs';
2
+ import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.DTtmJPQO.mjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.DdI5W6MB.mjs';
4
+ import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.BozPgbrZ.mjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.CIP6QS9l.js';
2
+ import { F as FormBuilderApiRouter, a as FormsListDiscriminator, S as SubmissionsListDiscriminator } from '../../shared/stack.BDVEpue1.js';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.DdI5W6MB.js';
4
+ import { P as PaginatedForms, S as SerializedForm, c as PaginatedFormSubmissions, b as SerializedFormSubmissionWithData } from '../../shared/stack.BozPgbrZ.js';
5
5
  import '@btst/stack/plugins/api';
6
6
  import 'better-call';
7
7
  import 'zod';
@@ -2,6 +2,7 @@
2
2
 
3
3
  const plugin = require('../../../packages/stack/src/plugins/kanban/api/plugin.cjs');
4
4
  const getters = require('../../../packages/stack/src/plugins/kanban/api/getters.cjs');
5
+ const mutations = require('../../../packages/stack/src/plugins/kanban/api/mutations.cjs');
5
6
  const serializers = require('../../../packages/stack/src/plugins/kanban/api/serializers.cjs');
6
7
  const queryKeyDefs = require('../../../packages/stack/src/plugins/kanban/api/query-key-defs.cjs');
7
8
 
@@ -10,6 +11,9 @@ const queryKeyDefs = require('../../../packages/stack/src/plugins/kanban/api/que
10
11
  exports.kanbanBackendPlugin = plugin.kanbanBackendPlugin;
11
12
  exports.getAllBoards = getters.getAllBoards;
12
13
  exports.getBoardById = getters.getBoardById;
14
+ exports.createKanbanTask = mutations.createKanbanTask;
15
+ exports.findOrCreateKanbanBoard = mutations.findOrCreateKanbanBoard;
16
+ exports.getKanbanColumnsByBoardId = mutations.getKanbanColumnsByBoardId;
13
17
  exports.serializeBoard = serializers.serializeBoard;
14
18
  exports.serializeColumn = serializers.serializeColumn;
15
19
  exports.serializeTask = serializers.serializeTask;
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, e as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, g as getAllBoards, d as getBoardById, k as kanbanBackendPlugin } from '../../../shared/stack.BpolpQpf.cjs';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.n1_i1p2B.cjs';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.cjs';
3
3
  import '@btst/stack/plugins/api';
4
4
  import 'better-call';
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, e as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, g as getAllBoards, d as getBoardById, k as kanbanBackendPlugin } from '../../../shared/stack.rTy7-wQU.mjs';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.CxaFNQCV.mjs';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.mjs';
3
3
  import '@btst/stack/plugins/api';
4
4
  import 'better-call';
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, e as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, g as getAllBoards, d as getBoardById, k as kanbanBackendPlugin } from '../../../shared/stack.TIBF2AOx.js';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.j75TpKh2.js';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.js';
3
3
  import '@btst/stack/plugins/api';
4
4
  import 'better-call';
@@ -1,4 +1,5 @@
1
1
  export { kanbanBackendPlugin } from '../../../packages/stack/src/plugins/kanban/api/plugin.mjs';
2
2
  export { getAllBoards, getBoardById } from '../../../packages/stack/src/plugins/kanban/api/getters.mjs';
3
+ export { createKanbanTask, findOrCreateKanbanBoard, getKanbanColumnsByBoardId } from '../../../packages/stack/src/plugins/kanban/api/mutations.mjs';
3
4
  export { serializeBoard, serializeColumn, serializeTask } from '../../../packages/stack/src/plugins/kanban/api/serializers.mjs';
4
5
  export { KANBAN_QUERY_KEYS } from '../../../packages/stack/src/plugins/kanban/api/query-key-defs.mjs';
@@ -73,29 +73,29 @@ interface KanbanClientConfig {
73
73
  */
74
74
  interface KanbanClientHooks {
75
75
  /**
76
- * Called before loading boards list. Return false to cancel loading.
76
+ * Called before loading boards list. Throw an error to cancel loading.
77
77
  */
78
- beforeLoadBoards?: (context: LoaderContext) => Promise<boolean> | boolean;
78
+ beforeLoadBoards?: (context: LoaderContext) => Promise<void> | void;
79
79
  /**
80
- * Called after boards are loaded. Return false to cancel further processing.
80
+ * Called after boards are loaded. Throw an error to cancel further processing.
81
81
  */
82
- afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<boolean> | boolean;
82
+ afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<void> | void;
83
83
  /**
84
- * Called before loading a single board. Return false to cancel loading.
84
+ * Called before loading a single board. Throw an error to cancel loading.
85
85
  */
86
- beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
86
+ beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<void> | void;
87
87
  /**
88
- * Called after a board is loaded. Return false to cancel further processing.
88
+ * Called after a board is loaded. Throw an error to cancel further processing.
89
89
  */
90
- afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
90
+ afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<void> | void;
91
91
  /**
92
- * Called before loading the new board page. Return false to cancel.
92
+ * Called before loading the new board page. Throw an error to cancel.
93
93
  */
94
- beforeLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
94
+ beforeLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
95
95
  /**
96
- * Called after the new board page is loaded. Return false to cancel.
96
+ * Called after the new board page is loaded. Throw an error to cancel.
97
97
  */
98
- afterLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
98
+ afterLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
99
99
  /**
100
100
  * Called when a loading error occurs
101
101
  */
@@ -73,29 +73,29 @@ interface KanbanClientConfig {
73
73
  */
74
74
  interface KanbanClientHooks {
75
75
  /**
76
- * Called before loading boards list. Return false to cancel loading.
76
+ * Called before loading boards list. Throw an error to cancel loading.
77
77
  */
78
- beforeLoadBoards?: (context: LoaderContext) => Promise<boolean> | boolean;
78
+ beforeLoadBoards?: (context: LoaderContext) => Promise<void> | void;
79
79
  /**
80
- * Called after boards are loaded. Return false to cancel further processing.
80
+ * Called after boards are loaded. Throw an error to cancel further processing.
81
81
  */
82
- afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<boolean> | boolean;
82
+ afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<void> | void;
83
83
  /**
84
- * Called before loading a single board. Return false to cancel loading.
84
+ * Called before loading a single board. Throw an error to cancel loading.
85
85
  */
86
- beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
86
+ beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<void> | void;
87
87
  /**
88
- * Called after a board is loaded. Return false to cancel further processing.
88
+ * Called after a board is loaded. Throw an error to cancel further processing.
89
89
  */
90
- afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
90
+ afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<void> | void;
91
91
  /**
92
- * Called before loading the new board page. Return false to cancel.
92
+ * Called before loading the new board page. Throw an error to cancel.
93
93
  */
94
- beforeLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
94
+ beforeLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
95
95
  /**
96
- * Called after the new board page is loaded. Return false to cancel.
96
+ * Called after the new board page is loaded. Throw an error to cancel.
97
97
  */
98
- afterLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
98
+ afterLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
99
99
  /**
100
100
  * Called when a loading error occurs
101
101
  */
@@ -73,29 +73,29 @@ interface KanbanClientConfig {
73
73
  */
74
74
  interface KanbanClientHooks {
75
75
  /**
76
- * Called before loading boards list. Return false to cancel loading.
76
+ * Called before loading boards list. Throw an error to cancel loading.
77
77
  */
78
- beforeLoadBoards?: (context: LoaderContext) => Promise<boolean> | boolean;
78
+ beforeLoadBoards?: (context: LoaderContext) => Promise<void> | void;
79
79
  /**
80
- * Called after boards are loaded. Return false to cancel further processing.
80
+ * Called after boards are loaded. Throw an error to cancel further processing.
81
81
  */
82
- afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<boolean> | boolean;
82
+ afterLoadBoards?: (boards: SerializedBoardWithColumns[] | null, context: LoaderContext) => Promise<void> | void;
83
83
  /**
84
- * Called before loading a single board. Return false to cancel loading.
84
+ * Called before loading a single board. Throw an error to cancel loading.
85
85
  */
86
- beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
86
+ beforeLoadBoard?: (boardId: string, context: LoaderContext) => Promise<void> | void;
87
87
  /**
88
- * Called after a board is loaded. Return false to cancel further processing.
88
+ * Called after a board is loaded. Throw an error to cancel further processing.
89
89
  */
90
- afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<boolean> | boolean;
90
+ afterLoadBoard?: (board: SerializedBoardWithColumns | null, boardId: string, context: LoaderContext) => Promise<void> | void;
91
91
  /**
92
- * Called before loading the new board page. Return false to cancel.
92
+ * Called before loading the new board page. Throw an error to cancel.
93
93
  */
94
- beforeLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
94
+ beforeLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
95
95
  /**
96
- * Called after the new board page is loaded. Return false to cancel.
96
+ * Called after the new board page is loaded. Throw an error to cancel.
97
97
  */
98
- afterLoadNewBoard?: (context: LoaderContext) => Promise<boolean> | boolean;
98
+ afterLoadNewBoard?: (context: LoaderContext) => Promise<void> | void;
99
99
  /**
100
100
  * Called when a loading error occurs
101
101
  */
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, f as BoardsListDiscriminator } from '../../shared/stack.BpolpQpf.cjs';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.n1_i1p2B.cjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.cjs';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, f as BoardsListDiscriminator } from '../../shared/stack.rTy7-wQU.mjs';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.CxaFNQCV.mjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.mjs';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, f as BoardsListDiscriminator } from '../../shared/stack.TIBF2AOx.js';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.j75TpKh2.js';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.js';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedUIBuilderPage } from '../../../../shared/stack.C-WUPMT6.cjs';
2
+ import { S as SerializedUIBuilderPage } from '../../../../shared/stack.B2xZTSiO.cjs';
3
3
  import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.B-YHz18S.cjs';
4
4
  import 'zod';
5
5
  import 'react';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedUIBuilderPage } from '../../../../shared/stack.6fUOjLs9.mjs';
2
+ import { S as SerializedUIBuilderPage } from '../../../../shared/stack.dH7u-TJH.mjs';
3
3
  import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.D1DMlJp-.mjs';
4
4
  import 'zod';
5
5
  import 'react';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedUIBuilderPage } from '../../../../shared/stack.C-Ptrz8s.js';
2
+ import { S as SerializedUIBuilderPage } from '../../../../shared/stack.Cj_zKww4.js';
3
3
  import { C as ComponentLayer, V as Variable } from '../../../../shared/stack.GygI_T3X.js';
4
4
  import 'zod';
5
5
  import 'react';
@@ -3,7 +3,7 @@ import * as react from 'react';
3
3
  import react__default, { ComponentType } from 'react';
4
4
  import * as _btst_yar from '@btst/yar';
5
5
  import { QueryClient } from '@tanstack/react-query';
6
- import { c as UIBuilderClientHooks } from '../../../shared/stack.C-WUPMT6.cjs';
6
+ import { c as UIBuilderClientHooks } from '../../../shared/stack.B2xZTSiO.cjs';
7
7
  import { a as ComponentRegistry, F as FieldConfigFunction, C as ComponentLayer } from '../../../shared/stack.B-YHz18S.cjs';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { A as AutoFormInputComponentProps, F as FieldConfigItem } from '../../../shared/stack.8nldKomx.cjs';
@@ -50,11 +50,11 @@ interface UIBuilderClientConfig {
50
50
  * hooks: {
51
51
  * beforeLoadPageList: async (ctx) => {
52
52
  * const session = await getSession(ctx.headers)
53
- * return session?.user?.isAdmin === true
53
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
54
54
  * },
55
55
  * beforeLoadPageBuilder: async (pageId, ctx) => {
56
56
  * const session = await getSession(ctx.headers)
57
- * return session?.user?.isAdmin === true
57
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
58
58
  * },
59
59
  * onLoadError: () => redirect("/auth/sign-in"),
60
60
  * },
@@ -3,7 +3,7 @@ import * as react from 'react';
3
3
  import react__default, { ComponentType } from 'react';
4
4
  import * as _btst_yar from '@btst/yar';
5
5
  import { QueryClient } from '@tanstack/react-query';
6
- import { c as UIBuilderClientHooks } from '../../../shared/stack.6fUOjLs9.mjs';
6
+ import { c as UIBuilderClientHooks } from '../../../shared/stack.dH7u-TJH.mjs';
7
7
  import { a as ComponentRegistry, F as FieldConfigFunction, C as ComponentLayer } from '../../../shared/stack.D1DMlJp-.mjs';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { A as AutoFormInputComponentProps, F as FieldConfigItem } from '../../../shared/stack.8nldKomx.mjs';
@@ -50,11 +50,11 @@ interface UIBuilderClientConfig {
50
50
  * hooks: {
51
51
  * beforeLoadPageList: async (ctx) => {
52
52
  * const session = await getSession(ctx.headers)
53
- * return session?.user?.isAdmin === true
53
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
54
54
  * },
55
55
  * beforeLoadPageBuilder: async (pageId, ctx) => {
56
56
  * const session = await getSession(ctx.headers)
57
- * return session?.user?.isAdmin === true
57
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
58
58
  * },
59
59
  * onLoadError: () => redirect("/auth/sign-in"),
60
60
  * },
@@ -3,7 +3,7 @@ import * as react from 'react';
3
3
  import react__default, { ComponentType } from 'react';
4
4
  import * as _btst_yar from '@btst/yar';
5
5
  import { QueryClient } from '@tanstack/react-query';
6
- import { c as UIBuilderClientHooks } from '../../../shared/stack.C-Ptrz8s.js';
6
+ import { c as UIBuilderClientHooks } from '../../../shared/stack.Cj_zKww4.js';
7
7
  import { a as ComponentRegistry, F as FieldConfigFunction, C as ComponentLayer } from '../../../shared/stack.GygI_T3X.js';
8
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
9
  import { A as AutoFormInputComponentProps, F as FieldConfigItem } from '../../../shared/stack.8nldKomx.js';
@@ -50,11 +50,11 @@ interface UIBuilderClientConfig {
50
50
  * hooks: {
51
51
  * beforeLoadPageList: async (ctx) => {
52
52
  * const session = await getSession(ctx.headers)
53
- * return session?.user?.isAdmin === true
53
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
54
54
  * },
55
55
  * beforeLoadPageBuilder: async (pageId, ctx) => {
56
56
  * const session = await getSession(ctx.headers)
57
- * return session?.user?.isAdmin === true
57
+ * if (!session?.user?.isAdmin) throw new Error("Admin access required")
58
58
  * },
59
59
  * onLoadError: () => redirect("/auth/sign-in"),
60
60
  * },
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { C as ContentTypeConfig } from '../../shared/stack.CVDTkMoO.cjs';
3
- export { L as LoaderContext, b as PaginatedUIBuilderPages, P as ParsedUIBuilderPage, S as SerializedUIBuilderPage, c as UIBuilderClientHooks, a as UIBuilderPage, U as UIBuilderPageData } from '../../shared/stack.C-WUPMT6.cjs';
2
+ import { C as ContentTypeConfig } from '../../shared/stack.B8QD11QU.cjs';
3
+ export { L as LoaderContext, b as PaginatedUIBuilderPages, P as ParsedUIBuilderPage, S as SerializedUIBuilderPage, c as UIBuilderClientHooks, a as UIBuilderPage, U as UIBuilderPageData } from '../../shared/stack.B2xZTSiO.cjs';
4
4
  export { C as ComponentLayer, a as ComponentRegistry, R as RegistryEntry, V as Variable } from '../../shared/stack.B-YHz18S.cjs';
5
5
  import 'react';
6
6
  import '../../shared/stack.8nldKomx.cjs';