@btst/stack 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +2 -2
  2. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.cjs +173 -72
  3. package/dist/packages/stack/src/plugins/ai-chat/client/components/chat-layout.mjs +176 -75
  4. package/dist/plugins/ai-chat/client/components/index.d.cts +1 -1
  5. package/dist/plugins/ai-chat/client/components/index.d.mts +1 -1
  6. package/dist/plugins/ai-chat/client/components/index.d.ts +1 -1
  7. package/dist/plugins/ai-chat/client/index.d.cts +2 -2
  8. package/dist/plugins/ai-chat/client/index.d.mts +2 -2
  9. package/dist/plugins/ai-chat/client/index.d.ts +2 -2
  10. package/dist/plugins/blog/api/index.d.cts +2 -2
  11. package/dist/plugins/blog/api/index.d.mts +2 -2
  12. package/dist/plugins/blog/api/index.d.ts +2 -2
  13. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  14. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  15. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  16. package/dist/plugins/blog/client/index.d.cts +2 -2
  17. package/dist/plugins/blog/client/index.d.mts +2 -2
  18. package/dist/plugins/blog/client/index.d.ts +2 -2
  19. package/dist/plugins/blog/query-keys.d.cts +2 -2
  20. package/dist/plugins/blog/query-keys.d.mts +2 -2
  21. package/dist/plugins/blog/query-keys.d.ts +2 -2
  22. package/dist/plugins/cms/api/index.d.cts +1 -1
  23. package/dist/plugins/cms/api/index.d.mts +1 -1
  24. package/dist/plugins/cms/api/index.d.ts +1 -1
  25. package/dist/plugins/cms/query-keys.d.cts +1 -1
  26. package/dist/plugins/cms/query-keys.d.mts +1 -1
  27. package/dist/plugins/cms/query-keys.d.ts +1 -1
  28. package/dist/plugins/ui-builder/client/hooks/index.d.cts +1 -1
  29. package/dist/plugins/ui-builder/client/hooks/index.d.mts +1 -1
  30. package/dist/plugins/ui-builder/client/hooks/index.d.ts +1 -1
  31. package/dist/plugins/ui-builder/client/index.d.cts +1 -1
  32. package/dist/plugins/ui-builder/client/index.d.mts +1 -1
  33. package/dist/plugins/ui-builder/client/index.d.ts +1 -1
  34. package/dist/plugins/ui-builder/query-keys.d.cts +1 -1
  35. package/dist/plugins/ui-builder/query-keys.d.mts +1 -1
  36. package/dist/plugins/ui-builder/query-keys.d.ts +1 -1
  37. package/dist/shared/{stack.C5FZr-jJ.d.mts → stack.CHrtGKLz.d.mts} +9 -3
  38. package/dist/shared/{stack.CTneIW0u.d.mts → stack.CZ1h_T4k.d.mts} +88 -88
  39. package/dist/shared/{stack.DfrRYOIl.d.ts → stack.CnDMBj4z.d.ts} +5 -5
  40. package/dist/shared/{stack.94kN3pEK.d.mts → stack.D2y4gl03.d.mts} +5 -5
  41. package/dist/shared/{stack.D5b9l24t.d.ts → stack.DQpyA3Cq.d.ts} +88 -88
  42. package/dist/shared/{stack.Ce6V7eDj.d.cts → stack.DiYg7Jw1.d.cts} +88 -88
  43. package/dist/shared/{stack.xAiy2VtO.d.cts → stack.DzJgoNqJ.d.cts} +9 -3
  44. package/dist/shared/{stack.C-eQN_Jt.d.ts → stack.qMp2VzNw.d.ts} +9 -3
  45. package/dist/shared/{stack.BTStHVTy.d.cts → stack.rmWRtSjs.d.cts} +5 -5
  46. package/package.json +2 -2
  47. package/src/plugins/ai-chat/__tests__/classnames-overrides.test.tsx +22 -2
  48. package/src/plugins/ai-chat/__tests__/page-widget.test.tsx +103 -1
  49. package/src/plugins/ai-chat/client/components/chat-layout.tsx +197 -72
  50. package/src/plugins/ai-chat/client/localization/index.ts +4 -0
  51. package/dist/shared/{stack.CyalJ0j6.d.ts → stack.BMlTZnZp.d.ts} +16 -16
  52. package/dist/shared/{stack.D6Pg-ufX.d.cts → stack.BV0uNV4f.d.cts} +16 -16
  53. package/dist/shared/{stack.CKc_Bais.d.cts → stack.DtZgEX84.d.cts} +6 -6
  54. package/dist/shared/{stack.CKc_Bais.d.mts → stack.DtZgEX84.d.mts} +6 -6
  55. package/dist/shared/{stack.CKc_Bais.d.ts → stack.DtZgEX84.d.ts} +6 -6
  56. package/dist/shared/{stack.B8PG21zX.d.mts → stack.lsbdKRj7.d.mts} +16 -16
