@btst/stack 2.9.0 → 2.9.1

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 (55) hide show
  1. package/dist/plugins/blog/api/index.d.cts +2 -2
  2. package/dist/plugins/blog/api/index.d.mts +2 -2
  3. package/dist/plugins/blog/api/index.d.ts +2 -2
  4. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  5. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  6. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  7. package/dist/plugins/blog/client/index.d.cts +2 -2
  8. package/dist/plugins/blog/client/index.d.mts +2 -2
  9. package/dist/plugins/blog/client/index.d.ts +2 -2
  10. package/dist/plugins/blog/query-keys.d.cts +2 -2
  11. package/dist/plugins/blog/query-keys.d.mts +2 -2
  12. package/dist/plugins/blog/query-keys.d.ts +2 -2
  13. package/dist/plugins/kanban/api/index.d.cts +1 -1
  14. package/dist/plugins/kanban/api/index.d.mts +1 -1
  15. package/dist/plugins/kanban/api/index.d.ts +1 -1
  16. package/dist/plugins/kanban/query-keys.d.cts +1 -1
  17. package/dist/plugins/kanban/query-keys.d.mts +1 -1
  18. package/dist/plugins/kanban/query-keys.d.ts +1 -1
  19. package/dist/plugins/media/api/adapters/s3.d.cts +1 -1
  20. package/dist/plugins/media/api/adapters/s3.d.mts +1 -1
  21. package/dist/plugins/media/api/adapters/s3.d.ts +1 -1
  22. package/dist/plugins/media/api/adapters/vercel-blob.cjs +4 -5
  23. package/dist/plugins/media/api/adapters/vercel-blob.d.cts +3 -3
  24. package/dist/plugins/media/api/adapters/vercel-blob.d.mts +3 -3
  25. package/dist/plugins/media/api/adapters/vercel-blob.d.ts +3 -3
  26. package/dist/plugins/media/api/adapters/vercel-blob.mjs +4 -5
  27. package/dist/plugins/media/api/index.d.cts +3 -3
  28. package/dist/plugins/media/api/index.d.mts +3 -3
  29. package/dist/plugins/media/api/index.d.ts +3 -3
  30. package/dist/plugins/media/query-keys.d.cts +2 -2
  31. package/dist/plugins/media/query-keys.d.mts +2 -2
  32. package/dist/plugins/media/query-keys.d.ts +2 -2
  33. package/dist/shared/{stack.DjgpFWq3.d.cts → stack.BSqJrCTM.d.cts} +5 -5
  34. package/dist/shared/{stack.D7HSzZdG.d.ts → stack.BXxrFL9R.d.ts} +5 -5
  35. package/dist/shared/{stack.CoBj86jf.d.ts → stack.BttDsJJn.d.cts} +1 -1
  36. package/dist/shared/{stack.CoBj86jf.d.cts → stack.BttDsJJn.d.mts} +1 -1
  37. package/dist/shared/{stack.CoBj86jf.d.mts → stack.BttDsJJn.d.ts} +1 -1
  38. package/dist/shared/{stack.vxskCkim.d.cts → stack.CI8iRKKi.d.cts} +1 -1
  39. package/dist/shared/{stack.BUTXWiG-.d.ts → stack.DJDjdG64.d.ts} +1 -1
  40. package/dist/shared/{stack.6mEHS2WH.d.mts → stack.DOZ1EXjM.d.mts} +3 -3
  41. package/dist/shared/{stack.AJTXI7kw.d.cts → stack.DX-tQ93o.d.cts} +3 -3
  42. package/dist/shared/{stack.IUeyQKrm.d.mts → stack.DzOhpIYM.d.mts} +5 -5
  43. package/dist/shared/{stack.C7Y9sBDg.d.mts → stack.FgBVDSPi.d.mts} +1 -1
  44. package/dist/shared/{stack.QYn-Px94.d.ts → stack.VF6FhyZw.d.ts} +3 -3
  45. package/package.json +1 -1
  46. package/src/plugins/media/__tests__/__stubs__/vercel-blob-server.ts +1 -1
  47. package/src/plugins/media/__tests__/storage-adapters.test.ts +1 -1
  48. package/src/plugins/media/api/adapters/vercel-blob.ts +7 -8
  49. package/src/plugins/media/api/storage-adapter.ts +1 -1
  50. package/dist/shared/{stack.Rtcvl8sS.d.cts → stack.B6S3cgwN.d.cts} +13 -13
  51. package/dist/shared/{stack.BQmuNl5p.d.ts → stack.BWp0hcm9.d.cts} +3 -3
  52. package/dist/shared/{stack.BQmuNl5p.d.cts → stack.BWp0hcm9.d.mts} +3 -3
  53. package/dist/shared/{stack.BQmuNl5p.d.mts → stack.BWp0hcm9.d.ts} +3 -3
  54. package/dist/shared/{stack.HE_IvqV5.d.mts → stack.Bzfx-_lq.d.mts} +13 -13
  55. package/dist/shared/{stack.D4Cea8II.d.ts → stack.j5SFLC1d.d.ts} +13 -13
@@ -1,5 +1,5 @@
1
- export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.DjgpFWq3.cjs';
2
- import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BQmuNl5p.cjs';
1
+ export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.BSqJrCTM.cjs';
2
+ import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BWp0hcm9.cjs';
3
3
  import '@tanstack/react-query';
4
4
  import '@btst/stack/plugins/client';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
- export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.IUeyQKrm.mjs';
2
- import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BQmuNl5p.mjs';
1
+ export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.DzOhpIYM.mjs';
2
+ import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BWp0hcm9.mjs';
3
3
  import '@tanstack/react-query';
4
4
  import '@btst/stack/plugins/client';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
