@btst/stack 3.0.0-rc.1 → 3.0.0-rc.3
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.
- package/README.md +122 -46
- package/dist/api/index.cjs +133 -29
- package/dist/api/index.d.cts +14 -32
- package/dist/api/index.d.mts +14 -32
- package/dist/api/index.d.ts +14 -32
- package/dist/api/index.mjs +133 -28
- package/dist/authorization/client.cjs +154 -0
- package/dist/authorization/client.d.cts +70 -0
- package/dist/authorization/client.d.mts +70 -0
- package/dist/authorization/client.d.ts +70 -0
- package/dist/authorization/client.mjs +152 -0
- package/dist/authorization/index.cjs +371 -0
- package/dist/authorization/index.d.cts +201 -0
- package/dist/authorization/index.d.mts +201 -0
- package/dist/authorization/index.d.ts +201 -0
- package/dist/authorization/index.mjs +365 -0
- package/dist/authorization/remote.cjs +117 -0
- package/dist/authorization/remote.d.cts +79 -0
- package/dist/authorization/remote.d.mts +79 -0
- package/dist/authorization/remote.d.ts +79 -0
- package/dist/authorization/remote.mjs +111 -0
- package/dist/authorization/server.cjs +77 -0
- package/dist/authorization/server.d.cts +51 -0
- package/dist/authorization/server.d.mts +51 -0
- package/dist/authorization/server.d.ts +51 -0
- package/dist/authorization/server.mjs +73 -0
- package/dist/client/components/index.cjs +1 -0
- package/dist/client/components/index.d.cts +23 -6
- package/dist/client/components/index.d.mts +23 -6
- package/dist/client/components/index.d.ts +23 -6
- package/dist/client/components/index.mjs +1 -1
- package/dist/client/hooks/index.cjs +8 -0
- package/dist/client/hooks/index.d.cts +25 -0
- package/dist/client/hooks/index.d.mts +25 -0
- package/dist/client/hooks/index.d.ts +25 -0
- package/dist/client/hooks/index.mjs +2 -0
- package/dist/client/index.cjs +38 -7
- package/dist/client/index.d.cts +30 -100
- package/dist/client/index.d.mts +30 -100
- package/dist/client/index.d.ts +30 -100
- package/dist/client/index.mjs +38 -7
- package/dist/client/server.cjs +96 -0
- package/dist/client/server.d.cts +57 -0
- package/dist/client/server.d.mts +57 -0
- package/dist/client/server.d.ts +57 -0
- package/dist/client/server.mjs +92 -0
- package/dist/components/auto-form/index.d.cts +2 -2
- package/dist/components/auto-form/index.d.mts +2 -2
- package/dist/components/auto-form/index.d.ts +2 -2
- package/dist/components/form-builder/index.d.cts +1 -1
- package/dist/components/form-builder/index.d.mts +1 -1
- package/dist/components/form-builder/index.d.ts +1 -1
- package/dist/components/stepped-auto-form/index.d.cts +1 -1
- package/dist/components/stepped-auto-form/index.d.mts +1 -1
- package/dist/components/stepped-auto-form/index.d.ts +1 -1
- package/dist/context/index.cjs +8 -2
- package/dist/context/index.d.cts +111 -89
- package/dist/context/index.d.mts +111 -89
- package/dist/context/index.d.ts +111 -89
- package/dist/context/index.mjs +3 -1
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +8 -3
- package/dist/index.d.mts +8 -3
- package/dist/index.d.ts +8 -3
- package/dist/index.mjs +1 -1
- package/dist/next/index.d.cts +30 -12
- package/dist/next/index.d.mts +30 -12
- package/dist/next/index.d.ts +30 -12
- package/dist/next/server.cjs +7 -0
- package/dist/next/server.d.cts +56 -0
- package/dist/next/server.d.mts +56 -0
- package/dist/next/server.d.ts +56 -0
- package/dist/next/server.mjs +1 -0
- package/dist/packages/stack/src/authorization/json.cjs +57 -0
- package/dist/packages/stack/src/authorization/json.mjs +55 -0
- package/dist/packages/stack/src/client/components/compose.cjs +91 -9
- package/dist/packages/stack/src/client/components/compose.mjs +92 -11
- package/dist/packages/stack/src/client/runtime.cjs +295 -0
- package/dist/packages/stack/src/client/runtime.mjs +293 -0
- package/dist/packages/stack/src/context/auth.cjs +141 -73
- package/dist/packages/stack/src/context/auth.mjs +139 -73
- package/dist/packages/stack/src/context/provider.cjs +11 -5
- package/dist/packages/stack/src/context/provider.mjs +11 -5
- package/dist/packages/stack/src/context/router.cjs +9 -0
- package/dist/packages/stack/src/context/router.mjs +7 -0
- package/dist/packages/stack/src/context/site-navigation.cjs +40 -0
- package/dist/packages/stack/src/context/site-navigation.mjs +38 -0
- package/dist/packages/stack/src/next/layout.cjs +27 -0
- package/dist/packages/stack/src/next/layout.mjs +25 -0
- package/dist/packages/stack/src/next/page.cjs +8 -6
- package/dist/packages/stack/src/next/page.mjs +8 -6
- package/dist/packages/stack/src/plugin-registration.cjs +59 -0
- package/dist/packages/stack/src/plugin-registration.mjs +57 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/lifecycle-migrations.cjs +18 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/lifecycle-migrations.mjs +16 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/operations.cjs +1341 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/operations.mjs +1333 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.cjs +82 -640
- package/dist/packages/stack/src/plugins/ai-chat/api/plugin.mjs +78 -641
- package/dist/packages/stack/src/plugins/ai-chat/api/serializers.cjs +23 -0
- package/dist/packages/stack/src/plugins/ai-chat/api/serializers.mjs +20 -0
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-input.cjs +183 -111
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-input.mjs +187 -115
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.cjs +562 -116
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-interface.mjs +567 -121
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.cjs +6 -6
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.mjs +6 -6
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-message.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-message.mjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs +45 -29
- package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs +46 -30
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/404-page.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/404-page.mjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/chat-page.cjs +46 -7
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/chat-page.internal.cjs +5 -3
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/chat-page.internal.mjs +5 -3
- package/dist/packages/stack/src/plugins/ai-chat/client/components/pages/chat-page.mjs +48 -9
- package/dist/packages/stack/src/plugins/ai-chat/client/components/shared/default-error.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/shared/default-error.mjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/tool-call-display.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/components/tool-call-display.mjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/hooks/ai-chat-resource.cjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/hooks/ai-chat-resource.mjs +1 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/hooks/chat-hooks.cjs +179 -19
- package/dist/packages/stack/src/plugins/ai-chat/client/hooks/chat-hooks.mjs +180 -21
- package/dist/packages/stack/src/plugins/ai-chat/client/navigation.cjs +11 -0
- package/dist/packages/stack/src/plugins/ai-chat/client/navigation.mjs +9 -0
- package/dist/packages/stack/src/plugins/ai-chat/client/overrides.cjs +24 -0
- package/dist/packages/stack/src/plugins/ai-chat/client/overrides.mjs +21 -1
- package/dist/packages/stack/src/plugins/ai-chat/client/plugin.cjs +152 -82
- package/dist/packages/stack/src/plugins/ai-chat/client/plugin.mjs +152 -82
- package/dist/packages/stack/src/plugins/api/create-endpoint.cjs +27 -9
- package/dist/packages/stack/src/plugins/api/create-endpoint.mjs +27 -10
- package/dist/packages/stack/src/plugins/api/endpoint-inventory.cjs +125 -0
- package/dist/packages/stack/src/plugins/api/endpoint-inventory.mjs +123 -0
- package/dist/packages/stack/src/plugins/api/operation.cjs +208 -0
- package/dist/packages/stack/src/plugins/api/operation.mjs +198 -0
- package/dist/packages/stack/src/plugins/blog/api/lifecycle-migrations.cjs +17 -0
- package/dist/packages/stack/src/plugins/blog/api/lifecycle-migrations.mjs +15 -0
- package/dist/packages/stack/src/plugins/blog/api/mutations.cjs +10 -2
- package/dist/packages/stack/src/plugins/blog/api/mutations.mjs +10 -2
- package/dist/packages/stack/src/plugins/blog/api/operations.cjs +455 -0
- package/dist/packages/stack/src/plugins/blog/api/operations.mjs +448 -0
- package/dist/packages/stack/src/plugins/blog/api/plugin.cjs +51 -298
- package/dist/packages/stack/src/plugins/blog/api/plugin.mjs +55 -304
- package/dist/packages/stack/src/plugins/blog/client/components/forms/image-field.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/forms/image-field.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.cjs +82 -67
- package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.mjs +84 -69
- package/dist/packages/stack/src/plugins/blog/client/components/pages/404-page.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/404-page.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.cjs +22 -4
- package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.internal.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.internal.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/edit-post-page.mjs +23 -5
- package/dist/packages/stack/src/plugins/blog/client/components/pages/home-page.cjs +6 -2
- package/dist/packages/stack/src/plugins/blog/client/components/pages/home-page.internal.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/home-page.internal.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/home-page.mjs +6 -2
- package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.cjs +4 -2
- package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.internal.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.internal.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/new-post-page.mjs +4 -2
- package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.cjs +30 -3
- package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.internal.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/post-page.mjs +31 -4
- package/dist/packages/stack/src/plugins/blog/client/components/pages/tag-page.cjs +4 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/tag-page.internal.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/tag-page.internal.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/pages/tag-page.mjs +4 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/collapsible-tag-list.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/collapsible-tag-list.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/default-error.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/default-error.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/on-this-page.cjs +3 -2
- package/dist/packages/stack/src/plugins/blog/client/components/shared/on-this-page.mjs +3 -2
- package/dist/packages/stack/src/plugins/blog/client/components/shared/page-wrapper.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/page-wrapper.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/post-card.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/post-card.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/posts-list.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/posts-list.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/recent-posts-carousel.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/recent-posts-carousel.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/components/shared/search-input.cjs +2 -2
- package/dist/packages/stack/src/plugins/blog/client/components/shared/search-input.mjs +1 -1
- package/dist/packages/stack/src/plugins/blog/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/blog/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/blog/client/hooks/blog-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/hooks/blog-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/blog/client/plugin.cjs +169 -163
- package/dist/packages/stack/src/plugins/blog/client/plugin.mjs +169 -163
- package/dist/packages/stack/src/plugins/client/resource/hooks.cjs +31 -16
- package/dist/packages/stack/src/plugins/client/resource/hooks.mjs +31 -16
- package/dist/packages/stack/src/plugins/client/resource/internal.cjs +66 -52
- package/dist/packages/stack/src/plugins/client/resource/internal.mjs +66 -52
- package/dist/packages/stack/src/plugins/client/resource/use-form.cjs +20 -17
- package/dist/packages/stack/src/plugins/client/resource/use-form.mjs +20 -17
- package/dist/packages/stack/src/plugins/client/resource/use-select.cjs +39 -33
- package/dist/packages/stack/src/plugins/client/resource/use-select.mjs +39 -33
- package/dist/packages/stack/src/plugins/cms/api/lifecycle-migrations.cjs +13 -0
- package/dist/packages/stack/src/plugins/cms/api/lifecycle-migrations.mjs +11 -0
- package/dist/packages/stack/src/plugins/cms/api/operations.cjs +1763 -0
- package/dist/packages/stack/src/plugins/cms/api/operations.mjs +1756 -0
- package/dist/packages/stack/src/plugins/cms/api/plugin.cjs +165 -752
- package/dist/packages/stack/src/plugins/cms/api/plugin.mjs +164 -755
- package/dist/packages/stack/src/plugins/cms/client/components/forms/content-form.cjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/forms/content-form.mjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/forms/file-upload.cjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/forms/file-upload.mjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/forms/relation-field.cjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/forms/relation-field.mjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/inverse-relations-panel.cjs +23 -13
- package/dist/packages/stack/src/plugins/cms/client/components/inverse-relations-panel.mjs +24 -14
- package/dist/packages/stack/src/plugins/cms/client/components/pages/404-page.cjs +5 -4
- package/dist/packages/stack/src/plugins/cms/client/components/pages/404-page.mjs +6 -5
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.cjs +40 -7
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.internal.cjs +15 -9
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.internal.mjs +14 -8
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-editor-page.mjs +41 -8
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-list-page.cjs +7 -1
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-list-page.internal.cjs +42 -29
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-list-page.internal.mjs +40 -27
- package/dist/packages/stack/src/plugins/cms/client/components/pages/content-list-page.mjs +7 -1
- package/dist/packages/stack/src/plugins/cms/client/components/pages/dashboard-page.cjs +4 -1
- package/dist/packages/stack/src/plugins/cms/client/components/pages/dashboard-page.internal.cjs +13 -7
- package/dist/packages/stack/src/plugins/cms/client/components/pages/dashboard-page.internal.mjs +12 -6
- package/dist/packages/stack/src/plugins/cms/client/components/pages/dashboard-page.mjs +4 -1
- package/dist/packages/stack/src/plugins/cms/client/components/shared/page-wrapper.cjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/components/shared/page-wrapper.mjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/cms/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/cms/client/hooks/cms-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/hooks/cms-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/cms/client/overrides.cjs +26 -0
- package/dist/packages/stack/src/plugins/cms/client/overrides.mjs +24 -0
- package/dist/packages/stack/src/plugins/cms/client/plugin.cjs +102 -81
- package/dist/packages/stack/src/plugins/cms/client/plugin.mjs +103 -82
- package/dist/packages/stack/src/plugins/comments/api/getters.cjs +6 -2
- package/dist/packages/stack/src/plugins/comments/api/getters.mjs +6 -3
- package/dist/packages/stack/src/plugins/comments/api/lifecycle-migrations.cjs +18 -0
- package/dist/packages/stack/src/plugins/comments/api/lifecycle-migrations.mjs +16 -0
- package/dist/packages/stack/src/plugins/comments/api/mutations.cjs +179 -68
- package/dist/packages/stack/src/plugins/comments/api/mutations.mjs +179 -68
- package/dist/packages/stack/src/plugins/comments/api/operations.cjs +453 -0
- package/dist/packages/stack/src/plugins/comments/api/operations.mjs +445 -0
- package/dist/packages/stack/src/plugins/comments/api/plugin.cjs +51 -276
- package/dist/packages/stack/src/plugins/comments/api/plugin.mjs +48 -277
- package/dist/packages/stack/src/plugins/comments/client/components/comment-count.cjs +32 -5
- package/dist/packages/stack/src/plugins/comments/client/components/comment-count.mjs +34 -7
- package/dist/packages/stack/src/plugins/comments/client/components/comment-thread.cjs +161 -105
- package/dist/packages/stack/src/plugins/comments/client/components/comment-thread.mjs +162 -106
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.cjs +14 -2
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.internal.cjs +141 -71
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.internal.mjs +142 -72
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-page.mjs +14 -2
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-state.cjs +12 -0
- package/dist/packages/stack/src/plugins/comments/client/components/pages/moderation-state.mjs +9 -0
- package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.cjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.internal.cjs +40 -26
- package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.internal.mjs +40 -26
- package/dist/packages/stack/src/plugins/comments/client/components/pages/my-comments-page.mjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.cjs +9 -1
- package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.internal.cjs +25 -20
- package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.internal.mjs +26 -21
- package/dist/packages/stack/src/plugins/comments/client/components/pages/resource-comments-page.mjs +9 -1
- package/dist/packages/stack/src/plugins/comments/client/components/shared/page-wrapper.cjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/components/shared/page-wrapper.mjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/components/shared/pagination.cjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/components/shared/pagination.mjs +2 -1
- package/dist/packages/stack/src/plugins/comments/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/comments/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/comments/client/hooks/use-comments.cjs +323 -290
- package/dist/packages/stack/src/plugins/comments/client/hooks/use-comments.mjs +325 -292
- package/dist/packages/stack/src/plugins/comments/client/localization/comments-thread.cjs +1 -0
- package/dist/packages/stack/src/plugins/comments/client/localization/comments-thread.mjs +1 -0
- package/dist/packages/stack/src/plugins/comments/client/plugin.cjs +78 -46
- package/dist/packages/stack/src/plugins/comments/client/plugin.mjs +80 -48
- package/dist/packages/stack/src/plugins/form-builder/api/getters.cjs +9 -0
- package/dist/packages/stack/src/plugins/form-builder/api/getters.mjs +9 -1
- package/dist/packages/stack/src/plugins/form-builder/api/lifecycle-migrations.cjs +15 -0
- package/dist/packages/stack/src/plugins/form-builder/api/lifecycle-migrations.mjs +13 -0
- package/dist/packages/stack/src/plugins/form-builder/api/operations.cjs +1093 -0
- package/dist/packages/stack/src/plugins/form-builder/api/operations.mjs +1082 -0
- package/dist/packages/stack/src/plugins/form-builder/api/plugin.cjs +97 -466
- package/dist/packages/stack/src/plugins/form-builder/api/plugin.mjs +92 -468
- package/dist/packages/stack/src/plugins/form-builder/api/query-key-defs.cjs +5 -0
- package/dist/packages/stack/src/plugins/form-builder/api/query-key-defs.mjs +5 -0
- package/dist/packages/stack/src/plugins/form-builder/client/components/forms/form-renderer.cjs +41 -11
- package/dist/packages/stack/src/plugins/form-builder/client/components/forms/form-renderer.mjs +42 -12
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/404-page.cjs +8 -5
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/404-page.mjs +9 -6
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-builder-page.cjs +36 -3
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.cjs +32 -11
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.mjs +35 -14
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-builder-page.mjs +37 -4
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-list-page.cjs +6 -1
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.cjs +34 -26
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.mjs +34 -26
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/form-list-page.mjs +6 -1
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.cjs +24 -7
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.cjs +72 -40
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.mjs +76 -44
- package/dist/packages/stack/src/plugins/form-builder/client/components/pages/submissions-page.mjs +25 -8
- package/dist/packages/stack/src/plugins/form-builder/client/components/shared/page-wrapper.cjs +2 -1
- package/dist/packages/stack/src/plugins/form-builder/client/components/shared/page-wrapper.mjs +2 -1
- package/dist/packages/stack/src/plugins/form-builder/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/form-builder/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/form-builder/client/hooks/form-builder-hooks.cjs +29 -0
- package/dist/packages/stack/src/plugins/form-builder/client/hooks/form-builder-hooks.mjs +28 -1
- package/dist/packages/stack/src/plugins/form-builder/client/hooks/form-builder-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/form-builder/client/hooks/form-builder-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/form-builder/client/plugin.cjs +113 -86
- package/dist/packages/stack/src/plugins/form-builder/client/plugin.mjs +114 -87
- package/dist/packages/stack/src/plugins/form-builder/schemas.cjs +9 -3
- package/dist/packages/stack/src/plugins/form-builder/schemas.mjs +9 -3
- package/dist/packages/stack/src/plugins/kanban/api/getters.cjs +47 -36
- package/dist/packages/stack/src/plugins/kanban/api/getters.mjs +47 -37
- package/dist/packages/stack/src/plugins/kanban/api/lifecycle-migrations.cjs +23 -0
- package/dist/packages/stack/src/plugins/kanban/api/lifecycle-migrations.mjs +21 -0
- package/dist/packages/stack/src/plugins/kanban/api/operations.cjs +1552 -0
- package/dist/packages/stack/src/plugins/kanban/api/operations.mjs +1543 -0
- package/dist/packages/stack/src/plugins/kanban/api/plugin.cjs +64 -631
- package/dist/packages/stack/src/plugins/kanban/api/plugin.mjs +62 -634
- package/dist/packages/stack/src/plugins/kanban/api/serializers.cjs +21 -0
- package/dist/packages/stack/src/plugins/kanban/api/serializers.mjs +21 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/board-form.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/board-form.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/column-form.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/column-form.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/task-form.cjs +72 -54
- package/dist/packages/stack/src/plugins/kanban/client/components/forms/task-form.mjs +74 -56
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/404-page.cjs +4 -6
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/404-page.mjs +5 -7
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.cjs +22 -6
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.internal.cjs +82 -77
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.internal.mjs +83 -78
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/board-page.mjs +23 -7
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/boards-list-page.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/boards-list-page.internal.cjs +34 -24
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/boards-list-page.internal.mjs +35 -25
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/boards-list-page.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/new-board-page.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/new-board-page.internal.cjs +6 -9
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/new-board-page.internal.mjs +7 -10
- package/dist/packages/stack/src/plugins/kanban/client/components/pages/new-board-page.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/column-content.cjs +72 -45
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/column-content.mjs +73 -46
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/default-error.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/default-error.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/kanban-board.cjs +4 -4
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/kanban-board.mjs +4 -4
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/permission-access-any.cjs +23 -0
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/permission-access-any.mjs +21 -0
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/task-card.cjs +54 -17
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/task-card.mjs +55 -18
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/user-avatar.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/components/shared/user-avatar.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/kanban/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-hooks.cjs +38 -9
- package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-hooks.mjs +39 -10
- package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/hooks/kanban-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/kanban/client/plugin.cjs +177 -104
- package/dist/packages/stack/src/plugins/kanban/client/plugin.mjs +178 -105
- package/dist/packages/stack/src/plugins/kanban/schemas.cjs +32 -23
- package/dist/packages/stack/src/plugins/kanban/schemas.mjs +33 -21
- package/dist/packages/stack/src/plugins/media/api/lifecycle-migrations.cjs +9 -0
- package/dist/packages/stack/src/plugins/media/api/lifecycle-migrations.mjs +7 -0
- package/dist/packages/stack/src/plugins/media/api/mutations.cjs +7 -2
- package/dist/packages/stack/src/plugins/media/api/mutations.mjs +7 -2
- package/dist/packages/stack/src/plugins/media/api/operations.cjs +1299 -0
- package/dist/packages/stack/src/plugins/media/api/operations.mjs +1290 -0
- package/dist/packages/stack/src/plugins/media/api/plugin.cjs +131 -508
- package/dist/packages/stack/src/plugins/media/api/plugin.mjs +127 -510
- package/dist/packages/stack/src/plugins/media/api/query-key-defs.cjs +26 -2
- package/dist/packages/stack/src/plugins/media/api/query-key-defs.mjs +25 -3
- package/dist/packages/stack/src/plugins/media/api/serializers.cjs +4 -2
- package/dist/packages/stack/src/plugins/media/api/serializers.mjs +4 -2
- package/dist/packages/stack/src/plugins/media/asset-url.cjs +13 -0
- package/dist/packages/stack/src/plugins/media/asset-url.mjs +11 -0
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/asset-card.cjs +10 -10
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/asset-card.mjs +12 -12
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/folder-tree.cjs +47 -27
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/folder-tree.mjs +49 -29
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/index.cjs +225 -180
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/index.mjs +228 -183
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/upload-tab.cjs +1 -8
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/upload-tab.mjs +2 -9
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/url-tab.cjs +0 -6
- package/dist/packages/stack/src/plugins/media/client/components/media-picker/url-tab.mjs +1 -7
- package/dist/packages/stack/src/plugins/media/client/components/pages/library-page.cjs +4 -2
- package/dist/packages/stack/src/plugins/media/client/components/pages/library-page.internal.cjs +92 -75
- package/dist/packages/stack/src/plugins/media/client/components/pages/library-page.internal.mjs +93 -76
- package/dist/packages/stack/src/plugins/media/client/components/pages/library-page.mjs +4 -2
- package/dist/packages/stack/src/plugins/media/client/components/upload-permission-check.cjs +52 -0
- package/dist/packages/stack/src/plugins/media/client/components/upload-permission-check.mjs +49 -0
- package/dist/packages/stack/src/plugins/media/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/media/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/media/client/hooks/media-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/media/client/hooks/media-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/media/client/hooks/use-media.cjs +214 -43
- package/dist/packages/stack/src/plugins/media/client/hooks/use-media.mjs +217 -46
- package/dist/packages/stack/src/plugins/media/client/plugin.cjs +122 -62
- package/dist/packages/stack/src/plugins/media/client/plugin.mjs +123 -63
- package/dist/packages/stack/src/plugins/media/client/upload.cjs +121 -52
- package/dist/packages/stack/src/plugins/media/client/upload.mjs +121 -53
- package/dist/packages/stack/src/plugins/media/db.cjs +8 -0
- package/dist/packages/stack/src/plugins/media/db.mjs +8 -0
- package/dist/packages/stack/src/plugins/open-api/api/generator.cjs +36 -5
- package/dist/packages/stack/src/plugins/open-api/api/generator.mjs +36 -5
- package/dist/packages/stack/src/plugins/open-api/api/plugin.cjs +22 -11
- package/dist/packages/stack/src/plugins/open-api/api/plugin.mjs +22 -11
- package/dist/packages/stack/src/plugins/route-docs/client/components/pages/docs-page.cjs +65 -34
- package/dist/packages/stack/src/plugins/route-docs/client/components/pages/docs-page.mjs +56 -25
- package/dist/packages/stack/src/plugins/route-docs/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/route-docs/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/route-docs/client/hooks.cjs +9 -8
- package/dist/packages/stack/src/plugins/route-docs/client/hooks.mjs +10 -9
- package/dist/packages/stack/src/plugins/route-docs/client/plugin.cjs +143 -75
- package/dist/packages/stack/src/plugins/route-docs/client/plugin.mjs +144 -74
- package/dist/packages/stack/src/plugins/route-docs/client/schema.cjs +26 -0
- package/dist/packages/stack/src/plugins/route-docs/client/schema.mjs +23 -0
- package/dist/packages/stack/src/plugins/route-docs/generator.cjs +7 -4
- package/dist/packages/stack/src/plugins/route-docs/generator.mjs +7 -4
- package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.cjs +41 -12
- package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.mjs +42 -13
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.cjs +37 -3
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.cjs +32 -20
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.mjs +34 -22
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-builder-page.mjs +38 -4
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-list-page.cjs +8 -2
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-list-page.internal.cjs +37 -19
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-list-page.internal.mjs +38 -20
- package/dist/packages/stack/src/plugins/ui-builder/client/components/pages/page-list-page.mjs +8 -2
- package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/default-error.cjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/default-error.mjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/page-wrapper.cjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/page-wrapper.mjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/constants.cjs +5 -0
- package/dist/packages/stack/src/plugins/ui-builder/client/constants.mjs +3 -0
- package/dist/packages/stack/src/plugins/ui-builder/client/hooks/ui-builder-resource.cjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/hooks/ui-builder-resource.mjs +2 -1
- package/dist/packages/stack/src/plugins/ui-builder/client/overrides.cjs +8 -0
- package/dist/packages/stack/src/plugins/ui-builder/client/overrides.mjs +6 -0
- package/dist/packages/stack/src/plugins/ui-builder/client/plugin.cjs +93 -53
- package/dist/packages/stack/src/plugins/ui-builder/client/plugin.mjs +94 -54
- package/dist/packages/stack/src/plugins/utils.cjs +4 -12
- package/dist/packages/stack/src/plugins/utils.mjs +5 -12
- package/dist/packages/stack/src/react-router/layout.cjs +14 -0
- package/dist/packages/stack/src/react-router/layout.mjs +12 -0
- package/dist/packages/stack/src/react-router/page.cjs +27 -16
- package/dist/packages/stack/src/react-router/page.mjs +28 -17
- package/dist/packages/stack/src/shared/initial-identity.cjs +27 -0
- package/dist/packages/stack/src/shared/initial-identity.mjs +23 -0
- package/dist/packages/stack/src/tanstack/layout.cjs +10 -0
- package/dist/packages/stack/src/tanstack/layout.mjs +8 -0
- package/dist/packages/stack/src/tanstack/page.cjs +11 -5
- package/dist/packages/stack/src/tanstack/page.mjs +11 -5
- package/dist/plugins/ai-chat/api/index.cjs +10 -0
- package/dist/plugins/ai-chat/api/index.d.cts +31 -5
- package/dist/plugins/ai-chat/api/index.d.mts +31 -5
- package/dist/plugins/ai-chat/api/index.d.ts +31 -5
- package/dist/plugins/ai-chat/api/index.mjs +3 -1
- package/dist/plugins/ai-chat/client/components/index.d.cts +1 -1
- package/dist/plugins/ai-chat/client/components/index.d.mts +1 -1
- package/dist/plugins/ai-chat/client/components/index.d.ts +1 -1
- package/dist/plugins/ai-chat/client/hooks/index.cjs +1 -0
- package/dist/plugins/ai-chat/client/hooks/index.d.cts +14 -8
- package/dist/plugins/ai-chat/client/hooks/index.d.mts +14 -8
- package/dist/plugins/ai-chat/client/hooks/index.d.ts +14 -8
- package/dist/plugins/ai-chat/client/hooks/index.mjs +1 -1
- package/dist/plugins/ai-chat/client/index.d.cts +21 -25
- package/dist/plugins/ai-chat/client/index.d.mts +21 -25
- package/dist/plugins/ai-chat/client/index.d.ts +21 -25
- package/dist/plugins/ai-chat/permissions.cjs +90 -0
- package/dist/plugins/ai-chat/permissions.d.cts +84 -0
- package/dist/plugins/ai-chat/permissions.d.mts +84 -0
- package/dist/plugins/ai-chat/permissions.d.ts +84 -0
- package/dist/plugins/ai-chat/permissions.mjs +88 -0
- package/dist/plugins/ai-chat/query-keys.cjs +116 -18
- package/dist/plugins/ai-chat/query-keys.d.cts +6 -2
- package/dist/plugins/ai-chat/query-keys.d.mts +6 -2
- package/dist/plugins/ai-chat/query-keys.d.ts +6 -2
- package/dist/plugins/ai-chat/query-keys.mjs +116 -19
- package/dist/plugins/api/index.cjs +4 -0
- package/dist/plugins/api/index.d.cts +13 -18
- package/dist/plugins/api/index.d.mts +13 -18
- package/dist/plugins/api/index.d.ts +13 -18
- package/dist/plugins/api/index.mjs +1 -0
- package/dist/plugins/blog/api/index.cjs +9 -2
- package/dist/plugins/blog/api/index.d.cts +118 -4
- package/dist/plugins/blog/api/index.d.mts +118 -4
- package/dist/plugins/blog/api/index.d.ts +118 -4
- package/dist/plugins/blog/api/index.mjs +4 -1
- package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
- package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
- package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
- package/dist/plugins/blog/client/index.d.cts +210 -226
- package/dist/plugins/blog/client/index.d.mts +210 -226
- package/dist/plugins/blog/client/index.d.ts +210 -226
- package/dist/plugins/blog/permissions.cjs +47 -0
- package/dist/plugins/blog/permissions.d.cts +49 -0
- package/dist/plugins/blog/permissions.d.mts +49 -0
- package/dist/plugins/blog/permissions.d.ts +49 -0
- package/dist/plugins/blog/permissions.mjs +45 -0
- package/dist/plugins/blog/query-keys.d.cts +7 -3
- package/dist/plugins/blog/query-keys.d.mts +7 -3
- package/dist/plugins/blog/query-keys.d.ts +7 -3
- package/dist/plugins/client/hooks/index.d.cts +2 -2
- package/dist/plugins/client/hooks/index.d.mts +2 -2
- package/dist/plugins/client/hooks/index.d.ts +2 -2
- package/dist/plugins/client/index.cjs +3 -0
- package/dist/plugins/client/index.d.cts +30 -10
- package/dist/plugins/client/index.d.mts +30 -10
- package/dist/plugins/client/index.d.ts +30 -10
- package/dist/plugins/client/index.mjs +3 -0
- package/dist/plugins/cms/api/index.cjs +7 -0
- package/dist/plugins/cms/api/index.d.cts +173 -4
- package/dist/plugins/cms/api/index.d.mts +173 -4
- package/dist/plugins/cms/api/index.d.ts +173 -4
- package/dist/plugins/cms/api/index.mjs +2 -0
- package/dist/plugins/cms/client/hooks/index.d.cts +1 -1
- package/dist/plugins/cms/client/hooks/index.d.mts +1 -1
- package/dist/plugins/cms/client/hooks/index.d.ts +1 -1
- package/dist/plugins/cms/client/index.d.cts +188 -184
- package/dist/plugins/cms/client/index.d.mts +188 -184
- package/dist/plugins/cms/client/index.d.ts +188 -184
- package/dist/plugins/cms/permissions.cjs +46 -0
- package/dist/plugins/cms/permissions.d.cts +42 -0
- package/dist/plugins/cms/permissions.d.mts +42 -0
- package/dist/plugins/cms/permissions.d.ts +42 -0
- package/dist/plugins/cms/permissions.mjs +44 -0
- package/dist/plugins/cms/query-keys.d.cts +4 -4
- package/dist/plugins/cms/query-keys.d.mts +4 -4
- package/dist/plugins/cms/query-keys.d.ts +4 -4
- package/dist/plugins/comments/api/index.cjs +10 -0
- package/dist/plugins/comments/api/index.d.cts +54 -18
- package/dist/plugins/comments/api/index.d.mts +54 -18
- package/dist/plugins/comments/api/index.d.ts +54 -18
- package/dist/plugins/comments/api/index.mjs +3 -0
- package/dist/plugins/comments/client/components/index.d.cts +7 -2
- package/dist/plugins/comments/client/components/index.d.mts +7 -2
- package/dist/plugins/comments/client/components/index.d.ts +7 -2
- package/dist/plugins/comments/client/hooks/index.d.cts +12 -18
- package/dist/plugins/comments/client/hooks/index.d.mts +12 -18
- package/dist/plugins/comments/client/hooks/index.d.ts +12 -18
- package/dist/plugins/comments/client/index.d.cts +96 -114
- package/dist/plugins/comments/client/index.d.mts +96 -114
- package/dist/plugins/comments/client/index.d.ts +96 -114
- package/dist/plugins/comments/permissions.cjs +70 -0
- package/dist/plugins/comments/permissions.d.cts +76 -0
- package/dist/plugins/comments/permissions.d.mts +76 -0
- package/dist/plugins/comments/permissions.d.ts +76 -0
- package/dist/plugins/comments/permissions.mjs +68 -0
- package/dist/plugins/comments/query-keys.cjs +1 -1
- package/dist/plugins/comments/query-keys.d.cts +16 -19
- package/dist/plugins/comments/query-keys.d.mts +16 -19
- package/dist/plugins/comments/query-keys.d.ts +16 -19
- package/dist/plugins/comments/query-keys.mjs +1 -1
- package/dist/plugins/form-builder/api/index.cjs +8 -0
- package/dist/plugins/form-builder/api/index.d.cts +115 -4
- package/dist/plugins/form-builder/api/index.d.mts +115 -4
- package/dist/plugins/form-builder/api/index.d.ts +115 -4
- package/dist/plugins/form-builder/api/index.mjs +4 -1
- package/dist/plugins/form-builder/client/components/index.d.cts +6 -2
- package/dist/plugins/form-builder/client/components/index.d.mts +6 -2
- package/dist/plugins/form-builder/client/components/index.d.ts +6 -2
- package/dist/plugins/form-builder/client/hooks/index.cjs +2 -0
- package/dist/plugins/form-builder/client/hooks/index.d.cts +34 -8
- package/dist/plugins/form-builder/client/hooks/index.d.mts +34 -8
- package/dist/plugins/form-builder/client/hooks/index.d.ts +34 -8
- package/dist/plugins/form-builder/client/hooks/index.mjs +1 -1
- package/dist/plugins/form-builder/client/index.d.cts +153 -174
- package/dist/plugins/form-builder/client/index.d.mts +153 -174
- package/dist/plugins/form-builder/client/index.d.ts +153 -174
- package/dist/plugins/form-builder/permissions.cjs +95 -0
- package/dist/plugins/form-builder/permissions.d.cts +94 -0
- package/dist/plugins/form-builder/permissions.d.mts +94 -0
- package/dist/plugins/form-builder/permissions.d.ts +94 -0
- package/dist/plugins/form-builder/permissions.mjs +93 -0
- package/dist/plugins/form-builder/query-keys.cjs +11 -4
- package/dist/plugins/form-builder/query-keys.d.cts +38 -12
- package/dist/plugins/form-builder/query-keys.d.mts +38 -12
- package/dist/plugins/form-builder/query-keys.d.ts +38 -12
- package/dist/plugins/form-builder/query-keys.mjs +11 -4
- package/dist/plugins/kanban/api/index.cjs +9 -0
- package/dist/plugins/kanban/api/index.d.cts +137 -5
- package/dist/plugins/kanban/api/index.d.mts +137 -5
- package/dist/plugins/kanban/api/index.d.ts +137 -5
- package/dist/plugins/kanban/api/index.mjs +5 -2
- package/dist/plugins/kanban/client/components/index.d.cts +18 -10
- package/dist/plugins/kanban/client/components/index.d.mts +18 -10
- package/dist/plugins/kanban/client/components/index.d.ts +18 -10
- package/dist/plugins/kanban/client/hooks/index.d.cts +15 -7
- package/dist/plugins/kanban/client/hooks/index.d.mts +15 -7
- package/dist/plugins/kanban/client/hooks/index.d.ts +15 -7
- package/dist/plugins/kanban/client/index.d.cts +32 -28
- package/dist/plugins/kanban/client/index.d.mts +32 -28
- package/dist/plugins/kanban/client/index.d.ts +32 -28
- package/dist/plugins/kanban/permissions.cjs +101 -0
- package/dist/plugins/kanban/permissions.d.cts +109 -0
- package/dist/plugins/kanban/permissions.d.mts +109 -0
- package/dist/plugins/kanban/permissions.d.ts +109 -0
- package/dist/plugins/kanban/permissions.mjs +99 -0
- package/dist/plugins/kanban/query-keys.cjs +14 -15
- package/dist/plugins/kanban/query-keys.d.cts +63 -42
- package/dist/plugins/kanban/query-keys.d.mts +63 -42
- package/dist/plugins/kanban/query-keys.d.ts +63 -42
- package/dist/plugins/kanban/query-keys.mjs +14 -15
- package/dist/plugins/media/api/adapters/local.d.cts +1 -1
- package/dist/plugins/media/api/adapters/local.d.mts +1 -1
- package/dist/plugins/media/api/adapters/local.d.ts +1 -1
- package/dist/plugins/media/api/adapters/s3.d.cts +1 -1
- package/dist/plugins/media/api/adapters/s3.d.mts +1 -1
- package/dist/plugins/media/api/adapters/s3.d.ts +1 -1
- package/dist/plugins/media/api/adapters/vercel-blob.cjs +46 -0
- package/dist/plugins/media/api/adapters/vercel-blob.d.cts +6 -9
- package/dist/plugins/media/api/adapters/vercel-blob.d.mts +6 -9
- package/dist/plugins/media/api/adapters/vercel-blob.d.ts +6 -9
- package/dist/plugins/media/api/adapters/vercel-blob.mjs +46 -0
- package/dist/plugins/media/api/index.cjs +10 -0
- package/dist/plugins/media/api/index.d.cts +93 -6
- package/dist/plugins/media/api/index.d.mts +93 -6
- package/dist/plugins/media/api/index.d.ts +93 -6
- package/dist/plugins/media/api/index.mjs +2 -0
- package/dist/plugins/media/client/components/index.d.cts +1 -1
- package/dist/plugins/media/client/components/index.d.mts +1 -1
- package/dist/plugins/media/client/components/index.d.ts +1 -1
- package/dist/plugins/media/client/hooks/index.d.cts +20 -10
- package/dist/plugins/media/client/hooks/index.d.mts +20 -10
- package/dist/plugins/media/client/hooks/index.d.ts +20 -10
- package/dist/plugins/media/client/index.cjs +1 -0
- package/dist/plugins/media/client/index.d.cts +112 -100
- package/dist/plugins/media/client/index.d.mts +112 -100
- package/dist/plugins/media/client/index.d.ts +112 -100
- package/dist/plugins/media/client/index.mjs +1 -1
- package/dist/plugins/media/permissions.cjs +63 -0
- package/dist/plugins/media/permissions.d.cts +64 -0
- package/dist/plugins/media/permissions.d.mts +64 -0
- package/dist/plugins/media/permissions.d.ts +64 -0
- package/dist/plugins/media/permissions.mjs +61 -0
- package/dist/plugins/media/query-keys.cjs +29 -17
- package/dist/plugins/media/query-keys.d.cts +24 -31
- package/dist/plugins/media/query-keys.d.mts +24 -31
- package/dist/plugins/media/query-keys.d.ts +24 -31
- package/dist/plugins/media/query-keys.mjs +30 -18
- package/dist/plugins/open-api/api/index.d.cts +9 -4
- package/dist/plugins/open-api/api/index.d.mts +9 -4
- package/dist/plugins/open-api/api/index.d.ts +9 -4
- package/dist/plugins/route-docs/client/index.cjs +2 -2
- package/dist/plugins/route-docs/client/index.d.cts +54 -53
- package/dist/plugins/route-docs/client/index.d.mts +54 -53
- package/dist/plugins/route-docs/client/index.d.ts +54 -53
- package/dist/plugins/route-docs/client/index.mjs +2 -1
- package/dist/plugins/ui-builder/client/components/index.d.cts +8 -5
- package/dist/plugins/ui-builder/client/components/index.d.mts +8 -5
- package/dist/plugins/ui-builder/client/components/index.d.ts +8 -5
- package/dist/plugins/ui-builder/client/hooks/index.d.cts +5 -5
- package/dist/plugins/ui-builder/client/hooks/index.d.mts +5 -5
- package/dist/plugins/ui-builder/client/hooks/index.d.ts +5 -5
- package/dist/plugins/ui-builder/client/index.d.cts +151 -199
- package/dist/plugins/ui-builder/client/index.d.mts +151 -199
- package/dist/plugins/ui-builder/client/index.d.ts +151 -199
- package/dist/plugins/ui-builder/index.d.cts +11 -8
- package/dist/plugins/ui-builder/index.d.mts +11 -8
- package/dist/plugins/ui-builder/index.d.ts +11 -8
- package/dist/plugins/ui-builder/query-keys.d.cts +6 -6
- package/dist/plugins/ui-builder/query-keys.d.mts +6 -6
- package/dist/plugins/ui-builder/query-keys.d.ts +6 -6
- package/dist/react-router/index.cjs +2 -0
- package/dist/react-router/index.d.cts +41 -7
- package/dist/react-router/index.d.mts +41 -7
- package/dist/react-router/index.d.ts +41 -7
- package/dist/react-router/index.mjs +1 -0
- package/dist/shared/stack.0O62uXqP.d.ts +613 -0
- package/dist/shared/stack.0y6iTP03.d.ts +533 -0
- package/dist/shared/{stack.CbZenbej.d.cts → stack.1ukVJym7.d.cts} +3 -4
- package/dist/shared/{stack.CbZenbej.d.mts → stack.1ukVJym7.d.mts} +3 -4
- package/dist/shared/{stack.CbZenbej.d.ts → stack.1ukVJym7.d.ts} +3 -4
- package/dist/shared/stack.3Sr6qRtT.d.ts +507 -0
- package/dist/shared/{stack.9BAOaSqE.d.mts → stack.5_zzCejP.d.cts} +16 -14
- package/dist/shared/{stack.9BAOaSqE.d.ts → stack.5_zzCejP.d.mts} +16 -14
- package/dist/shared/{stack.9BAOaSqE.d.cts → stack.5_zzCejP.d.ts} +16 -14
- package/dist/shared/stack.B1UrNoVl.d.mts +533 -0
- package/dist/shared/{stack.B2xi4jj7.d.cts → stack.B1srlBud.d.mts} +2 -2
- package/dist/shared/stack.B3_aDcYL.d.cts +281 -0
- package/dist/shared/stack.B3_aDcYL.d.mts +281 -0
- package/dist/shared/stack.B3_aDcYL.d.ts +281 -0
- package/dist/shared/stack.B5yPgHsp.d.mts +507 -0
- package/dist/shared/stack.B8PG21zX.d.mts +764 -0
- package/dist/shared/stack.BFP_9pRX.d.cts +707 -0
- package/dist/shared/{stack.INBa9-TO.d.cts → stack.BGzgFx3R.d.cts} +5 -5
- package/dist/shared/stack.BJx1ZXrN.d.cts +118 -0
- package/dist/shared/{stack.7b3vsM8_.d.ts → stack.BK9Z2dcL.d.ts} +2 -2
- package/dist/shared/stack.BMHoxAn7.d.mts +707 -0
- package/dist/shared/stack.BMmvEBH_.d.ts +118 -0
- package/dist/shared/stack.BOZRaVpu.d.cts +1184 -0
- package/dist/shared/stack.BPLykw4s.d.ts +436 -0
- package/dist/shared/{stack.aqVZ6PEW.d.mts → stack.BRvqQWGt.d.cts} +40 -1
- package/dist/shared/{stack.aqVZ6PEW.d.cts → stack.BRvqQWGt.d.mts} +40 -1
- package/dist/shared/{stack.aqVZ6PEW.d.ts → stack.BRvqQWGt.d.ts} +40 -1
- package/dist/shared/stack.BSACE667.d.cts +23 -0
- package/dist/shared/stack.BYMentwB.d.cts +47 -0
- package/dist/shared/stack.BYMentwB.d.mts +47 -0
- package/dist/shared/stack.BYMentwB.d.ts +47 -0
- package/dist/shared/stack.Bt8hfw9o.d.ts +707 -0
- package/dist/shared/{stack.D7bewlgt.d.mts → stack.Bu2IPOLi.d.cts} +1 -0
- package/dist/shared/{stack.D7bewlgt.d.ts → stack.Bu2IPOLi.d.mts} +1 -0
- package/dist/shared/{stack.D7bewlgt.d.cts → stack.Bu2IPOLi.d.ts} +1 -0
- package/dist/shared/stack.BuxUQqL8.d.ts +408 -0
- package/dist/shared/stack.BzWGB5MG.d.cts +436 -0
- package/dist/shared/stack.C3bU9w6L.d.ts +351 -0
- package/dist/shared/stack.C4oVW2qK.d.cts +507 -0
- package/dist/shared/stack.CKXzdGiJ.d.cts +3 -0
- package/dist/shared/stack.CKXzdGiJ.d.mts +3 -0
- package/dist/shared/stack.CKXzdGiJ.d.ts +3 -0
- package/dist/shared/{stack.C3GBG8in.d.ts → stack.COrJrztD.d.cts} +1 -1
- package/dist/shared/{stack.C3GBG8in.d.cts → stack.COrJrztD.d.mts} +1 -1
- package/dist/shared/{stack.C3GBG8in.d.mts → stack.COrJrztD.d.ts} +1 -1
- package/dist/shared/stack.CX83YNuS.d.cts +408 -0
- package/dist/shared/stack.Cbd7sD5M.d.mts +118 -0
- package/dist/shared/{stack.B9NtGpAR.d.ts → stack.CcjENrr4.d.cts} +1 -5
- package/dist/shared/stack.CfK5NKlK.d.mts +613 -0
- package/dist/shared/{stack.3di7vQs6.d.mts → stack.CjCSDfWy.d.mts} +5 -5
- package/dist/shared/stack.Cmg7lzzy.d.cts +44 -0
- package/dist/shared/stack.Cmg7lzzy.d.mts +44 -0
- package/dist/shared/stack.Cmg7lzzy.d.ts +44 -0
- package/dist/shared/stack.CpE1mS3p.d.ts +331 -0
- package/dist/shared/stack.CskhFw3z.d.mts +23 -0
- package/dist/shared/stack.CvlC5kqe.d.cts +331 -0
- package/dist/shared/stack.CxKc9evq.d.ts +23 -0
- package/dist/shared/stack.CyalJ0j6.d.ts +764 -0
- package/dist/shared/stack.D6Pg-ufX.d.cts +764 -0
- package/dist/shared/{stack.lkebw2nj.d.mts → stack.DVEjWKCT.d.cts} +19 -5
- package/dist/shared/{stack.lkebw2nj.d.ts → stack.DVEjWKCT.d.mts} +19 -5
- package/dist/shared/{stack.lkebw2nj.d.cts → stack.DVEjWKCT.d.ts} +19 -5
- package/dist/shared/{stack.Cp_6mO5s.d.mts → stack.DbbvHbhn.d.mts} +1 -5
- package/dist/shared/stack.DiuRuzIs.d.cts +613 -0
- package/dist/shared/{stack.BMlLOMED.d.mts → stack.DjGixVx3.d.cts} +6 -2
- package/dist/shared/{stack.BMlLOMED.d.ts → stack.DjGixVx3.d.mts} +6 -2
- package/dist/shared/{stack.BMlLOMED.d.cts → stack.DjGixVx3.d.ts} +6 -2
- package/dist/shared/stack.DlBoNqYu.d.ts +1184 -0
- package/dist/shared/stack.DlCycSM-.d.mts +331 -0
- package/dist/shared/{stack.DycBcTeg.d.mts → stack.DmpPDPxA.d.cts} +2 -2
- package/dist/shared/{stack.CRelKJfH.d.ts → stack.Dpg_JjIo.d.ts} +5 -5
- package/dist/shared/stack.Dvy7FmaA.d.mts +1184 -0
- package/dist/shared/stack.DxHPKr2R.d.mts +436 -0
- package/dist/shared/stack.Egr3RWhA.d.mts +408 -0
- package/dist/shared/stack.Mak7pzIV.d.cts +533 -0
- package/dist/shared/stack.OYT8WU4n.d.mts +351 -0
- package/dist/shared/{stack.CPsYC2-Z.d.cts → stack.fdi94T4S.d.cts} +7 -7
- package/dist/shared/{stack.CPsYC2-Z.d.mts → stack.fdi94T4S.d.mts} +7 -7
- package/dist/shared/{stack.CPsYC2-Z.d.ts → stack.fdi94T4S.d.ts} +7 -7
- package/dist/shared/{stack.Dlgtumru.d.cts → stack.kaCV7vEL.d.ts} +1 -5
- package/dist/shared/stack.v2O65JqF.d.cts +351 -0
- package/dist/tanstack/index.cjs +2 -0
- package/dist/tanstack/index.d.cts +44 -14
- package/dist/tanstack/index.d.mts +44 -14
- package/dist/tanstack/index.d.ts +44 -14
- package/dist/tanstack/index.mjs +1 -0
- package/dist/tanstack/server.cjs +9 -0
- package/dist/tanstack/server.d.cts +15 -0
- package/dist/tanstack/server.d.mts +15 -0
- package/dist/tanstack/server.d.ts +15 -0
- package/dist/tanstack/server.mjs +7 -0
- package/package.json +203 -8
- package/src/__tests__/ai-chat-client-runtime.test.ts +481 -0
- package/src/__tests__/ai-chat-client-runtime.typecheck.tsx +130 -0
- package/src/__tests__/ai-chat-lifecycle-migrations.typecheck.ts +61 -0
- package/src/__tests__/ai-chat-query-keys.test.ts +125 -22
- package/src/__tests__/auth-provider.test.tsx +41 -314
- package/src/__tests__/auth-test-utils.ts +24 -0
- package/src/__tests__/authorization-client.test.tsx +767 -0
- package/src/__tests__/authorization-contraction.test.ts +182 -0
- package/src/__tests__/authorization-remote.test.ts +222 -0
- package/src/__tests__/authorization-server.test.ts +90 -0
- package/src/__tests__/authorization.test.ts +652 -0
- package/src/__tests__/authorization.typecheck.ts +671 -0
- package/src/__tests__/backend-plugin-factories.test.ts +54 -0
- package/src/__tests__/backend-plugin-factories.typecheck.ts +133 -0
- package/src/__tests__/client-plugin-ssr-loaders.test.ts +304 -138
- package/src/__tests__/client-runtime.test.ts +1021 -0
- package/src/__tests__/client-runtime.typecheck.ts +107 -0
- package/src/__tests__/client-stack-test-utils.ts +36 -0
- package/src/__tests__/content-lifecycle-migrations.typecheck.ts +122 -0
- package/src/__tests__/endpoint-inventory.test.ts +768 -0
- package/src/__tests__/entry-factories.test.tsx +104 -4
- package/src/__tests__/form-builder-query-keys.test.ts +32 -0
- package/src/__tests__/i18n-provider.test.tsx +4 -3
- package/src/__tests__/initial-identity-hydration.test.tsx +156 -0
- package/src/__tests__/initial-identity-layouts.test.tsx +204 -0
- package/src/__tests__/kanban-query-keys.test.ts +189 -2
- package/src/__tests__/managed-origin-hydration.browser.test.tsx +163 -0
- package/src/__tests__/media-query-keys.test.ts +91 -17
- package/src/__tests__/notify-provider.test.tsx +3 -2
- package/src/__tests__/package-metadata.test.ts +315 -0
- package/src/__tests__/page-component-overrides.test.tsx +3 -4
- package/src/__tests__/plugin-registration.test.tsx +183 -0
- package/src/__tests__/plugin-registration.typecheck.tsx +139 -0
- package/src/__tests__/plugins.test.tsx +72 -42
- package/src/__tests__/resource-factory.test.tsx +79 -2
- package/src/__tests__/resource-use-form.test.tsx +2 -2
- package/src/__tests__/resource-use-select.test.tsx +2 -4
- package/src/__tests__/router-overrides.test.tsx +20 -8
- package/src/__tests__/sitemap.test.ts +38 -22
- package/src/__tests__/stack-api.test.ts +39 -34
- package/src/__tests__/stack-auth.test.ts +44 -140
- package/src/__tests__/stack-constructors.test.ts +96 -0
- package/src/__tests__/stack-constructors.typecheck.ts +115 -0
- package/src/__tests__/use-list-state.test.tsx +7 -6
- package/src/__tests__/workflow-lifecycle-migrations.typecheck.ts +150 -0
- package/src/api/index.ts +204 -99
- package/src/authorization/client.tsx +310 -0
- package/src/authorization/index.ts +873 -0
- package/src/authorization/json.ts +70 -0
- package/src/authorization/remote.ts +234 -0
- package/src/authorization/server.ts +171 -0
- package/src/client/__tests__/server-origin.test.ts +119 -0
- package/src/client/components/compose.tsx +126 -18
- package/src/client/hooks/index.ts +12 -0
- package/src/client/hooks/use-list-state.ts +7 -13
- package/src/client/index.ts +105 -50
- package/src/client/runtime.ts +414 -0
- package/src/client/server.ts +174 -0
- package/src/context/auth.tsx +205 -154
- package/src/context/index.ts +10 -4
- package/src/context/provider.tsx +96 -57
- package/src/context/router.tsx +7 -0
- package/src/context/site-navigation.ts +52 -0
- package/src/next/index.tsx +2 -0
- package/src/next/layout.tsx +81 -0
- package/src/next/page.tsx +33 -12
- package/src/next/router.tsx +1 -1
- package/src/next/server.ts +5 -0
- package/src/plugin-registration.ts +70 -0
- package/src/plugins/ai-chat/__tests__/authorization.test.ts +2051 -0
- package/src/plugins/ai-chat/__tests__/chat-hooks.test.tsx +147 -0
- package/src/plugins/ai-chat/__tests__/chat-input-authorization.test.tsx +188 -0
- package/src/plugins/ai-chat/__tests__/client-sweep.test.tsx +1506 -34
- package/src/plugins/ai-chat/__tests__/hooks.test.tsx +131 -23
- package/src/plugins/ai-chat/api/getters.ts +2 -2
- package/src/plugins/ai-chat/api/index.ts +6 -1
- package/src/plugins/ai-chat/api/lifecycle-migrations.ts +20 -0
- package/src/plugins/ai-chat/api/operations.ts +1865 -0
- package/src/plugins/ai-chat/api/plugin.ts +78 -1168
- package/src/plugins/ai-chat/api/serializers.ts +30 -0
- package/src/plugins/ai-chat/client/components/chat-input.tsx +228 -129
- package/src/plugins/ai-chat/client/components/chat-interface.tsx +776 -183
- package/src/plugins/ai-chat/client/components/chat-layout.tsx +6 -7
- package/src/plugins/ai-chat/client/components/chat-message.tsx +1 -1
- package/src/plugins/ai-chat/client/components/chat-sidebar.tsx +57 -37
- package/src/plugins/ai-chat/client/components/pages/404-page.tsx +1 -1
- package/src/plugins/ai-chat/client/components/pages/chat-page.internal.tsx +5 -3
- package/src/plugins/ai-chat/client/components/pages/chat-page.tsx +56 -15
- package/src/plugins/ai-chat/client/components/shared/default-error.tsx +1 -1
- package/src/plugins/ai-chat/client/components/tool-call-display.tsx +1 -1
- package/src/plugins/ai-chat/client/hooks/ai-chat-resource.ts +1 -1
- package/src/plugins/ai-chat/client/hooks/chat-hooks.tsx +253 -20
- package/src/plugins/ai-chat/client/index.ts +1 -0
- package/src/plugins/ai-chat/client/navigation.ts +11 -0
- package/src/plugins/ai-chat/client/overrides.ts +47 -11
- package/src/plugins/ai-chat/client/plugin.tsx +208 -111
- package/src/plugins/ai-chat/permissions.ts +89 -0
- package/src/plugins/ai-chat/query-keys.ts +183 -25
- package/src/plugins/ai-chat/types.ts +7 -5
- package/src/plugins/api/create-endpoint.ts +40 -22
- package/src/plugins/api/endpoint-inventory.ts +206 -0
- package/src/plugins/api/index.ts +38 -4
- package/src/plugins/api/operation.ts +600 -0
- package/src/plugins/blog/__tests__/authorization.test.ts +1366 -0
- package/src/plugins/blog/__tests__/client-runtime.browser.test.tsx +257 -0
- package/src/plugins/blog/__tests__/client-runtime.test.ts +283 -0
- package/src/plugins/blog/__tests__/client-runtime.typecheck.tsx +98 -0
- package/src/plugins/blog/__tests__/client-sweep.test.tsx +212 -37
- package/src/plugins/blog/api/getters.ts +3 -3
- package/src/plugins/blog/api/index.ts +2 -0
- package/src/plugins/blog/api/lifecycle-migrations.ts +19 -0
- package/src/plugins/blog/api/mutations.ts +26 -5
- package/src/plugins/blog/api/operations.ts +727 -0
- package/src/plugins/blog/api/plugin.ts +99 -504
- package/src/plugins/blog/client/components/forms/image-field.tsx +2 -1
- package/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.tsx +2 -1
- package/src/plugins/blog/client/components/forms/post-forms.tsx +61 -33
- package/src/plugins/blog/client/components/pages/404-page.tsx +3 -1
- package/src/plugins/blog/client/components/pages/edit-post-page.internal.tsx +2 -1
- package/src/plugins/blog/client/components/pages/edit-post-page.tsx +28 -5
- package/src/plugins/blog/client/components/pages/home-page.internal.tsx +2 -1
- package/src/plugins/blog/client/components/pages/home-page.tsx +7 -4
- package/src/plugins/blog/client/components/pages/new-post-page.internal.tsx +2 -1
- package/src/plugins/blog/client/components/pages/new-post-page.tsx +5 -2
- package/src/plugins/blog/client/components/pages/post-page.internal.tsx +2 -1
- package/src/plugins/blog/client/components/pages/post-page.tsx +38 -4
- package/src/plugins/blog/client/components/pages/tag-page.internal.tsx +2 -1
- package/src/plugins/blog/client/components/pages/tag-page.tsx +5 -1
- package/src/plugins/blog/client/components/shared/collapsible-tag-list.tsx +2 -1
- package/src/plugins/blog/client/components/shared/default-error.tsx +3 -1
- package/src/plugins/blog/client/components/shared/on-this-page.tsx +5 -2
- package/src/plugins/blog/client/components/shared/page-wrapper.tsx +2 -1
- package/src/plugins/blog/client/components/shared/post-card.tsx +2 -1
- package/src/plugins/blog/client/components/shared/posts-list.tsx +2 -1
- package/src/plugins/blog/client/components/shared/recent-posts-carousel.tsx +2 -1
- package/src/plugins/blog/client/components/shared/search-input.tsx +1 -1
- package/src/plugins/blog/client/constants.ts +2 -0
- package/src/plugins/blog/client/hooks/blog-resource.ts +2 -1
- package/src/plugins/blog/client/overrides.ts +1 -6
- package/src/plugins/blog/client/plugin.tsx +145 -129
- package/src/plugins/blog/permissions.ts +44 -0
- package/src/plugins/client/index.ts +108 -7
- package/src/plugins/client/resource/hooks.tsx +41 -18
- package/src/plugins/client/resource/internal.ts +77 -61
- package/src/plugins/client/resource/queries.ts +3 -4
- package/src/plugins/client/resource/use-form.ts +23 -20
- package/src/plugins/client/resource/use-select.ts +40 -34
- package/src/plugins/cms/__tests__/authorization.test.ts +2188 -0
- package/src/plugins/cms/__tests__/client-runtime.browser.test.tsx +245 -0
- package/src/plugins/cms/__tests__/client-runtime.test.ts +320 -0
- package/src/plugins/cms/__tests__/client-runtime.typecheck.tsx +208 -0
- package/src/plugins/cms/__tests__/client-sweep.test.tsx +202 -50
- package/src/plugins/cms/api/getters.ts +4 -4
- package/src/plugins/cms/api/index.ts +20 -0
- package/src/plugins/cms/api/lifecycle-migrations.ts +15 -0
- package/src/plugins/cms/api/mutations.ts +2 -2
- package/src/plugins/cms/api/operations.ts +2218 -0
- package/src/plugins/cms/api/plugin.ts +169 -1047
- package/src/plugins/cms/api/relations.ts +3 -1
- package/src/plugins/cms/client/components/forms/content-form.tsx +2 -1
- package/src/plugins/cms/client/components/forms/file-upload.tsx +3 -1
- package/src/plugins/cms/client/components/forms/relation-field.tsx +3 -1
- package/src/plugins/cms/client/components/inverse-relations-panel.tsx +29 -17
- package/src/plugins/cms/client/components/pages/404-page.tsx +7 -5
- package/src/plugins/cms/client/components/pages/content-editor-page.internal.tsx +19 -10
- package/src/plugins/cms/client/components/pages/content-editor-page.tsx +50 -12
- package/src/plugins/cms/client/components/pages/content-list-page.internal.tsx +48 -34
- package/src/plugins/cms/client/components/pages/content-list-page.tsx +8 -1
- package/src/plugins/cms/client/components/pages/dashboard-page.internal.tsx +15 -8
- package/src/plugins/cms/client/components/pages/dashboard-page.tsx +5 -1
- package/src/plugins/cms/client/components/shared/page-wrapper.tsx +2 -1
- package/src/plugins/cms/client/constants.ts +2 -0
- package/src/plugins/cms/client/hooks/cms-resource.ts +2 -1
- package/src/plugins/cms/client/index.ts +6 -1
- package/src/plugins/cms/client/overrides.ts +46 -6
- package/src/plugins/cms/client/plugin.tsx +135 -80
- package/src/plugins/cms/permissions.ts +43 -0
- package/src/plugins/cms/types.ts +174 -46
- package/src/plugins/comments/__tests__/authorization.test.ts +1570 -0
- package/src/plugins/comments/__tests__/client-runtime.browser.test.tsx +207 -0
- package/src/plugins/comments/__tests__/client-runtime.test.ts +224 -0
- package/src/plugins/comments/__tests__/client-runtime.typecheck.tsx +85 -0
- package/src/plugins/comments/__tests__/client-sweep.test.tsx +465 -79
- package/src/plugins/comments/api/getters.ts +19 -3
- package/src/plugins/comments/api/index.ts +2 -6
- package/src/plugins/comments/api/lifecycle-migrations.ts +20 -0
- package/src/plugins/comments/api/mutations.ts +261 -88
- package/src/plugins/comments/api/operations.ts +742 -0
- package/src/plugins/comments/api/plugin.ts +76 -548
- package/src/plugins/comments/client/components/comment-count.tsx +38 -5
- package/src/plugins/comments/client/components/comment-thread.tsx +154 -112
- package/src/plugins/comments/client/components/pages/moderation-page.internal.tsx +144 -78
- package/src/plugins/comments/client/components/pages/moderation-page.tsx +18 -2
- package/src/plugins/comments/client/components/pages/moderation-state.ts +13 -0
- package/src/plugins/comments/client/components/pages/my-comments-page.internal.tsx +38 -30
- package/src/plugins/comments/client/components/pages/my-comments-page.tsx +3 -1
- package/src/plugins/comments/client/components/pages/resource-comments-page.internal.tsx +29 -30
- package/src/plugins/comments/client/components/pages/resource-comments-page.tsx +10 -1
- package/src/plugins/comments/client/components/shared/page-wrapper.tsx +2 -1
- package/src/plugins/comments/client/components/shared/pagination.tsx +2 -1
- package/src/plugins/comments/client/constants.ts +2 -0
- package/src/plugins/comments/client/hooks/use-comments.tsx +430 -421
- package/src/plugins/comments/client/localization/comments-thread.ts +1 -0
- package/src/plugins/comments/client/plugin.tsx +113 -72
- package/src/plugins/comments/permissions.ts +68 -0
- package/src/plugins/comments/query-keys.ts +9 -10
- package/src/plugins/comments/schemas.ts +7 -8
- package/src/plugins/form-builder/__tests__/authorization.test.ts +1600 -0
- package/src/plugins/form-builder/__tests__/client-runtime.browser.test.tsx +255 -0
- package/src/plugins/form-builder/__tests__/client-runtime.test.ts +132 -0
- package/src/plugins/form-builder/__tests__/client-runtime.typecheck.tsx +77 -0
- package/src/plugins/form-builder/__tests__/client-sweep.test.tsx +350 -54
- package/src/plugins/form-builder/__tests__/form-renderer-authorization.test.tsx +162 -0
- package/src/plugins/form-builder/api/getters.ts +21 -5
- package/src/plugins/form-builder/api/index.ts +31 -0
- package/src/plugins/form-builder/api/lifecycle-migrations.ts +17 -0
- package/src/plugins/form-builder/api/operations.ts +1493 -0
- package/src/plugins/form-builder/api/plugin.ts +125 -632
- package/src/plugins/form-builder/api/query-key-defs.ts +7 -0
- package/src/plugins/form-builder/api/serializers.ts +1 -0
- package/src/plugins/form-builder/client/components/forms/form-renderer.tsx +49 -19
- package/src/plugins/form-builder/client/components/pages/404-page.tsx +9 -9
- package/src/plugins/form-builder/client/components/pages/form-builder-page.internal.tsx +54 -30
- package/src/plugins/form-builder/client/components/pages/form-builder-page.tsx +42 -9
- package/src/plugins/form-builder/client/components/pages/form-list-page.internal.tsx +46 -34
- package/src/plugins/form-builder/client/components/pages/form-list-page.tsx +6 -2
- package/src/plugins/form-builder/client/components/pages/submissions-page.internal.tsx +98 -64
- package/src/plugins/form-builder/client/components/pages/submissions-page.tsx +29 -9
- package/src/plugins/form-builder/client/components/shared/page-wrapper.tsx +2 -1
- package/src/plugins/form-builder/client/constants.ts +2 -0
- package/src/plugins/form-builder/client/hooks/form-builder-hooks.tsx +68 -4
- package/src/plugins/form-builder/client/hooks/form-builder-resource.ts +2 -1
- package/src/plugins/form-builder/client/hooks/index.tsx +1 -0
- package/src/plugins/form-builder/client/overrides.ts +1 -6
- package/src/plugins/form-builder/client/plugin.tsx +128 -96
- package/src/plugins/form-builder/permissions.ts +94 -0
- package/src/plugins/form-builder/query-keys.ts +28 -3
- package/src/plugins/form-builder/schemas.ts +9 -1
- package/src/plugins/form-builder/types.ts +173 -41
- package/src/plugins/kanban/__tests__/authorization.test.ts +1382 -0
- package/src/plugins/kanban/__tests__/client-runtime.browser.test.tsx +302 -0
- package/src/plugins/kanban/__tests__/client-runtime.test.ts +130 -0
- package/src/plugins/kanban/__tests__/client-runtime.typecheck.tsx +81 -0
- package/src/plugins/kanban/__tests__/client-sweep.test.tsx +418 -33
- package/src/plugins/kanban/__tests__/identity-partition.test.tsx +306 -0
- package/src/plugins/kanban/api/getters.ts +65 -50
- package/src/plugins/kanban/api/index.ts +55 -4
- package/src/plugins/kanban/api/lifecycle-migrations.ts +25 -0
- package/src/plugins/kanban/api/mutations.ts +3 -3
- package/src/plugins/kanban/api/operations.ts +2065 -0
- package/src/plugins/kanban/api/plugin.ts +83 -1013
- package/src/plugins/kanban/api/serializers.ts +26 -0
- package/src/plugins/kanban/client/components/forms/board-form.tsx +3 -1
- package/src/plugins/kanban/client/components/forms/column-form.tsx +3 -1
- package/src/plugins/kanban/client/components/forms/task-form.tsx +92 -74
- package/src/plugins/kanban/client/components/pages/404-page.tsx +6 -9
- package/src/plugins/kanban/client/components/pages/board-page.internal.tsx +57 -74
- package/src/plugins/kanban/client/components/pages/board-page.tsx +31 -7
- package/src/plugins/kanban/client/components/pages/boards-list-page.internal.tsx +54 -45
- package/src/plugins/kanban/client/components/pages/boards-list-page.tsx +2 -1
- package/src/plugins/kanban/client/components/pages/new-board-page.internal.tsx +8 -12
- package/src/plugins/kanban/client/components/pages/new-board-page.tsx +2 -1
- package/src/plugins/kanban/client/components/shared/column-content.tsx +61 -48
- package/src/plugins/kanban/client/components/shared/default-error.tsx +3 -1
- package/src/plugins/kanban/client/components/shared/kanban-board.tsx +6 -6
- package/src/plugins/kanban/client/components/shared/permission-access-any.tsx +32 -0
- package/src/plugins/kanban/client/components/shared/task-card.tsx +64 -20
- package/src/plugins/kanban/client/components/shared/user-avatar.tsx +3 -1
- package/src/plugins/kanban/client/constants.ts +2 -0
- package/src/plugins/kanban/client/hooks/kanban-hooks.tsx +55 -10
- package/src/plugins/kanban/client/hooks/kanban-resource.ts +2 -1
- package/src/plugins/kanban/client/overrides.ts +0 -5
- package/src/plugins/kanban/client/plugin.tsx +201 -113
- package/src/plugins/kanban/permissions.ts +100 -0
- package/src/plugins/kanban/query-keys.ts +61 -21
- package/src/plugins/kanban/schemas.ts +44 -18
- package/src/plugins/kanban/types.ts +381 -1
- package/src/plugins/media/__tests__/authorization.test.ts +1769 -0
- package/src/plugins/media/__tests__/client-runtime.browser.test.tsx +975 -0
- package/src/plugins/media/__tests__/client-runtime.test.ts +539 -0
- package/src/plugins/media/__tests__/client-runtime.typecheck.tsx +135 -0
- package/src/plugins/media/__tests__/client-sweep.test.tsx +292 -24
- package/src/plugins/media/__tests__/identity-partition.test.tsx +741 -0
- package/src/plugins/media/__tests__/plugin.test.ts +68 -28
- package/src/plugins/media/__tests__/query-key-defs.test.ts +32 -2
- package/src/plugins/media/api/adapters/vercel-blob.ts +84 -8
- package/src/plugins/media/api/getters.ts +6 -6
- package/src/plugins/media/api/index.ts +3 -0
- package/src/plugins/media/api/lifecycle-migrations.ts +11 -0
- package/src/plugins/media/api/mutations.ts +19 -13
- package/src/plugins/media/api/operations.ts +1873 -0
- package/src/plugins/media/api/plugin.ts +211 -899
- package/src/plugins/media/api/query-key-defs.ts +66 -4
- package/src/plugins/media/api/serializers.ts +4 -2
- package/src/plugins/media/api/storage-adapter.ts +22 -4
- package/src/plugins/media/asset-url.ts +14 -0
- package/src/plugins/media/client/components/media-picker/asset-card.tsx +105 -98
- package/src/plugins/media/client/components/media-picker/folder-tree.tsx +82 -60
- package/src/plugins/media/client/components/media-picker/index.tsx +235 -171
- package/src/plugins/media/client/components/media-picker/upload-tab.tsx +2 -10
- package/src/plugins/media/client/components/media-picker/url-tab.tsx +1 -8
- package/src/plugins/media/client/components/pages/library-page.internal.tsx +103 -82
- package/src/plugins/media/client/components/pages/library-page.tsx +4 -2
- package/src/plugins/media/client/components/upload-permission-check.tsx +75 -0
- package/src/plugins/media/client/constants.ts +2 -0
- package/src/plugins/media/client/hooks/media-resource.ts +2 -1
- package/src/plugins/media/client/hooks/use-media.tsx +292 -49
- package/src/plugins/media/client/index.ts +16 -3
- package/src/plugins/media/client/overrides.ts +6 -17
- package/src/plugins/media/client/plugin.tsx +188 -123
- package/src/plugins/media/client/upload.ts +170 -53
- package/src/plugins/media/db.ts +8 -0
- package/src/plugins/media/permissions.ts +61 -0
- package/src/plugins/media/query-keys.ts +63 -19
- package/src/plugins/media/types.ts +8 -2
- package/src/plugins/open-api/__tests__/route-introspection.test.ts +277 -0
- package/src/plugins/open-api/api/generator.ts +49 -8
- package/src/plugins/open-api/api/plugin.ts +36 -14
- package/src/plugins/route-docs/client/components/pages/docs-page.tsx +63 -23
- package/src/plugins/route-docs/client/constants.ts +2 -0
- package/src/plugins/route-docs/client/hooks.ts +23 -13
- package/src/plugins/route-docs/client/index.ts +7 -1
- package/src/plugins/route-docs/client/plugin.tsx +222 -145
- package/src/plugins/route-docs/client/schema.ts +31 -0
- package/src/plugins/route-docs/generator.ts +9 -5
- package/src/plugins/ui-builder/__tests__/client-sweep.test.tsx +427 -48
- package/src/plugins/ui-builder/client/components/page-renderer.tsx +58 -16
- package/src/plugins/ui-builder/client/components/pages/page-builder-page.internal.tsx +47 -26
- package/src/plugins/ui-builder/client/components/pages/page-builder-page.tsx +43 -8
- package/src/plugins/ui-builder/client/components/pages/page-list-page.internal.tsx +38 -19
- package/src/plugins/ui-builder/client/components/pages/page-list-page.tsx +8 -2
- package/src/plugins/ui-builder/client/components/shared/default-error.tsx +2 -1
- package/src/plugins/ui-builder/client/components/shared/page-wrapper.tsx +2 -1
- package/src/plugins/ui-builder/client/constants.ts +2 -0
- package/src/plugins/ui-builder/client/hooks/ui-builder-resource.ts +2 -1
- package/src/plugins/ui-builder/client/index.ts +4 -1
- package/src/plugins/ui-builder/client/overrides.ts +16 -21
- package/src/plugins/ui-builder/client/plugin.tsx +119 -66
- package/src/plugins/ui-builder/client/registry.ts +3 -5
- package/src/plugins/ui-builder/types.ts +7 -4
- package/src/plugins/utils.ts +5 -1
- package/src/react-router/index.tsx +6 -0
- package/src/react-router/layout.ts +43 -0
- package/src/react-router/page.tsx +46 -17
- package/src/react-router/router.tsx +1 -1
- package/src/shared/auth-types.ts +19 -70
- package/src/shared/entry-factories.ts +12 -3
- package/src/shared/initial-identity.ts +73 -0
- package/src/shared/list-state.ts +12 -0
- package/src/shared/types.ts +1 -0
- package/src/tanstack/index.tsx +7 -0
- package/src/tanstack/layout.ts +36 -0
- package/src/tanstack/page.tsx +35 -13
- package/src/tanstack/router.tsx +1 -1
- package/src/tanstack/server.ts +18 -0
- package/src/types.ts +557 -65
- package/dist/shared/stack.80-y2TTR.d.mts +0 -840
- package/dist/shared/stack.B-hEIoUw.d.ts +0 -406
- package/dist/shared/stack.B8vdOMnQ.d.cts +0 -329
- package/dist/shared/stack.BISAZ5LX.d.mts +0 -492
- package/dist/shared/stack.BL5PvShn.d.mts +0 -193
- package/dist/shared/stack.Be1QIHEn.d.cts +0 -23
- package/dist/shared/stack.Be1QIHEn.d.mts +0 -23
- package/dist/shared/stack.Be1QIHEn.d.ts +0 -23
- package/dist/shared/stack.BjvOk_Bs.d.cts +0 -492
- package/dist/shared/stack.Bk5UB_BT.d.ts +0 -840
- package/dist/shared/stack.BozPgbrZ.d.cts +0 -201
- package/dist/shared/stack.BozPgbrZ.d.mts +0 -201
- package/dist/shared/stack.BozPgbrZ.d.ts +0 -201
- package/dist/shared/stack.BqTR6qi2.d.ts +0 -193
- package/dist/shared/stack.BvxHSZYT.d.cts +0 -406
- package/dist/shared/stack.C1ATQ3pd.d.ts +0 -416
- package/dist/shared/stack.C4_gEENS.d.cts +0 -97
- package/dist/shared/stack.C4_gEENS.d.mts +0 -97
- package/dist/shared/stack.C4_gEENS.d.ts +0 -97
- package/dist/shared/stack.C5Y5lViI.d.cts +0 -461
- package/dist/shared/stack.C8SwdUz8.d.ts +0 -461
- package/dist/shared/stack.CBsp9rDM.d.cts +0 -193
- package/dist/shared/stack.CMbX8Q5C.d.ts +0 -560
- package/dist/shared/stack.Cf-DbL1A.d.ts +0 -329
- package/dist/shared/stack.DHTvwoNG.d.mts +0 -329
- package/dist/shared/stack.DJaKVY7v.d.cts +0 -76
- package/dist/shared/stack.DJaKVY7v.d.mts +0 -76
- package/dist/shared/stack.DJaKVY7v.d.ts +0 -76
- package/dist/shared/stack.DKZMaVr6.d.cts +0 -416
- package/dist/shared/stack.DQq8DEIv.d.mts +0 -461
- package/dist/shared/stack.Dd-8shBE.d.ts +0 -492
- package/dist/shared/stack.Dj04W2c3.d.mts +0 -560
- package/dist/shared/stack.DrUBX-QE.d.cts +0 -34
- package/dist/shared/stack.DrUBX-QE.d.mts +0 -34
- package/dist/shared/stack.DrUBX-QE.d.ts +0 -34
- package/dist/shared/stack.H5B8miAV.d.cts +0 -840
- package/dist/shared/stack.aXdBOJAR.d.cts +0 -173
- package/dist/shared/stack.aXdBOJAR.d.mts +0 -173
- package/dist/shared/stack.aXdBOJAR.d.ts +0 -173
- package/dist/shared/stack.eq5eg1yt.d.cts +0 -560
- package/dist/shared/stack.f8Vke-eH.d.mts +0 -406
- package/dist/shared/stack.oBokjN_J.d.mts +0 -416
- package/dist/shared/{stack.B0muOwUF.d.cts → stack.Csi-4Mgz.d.cts} +8 -8
- package/dist/shared/{stack.B0muOwUF.d.mts → stack.Csi-4Mgz.d.mts} +8 -8
- package/dist/shared/{stack.B0muOwUF.d.ts → stack.Csi-4Mgz.d.ts} +8 -8
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { DeepReadonly } from '@btst/stack/plugins/api';
|
|
2
|
+
import { PermissionFactsFor } from '@btst/stack/authorization';
|
|
3
|
+
import { StackIdentity } from '@btst/stack/context';
|
|
4
|
+
import { formBuilderPermissions } from '../plugins/form-builder/permissions.cjs';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Schema for listing forms with pagination and free-text search
|
|
9
|
+
*/
|
|
10
|
+
declare const listFormsQuerySchema: z.ZodObject<{
|
|
11
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
12
|
+
active: "active";
|
|
13
|
+
inactive: "inactive";
|
|
14
|
+
archived: "archived";
|
|
15
|
+
}>>;
|
|
16
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
17
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
18
|
+
search: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
/**
|
|
21
|
+
* Schema for creating a form
|
|
22
|
+
*/
|
|
23
|
+
declare const createFormSchema: z.ZodObject<{
|
|
24
|
+
name: z.ZodString;
|
|
25
|
+
slug: z.ZodString;
|
|
26
|
+
description: z.ZodOptional<z.ZodString>;
|
|
27
|
+
schema: z.ZodString;
|
|
28
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
29
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
30
|
+
status: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
31
|
+
active: "active";
|
|
32
|
+
inactive: "inactive";
|
|
33
|
+
archived: "archived";
|
|
34
|
+
}>>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
/**
|
|
37
|
+
* Schema for updating a form
|
|
38
|
+
*/
|
|
39
|
+
declare const updateFormSchema: z.ZodObject<{
|
|
40
|
+
name: z.ZodOptional<z.ZodString>;
|
|
41
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
42
|
+
description: z.ZodOptional<z.ZodString>;
|
|
43
|
+
schema: z.ZodOptional<z.ZodString>;
|
|
44
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
45
|
+
redirectUrl: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
46
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
47
|
+
active: "active";
|
|
48
|
+
inactive: "inactive";
|
|
49
|
+
archived: "archived";
|
|
50
|
+
}>>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
/**
|
|
53
|
+
* Schema for listing form submissions with pagination
|
|
54
|
+
*/
|
|
55
|
+
declare const listSubmissionsQuerySchema: z.ZodObject<{
|
|
56
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
57
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
/**
|
|
60
|
+
* Schema for submitting a form (public)
|
|
61
|
+
*/
|
|
62
|
+
declare const submitFormSchema: z.ZodObject<{
|
|
63
|
+
data: z.ZodObject<{}, z.core.$loose>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
type ListFormsQuery = z.infer<typeof listFormsQuerySchema>;
|
|
66
|
+
type CreateFormInput = z.infer<typeof createFormSchema>;
|
|
67
|
+
type UpdateFormInput = z.infer<typeof updateFormSchema>;
|
|
68
|
+
type ListSubmissionsQuery = z.infer<typeof listSubmissionsQuerySchema>;
|
|
69
|
+
type SubmitFormInput = z.infer<typeof submitFormSchema>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Form Builder Plugin Types
|
|
73
|
+
*
|
|
74
|
+
* Key distinction from CMS Plugin:
|
|
75
|
+
* - CMS uses developer-defined Zod schemas in code
|
|
76
|
+
* - Form Builder allows non-technical admins to build forms via drag-and-drop UI
|
|
77
|
+
* - Forms are serialized to/from JSON Schema for storage
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Form stored in the database
|
|
82
|
+
*/
|
|
83
|
+
type Form = {
|
|
84
|
+
id: string;
|
|
85
|
+
/** Display name for the form */
|
|
86
|
+
name: string;
|
|
87
|
+
/** URL-friendly slug - unique identifier for public access */
|
|
88
|
+
slug: string;
|
|
89
|
+
/** Optional description for admin UI */
|
|
90
|
+
description?: string;
|
|
91
|
+
/** JSON Schema stored as string (includes steps, fieldType, stepGroup, etc.) */
|
|
92
|
+
schema: string;
|
|
93
|
+
/** Optional custom success message after submission */
|
|
94
|
+
successMessage?: string;
|
|
95
|
+
/** Optional redirect URL after submission */
|
|
96
|
+
redirectUrl?: string;
|
|
97
|
+
/** Form status: active, inactive, archived */
|
|
98
|
+
status: "active" | "inactive" | "archived";
|
|
99
|
+
/** User who created the form */
|
|
100
|
+
createdBy?: string;
|
|
101
|
+
createdAt: Date;
|
|
102
|
+
updatedAt: Date;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Form submission stored in the database
|
|
106
|
+
*/
|
|
107
|
+
type FormSubmission = {
|
|
108
|
+
id: string;
|
|
109
|
+
/** Reference to the form */
|
|
110
|
+
formId: string;
|
|
111
|
+
/** Submitted data as JSON string */
|
|
112
|
+
data: string;
|
|
113
|
+
/** Submission timestamp */
|
|
114
|
+
submittedAt: Date;
|
|
115
|
+
/** Optional user ID if authenticated */
|
|
116
|
+
submittedBy?: string;
|
|
117
|
+
/** Client IP address for rate limiting and spam protection */
|
|
118
|
+
ipAddress?: string;
|
|
119
|
+
/** User agent for analytics */
|
|
120
|
+
userAgent?: string;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Form submission with its parent form joined
|
|
124
|
+
*/
|
|
125
|
+
type FormSubmissionWithForm = FormSubmission & {
|
|
126
|
+
form?: Form;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Serialized form for API responses (dates as strings)
|
|
130
|
+
*/
|
|
131
|
+
interface SerializedForm extends Omit<Form, "createdAt" | "updatedAt" | "status"> {
|
|
132
|
+
status: Form["status"];
|
|
133
|
+
createdAt: string;
|
|
134
|
+
updatedAt: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Serialized form submission for API responses (dates as strings)
|
|
138
|
+
*/
|
|
139
|
+
interface SerializedFormSubmission extends Omit<FormSubmission, "submittedAt"> {
|
|
140
|
+
submittedAt: string;
|
|
141
|
+
}
|
|
142
|
+
/** Non-sensitive submission metadata returned by collection reads. */
|
|
143
|
+
type SerializedFormSubmissionSummary = {
|
|
144
|
+
id: string;
|
|
145
|
+
formId: string;
|
|
146
|
+
submittedAt: string;
|
|
147
|
+
submittedBy?: string;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Serialized form submission with parsed data
|
|
151
|
+
*/
|
|
152
|
+
interface SerializedFormSubmissionWithData<TData = Record<string, unknown>> extends SerializedFormSubmission {
|
|
153
|
+
/** Parsed data object (JSON.parse of data field). Null when the stored JSON is corrupted. */
|
|
154
|
+
parsedData: TData | null;
|
|
155
|
+
/** Joined form */
|
|
156
|
+
form?: SerializedForm;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Paginated list response for forms
|
|
160
|
+
*/
|
|
161
|
+
interface PaginatedForms {
|
|
162
|
+
items: SerializedForm[];
|
|
163
|
+
total: number;
|
|
164
|
+
limit: number;
|
|
165
|
+
offset: number;
|
|
166
|
+
}
|
|
167
|
+
/** Minimal form context carried by the submission-read response. */
|
|
168
|
+
interface SubmissionListFormContext {
|
|
169
|
+
id: string;
|
|
170
|
+
name: string;
|
|
171
|
+
createdBy?: string;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Paginated list response for form submissions
|
|
175
|
+
*/
|
|
176
|
+
interface PaginatedFormSubmissions {
|
|
177
|
+
/** Authoritative form facts returned by the submission-read operation. */
|
|
178
|
+
form: SubmissionListFormContext | null;
|
|
179
|
+
/** Metadata only. Fetch an individual submission to read its contents. */
|
|
180
|
+
items: SerializedFormSubmissionSummary[];
|
|
181
|
+
total: number;
|
|
182
|
+
limit: number;
|
|
183
|
+
offset: number;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Context passed to all backend hooks
|
|
187
|
+
*/
|
|
188
|
+
interface FormBuilderHookContext<TInput = unknown, TFacts = unknown> {
|
|
189
|
+
/** Validated operation input. */
|
|
190
|
+
readonly input: DeepReadonly<TInput>;
|
|
191
|
+
/** Trusted facts derived by the backend before authorization. */
|
|
192
|
+
readonly facts: DeepReadonly<TFacts>;
|
|
193
|
+
/** Authorized request identity, or `null` for anonymous/trusted execution. */
|
|
194
|
+
readonly identity: DeepReadonly<StackIdentity> | null;
|
|
195
|
+
/** Request when invoked through HTTP or `forRequest()`. */
|
|
196
|
+
readonly request?: Request;
|
|
197
|
+
/** User ID if authenticated */
|
|
198
|
+
readonly userId?: string;
|
|
199
|
+
/** Request headers */
|
|
200
|
+
readonly headers?: Headers;
|
|
201
|
+
/** Client IP address (for rate limiting) */
|
|
202
|
+
readonly ipAddress?: string;
|
|
203
|
+
/** User agent string */
|
|
204
|
+
readonly userAgent?: string;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Context for submission-specific hooks
|
|
208
|
+
*/
|
|
209
|
+
interface SubmissionHookContext<TInput = unknown, TFacts = unknown> extends FormBuilderHookContext<TInput, TFacts> {
|
|
210
|
+
/** Form slug being submitted */
|
|
211
|
+
readonly formSlug: string;
|
|
212
|
+
/** Form ID */
|
|
213
|
+
readonly formId: string;
|
|
214
|
+
}
|
|
215
|
+
type FormReadFacts = PermissionFactsFor<typeof formBuilderPermissions.form.read>;
|
|
216
|
+
type FormRenderFacts = PermissionFactsFor<typeof formBuilderPermissions.form.render>;
|
|
217
|
+
type FormCreateFacts = PermissionFactsFor<typeof formBuilderPermissions.form.create>;
|
|
218
|
+
type FormUpdateFacts = PermissionFactsFor<typeof formBuilderPermissions.form.update>;
|
|
219
|
+
type FormDeleteFacts = PermissionFactsFor<typeof formBuilderPermissions.form.delete>;
|
|
220
|
+
type SubmissionCreateFacts = PermissionFactsFor<typeof formBuilderPermissions.submission.create>;
|
|
221
|
+
type SubmissionReadFacts = PermissionFactsFor<typeof formBuilderPermissions.submission.read>;
|
|
222
|
+
type SubmissionDeleteFacts = PermissionFactsFor<typeof formBuilderPermissions.submission.delete>;
|
|
223
|
+
/** Authorized form-list lifecycle context. */
|
|
224
|
+
type FormListOperationContext = FormBuilderHookContext<ListFormsQuery, FormReadFacts>;
|
|
225
|
+
/** Authorized form-detail lifecycle context. */
|
|
226
|
+
type FormGetOperationContext = FormBuilderHookContext<{
|
|
227
|
+
id: string;
|
|
228
|
+
}, FormReadFacts> | FormBuilderHookContext<{
|
|
229
|
+
slug: string;
|
|
230
|
+
}, FormRenderFacts>;
|
|
231
|
+
/** Authorized editor-data lifecycle context. */
|
|
232
|
+
type FormGetForUpdateOperationContext = FormBuilderHookContext<{
|
|
233
|
+
id: string;
|
|
234
|
+
}, FormUpdateFacts>;
|
|
235
|
+
/** Authorized form-create lifecycle context. */
|
|
236
|
+
type FormCreateOperationContext = FormBuilderHookContext<CreateFormInput, FormCreateFacts>;
|
|
237
|
+
/** Authorized form-update lifecycle context. */
|
|
238
|
+
type FormUpdateOperationContext = FormBuilderHookContext<{
|
|
239
|
+
id: string;
|
|
240
|
+
data: UpdateFormInput;
|
|
241
|
+
}, FormUpdateFacts>;
|
|
242
|
+
/** Authorized form-delete lifecycle context. */
|
|
243
|
+
type FormDeleteOperationContext = FormBuilderHookContext<{
|
|
244
|
+
id: string;
|
|
245
|
+
}, FormDeleteFacts>;
|
|
246
|
+
/** Authorized public submission lifecycle context. */
|
|
247
|
+
type SubmissionCreateOperationContext = SubmissionHookContext<{
|
|
248
|
+
slug: string;
|
|
249
|
+
} & SubmitFormInput, SubmissionCreateFacts>;
|
|
250
|
+
/** Authorized submission-list lifecycle context. */
|
|
251
|
+
type SubmissionListOperationContext = FormBuilderHookContext<{
|
|
252
|
+
formId: string;
|
|
253
|
+
query: ListSubmissionsQuery;
|
|
254
|
+
}, SubmissionReadFacts>;
|
|
255
|
+
/** Authorized submission-detail lifecycle context. */
|
|
256
|
+
type SubmissionGetOperationContext = FormBuilderHookContext<{
|
|
257
|
+
formId: string;
|
|
258
|
+
submissionId: string;
|
|
259
|
+
}, SubmissionReadFacts>;
|
|
260
|
+
/** Authorized submission-delete lifecycle context. */
|
|
261
|
+
type SubmissionDeleteOperationContext = FormBuilderHookContext<{
|
|
262
|
+
formId: string;
|
|
263
|
+
submissionId: string;
|
|
264
|
+
}, SubmissionDeleteFacts>;
|
|
265
|
+
/** Typed context union used by the cross-operation error hook. */
|
|
266
|
+
type FormBuilderOperationHookContext = FormListOperationContext | FormGetOperationContext | FormGetForUpdateOperationContext | FormCreateOperationContext | FormUpdateOperationContext | FormDeleteOperationContext | SubmissionCreateOperationContext | SubmissionListOperationContext | SubmissionGetOperationContext | SubmissionDeleteOperationContext;
|
|
267
|
+
/**
|
|
268
|
+
* Input data for creating a form
|
|
269
|
+
*/
|
|
270
|
+
interface FormInput {
|
|
271
|
+
name: string;
|
|
272
|
+
slug: string;
|
|
273
|
+
description?: string;
|
|
274
|
+
schema: string;
|
|
275
|
+
successMessage?: string;
|
|
276
|
+
redirectUrl?: string;
|
|
277
|
+
status?: "active" | "inactive" | "archived";
|
|
278
|
+
createdBy?: string;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Input data for updating a form
|
|
282
|
+
*/
|
|
283
|
+
interface FormUpdate {
|
|
284
|
+
name?: string;
|
|
285
|
+
slug?: string;
|
|
286
|
+
description?: string;
|
|
287
|
+
schema?: string;
|
|
288
|
+
successMessage?: string;
|
|
289
|
+
redirectUrl?: string;
|
|
290
|
+
status?: "active" | "inactive" | "archived";
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Backend hooks for Form Builder plugin
|
|
294
|
+
*
|
|
295
|
+
* Authorization runs before these hooks. Hooks receive trusted typed operation
|
|
296
|
+
* context and can enforce domain invariants or perform lifecycle behavior.
|
|
297
|
+
*/
|
|
298
|
+
interface FormBuilderBackendHooks {
|
|
299
|
+
/** Called before listing forms to enforce domain preconditions. */
|
|
300
|
+
onBeforeListForms?: (ctx: FormListOperationContext) => Promise<void> | void;
|
|
301
|
+
/** Called before creating a form. Throw an error to deny, or return modified data. */
|
|
302
|
+
onBeforeCreateForm?: (data: FormInput, ctx: FormCreateOperationContext) => Promise<FormInput | void> | FormInput | void;
|
|
303
|
+
/** Called after a form is created */
|
|
304
|
+
onAfterCreateForm?: (form: SerializedForm, ctx: FormCreateOperationContext) => Promise<void> | void;
|
|
305
|
+
/** Called before getting a form by ID or slug. */
|
|
306
|
+
onBeforeGetForm?: (idOrSlug: string, ctx: FormGetOperationContext) => Promise<void> | void;
|
|
307
|
+
/** Called before loading editor data through the form update permission. */
|
|
308
|
+
onBeforeGetFormForUpdate?: (id: string, ctx: FormGetForUpdateOperationContext) => Promise<void> | void;
|
|
309
|
+
/** Called before updating a form. Throw an error to deny, or return modified data. */
|
|
310
|
+
onBeforeUpdateForm?: (id: string, data: FormUpdate, ctx: FormUpdateOperationContext) => Promise<FormUpdate | void> | FormUpdate | void;
|
|
311
|
+
/** Called after a form is updated */
|
|
312
|
+
onAfterUpdateForm?: (form: SerializedForm, ctx: FormUpdateOperationContext) => Promise<void> | void;
|
|
313
|
+
/** Called before deleting a form. Throw an error to deny. */
|
|
314
|
+
onBeforeDeleteForm?: (id: string, ctx: FormDeleteOperationContext) => Promise<void> | void;
|
|
315
|
+
/** Called after a form is deleted */
|
|
316
|
+
onAfterDeleteForm?: (id: string, ctx: FormDeleteOperationContext) => Promise<void> | void;
|
|
317
|
+
/**
|
|
318
|
+
* Called before processing a form submission.
|
|
319
|
+
* Use for: spam protection, rate limiting, data validation/enrichment.
|
|
320
|
+
*
|
|
321
|
+
* Throw an error to reject submission (400), or return modified data to continue.
|
|
322
|
+
*/
|
|
323
|
+
onBeforeSubmission?: (formSlug: string, data: Record<string, unknown>, ctx: SubmissionCreateOperationContext) => Promise<Record<string, unknown> | void> | Record<string, unknown> | void;
|
|
324
|
+
/**
|
|
325
|
+
* Called after a submission is saved.
|
|
326
|
+
* Use for: sending emails, storing in CRM, triggering workflows.
|
|
327
|
+
*/
|
|
328
|
+
onAfterSubmission?: (submission: SerializedFormSubmission, form: SerializedForm, ctx: SubmissionCreateOperationContext) => Promise<void> | void;
|
|
329
|
+
/** Called when a submission fails */
|
|
330
|
+
onErrorSubmission?: (error: Error, formSlug: string, data: Record<string, unknown>, ctx: SubmissionCreateOperationContext) => Promise<void> | void;
|
|
331
|
+
/** Called before listing submissions to enforce domain preconditions. */
|
|
332
|
+
onBeforeListSubmissions?: (formId: string, ctx: SubmissionListOperationContext) => Promise<void> | void;
|
|
333
|
+
/** Called before getting a submission. Throw an error to deny access. */
|
|
334
|
+
onBeforeGetSubmission?: (submissionId: string, ctx: SubmissionGetOperationContext) => Promise<void> | void;
|
|
335
|
+
/** Called before deleting a submission. Throw an error to deny. */
|
|
336
|
+
onBeforeDeleteSubmission?: (submissionId: string, ctx: SubmissionDeleteOperationContext) => Promise<void> | void;
|
|
337
|
+
/** Called after a submission is deleted */
|
|
338
|
+
onAfterDeleteSubmission?: (submissionId: string, ctx: SubmissionDeleteOperationContext) => Promise<void> | void;
|
|
339
|
+
/** Called on any error */
|
|
340
|
+
onError?: (error: Error, operation: "list" | "get" | "create" | "update" | "delete" | "submit" | "listSubmissions" | "getSubmission" | "deleteSubmission", ctx: FormBuilderOperationHookContext) => Promise<void> | void;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Configuration for the Form Builder backend plugin
|
|
344
|
+
*/
|
|
345
|
+
interface FormBuilderBackendConfig {
|
|
346
|
+
/** Optional hooks for customizing behavior */
|
|
347
|
+
hooks?: FormBuilderBackendHooks;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export { listFormsQuerySchema as w, createFormSchema as x };
|
|
351
|
+
export type { Form as F, PaginatedForms as P, SerializedForm as S, SerializedFormSubmission as a, SubmissionListFormContext as b, SerializedFormSubmissionSummary as c, SerializedFormSubmissionWithData as d, PaginatedFormSubmissions as e, FormSubmission as f, FormSubmissionWithForm as g, FormBuilderBackendConfig as h, FormBuilderBackendHooks as i, FormBuilderHookContext as j, FormBuilderOperationHookContext as k, FormCreateOperationContext as l, FormDeleteOperationContext as m, FormGetOperationContext as n, FormGetForUpdateOperationContext as o, FormListOperationContext as p, FormUpdateOperationContext as q, SubmissionCreateOperationContext as r, SubmissionDeleteOperationContext as s, SubmissionGetOperationContext as t, SubmissionListOperationContext as u, SubmissionHookContext as v };
|
package/dist/tanstack/index.cjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const handlers = require('../packages/stack/src/tanstack/handlers.cjs');
|
|
4
|
+
const layout = require('../packages/stack/src/tanstack/layout.cjs');
|
|
4
5
|
const page = require('../packages/stack/src/tanstack/page.cjs');
|
|
5
6
|
const router = require('../packages/stack/src/tanstack/router.cjs');
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
exports.toTanStackHandlers = handlers.toTanStackHandlers;
|
|
11
|
+
exports.createTanStackLayout = layout.createTanStackLayout;
|
|
10
12
|
exports.createTanStackPageOptions = page.createTanStackPageOptions;
|
|
11
13
|
exports.tanstackRouter = router.tanstackRouter;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { S as StackRequestHandler, G as GetStackClient } from '../shared/stack.
|
|
1
|
+
import { S as StackRequestHandler, G as GetStackClient, R as ResolveStackClient, a as StackRouterConfig } from '../shared/stack.BRvqQWGt.cjs';
|
|
2
|
+
import { a as StackIdentity } from '../shared/stack.BYMentwB.cjs';
|
|
3
|
+
import { I as InitialIdentitySnapshot } from '../shared/stack.BSACE667.cjs';
|
|
4
|
+
import { M as MaybePromise } from '../shared/stack.CKXzdGiJ.cjs';
|
|
2
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
6
|
import { QueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { S as StackRouterConfig } from '../shared/stack.aqVZ6PEW.cjs';
|
|
5
7
|
import 'react';
|
|
8
|
+
import '../authorization/index.cjs';
|
|
9
|
+
import 'zod';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* Wires a BTST API handler to the method handler map a TanStack Start server
|
|
@@ -38,9 +42,41 @@ declare function toTanStackHandlers(handler: StackRequestHandler): {
|
|
|
38
42
|
}) => Response | Promise<Response>;
|
|
39
43
|
};
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
/** Validated identity envelope accepted by the isomorphic parent loader. */
|
|
46
|
+
type TanStackInitialIdentitySnapshot<TIdentity extends StackIdentity> = InitialIdentitySnapshot<TIdentity>;
|
|
47
|
+
/** Options for the request-aware TanStack Start identity layout factory. */
|
|
48
|
+
interface CreateTanStackLayoutOptions<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>> {
|
|
49
|
+
/**
|
|
50
|
+
* Client-callable TanStack Start server function that resolves and validates
|
|
51
|
+
* identity from the current request.
|
|
52
|
+
*/
|
|
53
|
+
getInitialIdentity: () => MaybePromise<TSnapshot>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates the loader for a TanStack Start parent route. Its result is passed
|
|
57
|
+
* to `StackProvider.initialIdentity` by the route component around `<Outlet />`.
|
|
58
|
+
*/
|
|
59
|
+
declare function createTanStackLayout<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>>(options: CreateTanStackLayoutOptions<TIdentity, TSnapshot>): {
|
|
60
|
+
loader: () => Promise<TSnapshot>;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
interface TanStackPageLoaderArgs<TContext = unknown> {
|
|
64
|
+
/** Parameters for the TanStack catch-all route. */
|
|
65
|
+
params: {
|
|
66
|
+
_splat?: string;
|
|
67
|
+
};
|
|
68
|
+
/** The current TanStack router context. */
|
|
69
|
+
context: TContext;
|
|
70
|
+
}
|
|
71
|
+
interface CreateTanStackPageOptions<TContext = unknown> {
|
|
42
72
|
/** Returns the stack client for a given QueryClient (`lib/stack-client`). */
|
|
43
73
|
getStackClient: GetStackClient;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the stack client for the isomorphic route loader. Use an
|
|
76
|
+
* isomorphic adapter when request-aware setup differs on the server and
|
|
77
|
+
* client. Defaults to `getStackClient`.
|
|
78
|
+
*/
|
|
79
|
+
getLoaderStackClient?: ResolveStackClient<TanStackPageLoaderArgs<TContext>>;
|
|
44
80
|
/**
|
|
45
81
|
* Returns the QueryClient for the current context. Defaults to the
|
|
46
82
|
* `queryClient` from the router context (set up by
|
|
@@ -48,12 +84,6 @@ interface CreateTanStackPageOptions {
|
|
|
48
84
|
*/
|
|
49
85
|
getQueryClient?: () => QueryClient;
|
|
50
86
|
}
|
|
51
|
-
interface TanStackPageLoaderArgs {
|
|
52
|
-
params: {
|
|
53
|
-
_splat?: string;
|
|
54
|
-
};
|
|
55
|
-
context?: unknown;
|
|
56
|
-
}
|
|
57
87
|
/**
|
|
58
88
|
* Creates the route options for the TanStack Start catch-all page, to spread
|
|
59
89
|
* into `createFileRoute("/pages/$")(...)`: SSR prefetch via `route.loader()`,
|
|
@@ -73,10 +103,10 @@ interface TanStackPageLoaderArgs {
|
|
|
73
103
|
* );
|
|
74
104
|
* ```
|
|
75
105
|
*/
|
|
76
|
-
declare function createTanStackPageOptions(options: CreateTanStackPageOptions): {
|
|
106
|
+
declare function createTanStackPageOptions<TContext = unknown>(options: CreateTanStackPageOptions<TContext>): {
|
|
77
107
|
readonly ssr: true;
|
|
78
108
|
readonly component: () => react_jsx_runtime.JSX.Element;
|
|
79
|
-
readonly loader: (
|
|
109
|
+
readonly loader: (loaderArgs: TanStackPageLoaderArgs<TContext>) => Promise<{
|
|
80
110
|
meta: any;
|
|
81
111
|
}>;
|
|
82
112
|
readonly head: ({ loaderData }: {
|
|
@@ -101,10 +131,10 @@ declare function createTanStackPageOptions(options: CreateTanStackPageOptions):
|
|
|
101
131
|
* ```tsx
|
|
102
132
|
* import { tanstackRouter } from "@btst/stack/tanstack";
|
|
103
133
|
*
|
|
104
|
-
* <StackProvider
|
|
134
|
+
* <StackProvider stack={clientStack} router={tanstackRouter()}>
|
|
105
135
|
* ```
|
|
106
136
|
*/
|
|
107
137
|
declare function tanstackRouter(): StackRouterConfig;
|
|
108
138
|
|
|
109
|
-
export { GetStackClient, StackRequestHandler, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
110
|
-
export type { CreateTanStackPageOptions };
|
|
139
|
+
export { GetStackClient, ResolveStackClient, StackRequestHandler, createTanStackLayout, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
140
|
+
export type { CreateTanStackLayoutOptions, CreateTanStackPageOptions, TanStackInitialIdentitySnapshot, TanStackPageLoaderArgs };
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { S as StackRequestHandler, G as GetStackClient } from '../shared/stack.
|
|
1
|
+
import { S as StackRequestHandler, G as GetStackClient, R as ResolveStackClient, a as StackRouterConfig } from '../shared/stack.BRvqQWGt.mjs';
|
|
2
|
+
import { a as StackIdentity } from '../shared/stack.BYMentwB.mjs';
|
|
3
|
+
import { I as InitialIdentitySnapshot } from '../shared/stack.CskhFw3z.mjs';
|
|
4
|
+
import { M as MaybePromise } from '../shared/stack.CKXzdGiJ.mjs';
|
|
2
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
6
|
import { QueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { S as StackRouterConfig } from '../shared/stack.aqVZ6PEW.mjs';
|
|
5
7
|
import 'react';
|
|
8
|
+
import '../authorization/index.mjs';
|
|
9
|
+
import 'zod';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* Wires a BTST API handler to the method handler map a TanStack Start server
|
|
@@ -38,9 +42,41 @@ declare function toTanStackHandlers(handler: StackRequestHandler): {
|
|
|
38
42
|
}) => Response | Promise<Response>;
|
|
39
43
|
};
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
/** Validated identity envelope accepted by the isomorphic parent loader. */
|
|
46
|
+
type TanStackInitialIdentitySnapshot<TIdentity extends StackIdentity> = InitialIdentitySnapshot<TIdentity>;
|
|
47
|
+
/** Options for the request-aware TanStack Start identity layout factory. */
|
|
48
|
+
interface CreateTanStackLayoutOptions<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>> {
|
|
49
|
+
/**
|
|
50
|
+
* Client-callable TanStack Start server function that resolves and validates
|
|
51
|
+
* identity from the current request.
|
|
52
|
+
*/
|
|
53
|
+
getInitialIdentity: () => MaybePromise<TSnapshot>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates the loader for a TanStack Start parent route. Its result is passed
|
|
57
|
+
* to `StackProvider.initialIdentity` by the route component around `<Outlet />`.
|
|
58
|
+
*/
|
|
59
|
+
declare function createTanStackLayout<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>>(options: CreateTanStackLayoutOptions<TIdentity, TSnapshot>): {
|
|
60
|
+
loader: () => Promise<TSnapshot>;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
interface TanStackPageLoaderArgs<TContext = unknown> {
|
|
64
|
+
/** Parameters for the TanStack catch-all route. */
|
|
65
|
+
params: {
|
|
66
|
+
_splat?: string;
|
|
67
|
+
};
|
|
68
|
+
/** The current TanStack router context. */
|
|
69
|
+
context: TContext;
|
|
70
|
+
}
|
|
71
|
+
interface CreateTanStackPageOptions<TContext = unknown> {
|
|
42
72
|
/** Returns the stack client for a given QueryClient (`lib/stack-client`). */
|
|
43
73
|
getStackClient: GetStackClient;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the stack client for the isomorphic route loader. Use an
|
|
76
|
+
* isomorphic adapter when request-aware setup differs on the server and
|
|
77
|
+
* client. Defaults to `getStackClient`.
|
|
78
|
+
*/
|
|
79
|
+
getLoaderStackClient?: ResolveStackClient<TanStackPageLoaderArgs<TContext>>;
|
|
44
80
|
/**
|
|
45
81
|
* Returns the QueryClient for the current context. Defaults to the
|
|
46
82
|
* `queryClient` from the router context (set up by
|
|
@@ -48,12 +84,6 @@ interface CreateTanStackPageOptions {
|
|
|
48
84
|
*/
|
|
49
85
|
getQueryClient?: () => QueryClient;
|
|
50
86
|
}
|
|
51
|
-
interface TanStackPageLoaderArgs {
|
|
52
|
-
params: {
|
|
53
|
-
_splat?: string;
|
|
54
|
-
};
|
|
55
|
-
context?: unknown;
|
|
56
|
-
}
|
|
57
87
|
/**
|
|
58
88
|
* Creates the route options for the TanStack Start catch-all page, to spread
|
|
59
89
|
* into `createFileRoute("/pages/$")(...)`: SSR prefetch via `route.loader()`,
|
|
@@ -73,10 +103,10 @@ interface TanStackPageLoaderArgs {
|
|
|
73
103
|
* );
|
|
74
104
|
* ```
|
|
75
105
|
*/
|
|
76
|
-
declare function createTanStackPageOptions(options: CreateTanStackPageOptions): {
|
|
106
|
+
declare function createTanStackPageOptions<TContext = unknown>(options: CreateTanStackPageOptions<TContext>): {
|
|
77
107
|
readonly ssr: true;
|
|
78
108
|
readonly component: () => react_jsx_runtime.JSX.Element;
|
|
79
|
-
readonly loader: (
|
|
109
|
+
readonly loader: (loaderArgs: TanStackPageLoaderArgs<TContext>) => Promise<{
|
|
80
110
|
meta: any;
|
|
81
111
|
}>;
|
|
82
112
|
readonly head: ({ loaderData }: {
|
|
@@ -101,10 +131,10 @@ declare function createTanStackPageOptions(options: CreateTanStackPageOptions):
|
|
|
101
131
|
* ```tsx
|
|
102
132
|
* import { tanstackRouter } from "@btst/stack/tanstack";
|
|
103
133
|
*
|
|
104
|
-
* <StackProvider
|
|
134
|
+
* <StackProvider stack={clientStack} router={tanstackRouter()}>
|
|
105
135
|
* ```
|
|
106
136
|
*/
|
|
107
137
|
declare function tanstackRouter(): StackRouterConfig;
|
|
108
138
|
|
|
109
|
-
export { GetStackClient, StackRequestHandler, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
110
|
-
export type { CreateTanStackPageOptions };
|
|
139
|
+
export { GetStackClient, ResolveStackClient, StackRequestHandler, createTanStackLayout, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
140
|
+
export type { CreateTanStackLayoutOptions, CreateTanStackPageOptions, TanStackInitialIdentitySnapshot, TanStackPageLoaderArgs };
|
package/dist/tanstack/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { S as StackRequestHandler, G as GetStackClient } from '../shared/stack.
|
|
1
|
+
import { S as StackRequestHandler, G as GetStackClient, R as ResolveStackClient, a as StackRouterConfig } from '../shared/stack.BRvqQWGt.js';
|
|
2
|
+
import { a as StackIdentity } from '../shared/stack.BYMentwB.js';
|
|
3
|
+
import { I as InitialIdentitySnapshot } from '../shared/stack.CxKc9evq.js';
|
|
4
|
+
import { M as MaybePromise } from '../shared/stack.CKXzdGiJ.js';
|
|
2
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
6
|
import { QueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { S as StackRouterConfig } from '../shared/stack.aqVZ6PEW.js';
|
|
5
7
|
import 'react';
|
|
8
|
+
import '../authorization/index.js';
|
|
9
|
+
import 'zod';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* Wires a BTST API handler to the method handler map a TanStack Start server
|
|
@@ -38,9 +42,41 @@ declare function toTanStackHandlers(handler: StackRequestHandler): {
|
|
|
38
42
|
}) => Response | Promise<Response>;
|
|
39
43
|
};
|
|
40
44
|
|
|
41
|
-
|
|
45
|
+
/** Validated identity envelope accepted by the isomorphic parent loader. */
|
|
46
|
+
type TanStackInitialIdentitySnapshot<TIdentity extends StackIdentity> = InitialIdentitySnapshot<TIdentity>;
|
|
47
|
+
/** Options for the request-aware TanStack Start identity layout factory. */
|
|
48
|
+
interface CreateTanStackLayoutOptions<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>> {
|
|
49
|
+
/**
|
|
50
|
+
* Client-callable TanStack Start server function that resolves and validates
|
|
51
|
+
* identity from the current request.
|
|
52
|
+
*/
|
|
53
|
+
getInitialIdentity: () => MaybePromise<TSnapshot>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates the loader for a TanStack Start parent route. Its result is passed
|
|
57
|
+
* to `StackProvider.initialIdentity` by the route component around `<Outlet />`.
|
|
58
|
+
*/
|
|
59
|
+
declare function createTanStackLayout<TIdentity extends StackIdentity, TSnapshot extends TanStackInitialIdentitySnapshot<TIdentity> = TanStackInitialIdentitySnapshot<TIdentity>>(options: CreateTanStackLayoutOptions<TIdentity, TSnapshot>): {
|
|
60
|
+
loader: () => Promise<TSnapshot>;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
interface TanStackPageLoaderArgs<TContext = unknown> {
|
|
64
|
+
/** Parameters for the TanStack catch-all route. */
|
|
65
|
+
params: {
|
|
66
|
+
_splat?: string;
|
|
67
|
+
};
|
|
68
|
+
/** The current TanStack router context. */
|
|
69
|
+
context: TContext;
|
|
70
|
+
}
|
|
71
|
+
interface CreateTanStackPageOptions<TContext = unknown> {
|
|
42
72
|
/** Returns the stack client for a given QueryClient (`lib/stack-client`). */
|
|
43
73
|
getStackClient: GetStackClient;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the stack client for the isomorphic route loader. Use an
|
|
76
|
+
* isomorphic adapter when request-aware setup differs on the server and
|
|
77
|
+
* client. Defaults to `getStackClient`.
|
|
78
|
+
*/
|
|
79
|
+
getLoaderStackClient?: ResolveStackClient<TanStackPageLoaderArgs<TContext>>;
|
|
44
80
|
/**
|
|
45
81
|
* Returns the QueryClient for the current context. Defaults to the
|
|
46
82
|
* `queryClient` from the router context (set up by
|
|
@@ -48,12 +84,6 @@ interface CreateTanStackPageOptions {
|
|
|
48
84
|
*/
|
|
49
85
|
getQueryClient?: () => QueryClient;
|
|
50
86
|
}
|
|
51
|
-
interface TanStackPageLoaderArgs {
|
|
52
|
-
params: {
|
|
53
|
-
_splat?: string;
|
|
54
|
-
};
|
|
55
|
-
context?: unknown;
|
|
56
|
-
}
|
|
57
87
|
/**
|
|
58
88
|
* Creates the route options for the TanStack Start catch-all page, to spread
|
|
59
89
|
* into `createFileRoute("/pages/$")(...)`: SSR prefetch via `route.loader()`,
|
|
@@ -73,10 +103,10 @@ interface TanStackPageLoaderArgs {
|
|
|
73
103
|
* );
|
|
74
104
|
* ```
|
|
75
105
|
*/
|
|
76
|
-
declare function createTanStackPageOptions(options: CreateTanStackPageOptions): {
|
|
106
|
+
declare function createTanStackPageOptions<TContext = unknown>(options: CreateTanStackPageOptions<TContext>): {
|
|
77
107
|
readonly ssr: true;
|
|
78
108
|
readonly component: () => react_jsx_runtime.JSX.Element;
|
|
79
|
-
readonly loader: (
|
|
109
|
+
readonly loader: (loaderArgs: TanStackPageLoaderArgs<TContext>) => Promise<{
|
|
80
110
|
meta: any;
|
|
81
111
|
}>;
|
|
82
112
|
readonly head: ({ loaderData }: {
|
|
@@ -101,10 +131,10 @@ declare function createTanStackPageOptions(options: CreateTanStackPageOptions):
|
|
|
101
131
|
* ```tsx
|
|
102
132
|
* import { tanstackRouter } from "@btst/stack/tanstack";
|
|
103
133
|
*
|
|
104
|
-
* <StackProvider
|
|
134
|
+
* <StackProvider stack={clientStack} router={tanstackRouter()}>
|
|
105
135
|
* ```
|
|
106
136
|
*/
|
|
107
137
|
declare function tanstackRouter(): StackRouterConfig;
|
|
108
138
|
|
|
109
|
-
export { GetStackClient, StackRequestHandler, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
110
|
-
export type { CreateTanStackPageOptions };
|
|
139
|
+
export { GetStackClient, ResolveStackClient, StackRequestHandler, createTanStackLayout, createTanStackPageOptions, tanstackRouter, toTanStackHandlers };
|
|
140
|
+
export type { CreateTanStackLayoutOptions, CreateTanStackPageOptions, TanStackInitialIdentitySnapshot, TanStackPageLoaderArgs };
|
package/dist/tanstack/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { toTanStackHandlers } from '../packages/stack/src/tanstack/handlers.mjs';
|
|
2
|
+
export { createTanStackLayout } from '../packages/stack/src/tanstack/layout.mjs';
|
|
2
3
|
export { createTanStackPageOptions } from '../packages/stack/src/tanstack/page.mjs';
|
|
3
4
|
export { tanstackRouter } from '../packages/stack/src/tanstack/router.mjs';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const initialIdentity = require('../packages/stack/src/shared/initial-identity.cjs');
|
|
4
|
+
|
|
5
|
+
function resolveTanStackInitialIdentity(options) {
|
|
6
|
+
return initialIdentity.resolveInitialIdentitySnapshot(options.auth, options.request);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
exports.resolveTanStackInitialIdentity = resolveTanStackInitialIdentity;
|