@@ -3,8 +3,8 @@ import * as _btst_yar from '@btst/yar';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ComponentType } from 'react';
5
5
  import { S as SerializedConversation, a as SerializedMessage, A as AiChatIdentityPartition } from '../../../shared/stack.DBH1Bjko.js';
6
- import { A as AiChatMode, a as AiChatPluginOverrides } from '../../../shared/stack.C-eQN_Jt.js';
7
- export { l as AiChatAnalyticsEvent, b as AiChatProviderConfig, c as AllowedFileType, j as ChatInput, C as ChatInterface, f as ChatLayout, g as ChatLayoutProps, i as ChatMessage, h as ChatSidebar, D as DEFAULT_ALLOWED_FILE_TYPES, k as ToolCallDisplay, T as ToolCallProps, e as ToolCallRenderer, d as ToolCallState } from '../../../shared/stack.C-eQN_Jt.js';
6
+ import { A as AiChatMode, a as AiChatPluginOverrides } from '../../../shared/stack.qMp2VzNw.js';
7
+ export { l as AiChatAnalyticsEvent, b as AiChatProviderConfig, c as AllowedFileType, j as ChatInput, C as ChatInterface, f as ChatLayout, g as ChatLayoutProps, i as ChatMessage, h as ChatSidebar, D as DEFAULT_ALLOWED_FILE_TYPES, k as ToolCallDisplay, T as ToolCallProps, e as ToolCallRenderer, d as ToolCallState } from '../../../shared/stack.qMp2VzNw.js';
8
8
  export { UIMessage } from 'ai';
9
9
  import '@btst/stack/plugins/api';
10
10
  import '@btst/stack/authorization';
@@ -1,10 +1,10 @@
1
- export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.Ce6V7eDj.cjs';
1
+ export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.DiYg7Jw1.cjs';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.Dsatjh0B.cjs';
4
4
  export { blogPermissions } from '../permissions.cjs';
5
5
  import '@btst/stack/plugins/client';
6
6
  import 'zod';
7
- import '../../../shared/stack.CKc_Bais.cjs';
7
+ import '../../../shared/stack.DtZgEX84.cjs';
8
8
  import '@btst/stack/plugins/api';
9
9
  import '../../../authorization/index.cjs';
10
10
  import 'zod/v4/core';
@@ -1,10 +1,10 @@
1
- export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.CTneIW0u.mjs';
1
+ export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.CZ1h_T4k.mjs';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.Dsatjh0B.mjs';
4
4
  export { blogPermissions } from '../permissions.mjs';
5
5
  import '@btst/stack/plugins/client';
6
6
  import 'zod';
7
- import '../../../shared/stack.CKc_Bais.mjs';
7
+ import '../../../shared/stack.DtZgEX84.mjs';
8
8
  import '@btst/stack/plugins/api';
9
9
  import '../../../authorization/index.mjs';
10
10
  import 'zod/v4/core';