- export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.D7HSzZdG.js';
2
- import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BQmuNl5p.js';
1
+ export { B as BLOG_QUERY_KEYS, h as BlogApiContext, k as BlogApiRouter, i as BlogBackendHooks, e as BlogRouteKey, N as NextPreviousPostsQuerySchema, P as PostListParams, f as PostListQuerySchema, c as PostListResult, j as blogBackendPlugin, d as createBlogQueryKeys, g as getAllPosts, b as getAllTags, a as getPostBySlug } from '../../../shared/stack.BXxrFL9R.js';
2
+ import { P as Post, T as Tag, S as SerializedPost, a as SerializedTag } from '../../../shared/stack.BWp0hcm9.js';
3
3
  import '@tanstack/react-query';
4
4
  import '@btst/stack/plugins/client';
5
5
  import '@btst/stack/plugins/api';
@@ -1,6 +1,6 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.AJTXI7kw.cjs';
1
+ export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.DX-tQ93o.cjs';
2
2
  import '@tanstack/react-query';
3
- import '../../../../shared/stack.BQmuNl5p.cjs';
3
+ import '../../../../shared/stack.BWp0hcm9.cjs';
4
4
  import 'zod';
5
5
 
6
6
  declare function useDebounce<T>(value: T, delay?: number): T;
@@ -1,6 +1,6 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.6mEHS2WH.mjs';
1
+ export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.DOZ1EXjM.mjs';
2
2
  import '@tanstack/react-query';
3
- import '../../../../shared/stack.BQmuNl5p.mjs';
3
+ import '../../../../shared/stack.BWp0hcm9.mjs';
4
4
  import 'zod';
5
5
 
6
6
  declare function useDebounce<T>(value: T, delay?: number): T;
@@ -1,6 +1,6 @@
1
- export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.QYn-Px94.js';
1
+ export { P as PostCreateInput, e as PostUpdateInput, o as UseNextPreviousPostsOptions, p as UseNextPreviousPostsResult, d as UsePostResult, b as UsePostSearchOptions, c as UsePostSearchResult, U as UsePostsOptions, a as UsePostsResult, r as UseRecentPostsOptions, s as UseRecentPostsResult, k as useCreatePost, m as useDeletePost, q as useNextPreviousPosts, g as usePost, n as usePostSearch, u as usePosts, t as useRecentPosts, h as useSuspensePost, f as useSuspensePosts, j as useSuspenseTags, i as useTags, l as useUpdatePost } from '../../../../shared/stack.VF6FhyZw.js';
2
2
  import '@tanstack/react-query';
3
- import '../../../../shared/stack.BQmuNl5p.js';
3
+ import '../../../../shared/stack.BWp0hcm9.js';
4
4
  import 'zod';
5
5
 
6
6
  declare function useDebounce<T>(value: T, delay?: number): T;
@@ -2,8 +2,8 @@ import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import * as _btst_yar from '@btst/yar';
3
3
  import { ComponentType, ReactNode } from 'react';
4
4
  import { QueryClient } from '@tanstack/react-query';
5
- import { P as Post, S as SerializedPost } from '../../../shared/stack.BQmuNl5p.cjs';
6
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.AJTXI7kw.cjs';
5
+ import { P as Post, S as SerializedPost } from '../../../shared/stack.BWp0hcm9.cjs';
6
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.DX-tQ93o.cjs';
7
7
  import 'zod';
8
8
 
