From fc11d0089f9296b6fe595aaa49988bf89ea9935d Mon Sep 17 00:00:00 2001 From: Innei Date: Tue, 5 Aug 2025 00:08:55 +0800 Subject: [PATCH] chore: update dependencies and refactor ai-chat module structure - Updated @follow-app/client-sdk to version 0.3.26 in pnpm-lock.yaml and pnpm-workspace.yaml. - Upgraded ai package to version 5.0.2 across various package.json files. - Refactored ai-chat components to use new store structure, moving types and hooks from __internal__ to store. - Introduced new AIChatContext and hooks for better state management in the ai-chat module. These changes enhance the maintainability and performance of the ai-chat module while ensuring compatibility with updated dependencies. Signed-off-by: Innei --- apps/desktop/layer/renderer/package.json | 5 +- .../displays/AIDisplayAnalyticsPart.tsx | 2 +- .../displays/AIDisplayEntriesPart.tsx | 2 +- .../displays/AIDisplayFeedsPart.tsx | 2 +- .../displays/AIDisplaySubscriptionsPart.tsx | 2 +- .../components/layouts/AIChatContextBar.tsx | 6 +- .../ai-chat/components/layouts/AIChatRoot.tsx | 8 +- .../ai-chat/components/layouts/ChatHeader.tsx | 2 +- .../ai-chat/components/layouts/ChatInput.tsx | 2 +- .../components/layouts/ChatInterface.tsx | 14 +- .../components/layouts/ChatMoreDropdown.tsx | 6 +- .../components/message/AIChatMessage.tsx | 4 +- .../components/message/AIDataBlockPart.tsx | 2 +- .../components/message/AIMessageParts.tsx | 2 +- .../components/message/EditableMessage.tsx | 2 +- .../mention/hooks/useMentionBlockSync.ts | 6 +- .../modules/ai-chat/hooks/useLoadMessages.ts | 4 +- .../modules/ai-chat/hooks/useSaveMessages.ts | 2 +- .../src/modules/ai-chat/services/index.ts | 2 +- .../{__internal__ => store}/AIChatContext.ts | 0 .../chat-core/chat-actions.ts | 0 .../chat-core/chat-instance.ts | 0 .../chat-core/chat-state.ts | 0 .../chat-core/types.ts | 0 .../event-system/event-emitter.ts | 0 .../event-system/types.ts | 0 .../ai-chat/{__internal__ => store}/hooks.ts | 0 .../slices/block.slice.ts | 0 .../slices/chat.slice.ts | 0 .../{__internal__ => store}/slices/index.ts | 0 .../ai-chat/{__internal__ => store}/store.ts | 0 .../{__internal__ => store}/transport.ts | 0 .../ai-chat/{__internal__ => store}/types.ts | 0 .../src/modules/ai-chat/utils/export.ts | 2 +- .../entry-content/EntryContent.ai.tsx | 4 +- .../components/layouts/ArticleLayout.tsx | 4 +- packages/internal/database/package.json | 2 +- packages/internal/shared/package.json | 2 +- pnpm-lock.yaml | 251 ++++-------------- pnpm-workspace.yaml | 2 +- 40 files changed, 95 insertions(+), 247 deletions(-) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/AIChatContext.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/chat-core/chat-actions.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/chat-core/chat-instance.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/chat-core/chat-state.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/chat-core/types.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/event-system/event-emitter.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/event-system/types.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/hooks.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/slices/block.slice.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/slices/chat.slice.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/slices/index.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/store.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/transport.ts (100%) rename apps/desktop/layer/renderer/src/modules/ai-chat/{__internal__ => store}/types.ts (100%) diff --git a/apps/desktop/layer/renderer/package.json b/apps/desktop/layer/renderer/package.json index 48e1fb17a..860361e18 100644 --- a/apps/desktop/layer/renderer/package.json +++ b/apps/desktop/layer/renderer/package.json @@ -22,7 +22,6 @@ "@follow/shared": "workspace:*", "@follow/store": "workspace:*", "@follow/tracker": "workspace:*", - "@folo-services/constants": "0.1.6", "@fontsource/sn-pro": "5.2.5", "@hcaptcha/react-hcaptcha": "1.12.0", "@headlessui/react": "2.2.4", @@ -51,7 +50,7 @@ "@use-gesture/react": "10.3.1", "@welldone-software/why-did-you-render": "10.0.1", "@yornaath/batshit": "0.10.1", - "ai": "5.0.0", + "ai": "5.0.2", "camelcase-keys": "9.1.3", "class-variance-authority": "0.7.1", "clsx": "2.1.1", @@ -119,7 +118,7 @@ "@follow/models": "workspace:*", "@follow/types": "workspace:*", "@follow/utils": "workspace:*", - "@folo-services/ai-tools": "0.2.14", + "@folo-services/ai-tools": "0.2.16", "@types/node": "24.0.10", "@vite-pwa/assets-generator": "1.0.0", "fake-indexeddb": "6.0.1", diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayAnalyticsPart.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayAnalyticsPart.tsx index 58cc8cd16..5d2cd962c 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayAnalyticsPart.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayAnalyticsPart.tsx @@ -15,7 +15,7 @@ import { } from "@follow/components/ui/table/index.js" import dayjs from "dayjs" -import type { AIDisplayAnalyticsTool } from "../../__internal__/types" +import type { AIDisplayAnalyticsTool } from "../../store/types" import { ErrorState, LoadingState } from "../shared/common-states" import { toolMemo } from "./share" import { ChartPlaceholder, StatCard } from "./shared" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayEntriesPart.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayEntriesPart.tsx index 382e46bbc..1b60ff92b 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayEntriesPart.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayEntriesPart.tsx @@ -12,7 +12,7 @@ import { memo } from "react" import { usePeekModal } from "~/hooks/biz/usePeekModal" import { FeedIcon } from "~/modules/feed/feed-icon" -import type { AIDisplayEntriesTool } from "../../__internal__/types" +import type { AIDisplayEntriesTool } from "../../store/types" import { ErrorState, LoadingState } from "../shared/common-states" import { CategoryTag, EmptyState, StatCard } from "./shared" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayFeedsPart.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayFeedsPart.tsx index 207afdcbb..4b5cfef33 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayFeedsPart.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplayFeedsPart.tsx @@ -10,7 +10,7 @@ import { memo } from "react" import { FeedIcon } from "~/modules/feed/feed-icon" -import type { AIDisplayFeedsTool } from "../../__internal__/types" +import type { AIDisplayFeedsTool } from "../../store/types" import { ErrorState, LoadingState } from "../shared/common-states" import { AnalyticsMetrics, EmptyState, StatCard } from "./shared" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplaySubscriptionsPart.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplaySubscriptionsPart.tsx index 4d61485b7..5f5101cad 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplaySubscriptionsPart.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/displays/AIDisplaySubscriptionsPart.tsx @@ -9,7 +9,7 @@ import dayjs from "dayjs" import { FeedIcon } from "~/modules/feed/feed-icon" -import type { AIDisplaySubscriptionsTool } from "../../__internal__/types" +import type { AIDisplaySubscriptionsTool } from "../../store/types" import { ErrorState, LoadingState } from "../shared/common-states" import { toolMemo } from "./share" import { AnalyticsMetrics, CategoryTag, EmptyState, StatCard } from "./shared" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatContextBar.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatContextBar.tsx index c795a094a..c91d70158 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatContextBar.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatContextBar.tsx @@ -22,10 +22,10 @@ import { DropdownMenuTrigger, } from "~/components/ui/dropdown-menu/dropdown-menu" import { useRouteParamsSelector } from "~/hooks/biz/useRouteParams" -import { useAIChatStore } from "~/modules/ai-chat/__internal__/AIChatContext" -import type { AIChatContextBlock } from "~/modules/ai-chat/__internal__/types" +import { useAIChatStore } from "~/modules/ai-chat/store/AIChatContext" +import type { AIChatContextBlock } from "~/modules/ai-chat/store/types" -import { useChatBlockActions } from "../../__internal__/hooks" +import { useChatBlockActions } from "../../store/hooks" export const AIChatContextBar: Component<{ onSendShortcut?: (prompt: string) => void }> = memo( ({ className, onSendShortcut }) => { diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatRoot.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatRoot.tsx index 115c03d8a..ac8e01153 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatRoot.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/AIChatRoot.tsx @@ -4,10 +4,10 @@ import { useMemo, useRef } from "react" import { Focusable } from "~/components/common/Focusable" import { HotkeyScope } from "~/constants" -import type { AIPanelRefs } from "../../__internal__/AIChatContext" -import { AIChatStoreContext, AIPanelRefsContext } from "../../__internal__/AIChatContext" -import { useChatActions, useCurrentChatId } from "../../__internal__/hooks" -import { createAIChatStore } from "../../__internal__/store" +import type { AIPanelRefs } from "../../store/AIChatContext" +import { AIChatStoreContext, AIPanelRefsContext } from "../../store/AIChatContext" +import { useChatActions, useCurrentChatId } from "../../store/hooks" +import { createAIChatStore } from "../../store/store" interface AIChatRootProps extends PropsWithChildren { wrapFocusable?: boolean diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatHeader.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatHeader.tsx index 8d85334bb..f9b92189a 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatHeader.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatHeader.tsx @@ -3,7 +3,7 @@ import { useCallback } from "react" import { useTranslation } from "react-i18next" import { useDialog } from "~/components/ui/modal/stacked/hooks" -import { useChatActions, useCurrentTitle } from "~/modules/ai-chat/__internal__/hooks" +import { useChatActions, useCurrentTitle } from "~/modules/ai-chat/store/hooks" import { useSettingModal } from "~/modules/settings/modal/use-setting-modal-hack" import { ChatMoreDropdown } from "./ChatMoreDropdown" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInput.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInput.tsx index 2fa9bdeef..84461c135 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInput.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInput.tsx @@ -10,8 +10,8 @@ import { memo, useCallback, useRef, useState } from "react" import { AIChatContextBar } from "~/modules/ai-chat/components/layouts/AIChatContextBar" -import { useChatActions, useChatError, useChatStatus } from "../../__internal__/hooks" import { MentionPlugin } from "../../editor" +import { useChatActions, useChatError, useChatStatus } from "../../store/hooks" import { AIChatSendButton } from "./AIChatSendButton" import { CollapsibleError } from "./CollapsibleError" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInterface.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInterface.tsx index 4855a39d2..5209422bb 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInterface.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatInterface.tsx @@ -8,6 +8,12 @@ import { nanoid } from "nanoid" import { useCallback, useEffect, useRef, useState } from "react" import { useEventCallback } from "usehooks-ts" +import { + AIChatMessage, + AIChatTypingIndicator, +} from "~/modules/ai-chat/components/message/AIChatMessage" +import { useAutoScroll } from "~/modules/ai-chat/hooks/useAutoScroll" +import { useLoadMessages } from "~/modules/ai-chat/hooks/useLoadMessages" import { useBlockActions, useChatActions, @@ -16,13 +22,7 @@ import { useCurrentChatId, useHasMessages, useMessages, -} from "~/modules/ai-chat/__internal__/hooks" -import { - AIChatMessage, - AIChatTypingIndicator, -} from "~/modules/ai-chat/components/message/AIChatMessage" -import { useAutoScroll } from "~/modules/ai-chat/hooks/useAutoScroll" -import { useLoadMessages } from "~/modules/ai-chat/hooks/useLoadMessages" +} from "~/modules/ai-chat/store/hooks" import { convertLexicalToMarkdown } from "../../utils/lexical-markdown" import { ChatInput } from "./ChatInput" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatMoreDropdown.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatMoreDropdown.tsx index 933626248..5dd31dd74 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatMoreDropdown.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/layouts/ChatMoreDropdown.tsx @@ -15,13 +15,9 @@ import { DropdownMenuTrigger, } from "~/components/ui/dropdown-menu/dropdown-menu" import { useDialog } from "~/components/ui/modal/stacked/hooks" -import { - useChatActions, - useCurrentChatId, - useCurrentTitle, -} from "~/modules/ai-chat/__internal__/hooks" import { useChatHistory } from "~/modules/ai-chat/hooks/useChatHistory" import { AIPersistService } from "~/modules/ai-chat/services" +import { useChatActions, useCurrentChatId, useCurrentTitle } from "~/modules/ai-chat/store/hooks" import { downloadMarkdown, exportChatToMarkdown } from "~/modules/ai-chat/utils/export" export const ChatMoreDropdown = () => { diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIChatMessage.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIChatMessage.tsx index 8aee4a206..6661b01fb 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIChatMessage.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIChatMessage.tsx @@ -7,9 +7,9 @@ import * as React from "react" import { toast } from "sonner" import { copyToClipboard } from "~/lib/clipboard" -import { useChatActions } from "~/modules/ai-chat/__internal__/hooks" -import type { BizUIMetadata, BizUITools } from "~/modules/ai-chat/__internal__/types" import { useEditingMessageId, useSetEditingMessageId } from "~/modules/ai-chat/atoms/session" +import { useChatActions } from "~/modules/ai-chat/store/hooks" +import type { BizUIMetadata, BizUITools } from "~/modules/ai-chat/store/types" import type { RichTextPart } from "../../types/ChatSession" import { convertLexicalToMarkdown } from "../../utils/lexical-markdown" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIDataBlockPart.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIDataBlockPart.tsx index 3be1ad6c4..511cc9b3e 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIDataBlockPart.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIDataBlockPart.tsx @@ -4,7 +4,7 @@ import { cn } from "@follow/utils/utils" import { m } from "motion/react" import * as React from "react" -import type { AIChatContextBlock } from "~/modules/ai-chat/__internal__/types" +import type { AIChatContextBlock } from "~/modules/ai-chat/store/types" interface AIDataBlockPartProps { blocks: AIChatContextBlock[] diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIMessageParts.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIMessageParts.tsx index 94797bf76..f69e97e60 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIMessageParts.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/AIMessageParts.tsx @@ -10,7 +10,7 @@ import type { AIDisplayFeedsTool, AIDisplaySubscriptionsTool, BizUIMessage, -} from "~/modules/ai-chat/__internal__/types" +} from "~/modules/ai-chat/store/types" import { AIDisplayAnalyticsPart, diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/EditableMessage.tsx b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/EditableMessage.tsx index 832fb2760..dce3ec808 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/EditableMessage.tsx +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/components/message/EditableMessage.tsx @@ -10,8 +10,8 @@ import type { EditorState, LexicalEditor, SerializedEditorState } from "lexical" import { $getRoot } from "lexical" import { useCallback, useEffect, useMemo, useRef, useState } from "react" -import { useChatStatus } from "~/modules/ai-chat/__internal__/hooks" import { useEditingMessageId, useSetEditingMessageId } from "~/modules/ai-chat/atoms/session" +import { useChatStatus } from "~/modules/ai-chat/store/hooks" interface EditableMessageProps { messageId: string diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/editor/plugins/mention/hooks/useMentionBlockSync.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/editor/plugins/mention/hooks/useMentionBlockSync.ts index e0b9af733..f58d78eb4 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/editor/plugins/mention/hooks/useMentionBlockSync.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/editor/plugins/mention/hooks/useMentionBlockSync.ts @@ -2,9 +2,9 @@ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext import { $getNodeByKey } from "lexical" import { useCallback, useEffect, useRef } from "react" -import { useAIChatStore } from "~/modules/ai-chat/__internal__/AIChatContext" -import { useChatBlockActions } from "~/modules/ai-chat/__internal__/hooks" -import type { AIChatContextBlock } from "~/modules/ai-chat/__internal__/types" +import { useAIChatStore } from "~/modules/ai-chat/store/AIChatContext" +import { useChatBlockActions } from "~/modules/ai-chat/store/hooks" +import type { AIChatContextBlock } from "~/modules/ai-chat/store/types" import { $isMentionNode, MentionNode } from "../MentionNode" import type { MentionData } from "../types" diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useLoadMessages.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useLoadMessages.ts index 3f9870f07..6f55885f9 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useLoadMessages.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useLoadMessages.ts @@ -1,9 +1,9 @@ import { useEffect, useState } from "react" import { useEventCallback } from "usehooks-ts" -import { useChatActions } from "../__internal__/hooks" -import type { BizUIMessage, BizUIMetadata } from "../__internal__/types" import { AIPersistService } from "../services" +import { useChatActions } from "../store/hooks" +import type { BizUIMessage, BizUIMetadata } from "../store/types" export const useLoadMessages = ( chatId: string, diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useSaveMessages.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useSaveMessages.ts index 556771625..e27a265fd 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useSaveMessages.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useSaveMessages.ts @@ -1,7 +1,7 @@ import { useEffect } from "react" -import { useChatStatus, useMessages } from "../__internal__/hooks" import { AIPersistService } from "../services" +import { useChatStatus, useMessages } from "../store/hooks" export const useSaveMessages = ( chatId: string, diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/services/index.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/services/index.ts index a2a7c7c84..245ebf0a1 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/services/index.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/services/index.ts @@ -3,7 +3,7 @@ import { db } from "@follow/database/db" import { aiChatMessagesTable, aiChatTable } from "@follow/database/schemas/index" import { asc, count, eq, inArray, sql } from "drizzle-orm" -import type { BizUIMessage } from "../__internal__/types" +import type { BizUIMessage } from "../store/types" class AIPersistServiceStatic { // Cache for session existence to avoid repeated queries diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/AIChatContext.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/AIChatContext.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/AIChatContext.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/AIChatContext.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-actions.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-actions.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-actions.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-actions.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-instance.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-instance.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-instance.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-instance.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-state.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-state.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/chat-state.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/chat-state.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/types.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/types.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/chat-core/types.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/chat-core/types.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/event-system/event-emitter.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/event-system/event-emitter.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/event-system/event-emitter.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/event-system/event-emitter.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/event-system/types.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/event-system/types.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/event-system/types.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/event-system/types.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/hooks.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/hooks.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/hooks.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/hooks.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/block.slice.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/block.slice.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/block.slice.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/block.slice.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/chat.slice.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/chat.slice.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/chat.slice.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/chat.slice.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/index.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/index.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/slices/index.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/slices/index.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/store.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/store.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/store.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/store.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/transport.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/transport.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/transport.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/transport.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/types.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/store/types.ts similarity index 100% rename from apps/desktop/layer/renderer/src/modules/ai-chat/__internal__/types.ts rename to apps/desktop/layer/renderer/src/modules/ai-chat/store/types.ts diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/utils/export.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/utils/export.ts index 98baa7a02..c85bdb3c9 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/utils/export.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/utils/export.ts @@ -1,6 +1,6 @@ import type { UIDataTypes, UIMessage } from "ai" -import type { BizUIMetadata, BizUITools } from "../__internal__/types" +import type { BizUIMetadata, BizUITools } from "../store/types" export const exportChatToMarkdown = ( messages: UIMessage[], diff --git a/apps/desktop/layer/renderer/src/modules/entry-content/components/entry-content/EntryContent.ai.tsx b/apps/desktop/layer/renderer/src/modules/entry-content/components/entry-content/EntryContent.ai.tsx index 8670e4036..c4a98afff 100644 --- a/apps/desktop/layer/renderer/src/modules/entry-content/components/entry-content/EntryContent.ai.tsx +++ b/apps/desktop/layer/renderer/src/modules/entry-content/components/entry-content/EntryContent.ai.tsx @@ -24,8 +24,8 @@ import { useInPeekModal } from "~/components/ui/modal/inspire/InPeekModal" import { HotkeyScope } from "~/constants" import { useRouteParamsSelector } from "~/hooks/biz/useRouteParams" import { useFeedSafeUrl } from "~/hooks/common/useFeedSafeUrl" -import { useBlockActions } from "~/modules/ai-chat/__internal__/hooks" -import { BlockSliceAction } from "~/modules/ai-chat/__internal__/slices/block.slice" +import { useBlockActions } from "~/modules/ai-chat/store/hooks" +import { BlockSliceAction } from "~/modules/ai-chat/store/slices/block.slice" import { COMMAND_ID } from "~/modules/command/commands/id" import { ApplyEntryActions } from "../../ApplyEntryActions" diff --git a/apps/desktop/layer/renderer/src/modules/entry-content/components/layouts/ArticleLayout.tsx b/apps/desktop/layer/renderer/src/modules/entry-content/components/layouts/ArticleLayout.tsx index 44848f67d..7b0a588d2 100644 --- a/apps/desktop/layer/renderer/src/modules/entry-content/components/layouts/ArticleLayout.tsx +++ b/apps/desktop/layer/renderer/src/modules/entry-content/components/layouts/ArticleLayout.tsx @@ -14,8 +14,8 @@ import { useInPeekModal } from "~/components/ui/modal/inspire/InPeekModal" import { readableContentMaxWidthClassName } from "~/constants/ui" import { useRenderStyle } from "~/hooks/biz/useRenderStyle" import type { TextSelectionEvent } from "~/lib/simple-text-selection" -import { useBlockActions } from "~/modules/ai-chat/__internal__/hooks" -import { BlockSliceAction } from "~/modules/ai-chat/__internal__/slices/block.slice" +import { useBlockActions } from "~/modules/ai-chat/store/hooks" +import { BlockSliceAction } from "~/modules/ai-chat/store/slices/block.slice" import { EntryContentHTMLRenderer } from "~/modules/renderer/html" import { WrappedElementProvider } from "~/providers/wrapped-element-provider" diff --git a/packages/internal/database/package.json b/packages/internal/database/package.json index 7616ab968..5ae505a0a 100644 --- a/packages/internal/database/package.json +++ b/packages/internal/database/package.json @@ -36,7 +36,7 @@ "@follow/constants": "workspace:*", "@follow/models": "workspace:*", "@follow/shared": "workspace:*", - "ai": "5.0.0-beta.7", + "ai": "5.0.2", "drizzle-orm": "0.44.3", "expo-sqlite": "15.2.12", "sqlocal": "npm:@hyoban/sqlocal@0.14.1-fork.4", diff --git a/packages/internal/shared/package.json b/packages/internal/shared/package.json index d97ca7267..e34440db7 100644 --- a/packages/internal/shared/package.json +++ b/packages/internal/shared/package.json @@ -36,7 +36,7 @@ "@electron-toolkit/tsconfig": "1.0.1", "@hono/node-server": "1.15.0", "@t3-oss/env-core": "0.13.8", - "ai": "5.0.0-beta.6", + "ai": "5.0.2", "better-auth": "1.2.9", "drizzle-orm": "0.44.3", "hono": "4.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index caf629044..b31da6ff5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,8 +7,8 @@ settings: catalogs: default: '@follow-app/client-sdk': - specifier: 0.3.25 - version: 0.3.25 + specifier: 0.3.26 + version: 0.3.26 typescript: specifier: 5.8.3 version: 5.8.3 @@ -462,7 +462,7 @@ importers: version: 3.0.2(electron@37.2.0) '@follow-app/client-sdk': specifier: 'catalog:' - version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + version: 0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@follow/database': specifier: workspace:* version: link:../../../../packages/internal/database @@ -478,9 +478,6 @@ importers: '@follow/tracker': specifier: workspace:* version: link:../../../../packages/internal/tracker - '@folo-services/constants': - specifier: 0.1.6 - version: 0.1.6 '@fontsource/sn-pro': specifier: 5.2.5 version: 5.2.5 @@ -566,8 +563,8 @@ importers: specifier: 0.10.1 version: 0.10.1 ai: - specifier: 5.0.0 - version: 5.0.0(zod@3.25.75) + specifier: 5.0.2 + version: 5.0.2(zod@3.25.75) camelcase-keys: specifier: 9.1.3 version: 9.1.3 @@ -765,8 +762,8 @@ importers: specifier: workspace:* version: link:../../../../packages/internal/utils '@folo-services/ai-tools': - specifier: 0.2.14 - version: 0.2.14(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + specifier: 0.2.16 + version: 0.2.16(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@types/node': specifier: 24.0.10 version: 24.0.10 @@ -1673,7 +1670,7 @@ importers: dependencies: '@follow-app/client-sdk': specifier: 'catalog:' - version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + version: 0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@follow/configs': specifier: workspace:* version: link:../../configs @@ -1685,7 +1682,7 @@ importers: dependencies: '@follow-app/client-sdk': specifier: 'catalog:' - version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + version: 0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@follow/constants': specifier: workspace:* version: link:../constants @@ -1696,8 +1693,8 @@ importers: specifier: workspace:* version: link:../shared ai: - specifier: 5.0.0-beta.7 - version: 5.0.0-beta.7(zod@3.25.76) + specifier: 5.0.2 + version: 5.0.2(zod@3.25.76) drizzle-orm: specifier: 0.44.3 version: 0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) @@ -1763,7 +1760,7 @@ importers: dependencies: '@follow-app/client-sdk': specifier: 'catalog:' - version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + version: 0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@follow/constants': specifier: workspace:* version: link:../constants @@ -1802,8 +1799,8 @@ importers: specifier: 0.13.8 version: 0.13.8(arktype@2.1.20)(typescript@5.8.3)(zod@3.25.75) ai: - specifier: 5.0.0-beta.6 - version: 5.0.0-beta.6(zod@3.25.75) + specifier: 5.0.2 + version: 5.0.2(zod@3.25.75) better-auth: specifier: 1.2.9 version: 1.2.9 @@ -1827,7 +1824,7 @@ importers: dependencies: '@follow-app/client-sdk': specifier: 'catalog:' - version: 0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + version: 0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) '@follow/configs': specifier: workspace:* version: link:../../configs @@ -1979,14 +1976,8 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/gateway@1.0.0-beta.3': - resolution: {integrity: sha512-g49gMSkXy94lYvl5LRh438OR/0JCG6ol0jV+iLot7cy5HLltZlGocEuauETBu4b10mDXOd7XIjTEZoQpYFMYLQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.49 - - '@ai-sdk/openai@2.0.0-beta.11': - resolution: {integrity: sha512-HQXUMb1V6Xr8EBYvEDwNb8ISyRqyxg2zUst7lzPb6s1nGDKJRBTfSyytNWRL9dZ9vxjM2wK34cltCfZbjaHpAA==} + '@ai-sdk/openai@2.0.2': + resolution: {integrity: sha512-D4zYz2uR90aooKQvX1XnS00Z7PkbrcY+snUvPfm5bCabTG7bzLrVtD56nJ5bSaZG8lmuOMfXpyiEEArYLyWPpw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 @@ -1997,26 +1988,10 @@ packages: peerDependencies: zod: ^3.25.76 || ^4 - '@ai-sdk/provider-utils@3.0.0-beta.2': - resolution: {integrity: sha512-H4K+4weOVgWqrDDeAbQWoA4U5mN4WrQPHQFdH7ynQYcnhj/pzctU9Q6mGlR5ESMWxaXxazxlOblSITlXo9bahA==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.49 - - '@ai-sdk/provider-utils@3.0.0-beta.5': - resolution: {integrity: sha512-4Dv/wiGZrvO6fI7P0yMLa4XZru0XW8LPibTObbkHBdweLUVGIze7aCfxxQeY44Uqcbl/h6/yBTkx2XmPtwf/Ow==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4 - '@ai-sdk/provider@2.0.0': resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/provider@2.0.0-beta.1': - resolution: {integrity: sha512-Z8SPncMtS3RsoXITmT7NVwrAq6M44dmw0DoUOYJqNNtCu8iMWuxB8Nxsoqpa0uEEy9R1V1ZThJAXTYgjTUxl3w==} - engines: {node: '>=18'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -4085,32 +4060,23 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} - '@follow-app/client-sdk@0.3.25': - resolution: {integrity: sha512-+x9x3bvcCedkqH2ypw1ae2zYySzT70FniC9LH8/TdqpYKIUzQZaMSZxGNIA9KaAQT1EtvL9e7lO07/zpQiEPSw==} + '@follow-app/client-sdk@0.3.26': + resolution: {integrity: sha512-rIQq8fgxEsqu0o5DjY0Q8tTpK75ZLqfo1laW5KQVPL3ME8omljFTLXyX6khe7NXCx+1yHJGzJQ5S89qZGeb20g==} - '@folo-services/ai-tools@0.2.14': - resolution: {integrity: sha512-3DG/FqGqNvpCUtq1WMwzMYW6XuhQQfRfIGyZbokJ+XgbyR4YO3Jtz9T5fluINy+Q9iQSRyZSLyhMxe4Evsj5Hg==} + '@folo-services/ai-tools@0.2.16': + resolution: {integrity: sha512-ZMV8dMxGGkbm5P3X4+0mguC1o0s+UbLyczsbHUawM0cR7+TWsnC7JYeZ7mifxZKz3nucsfg7oV89A++6p/Qeiw==} - '@folo-services/constants@0.1.15': - resolution: {integrity: sha512-XoHXH/rNV1kDRiaozNDMWW7/VHHduW6GARZUDSmCFCMwkhMdevHHqP/bpfMkJkcFKl0+I01a4SSN76OQgkYA0g==} + '@folo-services/constants@0.1.16': + resolution: {integrity: sha512-zTpp0izvwK+t1uZurU0gh1yt5M253tfHdFOzxPi7mdUDdsI/cfXtwrBAbRYz1ne27RjRTP04KpzW2U5QOaDzhA==} - '@folo-services/constants@0.1.6': - resolution: {integrity: sha512-+Wdd0BfCmjddduteksJnbHl1GVrTJlFHnjXeyVJxr7l6nkHdW9lacpqLbyFBmlXm39Mtvvz6vDdR0DjaCsJG3w==} + '@folo-services/drizzle@0.1.11': + resolution: {integrity: sha512-J6cvMmFPsSmZQ+/IkZLYTGMPCBxHf3uVt9KMTyk7zwAMZv7F+Ukcs04A6N0BCgnNScLbu0bu4Jd/RmUDlgId1Q==} - '@folo-services/drizzle@0.1.10': - resolution: {integrity: sha512-gLElV37jxfg0+f6kbkWyTswBHqfc6cdhfFJu0scQIw+PxIKYepH3Sj8larIQDcOeTvAgD6cz0/n3lXKBPrDB5w==} + '@folo-services/exceptions@0.1.9': + resolution: {integrity: sha512-t1lntj+Iug4mvkEH9cePgz5ke8EhWWM6HQWp5vx2s5JG12V/jJvBSffdkQUrC/rMIQQThQ1Z7UVZRWikQc5nnQ==} - '@folo-services/drizzle@0.1.9': - resolution: {integrity: sha512-X+YIuukSKaC5F7ZK7/zYDvtU75RVcJDC4lNvUdx/xCwaJgpRj0gjw8PMoTz7nc77Va99g6yw4a31cKxgfrPSSA==} - - '@folo-services/exceptions@0.1.7': - resolution: {integrity: sha512-e3BnGAfCEt19kAvdijGvgdFI0IJ8pBANeEj+CXUtoa95UdHCw88x6ePWpJp1m8SL34ImmstywNhnWHHQgT8ZKg==} - - '@folo-services/exceptions@0.1.8': - resolution: {integrity: sha512-7SeOZt98DIXSjLjO8ZyTpWuk3OAnsFMvLUMuPR6LMabikqkMxkwSDeR8Dv8KKl93/XZyk/F/k0CZ8IfH09oBKg==} - - '@folo-services/shared@0.0.5': - resolution: {integrity: sha512-GNoMAxmNAvdR9qSr6DgdIpBqnzmKrjaTkxC+q0dnAbxRKjREUFmKaQSaN5amChQBUhGs8d5LZdCsoI34DOXQLw==} + '@folo-services/shared@0.0.6': + resolution: {integrity: sha512-I8ddkyUF5rQ7aF5UmhWn9ed5zE6vjOOiFIBto7QcRRaqo272i5FUt/uj/CHW8RgWrx31q5ykMt0pPamD5BWmoQ==} '@fontsource/sn-pro@5.2.5': resolution: {integrity: sha512-rBdBv/0ygj6bkO7xDMMFpwobLdSrcQ2Jncb6DIwdeYGoAgeWkQRwVYhGDKasfLjEYCNYxrqr6wsXsM9+aU39RA==} @@ -7111,24 +7077,12 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} - ai@5.0.0: - resolution: {integrity: sha512-F4jOhOSeiZD8lXpF4l1hRqyM1jbqoLKGVZNxAP467wmQCsWUtElMa3Ki5PrDMq6qvUNC3deUKfERDAsfj7IDlg==} + ai@5.0.2: + resolution: {integrity: sha512-Uk4lmwlr2b/4G9DUYCWYKcWz93xQ6p6AEeRZN+/AO9NbOyCm9axrDru26c83Ax8OB8IHUvoseA3CqaZkg9Z0Kg==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4 - ai@5.0.0-beta.6: - resolution: {integrity: sha512-0VqcqbWiF2XwWBgNfrEr05QrB0bJqctwLyuk7xfy7g8OBSqyJ4OV95HGTzrBvN8/iU/4u+eNTlF5nAG5Qx3utw==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.49 - - ai@5.0.0-beta.7: - resolution: {integrity: sha512-oC4KzUJCQPMB7v9rCqL/rVk2ogZvI6lYiXfKjzPYHwa1zIgy329qqRLmAd3mKEDTTG6By1r0zasQu7FKmG+4gw==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.49 - ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: @@ -16174,22 +16128,10 @@ snapshots: '@ai-sdk/provider-utils': 3.0.0(zod@3.25.76) zod: 3.25.76 - '@ai-sdk/gateway@1.0.0-beta.3(zod@3.25.75)': + '@ai-sdk/openai@2.0.2(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.75) - zod: 3.25.75 - - '@ai-sdk/gateway@1.0.0-beta.3(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.76) - zod: 3.25.76 - - '@ai-sdk/openai@2.0.0-beta.11(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@ai-sdk/provider-utils': 3.0.0-beta.5(zod@3.25.76) + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.0(zod@3.25.76) zod: 3.25.76 '@ai-sdk/provider-utils@3.0.0(zod@3.25.75)': @@ -16208,38 +16150,10 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.24.5(zod@3.25.76) - '@ai-sdk/provider-utils@3.0.0-beta.2(zod@3.25.75)': - dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.3 - zod: 3.25.75 - zod-to-json-schema: 3.24.5(zod@3.25.75) - - '@ai-sdk/provider-utils@3.0.0-beta.2(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.3 - zod: 3.25.76 - zod-to-json-schema: 3.24.5(zod@3.25.76) - - '@ai-sdk/provider-utils@3.0.0-beta.5(zod@3.25.76)': - dependencies: - '@ai-sdk/provider': 2.0.0-beta.1 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.3 - zod: 3.25.76 - zod-to-json-schema: 3.24.5(zod@3.25.76) - '@ai-sdk/provider@2.0.0': dependencies: json-schema: 0.4.0 - '@ai-sdk/provider@2.0.0-beta.1': - dependencies: - json-schema: 0.4.0 - '@alloc/quick-lru@5.2.0': {} '@altano/repository-tools@0.1.1': {} @@ -19302,12 +19216,12 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@follow-app/client-sdk@0.3.25(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': + '@follow-app/client-sdk@0.3.26(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': dependencies: - '@folo-services/constants': 0.1.15 - '@folo-services/drizzle': 0.1.10(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) - '@folo-services/exceptions': 0.1.8 - '@folo-services/shared': 0.0.5(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) + '@folo-services/constants': 0.1.16 + '@folo-services/drizzle': 0.1.11(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) + '@folo-services/exceptions': 0.1.9 + '@folo-services/shared': 0.0.6(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) zod: 3.25.76 transitivePeerDependencies: - '@aws-sdk/client-rds-data' @@ -19341,11 +19255,11 @@ snapshots: - sql.js - sqlite3 - '@folo-services/ai-tools@0.2.14(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': + '@folo-services/ai-tools@0.2.16(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': dependencies: - '@ai-sdk/openai': 2.0.0-beta.11(zod@3.25.76) - '@folo-services/drizzle': 0.1.9(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) - ai: 5.0.0(zod@3.25.76) + '@ai-sdk/openai': 2.0.2(zod@3.25.76) + '@folo-services/drizzle': 0.1.11(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) + ai: 5.0.2(zod@3.25.76) drizzle-orm: 0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) zod: 3.25.76 transitivePeerDependencies: @@ -19380,17 +19294,13 @@ snapshots: - sql.js - sqlite3 - '@folo-services/constants@0.1.15': + '@folo-services/constants@0.1.16': dependencies: zod: 3.25.76 - '@folo-services/constants@0.1.6': + '@folo-services/drizzle@0.1.11(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)': dependencies: - zod: 3.25.76 - - '@folo-services/drizzle@0.1.10(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)': - dependencies: - '@folo-services/exceptions': 0.1.8 + '@folo-services/exceptions': 0.1.9 drizzle-orm: 0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) drizzle-zod: 0.7.1(drizzle-orm@0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3))(zod@3.25.76) nanoid: 5.1.5 @@ -19427,52 +19337,11 @@ snapshots: - sql.js - sqlite3 - '@folo-services/drizzle@0.1.9(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)': + '@folo-services/exceptions@0.1.9': {} + + '@folo-services/shared@0.0.6(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': dependencies: - '@folo-services/exceptions': 0.1.7 - drizzle-orm: 0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) - drizzle-zod: 0.7.1(drizzle-orm@0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3))(zod@3.25.76) - nanoid: 5.1.5 - pg: 8.16.3 - zod: 3.25.76 - transitivePeerDependencies: - - '@aws-sdk/client-rds-data' - - '@cloudflare/workers-types' - - '@electric-sql/pglite' - - '@libsql/client' - - '@libsql/client-wasm' - - '@neondatabase/serverless' - - '@op-engineering/op-sqlite' - - '@opentelemetry/api' - - '@planetscale/database' - - '@prisma/client' - - '@tidbcloud/serverless' - - '@types/better-sqlite3' - - '@types/pg' - - '@types/sql.js' - - '@upstash/redis' - - '@vercel/postgres' - - '@xata.io/client' - - better-sqlite3 - - bun-types - - expo-sqlite - - gel - - knex - - kysely - - mysql2 - - pg-native - - postgres - - prisma - - sql.js - - sqlite3 - - '@folo-services/exceptions@0.1.7': {} - - '@folo-services/exceptions@0.1.8': {} - - '@folo-services/shared@0.0.5(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3)': - dependencies: - '@folo-services/drizzle': 0.1.10(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) + '@folo-services/drizzle': 0.1.11(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2) drizzle-orm: 0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3) drizzle-zod: 0.7.1(drizzle-orm@0.44.3(@opentelemetry/api@1.9.0)(@types/pg@8.6.1)(expo-sqlite@15.2.12(expo@53.0.12(@babel/core@7.28.0)(@expo/metro-runtime@5.0.4(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0)))(bufferutil@4.0.9)(graphql@16.8.1)(react-native-webview@13.15.0(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(react-native@0.79.1(@babel/core@7.28.0)(@types/react@19.1.8)(bufferutil@4.0.9)(react@19.0.0))(react@19.0.0))(kysely@0.28.2)(pg@8.16.3))(zod@3.25.76) zod: 3.25.76 @@ -23100,7 +22969,7 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@5.0.0(zod@3.25.75): + ai@5.0.2(zod@3.25.75): dependencies: '@ai-sdk/gateway': 1.0.0(zod@3.25.75) '@ai-sdk/provider': 2.0.0 @@ -23108,7 +22977,7 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.75 - ai@5.0.0(zod@3.25.76): + ai@5.0.2(zod@3.25.76): dependencies: '@ai-sdk/gateway': 1.0.0(zod@3.25.76) '@ai-sdk/provider': 2.0.0 @@ -23116,22 +22985,6 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 - ai@5.0.0-beta.6(zod@3.25.75): - dependencies: - '@ai-sdk/gateway': 1.0.0-beta.3(zod@3.25.75) - '@ai-sdk/provider': 2.0.0-beta.1 - '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.75) - '@opentelemetry/api': 1.9.0 - zod: 3.25.75 - - ai@5.0.0-beta.7(zod@3.25.76): - dependencies: - '@ai-sdk/gateway': 1.0.0-beta.3(zod@3.25.76) - '@ai-sdk/provider': 2.0.0-beta.1 - '@ai-sdk/provider-utils': 3.0.0-beta.2(zod@3.25.76) - '@opentelemetry/api': 1.9.0 - zod: 3.25.76 - ajv-formats@2.1.1(ajv@8.11.0): optionalDependencies: ajv: 8.11.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9a078b067..122f2282e 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -58,4 +58,4 @@ overrides: catalog: typescript: "5.8.3" - "@follow-app/client-sdk": "0.3.25" + "@follow-app/client-sdk": "0.3.26"