@@ -1,10 +1,10 @@
1
- export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.D5b9l24t.js';
1
+ export { B as BLOG_QUERY_KEYS, i as BlogApiRouter, k as BlogBackendHooks, f as BlogBackendOptions, l as BlogCreateErrorContext, m as BlogCreateOperationContext, n as BlogCreateResultContext, o as BlogDeleteErrorContext, p as BlogDeleteOperationContext, q as BlogDeleteResultContext, r as BlogListErrorContext, s as BlogListOperationContext, t as BlogListResultContext, u as BlogNextPreviousErrorContext, v as BlogNextPreviousOperationContext, w as BlogNextPreviousResultContext, e as BlogRouteKey, x as BlogUpdateErrorContext, y as BlogUpdateOperationContext, z as BlogUpdateResultContext, C as CreatePostOperationInputSchema, N as NextPreviousPostsQuerySchema, P as PostListParams, j as PostListQuerySchema, c as PostListResult, S as SerializedNextPreviousPostsResult, A as SerializedPostListResult, U as UpdatePostOperationInputSchema, h as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.DQpyA3Cq.js';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.Dsatjh0B.js';
4
4
  export { blogPermissions } from '../permissions.js';
5
5
  import '@btst/stack/plugins/client';
6
6
  import 'zod';
7
- import '../../../shared/stack.CKc_Bais.js';
7
+ import '../../../shared/stack.DtZgEX84.js';
8
8
  import '@btst/stack/plugins/api';
9
9
  import '../../../authorization/index.js';
10
10
  import 'zod/v4/core';
@@ -1,9 +1,9 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.BTStHVTy.cjs';
1
+ export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.rmWRtSjs.cjs';
2
2
  export { useDebounce } from '@btst/stack/plugins/client/hooks';
3
3
  import '@tanstack/react-query';
4
4
  import 'zod';
5
5
  import '../../../../shared/stack.Dsatjh0B.cjs';
6
- import '../../../../shared/stack.CKc_Bais.cjs';
6
+ import '../../../../shared/stack.DtZgEX84.cjs';
7
7
 
8
8
  declare function useThrottle<T>(value: T, wait?: number): T;
9
9
 
@@ -1,9 +1,9 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.94kN3pEK.mjs';
1
+ export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.D2y4gl03.mjs';
2
2
  export { useDebounce } from '@btst/stack/plugins/client/hooks';
3
3
  import '@tanstack/react-query';
4
4
  import 'zod';
5
5
  import '../../../../shared/stack.Dsatjh0B.mjs';
6
- import '../../../../shared/stack.CKc_Bais.mjs';
6
+ import '../../../../shared/stack.DtZgEX84.mjs';
7
7
 
8
8
  declare function useThrottle<T>(value: T, wait?: number): T;
9
9
 
@@ -1,9 +1,9 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.DfrRYOIl.js';
1
+ export { P as PostCreateInput, e as PostUpdateInput, p as UseNextPreviousPostsOptions, q as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, s as UseRecentPostsOptions, t as UseRecentPostsResult, l as useCreatePost, n as useDeletePost, r as useNextPreviousPosts, g as usePost, k as usePostForm, o as usePostSearch, u as usePosts, v as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, m as useUpdatePost } from '../../../../shared/stack.CnDMBj4z.js';
2
2
  export { useDebounce } from '@btst/stack/plugins/client/hooks';
3
3
  import '@tanstack/react-query';
4
4
  import 'zod';
5
5
  import '../../../../shared/stack.Dsatjh0B.js';
6
- import '../../../../shared/stack.CKc_Bais.js';
6
+ import '../../../../shared/stack.DtZgEX84.js';
7
7
 
8
8
  declare function useThrottle<T>(value: T, wait?: number): T;
9
9
 
@@ -4,11 +4,11 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ComponentType, ReactNode } from 'react';
5
5
  import { S as SerializedPost, P as Post } from '../../../shared/stack.Dsatjh0B.cjs';
6
6
  import { N as NewPostPageComponent } from '../../../shared/stack.Bz-YPsuX.cjs';
7
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.BTStHVTy.cjs';
7
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.rmWRtSjs.cjs';
8
8
  import '@tanstack/react-query';
9
9
  import 'zod';
10
10
  import '@btst/stack/plugins/client/hooks';
11
- import '../../../shared/stack.CKc_Bais.cjs';
11
+ import '../../../shared/stack.DtZgEX84.cjs';
12
12
 
13
13
  declare const BLOG_LOCALIZATION: {
14
14
  BLOG_FORMS_TITLE_LABEL: string;
@@ -4,11 +4,11 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ComponentType, ReactNode } from 'react';
5
5
  import { S as SerializedPost, P as Post } from '../../../shared/stack.Dsatjh0B.mjs';
6
6
  import { N as NewPostPageComponent } from '../../../shared/stack.Bz-YPsuX.mjs';
7
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.94kN3pEK.mjs';
7
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.D2y4gl03.mjs';
8
8
  import '@tanstack/react-query';
9
9
  import 'zod';
10
10
  import '@btst/stack/plugins/client/hooks';
11
- import '../../../shared/stack.CKc_Bais.mjs';
11
+ import '../../../shared/stack.DtZgEX84.mjs';
12
12
 
13
13
  declare const BLOG_LOCALIZATION: {
14
14
  BLOG_FORMS_TITLE_LABEL: string;
@@ -4,11 +4,11 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ComponentType, ReactNode } from 'react';
5
5
  import { S as SerializedPost, P as Post } from '../../../shared/stack.Dsatjh0B.js';