9
9
  /**
@@ -2,8 +2,8 @@ import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import * as _btst_yar from '@btst/yar';
3
3
  import { ComponentType, ReactNode } from 'react';
4
4
  import { QueryClient } from '@tanstack/react-query';
5
- import { P as Post, S as SerializedPost } from '../../../shared/stack.BQmuNl5p.mjs';
6
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.6mEHS2WH.mjs';
5
+ import { P as Post, S as SerializedPost } from '../../../shared/stack.BWp0hcm9.mjs';
6
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.DOZ1EXjM.mjs';
7
7
  import 'zod';
8
8
 
9
9
  /**
@@ -2,8 +2,8 @@ import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
2
  import * as _btst_yar from '@btst/yar';
3
3
  import { ComponentType, ReactNode } from 'react';
4
4
  import { QueryClient } from '@tanstack/react-query';
5
- import { P as Post, S as SerializedPost } from '../../../shared/stack.BQmuNl5p.js';
6
- export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.QYn-Px94.js';
5
+ import { P as Post, S as SerializedPost } from '../../../shared/stack.BWp0hcm9.js';
6
+ export { U as UsePostsOptions, a as UsePostsResult } from '../../../shared/stack.VF6FhyZw.js';
7
7
  import 'zod';
8
8
 
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import '@tanstack/react-query';
2
- export { d as createBlogQueryKeys } from '../../shared/stack.DjgpFWq3.cjs';
2
+ export { d as createBlogQueryKeys } from '../../shared/stack.BSqJrCTM.cjs';
3
3
  import '@btst/stack/plugins/client';
4
- import '../../shared/stack.BQmuNl5p.cjs';
4
+ import '../../shared/stack.BWp0hcm9.cjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '@btst/db';
7
7
  import 'better-call';
@@ -1,7 +1,7 @@
1
1
  import '@tanstack/react-query';
2
- export { d as createBlogQueryKeys } from '../../shared/stack.IUeyQKrm.mjs';
2
+ export { d as createBlogQueryKeys } from '../../shared/stack.DzOhpIYM.mjs';
3
3
  import '@btst/stack/plugins/client';
4
- import '../../shared/stack.BQmuNl5p.mjs';
4
+ import '../../shared/stack.BWp0hcm9.mjs';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '@btst/db';
7
7
  import 'better-call';
@@ -1,7 +1,7 @@
1
1
  import '@tanstack/react-query';
2
- export { d as createBlogQueryKeys } from '../../shared/stack.D7HSzZdG.js';
2
+ export { d as createBlogQueryKeys } from '../../shared/stack.BXxrFL9R.js';
3
3
  import '@btst/stack/plugins/client';
4
- import '../../shared/stack.BQmuNl5p.js';
4
+ import '../../shared/stack.BWp0hcm9.js';
5
5
  import '@btst/stack/plugins/api';
6
6
  import '@btst/db';
7
7
  import 'better-call';
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.Rtcvl8sS.cjs';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.B6S3cgwN.cjs';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.cjs';
3
3
  import '@btst/stack/plugins/api';
4
4
  import '@btst/db';
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.HE_IvqV5.mjs';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.Bzfx-_lq.mjs';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.mjs';
3
3
  import '@btst/stack/plugins/api';
4
4
  import '@btst/db';
@@ -1,4 +1,4 @@
1
- export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.D4Cea8II.js';
1
+ export { B as BoardListResult, C as CreateKanbanTaskInput, i as KANBAN_QUERY_KEYS, b as KanbanApiContext, K as KanbanApiRouter, c as KanbanBackendHooks, a as KanbanRouteKey, e as createKanbanTask, f as findOrCreateKanbanBoard, g as getAllBoards, d as getBoardById, h as getKanbanColumnsByBoardId, k as kanbanBackendPlugin } from '../../../shared/stack.j5SFLC1d.js';
2
2
  import { B as BoardWithColumns, S as SerializedBoardWithColumns, C as ColumnWithTasks, a as SerializedColumn, T as Task, b as SerializedTask } from '../../../shared/stack.DJaKVY7v.js';
3
3
  import '@btst/stack/plugins/api';
4
4
  import '@btst/db';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.Rtcvl8sS.cjs';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.B6S3cgwN.cjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.cjs';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.HE_IvqV5.mjs';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.Bzfx-_lq.mjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.mjs';
5
5
  import '@btst/stack/plugins/api';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.D4Cea8II.js';
2
+ import { K as KanbanApiRouter, j as BoardsListDiscriminator } from '../../shared/stack.j5SFLC1d.js';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedBoardWithColumns } from '../../shared/stack.DJaKVY7v.js';
5
5
  import '@btst/stack/plugins/api';
@@ -1,4 +1,4 @@
1
- import { S as S3StorageAdapter } from '../../../../shared/stack.CoBj86jf.cjs';
1
+ import { S as S3StorageAdapter } from '../../../../shared/stack.BttDsJJn.cjs';
2
2
 
3
3
  interface S3StorageAdapterOptions {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as S3StorageAdapter } from '../../../../shared/stack.CoBj86jf.mjs';
1
+ import { S as S3StorageAdapter } from '../../../../shared/stack.BttDsJJn.mjs';
2
2
 
3
3
  interface S3StorageAdapterOptions {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as S3StorageAdapter } from '../../../../shared/stack.CoBj86jf.js';
1
+ import { S as S3StorageAdapter } from '../../../../shared/stack.BttDsJJn.js';
2
2
 
3
3
  interface S3StorageAdapterOptions {
4
4
  /**
@@ -7,15 +7,14 @@ function vercelBlobAdapter(options = {}) {
7
7
  async handleRequest(request, callbacks) {
8
8
  let handleUpload;
9
9
  try {
10
- const vercelBlobServer = (
10
+ const vercelBlobClient = (
11
11
  /* @vite-ignore */
12
- // @ts-expect-error — @vercel/blob/server may not be exported in all installed versions
13
- await import('@vercel/blob/server')
12
+ await import('@vercel/blob/client')
14
13
  );
15
- ({ handleUpload } = vercelBlobServer);
14
+ ({ handleUpload } = vercelBlobClient);
16
15
  } catch {
17
16
  throw new Error(
18
- "[@btst/stack] Vercel Blob adapter requires '@vercel/blob' with 'handleUpload' exported from '@vercel/blob/server'. Run: npm install @vercel/blob"
17
+ "[@btst/stack] Vercel Blob adapter requires '@vercel/blob' with 'handleUpload' exported from '@vercel/blob/client'. Run: npm install @vercel/blob"
19
18
  );
20
19
  }
21
20
  const body = await request.json();
@@ -1,4 +1,4 @@
1
- import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.CoBj86jf.cjs';
1
+ import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.BttDsJJn.cjs';
2
2
 
3
3
  interface VercelBlobStorageAdapterOptions {
4
4
  /**
@@ -11,11 +11,11 @@ interface VercelBlobStorageAdapterOptions {
11
11
  /**
12
12
  * Create a Vercel Blob storage adapter using the signed direct-upload protocol.
13
13
  * The server never receives file bytes — it only issues short-lived client tokens
14
- * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/server`
14
+ * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/client`
15
15
  * in compatible versions).
16
16
  *
17
17
  * @remarks Requires `@vercel/blob` as an optional peer dependency (version
18
- * with `handleUpload` exported from `@vercel/blob/server`).
18
+ * with `handleUpload` exported from `@vercel/blob/client`).
19
19
  *
20
20
  * Upload flow:
21
21
  * 1. Client calls `POST /media/upload/vercel-blob` to obtain a client token.
@@ -1,4 +1,4 @@
1
- import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.CoBj86jf.mjs';
1
+ import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.BttDsJJn.mjs';
2
2
 
3
3
  interface VercelBlobStorageAdapterOptions {
4
4
  /**
@@ -11,11 +11,11 @@ interface VercelBlobStorageAdapterOptions {
11
11
  /**
12
12
  * Create a Vercel Blob storage adapter using the signed direct-upload protocol.
13
13
  * The server never receives file bytes — it only issues short-lived client tokens
14
- * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/server`
14
+ * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/client`
15
15
  * in compatible versions).
16
16
  *
17
17
  * @remarks Requires `@vercel/blob` as an optional peer dependency (version
18
- * with `handleUpload` exported from `@vercel/blob/server`).
18
+ * with `handleUpload` exported from `@vercel/blob/client`).
19
19
  *
20
20
  * Upload flow:
21
21
  * 1. Client calls `POST /media/upload/vercel-blob` to obtain a client token.
@@ -1,4 +1,4 @@
1
- import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.CoBj86jf.js';
1
+ import { V as VercelBlobStorageAdapter } from '../../../../shared/stack.BttDsJJn.js';
2
2
 
3
3
  interface VercelBlobStorageAdapterOptions {
4
4
  /**
@@ -11,11 +11,11 @@ interface VercelBlobStorageAdapterOptions {
11
11
  /**
12
12
  * Create a Vercel Blob storage adapter using the signed direct-upload protocol.
13
13
  * The server never receives file bytes — it only issues short-lived client tokens
14
- * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/server`
14
+ * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/client`
15
15
  * in compatible versions).
16
16
  *
17
17
  * @remarks Requires `@vercel/blob` as an optional peer dependency (version
18
- * with `handleUpload` exported from `@vercel/blob/server`).
18
+ * with `handleUpload` exported from `@vercel/blob/client`).
19
19
  *
20
20
  * Upload flow:
21
21
  * 1. Client calls `POST /media/upload/vercel-blob` to obtain a client token.
@@ -5,15 +5,14 @@ function vercelBlobAdapter(options = {}) {
5
5
  async handleRequest(request, callbacks) {
6
6
  let handleUpload;
7
7
  try {
8
- const vercelBlobServer = (
8
+ const vercelBlobClient = (
9
9
  /* @vite-ignore */
10
- // @ts-expect-error — @vercel/blob/server may not be exported in all installed versions
11
- await import('@vercel/blob/server')
10
+ await import('@vercel/blob/client')
12
11
  );
13
- ({ handleUpload } = vercelBlobServer);
12
+ ({ handleUpload } = vercelBlobClient);
14
13
  } catch {
15
14
  throw new Error(
16
- "[@btst/stack] Vercel Blob adapter requires '@vercel/blob' with 'handleUpload' exported from '@vercel/blob/server'. Run: npm install @vercel/blob"
15
+ "[@btst/stack] Vercel Blob adapter requires '@vercel/blob' with 'handleUpload' exported from '@vercel/blob/client'. Run: npm install @vercel/blob"
17
16
  );
18
17
  }
19
18
  const body = await request.json();
@@ -1,9 +1,9 @@
1
- export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.vxskCkim.cjs';
1
+ export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.CI8iRKKi.cjs';
2
2
  export { A as AssetListParams, c as AssetListResult, F as FolderListParams, g as getAssetById, b as getFolderById, l as listAssets, a as listFolders } from '../../../shared/stack.CAni8dnD.cjs';
3
3
  import { DBAdapter } from '@btst/db';
4
4
  import { A as Asset, F as Folder, S as SerializedAsset, a as SerializedFolder } from '../../../shared/stack.CLcnSF_b.cjs';
5
- import { D as DirectStorageAdapter } from '../../../shared/stack.CoBj86jf.cjs';
6
- export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.CoBj86jf.cjs';
5
+ import { D as DirectStorageAdapter } from '../../../shared/stack.BttDsJJn.cjs';
6
+ export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.BttDsJJn.cjs';
7
7
  import '@btst/stack/plugins/api';
8
8
  import 'better-call';
9
9
  import 'zod';
@@ -1,9 +1,9 @@
1
- export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.C7Y9sBDg.mjs';
1
+ export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.FgBVDSPi.mjs';
2
2
  export { A as AssetListParams, c as AssetListResult, F as FolderListParams, g as getAssetById, b as getFolderById, l as listAssets, a as listFolders } from '../../../shared/stack.C7vfOBmO.mjs';
3
3
  import { DBAdapter } from '@btst/db';
4
4
  import { A as Asset, F as Folder, S as SerializedAsset, a as SerializedFolder } from '../../../shared/stack.CLcnSF_b.mjs';
5
- import { D as DirectStorageAdapter } from '../../../shared/stack.CoBj86jf.mjs';
6
- export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.CoBj86jf.mjs';
5
+ import { D as DirectStorageAdapter } from '../../../shared/stack.BttDsJJn.mjs';
6
+ export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.BttDsJJn.mjs';
7
7
  import '@btst/stack/plugins/api';
8
8
  import 'better-call';
9
9
  import 'zod';
@@ -1,9 +1,9 @@
1
- export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.BUTXWiG-.js';
1
+ export { a as MEDIA_QUERY_KEYS, c as MediaApiContext, M as MediaApiRouter, e as MediaBackendConfig, d as MediaBackendHooks, b as assetListDiscriminator, m as mediaBackendPlugin } from '../../../shared/stack.DJDjdG64.js';
2
2
  export { A as AssetListParams, c as AssetListResult, F as FolderListParams, g as getAssetById, b as getFolderById, l as listAssets, a as listFolders } from '../../../shared/stack.CYSwntXC.js';
3
3
  import { DBAdapter } from '@btst/db';
4
4
  import { A as Asset, F as Folder, S as SerializedAsset, a as SerializedFolder } from '../../../shared/stack.CLcnSF_b.js';
5
- import { D as DirectStorageAdapter } from '../../../shared/stack.CoBj86jf.js';
6
- export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.CoBj86jf.js';
5
+ import { D as DirectStorageAdapter } from '../../../shared/stack.BttDsJJn.js';
6
+ export { S as S3StorageAdapter, b as S3UploadToken, a as StorageAdapter, U as UploadOptions, c as VercelBlobHandlerCallbacks, V as VercelBlobStorageAdapter } from '../../../shared/stack.BttDsJJn.js';
7
7
  import '@btst/stack/plugins/api';
8
8
  import 'better-call';
9
9
  import 'zod';
@@ -1,10 +1,10 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.vxskCkim.cjs';
2
+ import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.CI8iRKKi.cjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedAsset, a as SerializedFolder } from '../../shared/stack.CLcnSF_b.cjs';
5
5
  import { A as AssetListParams } from '../../shared/stack.CAni8dnD.cjs';
6
6
  import '@btst/stack/plugins/api';