6
6
  import { N as NewPostPageComponent } from '../../../shared/stack.Bz-YPsuX.js';
7
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.DfrRYOIl.js';
7
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.CnDMBj4z.js';
8
8
  import '@tanstack/react-query';
9
9
  import 'zod';
10
10
  import '@btst/stack/plugins/client/hooks';
11
- import '../../../shared/stack.CKc_Bais.js';
11
+ import '../../../shared/stack.DtZgEX84.js';
12
12
 
13
13
  declare const BLOG_LOCALIZATION: {
14
14
  BLOG_FORMS_TITLE_LABEL: string;
@@ -1,7 +1,7 @@
1
1
  import '@btst/stack/plugins/client';
2
- export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.Ce6V7eDj.cjs';
2
+ export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.DiYg7Jw1.cjs';
3
3
  import 'zod';
4
- import '../../shared/stack.CKc_Bais.cjs';
4
+ import '../../shared/stack.DtZgEX84.cjs';
5
5
  import '../../shared/stack.Dsatjh0B.cjs';
6
6
  import '@btst/stack/plugins/api';
7
7
  import '../../authorization/index.cjs';
@@ -1,7 +1,7 @@
1
1
  import '@btst/stack/plugins/client';
2
- export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.CTneIW0u.mjs';
2
+ export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.CZ1h_T4k.mjs';
3
3
  import 'zod';
4
- import '../../shared/stack.CKc_Bais.mjs';
4
+ import '../../shared/stack.DtZgEX84.mjs';
5
5
  import '../../shared/stack.Dsatjh0B.mjs';
6
6
  import '@btst/stack/plugins/api';
7
7
  import '../../authorization/index.mjs';
@@ -1,7 +1,7 @@
1
1
  import '@btst/stack/plugins/client';
2
- export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.D5b9l24t.js';
2
+ export { D as blogResources, d as createBlogQueryKeys } from '../../shared/stack.DQpyA3Cq.js';
3
3
  import 'zod';
4
- import '../../shared/stack.CKc_Bais.js';
4
+ import '../../shared/stack.DtZgEX84.js';
5
5
  import '../../shared/stack.Dsatjh0B.js';
6
6
  import '@btst/stack/plugins/api';
7
7
  import '../../authorization/index.js';
@@ -1,4 +1,4 @@
1
- export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.D6Pg-ufX.cjs';
1
+ export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.BV0uNV4f.cjs';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { S as SerializedContentType, a as SerializedContentItemWithType, b as ContentType, c as ContentItem, d as SerializedContentItem, e as ContentItemWithType } from '../../../shared/stack.B3_aDcYL.cjs';
4
4
  export { C as CMSBackendConfig, f as CMSBackendHooks, g as CMSCreateOperationContext, h as CMSCreateResultContext, i as CMSDeleteOperationContext, j as CMSDeleteResultContext, k as CMSOperationErrorContext, l as CMSOperationLifecycleContext, m as CMSUpdateOperationContext, n as CMSUpdateResultContext, o as ContentTypeConfig } from '../../../shared/stack.B3_aDcYL.cjs';
@@ -1,4 +1,4 @@
1
- export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.B8PG21zX.mjs';
1
+ export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.lsbdKRj7.mjs';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { S as SerializedContentType, a as SerializedContentItemWithType, b as ContentType, c as ContentItem, d as SerializedContentItem, e as ContentItemWithType } from '../../../shared/stack.B3_aDcYL.mjs';
4
4
  export { C as CMSBackendConfig, f as CMSBackendHooks, g as CMSCreateOperationContext, h as CMSCreateResultContext, i as CMSDeleteOperationContext, j as CMSDeleteResultContext, k as CMSOperationErrorContext, l as CMSOperationLifecycleContext, m as CMSUpdateOperationContext, n as CMSUpdateResultContext, o as ContentTypeConfig } from '../../../shared/stack.B3_aDcYL.mjs';
@@ -1,4 +1,4 @@
1
- export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.CyalJ0j6.js';
1
+ export { C as CMSApiRouter, b as CMSRouteKey, d as CMS_QUERY_KEYS, c as cmsBackendPlugin } from '../../../shared/stack.BMlTZnZp.js';
2
2
  import { DBAdapter } from '@btst/db';
3
3
  import { S as SerializedContentType, a as SerializedContentItemWithType, b as ContentType, c as ContentItem, d as SerializedContentItem, e as ContentItemWithType } from '../../../shared/stack.B3_aDcYL.js';
4
4
  export { C as CMSBackendConfig, f as CMSBackendHooks, g as CMSCreateOperationContext, h as CMSCreateResultContext, i as CMSDeleteOperationContext, j as CMSDeleteResultContext, k as CMSOperationErrorContext, l as CMSOperationLifecycleContext, m as CMSUpdateOperationContext, n as CMSUpdateResultContext, o as ContentTypeConfig } from '../../../shared/stack.B3_aDcYL.js';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.D6Pg-ufX.cjs';
3
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.BV0uNV4f.cjs';
4
4
  import { S as SerializedContentType, I as InverseRelation, a as SerializedContentItemWithType, P as PaginatedContentItems } from '../../shared/stack.B3_aDcYL.cjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '../../authorization/index.cjs';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.B8PG21zX.mjs';
3
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.lsbdKRj7.mjs';
4
4
  import { S as SerializedContentType, I as InverseRelation, a as SerializedContentItemWithType, P as PaginatedContentItems } from '../../shared/stack.B3_aDcYL.mjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '../../authorization/index.mjs';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.CyalJ0j6.js';
3
+ import { C as CMSApiRouter, a as ContentListDiscriminator } from '../../shared/stack.BMlTZnZp.js';
4
4
  import { S as SerializedContentType, I as InverseRelation, a as SerializedContentItemWithType, P as PaginatedContentItems } from '../../shared/stack.B3_aDcYL.js';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '../../authorization/index.js';
@@ -9,7 +9,7 @@ import '../../../../shared/stack.fdi94T4S.cjs';
9
9
  import 'react-hook-form';
10
10
  import 'react/jsx-runtime';
11
11
  import '@btst/stack/plugins/client';
12
- import '../../../../shared/stack.D6Pg-ufX.cjs';
12
+ import '../../../../shared/stack.BV0uNV4f.cjs';
13
13
  import '@btst/stack/plugins/api';
14
14
  import '../../../../authorization/index.cjs';
15
15
  import 'better-call';
@@ -9,7 +9,7 @@ import '../../../../shared/stack.fdi94T4S.mjs';
9
9
  import 'react-hook-form';
10
10
  import 'react/jsx-runtime';
11
11
  import '@btst/stack/plugins/client';
12
- import '../../../../shared/stack.B8PG21zX.mjs';
12
+ import '../../../../shared/stack.lsbdKRj7.mjs';
13
13
  import '@btst/stack/plugins/api';
14
14
  import '../../../../authorization/index.mjs';
15
15
  import 'better-call';
@@ -9,7 +9,7 @@ import '../../../../shared/stack.fdi94T4S.js';
9
9
  import 'react-hook-form';
10
10
  import 'react/jsx-runtime';
11
11
  import '@btst/stack/plugins/client';
12
- import '../../../../shared/stack.CyalJ0j6.js';
12
+ import '../../../../shared/stack.BMlTZnZp.js';
13
13
  import '@btst/stack/plugins/api';
14
14
  import '../../../../authorization/index.js';
15
15
  import 'better-call';
@@ -15,7 +15,7 @@ import '../../../shared/stack.B3_aDcYL.cjs';
15
15
  import 'react-hook-form';
16
16
  import '@tanstack/react-query';
17
17
  import '@btst/stack/plugins/client/hooks';
18
- import '../../../shared/stack.D6Pg-ufX.cjs';
18
+ import '../../../shared/stack.BV0uNV4f.cjs';
19
19
  import '@btst/stack/plugins/api';
20
20
  import '../../../authorization/index.cjs';
21
21
  import 'better-call';
@@ -15,7 +15,7 @@ import '../../../shared/stack.B3_aDcYL.mjs';
15
15
  import 'react-hook-form';
16
16
  import '@tanstack/react-query';
17
17
  import '@btst/stack/plugins/client/hooks';
18
- import '../../../shared/stack.B8PG21zX.mjs';
18
+ import '../../../shared/stack.lsbdKRj7.mjs';
19
19
  import '@btst/stack/plugins/api';
20
20
  import '../../../authorization/index.mjs';
21
21
  import 'better-call';
@@ -15,7 +15,7 @@ import '../../../shared/stack.B3_aDcYL.js';
15
15
  import 'react-hook-form';
16
16
  import '@tanstack/react-query';
17
17
  import '@btst/stack/plugins/client/hooks';
18
- import '../../../shared/stack.CyalJ0j6.js';
18
+ import '../../../shared/stack.BMlTZnZp.js';
19
19
  import '@btst/stack/plugins/api';
20
20
  import '../../../authorization/index.js';
21
21
  import 'better-call';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.D6Pg-ufX.cjs';
3
+ import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.BV0uNV4f.cjs';
4
4
  import { C as ComponentLayer, V as Variable } from '../../shared/stack.DmpPDPxA.cjs';
5
5
  import { P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B3_aDcYL.cjs';
6
6
  import { UIBuilderPageSchemaType, PaginatedUIBuilderPages, SerializedUIBuilderPage } from './index.cjs';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.B8PG21zX.mjs';
3
+ import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.lsbdKRj7.mjs';
4
4
  import { C as ComponentLayer, V as Variable } from '../../shared/stack.B1srlBud.mjs';
5
5
  import { P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B3_aDcYL.mjs';
6
6
  import { UIBuilderPageSchemaType, PaginatedUIBuilderPages, SerializedUIBuilderPage } from './index.mjs';
@@ -1,6 +1,6 @@
1
1
  import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import { createApiClient } from '@btst/stack/plugins/client';
3
- import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.CyalJ0j6.js';
3
+ import { a as ContentListDiscriminator, C as CMSApiRouter } from '../../shared/stack.BMlTZnZp.js';
4
4
  import { C as ComponentLayer, V as Variable } from '../../shared/stack.BK9Z2dcL.js';
5
5
  import { P as PaginatedContentItems, a as SerializedContentItemWithType } from '../../shared/stack.B3_aDcYL.js';
6
6
  import { UIBuilderPageSchemaType, PaginatedUIBuilderPages, SerializedUIBuilderPage } from './index.js';
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UIMessage } from 'ai';
3
- import { ComponentType, CSSProperties, FormEvent } from 'react';
3
+ import { ComponentType, CSSProperties, ReactNode, FormEvent } from 'react';
4
4
  import { PageAIContextConfig } from '../plugins/ai-chat/client/context/page-ai-context.mjs';
5
5
 
6
6
  /** Content-free usage events. No prompts, answers, page descriptions, or tool outputs. */
@@ -101,6 +101,8 @@ interface AiChatLocalization {
101
101
  A11Y_CHAT_TITLE: string;
102
102
  A11Y_CLEAR_CHAT: string;
103
103
  A11Y_CLOSE_CHAT: string;
104
+ A11Y_EXPAND_CHAT: string;
105
+ A11Y_COLLAPSE_CHAT: string;
104
106
  A11Y_OPEN_CHAT: string;
105
107
  A11Y_DISMISS_CHAT_TIP: string;
106
108
  PAGE_CONTENT_READING: string;
@@ -317,10 +319,12 @@ interface ChatLayoutBaseProps {
317
319
  interface ChatLayoutWidgetProps extends ChatLayoutBaseProps {
318
320
  /** Widget mode: compact embeddable panel with a floating trigger button */
319
321
  layout: "widget";
320
- /** Height of the widget panel. Default: `"min(600px, calc(100dvh - 112px))"` */
322
+ /** Height of the widget panel. Default: `"min(640px, calc(100dvh - 112px))"` */
321
323
  widgetHeight?: string | number;
322
- /** Width of the widget panel. Default: `"min(380px, calc(100vw - 32px))"` */
324
+ /** Width of the widget panel. Default: `"min(440px, calc(100vw - 32px))"` */
323
325
  widgetWidth?: string | number;
326
+ /** Show a button to expand the widget to the viewport. Default: false. Escape restores the compact size. */
327
+ expandable?: boolean;
324
328
  /** Fix the widget to the bottom right. Default: false (embedded). Override offsets with className or style. */
325
329
  floating?: boolean;
326
330
  /** Optional dismissible introduction shown while the widget is closed. */
@@ -341,6 +345,8 @@ interface ChatLayoutWidgetProps extends ChatLayoutBaseProps {
341
345
  * so that the built-in button does not appear alongside your own UI.
342
346
  */
343
347
  showTrigger?: boolean;
348
+ /** Icon shown in the closed widget's trigger button. Defaults to Sparkles. */
349
+ triggerIcon?: ReactNode;
344
350
  }
345
351
  interface ChatLayoutFullProps extends ChatLayoutBaseProps {
346
352
  /** Full-page mode with sidebar navigation (default) */