7
- import '../../shared/stack.CoBj86jf.cjs';
7
+ import '../../shared/stack.BttDsJJn.cjs';
8
8
  import 'better-call';
9
9
  import 'zod';
10
10
  import '@btst/db';
@@ -1,10 +1,10 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.C7Y9sBDg.mjs';
2
+ import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.FgBVDSPi.mjs';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedAsset, a as SerializedFolder } from '../../shared/stack.CLcnSF_b.mjs';
5
5
  import { A as AssetListParams } from '../../shared/stack.C7vfOBmO.mjs';
6
6
  import '@btst/stack/plugins/api';
7
- import '../../shared/stack.CoBj86jf.mjs';
7
+ import '../../shared/stack.BttDsJJn.mjs';
8
8
  import 'better-call';
9
9
  import 'zod';
10
10
  import '@btst/db';
@@ -1,10 +1,10 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.BUTXWiG-.js';
2
+ import { M as MediaApiRouter, A as AssetListDiscriminator } from '../../shared/stack.DJDjdG64.js';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
4
  import { S as SerializedAsset, a as SerializedFolder } from '../../shared/stack.CLcnSF_b.js';
5
5
  import { A as AssetListParams } from '../../shared/stack.CYSwntXC.js';
6
6
  import '@btst/stack/plugins/api';
7
- import '../../shared/stack.CoBj86jf.js';
7
+ import '../../shared/stack.BttDsJJn.js';
8
8
  import 'better-call';
9
9
  import 'zod';
10
10
  import '@btst/db';
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BQmuNl5p.cjs';
4
+ import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BWp0hcm9.cjs';
5
5
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
6
6
  import { DBAdapter } from '@btst/db';
7
7
  import * as better_call from 'better-call';
@@ -244,11 +244,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
244
244
  slug: string;
245
245
  })[] | undefined;
246
246
  slug?: string | undefined;
247
+ published?: boolean | undefined;
248
+ publishedAt?: unknown;
247
249
  createdAt?: unknown;
248
250
  updatedAt?: unknown;
249
- publishedAt?: unknown;
250
251
  image?: string | undefined;
251
- published?: boolean | undefined;
252
252
  }, {
253
253
  title: string;
254
254
  content: string;
@@ -261,11 +261,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
261
261
  slug: string;
262
262
  })[] | undefined;
263
263
  slug?: string | undefined;
264
+ published?: boolean | undefined;
265
+ publishedAt?: unknown;
264
266
  createdAt?: unknown;
265
267
  updatedAt?: unknown;
266
- publishedAt?: unknown;
267
268
  image?: string | undefined;
268
- published?: boolean | undefined;
269
269
  }>;
270
270
  }, Post>;
271
271
  readonly updatePost: better_call.StrictEndpoint<"/posts/:id", {} & {
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BQmuNl5p.js';
4
+ import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BWp0hcm9.js';
5
5
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
6
6
  import { DBAdapter } from '@btst/db';
7
7
  import * as better_call from 'better-call';
@@ -244,11 +244,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
244
244
  slug: string;
245
245
  })[] | undefined;
246
246
  slug?: string | undefined;
247
+ published?: boolean | undefined;
248
+ publishedAt?: unknown;
247
249
  createdAt?: unknown;
248
250
  updatedAt?: unknown;
249
- publishedAt?: unknown;
250
251
  image?: string | undefined;
251
- published?: boolean | undefined;
252
252
  }, {
253
253
  title: string;
254
254
  content: string;
@@ -261,11 +261,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
261
261
  slug: string;
262
262
  })[] | undefined;
263
263
  slug?: string | undefined;
264
+ published?: boolean | undefined;
265
+ publishedAt?: unknown;
264
266
  createdAt?: unknown;
265
267
  updatedAt?: unknown;
266
- publishedAt?: unknown;
267
268
  image?: string | undefined;
268
- published?: boolean | undefined;
269
269
  }>;
270
270
  }, Post>;
271
271
  readonly updatePost: better_call.StrictEndpoint<"/posts/:id", {} & {
@@ -81,7 +81,7 @@ interface VercelBlobHandlerCallbacks {
81
81
  onBeforeGenerateToken?: (pathname: string, clientPayload: string | null) => Promise<VercelBlobTokenOptions | void> | VercelBlobTokenOptions | void;
82
82
  }
83
83
  /**
84
- * Vercel Blob storage adapter — uses the `@vercel/blob/server` `handleUpload`
84
+ * Vercel Blob storage adapter — uses the `@vercel/blob/client` `handleUpload`
85
85
  * protocol. The same endpoint handles both token generation and upload
86
86
  * completion notifications from Vercel's servers.
87
87
  */
@@ -81,7 +81,7 @@ interface VercelBlobHandlerCallbacks {
81
81
  onBeforeGenerateToken?: (pathname: string, clientPayload: string | null) => Promise<VercelBlobTokenOptions | void> | VercelBlobTokenOptions | void;
82
82
  }
83
83
  /**
84
- * Vercel Blob storage adapter — uses the `@vercel/blob/server` `handleUpload`
84
+ * Vercel Blob storage adapter — uses the `@vercel/blob/client` `handleUpload`
85
85
  * protocol. The same endpoint handles both token generation and upload
86
86
  * completion notifications from Vercel's servers.
87
87
  */
@@ -81,7 +81,7 @@ interface VercelBlobHandlerCallbacks {
81
81
  onBeforeGenerateToken?: (pathname: string, clientPayload: string | null) => Promise<VercelBlobTokenOptions | void> | VercelBlobTokenOptions | void;
82
82
  }
83
83
  /**
84
- * Vercel Blob storage adapter — uses the `@vercel/blob/server` `handleUpload`
84
+ * Vercel Blob storage adapter — uses the `@vercel/blob/client` `handleUpload`
85
85
  * protocol. The same endpoint handles both token generation and upload
86
86
  * completion notifications from Vercel's servers.
87
87
  */
@@ -1,5 +1,5 @@
1
1
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
2
- import { a as StorageAdapter, b as S3UploadToken } from './stack.CoBj86jf.cjs';
2
+ import { a as StorageAdapter, b as S3UploadToken } from './stack.BttDsJJn.cjs';
3
3
  import { c as AssetListResult, l as listAssets, a as listFolders, A as AssetListParams } from './stack.CAni8dnD.cjs';
4
4
  import * as better_call from 'better-call';
5
5
  import { z } from 'zod';
@@ -1,5 +1,5 @@
1
1
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
2
- import { a as StorageAdapter, b as S3UploadToken } from './stack.CoBj86jf.js';
2
+ import { a as StorageAdapter, b as S3UploadToken } from './stack.BttDsJJn.js';
3
3
  import { c as AssetListResult, l as listAssets, a as listFolders, A as AssetListParams } from './stack.CYSwntXC.js';
4
4
  import * as better_call from 'better-call';
5
5
  import { z } from 'zod';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BQmuNl5p.mjs';
2
+ import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BWp0hcm9.mjs';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /**
@@ -135,14 +135,14 @@ declare function useCreatePost(): _tanstack_react_query.UseMutationResult<Serial
135
135
  name: string;
136
136
  slug: string;
137
137
  })[];
138
+ published: boolean;
138
139
  title: string;
139
140
  content: string;
140
141
  excerpt: string;
141
- published: boolean;
142
142
  slug?: string | undefined;
143
+ publishedAt?: Date | undefined;
143
144
  createdAt?: Date | undefined;
144
145
  updatedAt?: Date | undefined;
145
- publishedAt?: Date | undefined;
146
146
  image?: string | undefined;
147
147
  }, unknown>;
148
148
  /** Update an existing post by id */
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BQmuNl5p.cjs';
2
+ import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BWp0hcm9.cjs';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /**
@@ -135,14 +135,14 @@ declare function useCreatePost(): _tanstack_react_query.UseMutationResult<Serial
135
135
  name: string;
136
136
  slug: string;
137
137
  })[];
138
+ published: boolean;
138
139
  title: string;
139
140
  content: string;
140
141
  excerpt: string;
141
- published: boolean;
142
142
  slug?: string | undefined;
143
+ publishedAt?: Date | undefined;
143
144
  createdAt?: Date | undefined;
144
145
  updatedAt?: Date | undefined;
145
- publishedAt?: Date | undefined;
146
146
  image?: string | undefined;
147
147
  }, unknown>;
148
148
  /** Update an existing post by id */
@@ -1,7 +1,7 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
2
  import { QueryClient } from '@tanstack/react-query';
3
3
  import { createApiClient } from '@btst/stack/plugins/client';
4
- import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BQmuNl5p.mjs';
4
+ import { P as Post, T as Tag, c as createPostSchema, u as updatePostSchema, S as SerializedPost, a as SerializedTag } from './stack.BWp0hcm9.mjs';
5
5
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
6
6
  import { DBAdapter } from '@btst/db';
7
7
  import * as better_call from 'better-call';
@@ -244,11 +244,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
244
244
  slug: string;
245
245
  })[] | undefined;
246
246
  slug?: string | undefined;
247
+ published?: boolean | undefined;
248
+ publishedAt?: unknown;
247
249
  createdAt?: unknown;
248
250
  updatedAt?: unknown;
249
- publishedAt?: unknown;
250
251
  image?: string | undefined;
251
- published?: boolean | undefined;
252
252
  }, {
253
253
  title: string;
254
254
  content: string;
@@ -261,11 +261,11 @@ declare const blogBackendPlugin: (hooks?: BlogBackendHooks) => _btst_stack_plugi
261
261
  slug: string;
262
262
  })[] | undefined;
263
263
  slug?: string | undefined;
264
+ published?: boolean | undefined;
265
+ publishedAt?: unknown;
264
266
  createdAt?: unknown;
265
267
  updatedAt?: unknown;
266
- publishedAt?: unknown;
267
268
  image?: string | undefined;
268
- published?: boolean | undefined;
269
269
  }>;
270
270
  }, Post>;
271
271
  readonly updatePost: better_call.StrictEndpoint<"/posts/:id", {} & {
@@ -1,5 +1,5 @@
1
1
  import * as _btst_stack_plugins_api from '@btst/stack/plugins/api';
2
- import { a as StorageAdapter, b as S3UploadToken } from './stack.CoBj86jf.mjs';
2
+ import { a as StorageAdapter, b as S3UploadToken } from './stack.BttDsJJn.mjs';
3
3
  import { c as AssetListResult, l as listAssets, a as listFolders, A as AssetListParams } from './stack.C7vfOBmO.mjs';
4
4
  import * as better_call from 'better-call';
5
5
  import { z } from 'zod';
@@ -1,5 +1,5 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BQmuNl5p.js';
2
+ import { S as SerializedPost, c as createPostSchema, u as updatePostSchema, a as SerializedTag } from './stack.BWp0hcm9.js';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /**
@@ -135,14 +135,14 @@ declare function useCreatePost(): _tanstack_react_query.UseMutationResult<Serial
135
135
  name: string;
136
136
  slug: string;
137
137
  })[];
138
+ published: boolean;
138
139
  title: string;
139
140
  content: string;
140
141
  excerpt: string;
141
- published: boolean;
142
142
  slug?: string | undefined;
143
+ publishedAt?: Date | undefined;
143
144
  createdAt?: Date | undefined;
144
145
  updatedAt?: Date | undefined;
145
- publishedAt?: Date | undefined;
146
146
  image?: string | undefined;
147
147
  }, unknown>;
148
148
  /** Update an existing post by id */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@btst/stack",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "description": "A composable, plugin-based library for building full-stack applications.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -4,6 +4,6 @@
4
4
  */
5
5
  export async function handleUpload(_options: unknown): Promise<unknown> {
6
6
  throw new Error(
7
- "handleUpload is not available in the installed @vercel/blob version. Use a version that exports @vercel/blob/server.",
7
+ "handleUpload is not available in the installed @vercel/blob version. BTST requires a version that exports @vercel/blob/server.",
8
8
  );
9
9
  }
@@ -36,7 +36,7 @@ vi.mock("@aws-sdk/s3-request-presigner", () => ({
36
36
  getSignedUrl: mockGetSignedUrl,
37
37
  }));
38
38
 
39
- vi.mock("@vercel/blob/server", () => ({
39
+ vi.mock("@vercel/blob/client", () => ({
40
40
  handleUpload: mockHandleUpload,
41
41
  }));
42
42
 
@@ -13,7 +13,7 @@ export interface VercelBlobStorageAdapterOptions {
13
13
  }
14
14
 
15
15
  /**
16
- * Minimal subset of the `@vercel/blob/server` `handleUpload` options.
16
+ * Minimal subset of the `@vercel/blob/client` `handleUpload` options.
17
17
  * Defined inline so we do not hard-depend on a specific `@vercel/blob` release.
18
18
  */
19
19
  interface HandleUploadOptions {
@@ -40,11 +40,11 @@ type DelFn = (url: string, options?: { token?: string }) => Promise<void>;
40
40
  /**
41
41
  * Create a Vercel Blob storage adapter using the signed direct-upload protocol.
42
42
  * The server never receives file bytes — it only issues short-lived client tokens
43
- * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/server`
43
+ * via `@vercel/blob`'s `handleUpload` helper (available via `@vercel/blob/client`
44
44
  * in compatible versions).
45
45
  *
46
46
  * @remarks Requires `@vercel/blob` as an optional peer dependency (version
47
- * with `handleUpload` exported from `@vercel/blob/server`).
47
+ * with `handleUpload` exported from `@vercel/blob/client`).
48
48
  *
49
49
  * Upload flow:
50
50
  * 1. Client calls `POST /media/upload/vercel-blob` to obtain a client token.
@@ -77,17 +77,16 @@ export function vercelBlobAdapter(
77
77
  ): Promise<unknown> {
78
78
  let handleUpload: HandleUploadFn;
79
79
  try {
80
- const vercelBlobServer =
80
+ const vercelBlobClient =
81
81
  /* @vite-ignore */
82
- // @ts-expect-error — @vercel/blob/server may not be exported in all installed versions
83
- (await import("@vercel/blob/server")) as {
82
+ (await import("@vercel/blob/client")) as {
84
83
  handleUpload: HandleUploadFn;
85
84
  };
86
- ({ handleUpload } = vercelBlobServer);
85
+ ({ handleUpload } = vercelBlobClient);
87
86
  } catch {
88
87
  throw new Error(
89
88
  "[@btst/stack] Vercel Blob adapter requires '@vercel/blob' with " +
90
- "'handleUpload' exported from '@vercel/blob/server'. " +
89
+ "'handleUpload' exported from '@vercel/blob/client'. " +
91
90
  "Run: npm install @vercel/blob",
92
91
  );
93
92
  }
@@ -88,7 +88,7 @@ export interface VercelBlobHandlerCallbacks {
88
88
  }
89
89
 
90
90
  /**
91
- * Vercel Blob storage adapter — uses the `@vercel/blob/server` `handleUpload`
91
+ * Vercel Blob storage adapter — uses the `@vercel/blob/client` `handleUpload`
92
92
  * protocol. The same endpoint handles both token generation and upload
93
93
  * completion notifications from Vercel's servers.
94
94
  */
@@ -7,12 +7,12 @@ import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  declare const createBoardSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- name: z.ZodString;
11
- createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
12
- updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
13
10
  slug: z.ZodOptional<z.ZodString>;
14
11
  ownerId: z.ZodOptional<z.ZodString>;
15
12
  organizationId: z.ZodOptional<z.ZodString>;
13
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
14
+ updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
+ name: z.ZodString;
16
16
  }, z.core.$strip>;
17
17
  declare const updateBoardSchema: z.ZodObject<{
18
18
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -331,19 +331,19 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
331
331
  body: better_call.StandardSchemaV1<{
332
332
  name: string;
333
333
  description?: string | undefined;
334
- createdAt?: unknown;
335
- updatedAt?: unknown;
336
334
  slug?: string | undefined;
337
335
  ownerId?: string | undefined;
338
336
  organizationId?: string | undefined;
337
+ createdAt?: unknown;
338
+ updatedAt?: unknown;
339
339
  }, {
340
340
  name: string;
341
341
  description?: string | undefined;
342
- createdAt?: unknown;
343
- updatedAt?: unknown;
344
342
  slug?: string | undefined;
345
343
  ownerId?: string | undefined;
346
344
  organizationId?: string | undefined;
345
+ createdAt?: unknown;
346
+ updatedAt?: unknown;
347
347
  }>;
348
348
  }, {
349
349
  columns: ColumnWithTasks[];
@@ -360,20 +360,20 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
360
360
  method: "PUT";
361
361
  body: better_call.StandardSchemaV1<{
362
362
  description?: string | undefined;
363
- name?: string | undefined;
364
- createdAt?: unknown;
365
- updatedAt?: unknown;
366
363
  slug?: string | undefined;
367
364
  ownerId?: string | undefined;
368
365
  organizationId?: string | undefined;
369
- }, {
370
- description?: string | undefined;
371
- name?: string | undefined;
372
366
  createdAt?: unknown;
373
367
  updatedAt?: unknown;
368
+ name?: string | undefined;
369
+ }, {
370
+ description?: string | undefined;
374
371
  slug?: string | undefined;
375
372
  ownerId?: string | undefined;
376
373
  organizationId?: string | undefined;
374
+ createdAt?: unknown;
375
+ updatedAt?: unknown;
376
+ name?: string | undefined;
377
377
  }>;
378
378
  }, Board>;
379
379
  readonly deleteBoard: better_call.StrictEndpoint<"/boards/:id", {} & {
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
- title: z.ZodString;
46
45
  slug: z.ZodOptional<z.ZodString>;
46
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
47
48
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
49
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
+ title: z.ZodString;
50
51
  content: z.ZodString;
51
52
  excerpt: z.ZodString;
52
53
  image: z.ZodOptional<z.ZodString>;
53
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
- title: z.ZodString;
46
45
  slug: z.ZodOptional<z.ZodString>;
46
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
47
48
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
49
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
+ title: z.ZodString;
50
51
  content: z.ZodString;
51
52
  excerpt: z.ZodString;
52
53
  image: z.ZodOptional<z.ZodString>;
53
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
- title: z.ZodString;
46
45
  slug: z.ZodOptional<z.ZodString>;
46
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
47
48
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
49
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
+ title: z.ZodString;
50
51
  content: z.ZodString;
51
52
  excerpt: z.ZodString;
52
53
  image: z.ZodOptional<z.ZodString>;
53
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -7,12 +7,12 @@ import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  declare const createBoardSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- name: z.ZodString;
11
- createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
12
- updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
13
10
  slug: z.ZodOptional<z.ZodString>;
14
11
  ownerId: z.ZodOptional<z.ZodString>;
15
12
  organizationId: z.ZodOptional<z.ZodString>;
13
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
14
+ updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
+ name: z.ZodString;
16
16
  }, z.core.$strip>;
17
17
  declare const updateBoardSchema: z.ZodObject<{
18
18
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -331,19 +331,19 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
331
331
  body: better_call.StandardSchemaV1<{
332
332
  name: string;
333
333
  description?: string | undefined;
334
- createdAt?: unknown;
335
- updatedAt?: unknown;
336
334
  slug?: string | undefined;
337
335
  ownerId?: string | undefined;
338
336
  organizationId?: string | undefined;
337
+ createdAt?: unknown;
338
+ updatedAt?: unknown;
339
339
  }, {
340
340
  name: string;
341
341
  description?: string | undefined;
342
- createdAt?: unknown;
343
- updatedAt?: unknown;
344
342
  slug?: string | undefined;
345
343
  ownerId?: string | undefined;
346
344
  organizationId?: string | undefined;
345
+ createdAt?: unknown;
346
+ updatedAt?: unknown;
347
347
  }>;
348
348
  }, {
349
349
  columns: ColumnWithTasks[];
@@ -360,20 +360,20 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
360
360
  method: "PUT";
361
361
  body: better_call.StandardSchemaV1<{
362
362
  description?: string | undefined;
363
- name?: string | undefined;
364
- createdAt?: unknown;
365
- updatedAt?: unknown;
366
363
  slug?: string | undefined;
367
364
  ownerId?: string | undefined;
368
365
  organizationId?: string | undefined;
369
- }, {
370
- description?: string | undefined;
371
- name?: string | undefined;
372
366
  createdAt?: unknown;
373
367
  updatedAt?: unknown;
368
+ name?: string | undefined;
369
+ }, {
370
+ description?: string | undefined;
374
371
  slug?: string | undefined;
375
372
  ownerId?: string | undefined;
376
373
  organizationId?: string | undefined;
374
+ createdAt?: unknown;
375
+ updatedAt?: unknown;
376
+ name?: string | undefined;
377
377
  }>;
378
378
  }, Board>;
379
379
  readonly deleteBoard: better_call.StrictEndpoint<"/boards/:id", {} & {
@@ -7,12 +7,12 @@ import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  declare const createBoardSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- name: z.ZodString;
11
- createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
12
- updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
13
10
  slug: z.ZodOptional<z.ZodString>;
14
11
  ownerId: z.ZodOptional<z.ZodString>;
15
12
  organizationId: z.ZodOptional<z.ZodString>;
13
+ createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
14
+ updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
+ name: z.ZodString;
16
16
  }, z.core.$strip>;
17
17
  declare const updateBoardSchema: z.ZodObject<{
18
18
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -331,19 +331,19 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
331
331
  body: better_call.StandardSchemaV1<{
332
332
  name: string;
333
333
  description?: string | undefined;
334
- createdAt?: unknown;
335
- updatedAt?: unknown;
336
334
  slug?: string | undefined;
337
335
  ownerId?: string | undefined;
338
336
  organizationId?: string | undefined;
337
+ createdAt?: unknown;
338
+ updatedAt?: unknown;
339
339
  }, {
340
340
  name: string;
341
341
  description?: string | undefined;
342
- createdAt?: unknown;
343
- updatedAt?: unknown;
344
342
  slug?: string | undefined;
345
343
  ownerId?: string | undefined;
346
344
  organizationId?: string | undefined;
345
+ createdAt?: unknown;
346
+ updatedAt?: unknown;
347
347
  }>;
348
348
  }, {
349
349
  columns: ColumnWithTasks[];
@@ -360,20 +360,20 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
360
360
  method: "PUT";
361
361
  body: better_call.StandardSchemaV1<{
362
362
  description?: string | undefined;
363
- name?: string | undefined;
364
- createdAt?: unknown;
365
- updatedAt?: unknown;
366
363
  slug?: string | undefined;
367
364
  ownerId?: string | undefined;
368
365
  organizationId?: string | undefined;
369
- }, {
370
- description?: string | undefined;
371
- name?: string | undefined;
372
366
  createdAt?: unknown;
373
367
  updatedAt?: unknown;
368
+ name?: string | undefined;
369
+ }, {
370
+ description?: string | undefined;
374
371
  slug?: string | undefined;
375
372
  ownerId?: string | undefined;
376
373
  organizationId?: string | undefined;
374
+ createdAt?: unknown;
375
+ updatedAt?: unknown;
376
+ name?: string | undefined;
377
377
  }>;
378
378
  }, Board>;
379
379
  readonly deleteBoard: better_call.StrictEndpoint<"/boards/:id", {} & {