@aigentyc/chat-sdk 0.4.0 → 0.5.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 (118) hide show
  1. package/context7.json +1 -1
  2. package/dist/{ChatInterface-0rq8D5-8.d.cts → ChatInterface-DrzYAWnG.d.cts} +1 -1
  3. package/dist/{ChatInterface--yaDB5yp.d.ts → ChatInterface-qiVhkmx3.d.ts} +1 -1
  4. package/dist/{SlotsContext-CWTjP0mA.d.ts → SlotsContext-B_087V7B.d.ts} +99 -5
  5. package/dist/{SlotsContext-u5CFB7MS.d.cts → SlotsContext-DAQiASVu.d.cts} +99 -5
  6. package/dist/ai-elements.cjs +164 -567
  7. package/dist/ai-elements.cjs.map +1 -1
  8. package/dist/ai-elements.d.cts +10 -2
  9. package/dist/ai-elements.d.ts +10 -2
  10. package/dist/ai-elements.js +17 -462
  11. package/dist/ai-elements.js.map +1 -1
  12. package/dist/{chunk-LSKOJ7SH.js → chunk-3H4CX3MS.js} +8 -5
  13. package/dist/chunk-3H4CX3MS.js.map +1 -0
  14. package/dist/{chunk-4WOBNRRB.cjs → chunk-6CVBJ4EI.cjs} +594 -10
  15. package/dist/chunk-6CVBJ4EI.cjs.map +1 -0
  16. package/dist/{chunk-3MP2EGEJ.cjs → chunk-72QJ2ORD.cjs} +4 -2
  17. package/dist/chunk-72QJ2ORD.cjs.map +1 -0
  18. package/dist/chunk-BYTPAQ7F.js +70 -0
  19. package/dist/chunk-BYTPAQ7F.js.map +1 -0
  20. package/dist/{chunk-P3RPAI4F.cjs → chunk-BYX6IOGX.cjs} +4 -4
  21. package/dist/{chunk-P3RPAI4F.cjs.map → chunk-BYX6IOGX.cjs.map} +1 -1
  22. package/dist/{chunk-B27JIQ4Z.js → chunk-CNGIOCLR.js} +577 -7
  23. package/dist/chunk-CNGIOCLR.js.map +1 -0
  24. package/dist/chunk-CNPYBLLT.js +81 -0
  25. package/dist/chunk-CNPYBLLT.js.map +1 -0
  26. package/dist/{chunk-6ZZTTD5E.js → chunk-CW6LCVNC.js} +3 -3
  27. package/dist/{chunk-6ZZTTD5E.js.map → chunk-CW6LCVNC.js.map} +1 -1
  28. package/dist/chunk-DDATCJ3O.cjs +75 -0
  29. package/dist/chunk-DDATCJ3O.cjs.map +1 -0
  30. package/dist/{chunk-LVWSWTI3.cjs → chunk-DTOOWY2S.cjs} +184 -74
  31. package/dist/chunk-DTOOWY2S.cjs.map +1 -0
  32. package/dist/{chunk-NYQSM3EB.cjs → chunk-DVWX2UGY.cjs} +16 -2
  33. package/dist/chunk-DVWX2UGY.cjs.map +1 -0
  34. package/dist/{chunk-TZ7EM3EG.cjs → chunk-EMVZ7HWM.cjs} +44 -2
  35. package/dist/chunk-EMVZ7HWM.cjs.map +1 -0
  36. package/dist/{chunk-3EN3DMUL.js → chunk-JAEXKKSE.js} +47 -38
  37. package/dist/chunk-JAEXKKSE.js.map +1 -0
  38. package/dist/{chunk-JHWSG5IB.js → chunk-JAOD6CNW.js} +38 -3
  39. package/dist/chunk-JAOD6CNW.js.map +1 -0
  40. package/dist/{chunk-OEEDYJTV.cjs → chunk-JEK2V5I3.cjs} +6 -6
  41. package/dist/{chunk-OEEDYJTV.cjs.map → chunk-JEK2V5I3.cjs.map} +1 -1
  42. package/dist/{chunk-QYCEHFAB.js → chunk-LDQVDUUJ.js} +4 -2
  43. package/dist/chunk-LDQVDUUJ.js.map +1 -0
  44. package/dist/{chunk-AWRQSM42.cjs → chunk-NBZDBH4M.cjs} +8 -5
  45. package/dist/chunk-NBZDBH4M.cjs.map +1 -0
  46. package/dist/{chunk-5F3O3ZJH.js → chunk-P7UR37HP.js} +17 -4
  47. package/dist/chunk-P7UR37HP.js.map +1 -0
  48. package/dist/{chunk-3KSMOHNY.js → chunk-R3TYC66R.js} +46 -81
  49. package/dist/chunk-R3TYC66R.js.map +1 -0
  50. package/dist/{chunk-RAQVW2D7.js → chunk-UTEGHMBN.js} +142 -33
  51. package/dist/chunk-UTEGHMBN.js.map +1 -0
  52. package/dist/{chunk-46MUOYPR.cjs → chunk-UXVOUC2A.cjs} +47 -38
  53. package/dist/chunk-UXVOUC2A.cjs.map +1 -0
  54. package/dist/{chunk-IU7Q7O5G.js → chunk-VQPOUMBC.js} +3 -3
  55. package/dist/{chunk-IU7Q7O5G.js.map → chunk-VQPOUMBC.js.map} +1 -1
  56. package/dist/chunk-VYBHYFG3.cjs +87 -0
  57. package/dist/chunk-VYBHYFG3.cjs.map +1 -0
  58. package/dist/{chunk-OU5OZKYH.cjs → chunk-Y4B45DW4.cjs} +48 -90
  59. package/dist/chunk-Y4B45DW4.cjs.map +1 -0
  60. package/dist/components.cjs +22 -21
  61. package/dist/components.cjs.map +1 -1
  62. package/dist/components.d.cts +3 -3
  63. package/dist/components.d.ts +3 -3
  64. package/dist/components.js +10 -9
  65. package/dist/components.js.map +1 -1
  66. package/dist/core.cjs +21 -82
  67. package/dist/core.cjs.map +1 -1
  68. package/dist/core.d.cts +2 -2
  69. package/dist/core.d.ts +2 -2
  70. package/dist/core.js +2 -78
  71. package/dist/core.js.map +1 -1
  72. package/dist/hooks.cjs +36 -14
  73. package/dist/hooks.cjs.map +1 -1
  74. package/dist/hooks.d.cts +2 -2
  75. package/dist/hooks.d.ts +2 -2
  76. package/dist/hooks.js +7 -5
  77. package/dist/hooks.js.map +1 -1
  78. package/dist/i18n.cjs +5 -5
  79. package/dist/i18n.d.cts +2 -2
  80. package/dist/i18n.d.ts +2 -2
  81. package/dist/i18n.js +1 -1
  82. package/dist/index.cjs +61 -35
  83. package/dist/index.cjs.map +1 -1
  84. package/dist/index.d.cts +15 -5
  85. package/dist/index.d.ts +15 -5
  86. package/dist/index.js +16 -14
  87. package/dist/index.js.map +1 -1
  88. package/dist/llms-full.txt +10 -10
  89. package/dist/styles.css +1 -1
  90. package/dist/theme.cjs +4 -4
  91. package/dist/theme.d.cts +1 -1
  92. package/dist/theme.d.ts +1 -1
  93. package/dist/theme.js +2 -2
  94. package/dist/tools.cjs +6 -5
  95. package/dist/tools.d.cts +2 -2
  96. package/dist/tools.d.ts +2 -2
  97. package/dist/tools.js +3 -2
  98. package/dist/{types-DQCjs81O.d.cts → types-DRa1zFlN.d.cts} +33 -1
  99. package/dist/{types-DQCjs81O.d.ts → types-DRa1zFlN.d.ts} +33 -1
  100. package/dist/ui.cjs +52 -52
  101. package/dist/ui.js +2 -2
  102. package/package.json +2 -2
  103. package/dist/chunk-3EN3DMUL.js.map +0 -1
  104. package/dist/chunk-3KSMOHNY.js.map +0 -1
  105. package/dist/chunk-3MP2EGEJ.cjs.map +0 -1
  106. package/dist/chunk-46MUOYPR.cjs.map +0 -1
  107. package/dist/chunk-4WOBNRRB.cjs.map +0 -1
  108. package/dist/chunk-5F3O3ZJH.js.map +0 -1
  109. package/dist/chunk-AWRQSM42.cjs.map +0 -1
  110. package/dist/chunk-B27JIQ4Z.js.map +0 -1
  111. package/dist/chunk-JHWSG5IB.js.map +0 -1
  112. package/dist/chunk-LSKOJ7SH.js.map +0 -1
  113. package/dist/chunk-LVWSWTI3.cjs.map +0 -1
  114. package/dist/chunk-NYQSM3EB.cjs.map +0 -1
  115. package/dist/chunk-OU5OZKYH.cjs.map +0 -1
  116. package/dist/chunk-QYCEHFAB.js.map +0 -1
  117. package/dist/chunk-RAQVW2D7.js.map +0 -1
  118. package/dist/chunk-TZ7EM3EG.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/providers/SlotsContext.tsx","../src/providers/ChatContext.tsx"],"names":["createContext","useContext","jsx","saveMessages","loadMessages","clearMessages","useState","useRef","useMemo","useEffect","DefaultChatTransport","useChat","useCallback"],"mappings":"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","file":"chunk-UXVOUC2A.cjs","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n createContext,\n useContext,\n type ReactNode,\n type ComponentType,\n} from \"react\";\n\n/**\n * All available slot names that can be overridden.\n */\nexport type SlotName =\n | \"header\"\n | \"footer\"\n | \"input\"\n | \"welcomePage\"\n | \"userMessage\"\n | \"assistantMessage\"\n | \"systemMessage\"\n | \"loader\"\n | \"feedback\"\n | \"tools\"\n | \"toolRenderers\"\n | \"liveChatPanel\"\n | \"satisfactionRating\"\n | \"visitorIdentityForm\"\n | \"floatingButton\"\n | \"emptyState\"\n | \"error\";\n\n/**\n * A slot component receives the default component as a prop alongside its own props.\n */\nexport type SlotComponent<P = Record<string, unknown>> = ComponentType<\n P & { DefaultComponent: ComponentType<P> }\n>;\n\n/**\n * Map of slot name to override component.\n */\nexport type SlotMap = Partial<Record<SlotName, SlotComponent<any>>>;\n\nconst SlotsContext = createContext<SlotMap>({});\n\n/** Props for the SlotsProvider component. */\nexport interface SlotsProviderProps {\n /** Slot overrides map */\n slots?: SlotMap;\n children: ReactNode;\n}\n\n/**\n * Provides slot overrides to descendant components.\n * Wrap your chat tree with this provider and pass a `slots` map\n * to replace built-in UI sections.\n */\nexport function SlotsProvider({ slots = {}, children }: SlotsProviderProps) {\n return (\n <SlotsContext.Provider value={slots}>{children}</SlotsContext.Provider>\n );\n}\n\n/**\n * Returns the full SlotMap from context.\n */\nexport function useSlots(): SlotMap {\n return useContext(SlotsContext);\n}\n\n/**\n * Returns the override component for the given slot name, or undefined if none is set.\n */\nexport function useSlot<P = Record<string, unknown>>(\n name: SlotName\n): SlotComponent<P> | undefined {\n const slots = useContext(SlotsContext);\n return slots[name] as SlotComponent<P> | undefined;\n}\n\n/**\n * Renders a slot: if an override exists, renders it with `{...props, DefaultComponent}`.\n * Otherwise renders the DefaultComponent with the given props.\n *\n * The generic `P` is NOT constrained to `Record<string, unknown>` so concrete\n * component prop types (e.g. `ChatHeaderProps`) flow through at call sites\n * without `as never` casts. Internal spreads are cast through\n * `Record<string, unknown>` — safe because JSX spread accepts any record.\n *\n * @param name - The slot name\n * @param props - Props to pass to the component\n * @param DefaultComponent - The built-in fallback component\n */\nexport function renderSlot<P>(\n name: SlotName,\n props: P,\n DefaultComponent: ComponentType<P>,\n slots: SlotMap\n): React.ReactElement {\n const spreadProps = props as unknown as Record<string, unknown>;\n const Override = slots[name] as\n | ComponentType<Record<string, unknown> & { DefaultComponent: ComponentType<P> }>\n | undefined;\n if (Override) {\n return <Override {...spreadProps} DefaultComponent={DefaultComponent} />;\n }\n const Default = DefaultComponent as ComponentType<Record<string, unknown>>;\n return <Default {...spreadProps} />;\n}\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useCallback,\n useRef,\n useEffect,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport type {\n ChatConfig,\n ChatMessage,\n ChatEventCallbacks,\n ChatAttachmentInput,\n} from \"../core/types\";\nimport { useChat } from \"@ai-sdk/react\";\nimport { DefaultChatTransport } from \"ai\";\nimport {\n clearMessages as clearStoredMessages,\n loadMessages as loadStoredMessages,\n saveMessages as saveStoredMessages,\n type StoredMessage,\n} from \"../core/message-store\";\n\ntype ChatStatus = \"idle\" | \"streaming\" | \"error\";\n\ninterface ActiveTool {\n toolName: string;\n state: \"partial-call\" | \"call\" | \"output-available\";\n args: Record<string, unknown>;\n result?: unknown;\n renderMode: string;\n}\n\nconst SESSION_KEY_PREFIX = \"aigentyc-session-\";\n\n/**\n * Where this provider used to keep history, before it moved to\n * `core/message-store`.\n *\n * Worth deleting rather than leaving behind. The old writer had no size cap and\n * no expiry, so an established visitor can be carrying a large dead blob under\n * this key — and `localStorage` is a ~5 MB budget shared by the whole origin.\n * Nothing reads the key any more, but the space it holds is space the new\n * store's writes need, and those writes fail SILENTLY when the quota is gone.\n * An orphan left in place would mean persistence quietly stopping for exactly\n * the visitors who had used the chat the most.\n */\nconst LEGACY_MESSAGE_KEY_PREFIX = \"aigentyc-messages-\";\n\nfunction dropLegacyMessageStore(projectId: string): void {\n if (typeof window === \"undefined\") return;\n try {\n localStorage.removeItem(LEGACY_MESSAGE_KEY_PREFIX + projectId);\n } catch {\n // Unavailable or blocked — the old key is harmless, just wasteful.\n }\n}\n\nfunction getOrCreateSessionId(projectId: string): string {\n if (typeof window === \"undefined\") return crypto.randomUUID();\n const key = SESSION_KEY_PREFIX + projectId;\n try {\n const stored = sessionStorage.getItem(key);\n if (stored) return stored;\n const id = crypto.randomUUID();\n sessionStorage.setItem(key, id);\n return id;\n } catch {\n return crypto.randomUUID();\n }\n}\n\n/**\n * History is stored per project AND per session, by `core/message-store`.\n *\n * This used to be three local helpers keyed on `projectId` alone, with no\n * expiry and no size bound, while `message-store` — written for exactly this\n * job, and exported from the package — went unused. The difference is not\n * cosmetic:\n *\n * - **A session could not escape a poisoned history.** The server refuses a\n * turn whose replayed history is too long or too large. Because every\n * session in the project read the same key, that history came back on the\n * next page load, in the next tab and in a new session — so a conversation\n * that broke once answered nothing ever again, which is exactly how this was\n * reported from the field.\n * - **Sessions leaked into each other.** A second tab adopted the first tab's\n * conversation while reporting a different `sessionId` upstream, so the\n * transcript the server logged did not match the one on screen.\n * - **Nothing ever expired.** `message-store` drops history after 24 hours and\n * trims it when it outgrows 200 KB.\n *\n * Persistence across navigation is unchanged: the session id lives in\n * `sessionStorage`, which survives a full page load in the same tab.\n */\nfunction persistMessages(\n projectId: string,\n sessionId: string,\n messages: unknown[]\n): void {\n saveStoredMessages(projectId, sessionId, messages as StoredMessage[]);\n}\n\nfunction loadPersistedMessages(\n projectId: string,\n sessionId: string\n): ChatMessage[] {\n return loadStoredMessages(projectId, sessionId) as unknown as ChatMessage[];\n}\n\nfunction clearPersistedMessages(projectId: string, sessionId: string): void {\n clearStoredMessages(projectId, sessionId);\n}\n\nexport interface ChatContextValue {\n messages: ChatMessage[];\n status: ChatStatus;\n error: Error | undefined;\n sessionId: string;\n config: ChatConfig;\n activeTools: ActiveTool[];\n /**\n * Sends a user turn. `files` travel with it as message parts; a turn carrying\n * files may have empty text — an image on its own is a question.\n */\n sendMessage: (content: string, files?: ChatAttachmentInput[]) => void;\n stopGeneration: () => void;\n /**\n * Re-run the last turn after a failure. No-op while a turn is in flight.\n *\n * Worth offering for a transient refusal — a rate limit, a dropped stream, a\n * momentary 503. It cannot clear a refusal caused by the history itself,\n * because the same history is what gets re-sent; that needs\n * {@link ChatContextValue.newConversation}.\n */\n retryLastTurn: () => void;\n newConversation: () => void;\n clearMessages: () => void;\n callbacks?: ChatEventCallbacks;\n}\n\nexport const ChatContext = createContext<ChatContextValue | null>(null);\n\nexport interface ChatContextProviderProps {\n config: ChatConfig;\n callbacks?: ChatEventCallbacks;\n children: ReactNode;\n}\n\n/**\n * Internal provider that manages chat state via @ai-sdk/react `useChat`.\n * Handles message persistence and session management.\n */\nexport function ChatContextProvider({\n config,\n callbacks,\n children,\n}: ChatContextProviderProps) {\n const projectId = config.projectId || \"default\";\n const [sessionId, setSessionId] = useState(() => getOrCreateSessionId(projectId));\n const callbacksRef = useRef(callbacks);\n callbacksRef.current = callbacks;\n\n // Re-load persisted messages whenever the session changes (incl. after\n // newConversation()). Keying only on mount cached the original array, so\n // useChat would re-inject the OLD messages into the new sessionId — a real\n // \"new chat\" effectively kept the old conversation alive.\n const initialMessages = useMemo(\n () => loadPersistedMessages(projectId, sessionId),\n [projectId, sessionId]\n );\n\n useEffect(() => {\n dropLegacyMessageStore(projectId);\n }, [projectId]);\n\n // Page context is whatever the host page looks like *right now*, so it is read\n // through a ref at send time rather than captured when the transport is built.\n // Rebuilding the transport on every navigation would remount `useChat` and\n // drop an in-flight stream — in a single-page host that is one route change.\n const pageRef = useRef({\n pageUrl: config.pageUrl,\n pageTitle: config.pageTitle,\n pageContext: config.pageContext,\n });\n pageRef.current = {\n pageUrl: config.pageUrl,\n pageTitle: config.pageTitle,\n pageContext: config.pageContext,\n };\n\n const transport = useMemo(\n () =>\n new DefaultChatTransport({\n api: `${config.apiEndpoint || \"\"}/api/kb/chat`,\n headers: config.apiKey ? { Authorization: `Bearer ${config.apiKey}` } : undefined,\n // A function body is resolved per request by the AI SDK transport.\n body: () => {\n const { pageUrl, pageTitle, pageContext } = pageRef.current;\n return {\n projectId: config.projectId,\n sessionId,\n ...(pageUrl ? { pageUrl } : {}),\n ...(pageTitle ? { pageTitle } : {}),\n ...(pageContext !== undefined ? { pageContext } : {}),\n };\n },\n }),\n [config.apiEndpoint, config.apiKey, config.projectId, sessionId]\n );\n\n const {\n messages,\n sendMessage: sdkSendMessage,\n status: sdkStatus,\n error,\n stop,\n setMessages,\n regenerate,\n clearError,\n } = useChat({\n id: sessionId,\n messages: initialMessages as never,\n transport,\n onFinish: (message) => {\n callbacksRef.current?.onMessageReceived?.(message as unknown as ChatMessage);\n },\n onError: (err) => {\n callbacksRef.current?.onError?.(err);\n },\n });\n\n const status: ChatStatus = error\n ? \"error\"\n : sdkStatus === \"streaming\" || sdkStatus === \"submitted\"\n ? \"streaming\"\n : \"idle\";\n\n useEffect(() => {\n persistMessages(projectId, sessionId, messages);\n }, [messages, projectId, sessionId]);\n\n const activeTools = useMemo<ActiveTool[]>(() => {\n if (messages.length === 0) return [];\n const last = messages[messages.length - 1] as { role: string; parts?: unknown[] };\n if (last.role !== \"assistant\" || !Array.isArray(last.parts)) return [];\n return (last.parts as Array<Record<string, unknown>>)\n .filter((p) => typeof p.type === \"string\" && (p.type as string).startsWith(\"tool-\"))\n .map((p) => ({\n toolName: (p.toolName as string) || (p.type as string).replace(\"tool-\", \"\"),\n state: (p.state as ActiveTool[\"state\"]) || \"output-available\",\n args: (p.args as Record<string, unknown>) || {},\n result: p.result,\n renderMode: (p.renderMode as string) || \"inline\",\n }));\n }, [messages]);\n\n const sendMessage = useCallback(\n (content: string, files?: ChatAttachmentInput[]) => {\n // An attachment is a message on its own, so an empty string only blocks\n // the send when nothing else is going with it.\n if (!content.trim() && (!files || files.length === 0)) return;\n callbacksRef.current?.onMessageSent?.({\n id: crypto.randomUUID(),\n role: \"user\",\n content,\n } as ChatMessage);\n sdkSendMessage({\n text: content,\n ...(files && files.length > 0\n ? { files: files.map((f) => ({ ...f, type: \"file\" as const })) }\n : {}),\n });\n },\n [sdkSendMessage]\n );\n\n const stopGeneration = useCallback(() => stop(), [stop]);\n\n // `clearError` first: the error is what the UI is rendering, and leaving it\n // set would keep the failure card on screen next to the turn now streaming.\n //\n // The empty check is not defensive padding. `regenerate()` THROWS when there\n // is no message to re-run, and a host that calls `clearMessages()` while a\n // failure is on screen leaves exactly that state — no messages, error still\n // set, so the card is still rendered and still offering its button. Left\n // alone it would also be an unhandled rejection, since nothing awaits this.\n const retryLastTurn = useCallback(() => {\n clearError();\n if (messages.length === 0) return;\n regenerate().catch(() => {\n // Request failures already land in `error` via useChat's own handling;\n // this only stops a rejected promise escaping the click handler.\n });\n }, [clearError, regenerate, messages]);\n\n const newConversation = useCallback(() => {\n setMessages([]);\n clearPersistedMessages(projectId, sessionId);\n if (typeof window !== \"undefined\") {\n try {\n sessionStorage.removeItem(SESSION_KEY_PREFIX + projectId);\n } catch {\n // ignore\n }\n }\n setSessionId(getOrCreateSessionId(projectId));\n }, [projectId, sessionId, setMessages]);\n\n const clearMessages = useCallback(() => {\n setMessages([]);\n clearPersistedMessages(projectId, sessionId);\n }, [projectId, sessionId, setMessages]);\n\n const value = useMemo<ChatContextValue>(\n () => ({\n messages: messages as unknown as ChatMessage[],\n status,\n error: error as Error | undefined,\n sessionId,\n config,\n activeTools,\n sendMessage,\n stopGeneration,\n retryLastTurn,\n newConversation,\n clearMessages,\n callbacks: callbacksRef.current,\n }),\n [\n messages,\n status,\n error,\n sessionId,\n config,\n activeTools,\n sendMessage,\n stopGeneration,\n retryLastTurn,\n newConversation,\n clearMessages,\n ]\n );\n\n return <ChatContext.Provider value={value}>{children}</ChatContext.Provider>;\n}\n\n/**\n * Returns the chat context. Must be used within a `ChatContextProvider`.\n */\nexport function useChatContext(): ChatContextValue {\n const ctx = useContext(ChatContext);\n if (!ctx) {\n throw new Error(\n \"useChatContext must be used within a ChatProvider or ChatContextProvider\"\n );\n }\n return ctx;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { useI18n } from './chunk-QYCEHFAB.js';
2
+ import { useI18n } from './chunk-LDQVDUUJ.js';
3
3
  import { createContext, useState, useMemo, useContext } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -61,5 +61,5 @@ function useTheme() {
61
61
  }
62
62
 
63
63
  export { ThemeProvider, useTheme };
64
- //# sourceMappingURL=chunk-IU7Q7O5G.js.map
65
- //# sourceMappingURL=chunk-IU7Q7O5G.js.map
64
+ //# sourceMappingURL=chunk-VQPOUMBC.js.map
65
+ //# sourceMappingURL=chunk-VQPOUMBC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/providers/ThemeProvider.tsx"],"names":[],"mappings":";;;;AA8CA,IAAM,YAAA,GAAe,cAAwC,IAAI,CAAA;AAUjE,SAAS,eAAe,KAAA,EAAmC;AACzD,EAAA,MAAM,IAAA,GAA2C;AAAA,IAC/C,gBAAgB,KAAA,CAAM,YAAA;AAAA,IACtB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,mBAAmB,KAAA,CAAM,eAAA;AAAA,IACzB,aAAa,KAAA,CAAM,SAAA;AAAA,IACnB,aAAa,KAAA,CAAM,SAAA;AAAA,IACnB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,oBAAoB,KAAA,CAAM,eAAA;AAAA,IAC1B,yBAAyB,KAAA,CAAM,oBAAA;AAAA,IAC/B,8BAA8B,KAAA,CAAM,wBAAA;AAAA,IACpC,kBAAkB,KAAA,CAAM,cAAA;AAAA,IACxB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,oBAAoB,KAAA,CAAM,gBAAA;AAAA,IAC1B,oBAAoB,KAAA,CAAM,UAAA;AAAA,IAC1B,kBAAkB,KAAA,CAAM,UAAA;AAAA,IACxB,4BAA4B,KAAA,CAAM,iBAAA;AAAA,IAClC,sBAAsB,KAAA,CAAM,YAAA;AAAA,IAC5B,iCAAiC,KAAA,CAAM,sBAAA;AAAA,IACvC,4BAA4B,KAAA,CAAM;AAAA,GACpC;AAGA,EAAA,MAAM,QAAgC,EAAC;AACvC,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,EAAG;AAC/C,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IACf;AAAA,EACF;AAGA,EAAA,IAAI,MAAM,gBAAA,EAAkB;AAC1B,IAAA,KAAA,MAAW,CAAC,KAAK,KAAK,CAAA,IAAK,OAAO,OAAA,CAAQ,KAAA,CAAM,gBAAgB,CAAA,EAAG;AACjE,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IACf;AAAA,EACF;AAEA,EAAA,OAAO,KAAA;AACT;AAOO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA,EAAO,eAAe,EAAC;AAAA,EACvB;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAsB,YAAY,CAAA;AAC5D,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,YAAY,IAAA,CAAK,SAAA;AAEvB,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM,cAAA,CAAe,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAE5D,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,SAAA,EAAU,CAAA;AAAA,IACpC,CAAC,OAAO,SAAS;AAAA,GACnB;AAEA,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,QAAA,EAAb,EAAsB,OACrB,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,oBAAA,EAAmB,EAAA,EAAG,GAAA,EAAK,SAAA,EAAW,KAAA,EAAO,OAAA,EAC/C,UACH,CAAA,EACF,CAAA;AAEJ;AAMO,SAAS,QAAA,GAA8B;AAC5C,EAAA,MAAM,GAAA,GAAM,WAAW,YAAY,CAAA;AACnC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAA;AACT","file":"chunk-IU7Q7O5G.js","sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useMemo,\n type ReactNode,\n type CSSProperties,\n} from \"react\";\nimport { useI18n } from \"./I18nProvider\";\n\n/**\n * Theme configuration for the chat widget.\n */\nexport interface ThemeConfig {\n primaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n linkColor?: string;\n loaderColor?: string;\n userBubbleColor?: string;\n assistantBubbleColor?: string;\n assistantBubbleTextColor?: string;\n secondaryColor?: string;\n borderColor?: string;\n placeholderColor?: string;\n fontFamily?: string;\n headingFontFamily?: string;\n borderRadius?: string;\n assistantBubblePadding?: string;\n assistantMaxWidth?: string;\n /** Arbitrary CSS custom properties (key must start with `--`). */\n customProperties?: Record<string, string>;\n}\n\ninterface ThemeContextValue {\n /** Current theme configuration. */\n theme: ThemeConfig;\n /** Update the theme at runtime. */\n setTheme: (theme: ThemeConfig) => void;\n /** Current text direction derived from language. */\n direction: \"ltr\" | \"rtl\";\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\n/** Props for the ThemeProvider component. */\nexport interface ThemeProviderProps {\n /** Theme configuration. */\n theme?: ThemeConfig;\n children: ReactNode;\n}\n\n/** Map a ThemeConfig to CSS custom properties. */\nfunction themeToCSSVars(theme: ThemeConfig): CSSProperties {\n const vars: Record<string, string | undefined> = {\n \"--ac-primary\": theme.primaryColor,\n \"--ac-accent\": theme.accentColor,\n \"--ac-background\": theme.backgroundColor,\n \"--ac-text\": theme.textColor,\n \"--ac-link\": theme.linkColor,\n \"--ac-loader\": theme.loaderColor,\n \"--ac-user-bubble\": theme.userBubbleColor,\n \"--ac-assistant-bubble\": theme.assistantBubbleColor,\n \"--ac-assistant-bubble-text\": theme.assistantBubbleTextColor,\n \"--ac-secondary\": theme.secondaryColor,\n \"--ac-border\": theme.borderColor,\n \"--ac-placeholder\": theme.placeholderColor,\n \"--ac-font-family\": theme.fontFamily,\n \"--ac-font-sans\": theme.fontFamily,\n \"--ac-heading-font-family\": theme.headingFontFamily,\n \"--ac-border-radius\": theme.borderRadius,\n \"--ac-assistant-bubble-padding\": theme.assistantBubblePadding,\n \"--ac-assistant-max-width\": theme.assistantMaxWidth,\n };\n\n // Strip undefined values\n const style: Record<string, string> = {};\n for (const [key, value] of Object.entries(vars)) {\n if (value !== undefined) {\n style[key] = value;\n }\n }\n\n // Merge arbitrary custom properties\n if (theme.customProperties) {\n for (const [key, value] of Object.entries(theme.customProperties)) {\n style[key] = value;\n }\n }\n\n return style as CSSProperties;\n}\n\n/**\n * Provides theme context and renders a wrapper `<div data-aigentyc-chat>`\n * that sets CSS custom properties for styling.\n * Reads direction from I18nProvider.\n */\nexport function ThemeProvider({\n theme: initialTheme = {},\n children,\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<ThemeConfig>(initialTheme);\n const i18n = useI18n();\n const direction = i18n.direction;\n\n const cssVars = useMemo(() => themeToCSSVars(theme), [theme]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({ theme, setTheme, direction }),\n [theme, direction]\n );\n\n return (\n <ThemeContext.Provider value={value}>\n <div data-aigentyc-chat=\"\" dir={direction} style={cssVars}>\n {children}\n </div>\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Returns the current theme configuration and `setTheme` updater.\n * Must be used within a `ThemeProvider`.\n */\nexport function useTheme(): ThemeContextValue {\n const ctx = useContext(ThemeContext);\n if (!ctx) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n return ctx;\n}\n"]}
1
+ {"version":3,"sources":["../src/providers/ThemeProvider.tsx"],"names":[],"mappings":";;;;AA8CA,IAAM,YAAA,GAAe,cAAwC,IAAI,CAAA;AAUjE,SAAS,eAAe,KAAA,EAAmC;AACzD,EAAA,MAAM,IAAA,GAA2C;AAAA,IAC/C,gBAAgB,KAAA,CAAM,YAAA;AAAA,IACtB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,mBAAmB,KAAA,CAAM,eAAA;AAAA,IACzB,aAAa,KAAA,CAAM,SAAA;AAAA,IACnB,aAAa,KAAA,CAAM,SAAA;AAAA,IACnB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,oBAAoB,KAAA,CAAM,eAAA;AAAA,IAC1B,yBAAyB,KAAA,CAAM,oBAAA;AAAA,IAC/B,8BAA8B,KAAA,CAAM,wBAAA;AAAA,IACpC,kBAAkB,KAAA,CAAM,cAAA;AAAA,IACxB,eAAe,KAAA,CAAM,WAAA;AAAA,IACrB,oBAAoB,KAAA,CAAM,gBAAA;AAAA,IAC1B,oBAAoB,KAAA,CAAM,UAAA;AAAA,IAC1B,kBAAkB,KAAA,CAAM,UAAA;AAAA,IACxB,4BAA4B,KAAA,CAAM,iBAAA;AAAA,IAClC,sBAAsB,KAAA,CAAM,YAAA;AAAA,IAC5B,iCAAiC,KAAA,CAAM,sBAAA;AAAA,IACvC,4BAA4B,KAAA,CAAM;AAAA,GACpC;AAGA,EAAA,MAAM,QAAgC,EAAC;AACvC,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,EAAG;AAC/C,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IACf;AAAA,EACF;AAGA,EAAA,IAAI,MAAM,gBAAA,EAAkB;AAC1B,IAAA,KAAA,MAAW,CAAC,KAAK,KAAK,CAAA,IAAK,OAAO,OAAA,CAAQ,KAAA,CAAM,gBAAgB,CAAA,EAAG;AACjE,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,IACf;AAAA,EACF;AAEA,EAAA,OAAO,KAAA;AACT;AAOO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA,EAAO,eAAe,EAAC;AAAA,EACvB;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAsB,YAAY,CAAA;AAC5D,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,YAAY,IAAA,CAAK,SAAA;AAEvB,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM,cAAA,CAAe,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAE5D,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,SAAA,EAAU,CAAA;AAAA,IACpC,CAAC,OAAO,SAAS;AAAA,GACnB;AAEA,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,QAAA,EAAb,EAAsB,OACrB,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,oBAAA,EAAmB,EAAA,EAAG,GAAA,EAAK,SAAA,EAAW,KAAA,EAAO,OAAA,EAC/C,UACH,CAAA,EACF,CAAA;AAEJ;AAMO,SAAS,QAAA,GAA8B;AAC5C,EAAA,MAAM,GAAA,GAAM,WAAW,YAAY,CAAA;AACnC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,GAAA;AACT","file":"chunk-VQPOUMBC.js","sourcesContent":["\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useMemo,\n type ReactNode,\n type CSSProperties,\n} from \"react\";\nimport { useI18n } from \"./I18nProvider\";\n\n/**\n * Theme configuration for the chat widget.\n */\nexport interface ThemeConfig {\n primaryColor?: string;\n accentColor?: string;\n backgroundColor?: string;\n textColor?: string;\n linkColor?: string;\n loaderColor?: string;\n userBubbleColor?: string;\n assistantBubbleColor?: string;\n assistantBubbleTextColor?: string;\n secondaryColor?: string;\n borderColor?: string;\n placeholderColor?: string;\n fontFamily?: string;\n headingFontFamily?: string;\n borderRadius?: string;\n assistantBubblePadding?: string;\n assistantMaxWidth?: string;\n /** Arbitrary CSS custom properties (key must start with `--`). */\n customProperties?: Record<string, string>;\n}\n\ninterface ThemeContextValue {\n /** Current theme configuration. */\n theme: ThemeConfig;\n /** Update the theme at runtime. */\n setTheme: (theme: ThemeConfig) => void;\n /** Current text direction derived from language. */\n direction: \"ltr\" | \"rtl\";\n}\n\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\n\n/** Props for the ThemeProvider component. */\nexport interface ThemeProviderProps {\n /** Theme configuration. */\n theme?: ThemeConfig;\n children: ReactNode;\n}\n\n/** Map a ThemeConfig to CSS custom properties. */\nfunction themeToCSSVars(theme: ThemeConfig): CSSProperties {\n const vars: Record<string, string | undefined> = {\n \"--ac-primary\": theme.primaryColor,\n \"--ac-accent\": theme.accentColor,\n \"--ac-background\": theme.backgroundColor,\n \"--ac-text\": theme.textColor,\n \"--ac-link\": theme.linkColor,\n \"--ac-loader\": theme.loaderColor,\n \"--ac-user-bubble\": theme.userBubbleColor,\n \"--ac-assistant-bubble\": theme.assistantBubbleColor,\n \"--ac-assistant-bubble-text\": theme.assistantBubbleTextColor,\n \"--ac-secondary\": theme.secondaryColor,\n \"--ac-border\": theme.borderColor,\n \"--ac-placeholder\": theme.placeholderColor,\n \"--ac-font-family\": theme.fontFamily,\n \"--ac-font-sans\": theme.fontFamily,\n \"--ac-heading-font-family\": theme.headingFontFamily,\n \"--ac-border-radius\": theme.borderRadius,\n \"--ac-assistant-bubble-padding\": theme.assistantBubblePadding,\n \"--ac-assistant-max-width\": theme.assistantMaxWidth,\n };\n\n // Strip undefined values\n const style: Record<string, string> = {};\n for (const [key, value] of Object.entries(vars)) {\n if (value !== undefined) {\n style[key] = value;\n }\n }\n\n // Merge arbitrary custom properties\n if (theme.customProperties) {\n for (const [key, value] of Object.entries(theme.customProperties)) {\n style[key] = value;\n }\n }\n\n return style as CSSProperties;\n}\n\n/**\n * Provides theme context and renders a wrapper `<div data-aigentyc-chat>`\n * that sets CSS custom properties for styling.\n * Reads direction from I18nProvider.\n */\nexport function ThemeProvider({\n theme: initialTheme = {},\n children,\n}: ThemeProviderProps) {\n const [theme, setTheme] = useState<ThemeConfig>(initialTheme);\n const i18n = useI18n();\n const direction = i18n.direction;\n\n const cssVars = useMemo(() => themeToCSSVars(theme), [theme]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({ theme, setTheme, direction }),\n [theme, direction]\n );\n\n return (\n <ThemeContext.Provider value={value}>\n <div data-aigentyc-chat=\"\" dir={direction} style={cssVars}>\n {children}\n </div>\n </ThemeContext.Provider>\n );\n}\n\n/**\n * Returns the current theme configuration and `setTheme` updater.\n * Must be used within a `ThemeProvider`.\n */\nexport function useTheme(): ThemeContextValue {\n const ctx = useContext(ThemeContext);\n if (!ctx) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n return ctx;\n}\n"]}
@@ -0,0 +1,87 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ // src/core/message-store.ts
5
+ var STORAGE_PREFIX = "chat-messages-";
6
+ var MAX_SIZE_BYTES = 200 * 1024;
7
+ var MAX_AGE_MS = 24 * 60 * 60 * 1e3;
8
+ function getKey(projectId, sessionId) {
9
+ return `${STORAGE_PREFIX}${projectId}-${sessionId}`;
10
+ }
11
+ function loadMessages(projectId, sessionId) {
12
+ if (typeof window === "undefined") return [];
13
+ try {
14
+ const raw = localStorage.getItem(getKey(projectId, sessionId));
15
+ if (!raw) return [];
16
+ const data = JSON.parse(raw);
17
+ if (Date.now() - data.timestamp > MAX_AGE_MS) {
18
+ localStorage.removeItem(getKey(projectId, sessionId));
19
+ return [];
20
+ }
21
+ return data.messages || [];
22
+ } catch {
23
+ return [];
24
+ }
25
+ }
26
+ function saveMessages(projectId, sessionId, messages) {
27
+ if (typeof window === "undefined") return;
28
+ try {
29
+ let toStore = messages;
30
+ const data = { messages: toStore, timestamp: Date.now() };
31
+ let serialized = JSON.stringify(data);
32
+ if (serialized.length > MAX_SIZE_BYTES && toStore.length > 20) {
33
+ toStore = toStore.slice(-20);
34
+ data.messages = toStore;
35
+ serialized = JSON.stringify(data);
36
+ }
37
+ localStorage.setItem(getKey(projectId, sessionId), serialized);
38
+ } catch {
39
+ }
40
+ }
41
+ function clearMessages(projectId, sessionId) {
42
+ if (typeof window === "undefined") return;
43
+ try {
44
+ localStorage.removeItem(getKey(projectId, sessionId));
45
+ } catch {
46
+ }
47
+ }
48
+ function pruneExpiredMessages() {
49
+ if (typeof window === "undefined") return;
50
+ try {
51
+ const keysToRemove = [];
52
+ for (let i = 0; i < localStorage.length; i++) {
53
+ const key = localStorage.key(i);
54
+ if (!key?.startsWith(STORAGE_PREFIX)) continue;
55
+ try {
56
+ const raw = localStorage.getItem(key);
57
+ if (!raw) continue;
58
+ const data = JSON.parse(raw);
59
+ if (Date.now() - data.timestamp > MAX_AGE_MS) {
60
+ keysToRemove.push(key);
61
+ }
62
+ } catch {
63
+ keysToRemove.push(key);
64
+ }
65
+ }
66
+ for (const key of keysToRemove) {
67
+ localStorage.removeItem(key);
68
+ }
69
+ } catch {
70
+ }
71
+ }
72
+ var saveTimeout = null;
73
+ function debouncedSaveMessages(projectId, sessionId, messages, delay = 500) {
74
+ if (typeof window === "undefined") return;
75
+ if (saveTimeout) clearTimeout(saveTimeout);
76
+ saveTimeout = setTimeout(() => {
77
+ saveMessages(projectId, sessionId, messages);
78
+ }, delay);
79
+ }
80
+
81
+ exports.clearMessages = clearMessages;
82
+ exports.debouncedSaveMessages = debouncedSaveMessages;
83
+ exports.loadMessages = loadMessages;
84
+ exports.pruneExpiredMessages = pruneExpiredMessages;
85
+ exports.saveMessages = saveMessages;
86
+ //# sourceMappingURL=chunk-VYBHYFG3.cjs.map
87
+ //# sourceMappingURL=chunk-VYBHYFG3.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/message-store.ts"],"names":[],"mappings":"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","file":"chunk-VYBHYFG3.cjs","sourcesContent":["\"use client\";\n\n/**\n * Cross-page message persistence via `localStorage`.\n *\n * Preserves conversation UI across full page navigations without\n * re-POSTing to the backend.\n *\n * All storage access is guarded against SSR — every function is a safe\n * no-op when `window` / `localStorage` is unavailable.\n */\n\nconst STORAGE_PREFIX = \"chat-messages-\";\n\n/** Maximum payload size per session (200 KB). */\nconst MAX_SIZE_BYTES = 200 * 1024;\n\n/** Messages expire after 24 hours of inactivity. */\nconst MAX_AGE_MS = 24 * 60 * 60 * 1000;\n\n/** Shape of a single persisted message. */\nexport interface StoredMessage {\n /** Message identifier */\n id: string;\n /** Role: user / assistant / system */\n role: string;\n /** Structured parts array (text, tool calls, etc.) */\n parts: unknown[];\n /** ISO-8601 creation timestamp */\n createdAt?: string;\n}\n\n/** Internal wrapper stored in localStorage. */\ninterface StoredData {\n messages: StoredMessage[];\n timestamp: number;\n}\n\n/**\n * Build the localStorage key for a given project + session pair.\n *\n * @internal\n */\nfunction getKey(projectId: string, sessionId: string): string {\n return `${STORAGE_PREFIX}${projectId}-${sessionId}`;\n}\n\n/**\n * Load persisted messages for a session.\n *\n * Returns an empty array when nothing is stored, the data is expired\n * or corrupted, or when running on the server.\n *\n * @param projectId - Aigentyc project ID\n * @param sessionId - Current chat session ID\n */\nexport function loadMessages(projectId: string, sessionId: string): StoredMessage[] {\n if (typeof window === \"undefined\") return [];\n\n try {\n const raw = localStorage.getItem(getKey(projectId, sessionId));\n if (!raw) return [];\n\n const data: StoredData = JSON.parse(raw);\n\n // Check expiry\n if (Date.now() - data.timestamp > MAX_AGE_MS) {\n localStorage.removeItem(getKey(projectId, sessionId));\n return [];\n }\n\n return data.messages || [];\n } catch {\n return [];\n }\n}\n\n/**\n * Save messages to localStorage.\n *\n * Trims to the last 20 messages if the serialized payload exceeds\n * `MAX_SIZE_BYTES`.\n *\n * @param projectId - Aigentyc project ID\n * @param sessionId - Current chat session ID\n * @param messages - Messages to persist\n */\nexport function saveMessages(\n projectId: string,\n sessionId: string,\n messages: StoredMessage[],\n): void {\n if (typeof window === \"undefined\") return;\n\n try {\n let toStore = messages;\n const data: StoredData = { messages: toStore, timestamp: Date.now() };\n let serialized = JSON.stringify(data);\n\n if (serialized.length > MAX_SIZE_BYTES && toStore.length > 20) {\n toStore = toStore.slice(-20);\n data.messages = toStore;\n serialized = JSON.stringify(data);\n }\n\n localStorage.setItem(getKey(projectId, sessionId), serialized);\n } catch {\n // localStorage full or unavailable — silently ignore\n }\n}\n\n/**\n * Clear stored messages for a session.\n *\n * @param projectId - Aigentyc project ID\n * @param sessionId - Current chat session ID\n */\nexport function clearMessages(projectId: string, sessionId: string): void {\n if (typeof window === \"undefined\") return;\n\n try {\n localStorage.removeItem(getKey(projectId, sessionId));\n } catch {\n // ignore\n }\n}\n\n/**\n * Prune all expired message entries from localStorage.\n *\n * Call once on widget / provider initialisation to prevent stale data\n * from accumulating.\n */\nexport function pruneExpiredMessages(): void {\n if (typeof window === \"undefined\") return;\n\n try {\n const keysToRemove: string[] = [];\n\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (!key?.startsWith(STORAGE_PREFIX)) continue;\n\n try {\n const raw = localStorage.getItem(key);\n if (!raw) continue;\n const data: StoredData = JSON.parse(raw);\n if (Date.now() - data.timestamp > MAX_AGE_MS) {\n keysToRemove.push(key);\n }\n } catch {\n keysToRemove.push(key!);\n }\n }\n\n for (const key of keysToRemove) {\n localStorage.removeItem(key);\n }\n } catch {\n // ignore\n }\n}\n\n/** Handle for the debounce timer. */\nlet saveTimeout: ReturnType<typeof setTimeout> | null = null;\n\n/**\n * Debounced save — call on every `messages` change.\n *\n * Coalesces rapid updates (e.g. during streaming) into a single write.\n *\n * @param projectId - Aigentyc project ID\n * @param sessionId - Current chat session ID\n * @param messages - Current messages array\n * @param delay - Debounce delay in ms (default `500`)\n */\nexport function debouncedSaveMessages(\n projectId: string,\n sessionId: string,\n messages: StoredMessage[],\n delay = 500,\n): void {\n if (typeof window === \"undefined\") return;\n\n if (saveTimeout) clearTimeout(saveTimeout);\n saveTimeout = setTimeout(() => {\n saveMessages(projectId, sessionId, messages);\n }, delay);\n}\n"]}
@@ -1,12 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkTZ7EM3EG_cjs = require('./chunk-TZ7EM3EG.cjs');
4
+ var chunkEMVZ7HWM_cjs = require('./chunk-EMVZ7HWM.cjs');
5
5
  var chunk525KS5HM_cjs = require('./chunk-525KS5HM.cjs');
6
- var React4 = require('react');
7
- var SeparatorPrimitive = require('@radix-ui/react-separator');
6
+ var React2 = require('react');
8
7
  var jsxRuntime = require('react/jsx-runtime');
9
- var TooltipPrimitive = require('@radix-ui/react-tooltip');
10
8
  var classVarianceAuthority = require('class-variance-authority');
11
9
  var useEmblaCarousel = require('embla-carousel-react');
12
10
  var lucideReact = require('lucide-react');
@@ -36,9 +34,7 @@ function _interopNamespace(e) {
36
34
  return Object.freeze(n);
37
35
  }
38
36
 
39
- var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
40
- var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
41
- var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
37
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
42
38
  var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
43
39
  var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
44
40
  var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
@@ -46,40 +42,7 @@ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive)
46
42
  var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
47
43
  var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
48
44
 
49
- var Separator = React4__namespace.forwardRef(
50
- ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
51
- SeparatorPrimitive__namespace.Root,
52
- {
53
- ref,
54
- decorative,
55
- orientation,
56
- className: chunk525KS5HM_cjs.cn(
57
- "shrink-0 bg-border",
58
- orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
59
- className
60
- ),
61
- ...props
62
- }
63
- )
64
- );
65
- Separator.displayName = SeparatorPrimitive__namespace.Root.displayName;
66
- var TooltipProvider = TooltipPrimitive__namespace.Provider;
67
- var Tooltip = TooltipPrimitive__namespace.Root;
68
- var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
69
- var TooltipContent = React4__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
70
- TooltipPrimitive__namespace.Content,
71
- {
72
- ref,
73
- sideOffset,
74
- className: chunk525KS5HM_cjs.cn(
75
- "z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
76
- className
77
- ),
78
- ...props
79
- }
80
- ) }));
81
- TooltipContent.displayName = TooltipPrimitive__namespace.Content.displayName;
82
- var Input = React4__namespace.forwardRef(
45
+ var Input = React2__namespace.forwardRef(
83
46
  ({ className, type, ...props }, ref) => {
84
47
  return /* @__PURE__ */ jsxRuntime.jsx(
85
48
  "input",
@@ -115,15 +78,15 @@ var badgeVariants = classVarianceAuthority.cva(
115
78
  function Badge({ className, variant, ...props }) {
116
79
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk525KS5HM_cjs.cn(badgeVariants({ variant }), className), ...props });
117
80
  }
118
- var CarouselContext = React4__namespace.createContext(null);
81
+ var CarouselContext = React2__namespace.createContext(null);
119
82
  function useCarousel() {
120
- const context = React4__namespace.useContext(CarouselContext);
83
+ const context = React2__namespace.useContext(CarouselContext);
121
84
  if (!context) {
122
85
  throw new Error("useCarousel must be used within a <Carousel />");
123
86
  }
124
87
  return context;
125
88
  }
126
- var Carousel = React4__namespace.forwardRef(
89
+ var Carousel = React2__namespace.forwardRef(
127
90
  ({
128
91
  orientation = "horizontal",
129
92
  opts,
@@ -140,22 +103,22 @@ var Carousel = React4__namespace.forwardRef(
140
103
  },
141
104
  plugins
142
105
  );
143
- const [canScrollPrev, setCanScrollPrev] = React4__namespace.useState(false);
144
- const [canScrollNext, setCanScrollNext] = React4__namespace.useState(false);
145
- const onSelect = React4__namespace.useCallback((api2) => {
106
+ const [canScrollPrev, setCanScrollPrev] = React2__namespace.useState(false);
107
+ const [canScrollNext, setCanScrollNext] = React2__namespace.useState(false);
108
+ const onSelect = React2__namespace.useCallback((api2) => {
146
109
  if (!api2) {
147
110
  return;
148
111
  }
149
112
  setCanScrollPrev(api2.canScrollPrev());
150
113
  setCanScrollNext(api2.canScrollNext());
151
114
  }, []);
152
- const scrollPrev = React4__namespace.useCallback(() => {
115
+ const scrollPrev = React2__namespace.useCallback(() => {
153
116
  api?.scrollPrev();
154
117
  }, [api]);
155
- const scrollNext = React4__namespace.useCallback(() => {
118
+ const scrollNext = React2__namespace.useCallback(() => {
156
119
  api?.scrollNext();
157
120
  }, [api]);
158
- const handleKeyDown = React4__namespace.useCallback(
121
+ const handleKeyDown = React2__namespace.useCallback(
159
122
  (event) => {
160
123
  if (event.key === "ArrowLeft") {
161
124
  event.preventDefault();
@@ -167,13 +130,13 @@ var Carousel = React4__namespace.forwardRef(
167
130
  },
168
131
  [scrollPrev, scrollNext]
169
132
  );
170
- React4__namespace.useEffect(() => {
133
+ React2__namespace.useEffect(() => {
171
134
  if (!api || !setApi) {
172
135
  return;
173
136
  }
174
137
  setApi(api);
175
138
  }, [api, setApi]);
176
- React4__namespace.useEffect(() => {
139
+ React2__namespace.useEffect(() => {
177
140
  if (!api) {
178
141
  return;
179
142
  }
@@ -214,7 +177,7 @@ var Carousel = React4__namespace.forwardRef(
214
177
  }
215
178
  );
216
179
  Carousel.displayName = "Carousel";
217
- var CarouselContent = React4__namespace.forwardRef(({ className, ...props }, ref) => {
180
+ var CarouselContent = React2__namespace.forwardRef(({ className, ...props }, ref) => {
218
181
  const { carouselRef, orientation } = useCarousel();
219
182
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
220
183
  "div",
@@ -230,7 +193,7 @@ var CarouselContent = React4__namespace.forwardRef(({ className, ...props }, ref
230
193
  ) });
231
194
  });
232
195
  CarouselContent.displayName = "CarouselContent";
233
- var CarouselItem = React4__namespace.forwardRef(({ className, ...props }, ref) => {
196
+ var CarouselItem = React2__namespace.forwardRef(({ className, ...props }, ref) => {
234
197
  const { orientation } = useCarousel();
235
198
  return /* @__PURE__ */ jsxRuntime.jsx(
236
199
  "div",
@@ -248,10 +211,10 @@ var CarouselItem = React4__namespace.forwardRef(({ className, ...props }, ref) =
248
211
  );
249
212
  });
250
213
  CarouselItem.displayName = "CarouselItem";
251
- var CarouselPrevious = React4__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
214
+ var CarouselPrevious = React2__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
252
215
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
253
216
  return /* @__PURE__ */ jsxRuntime.jsxs(
254
- chunkTZ7EM3EG_cjs.Button,
217
+ chunkEMVZ7HWM_cjs.Button,
255
218
  {
256
219
  ref,
257
220
  variant,
@@ -272,10 +235,10 @@ var CarouselPrevious = React4__namespace.forwardRef(({ className, variant = "out
272
235
  );
273
236
  });
274
237
  CarouselPrevious.displayName = "CarouselPrevious";
275
- var CarouselNext = React4__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
238
+ var CarouselNext = React2__namespace.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
276
239
  const { orientation, scrollNext, canScrollNext } = useCarousel();
277
240
  return /* @__PURE__ */ jsxRuntime.jsxs(
278
- chunkTZ7EM3EG_cjs.Button,
241
+ chunkEMVZ7HWM_cjs.Button,
279
242
  {
280
243
  ref,
281
244
  variant,
@@ -296,7 +259,7 @@ var CarouselNext = React4__namespace.forwardRef(({ className, variant = "outline
296
259
  );
297
260
  });
298
261
  CarouselNext.displayName = "CarouselNext";
299
- var ScrollArea = React4__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
262
+ var ScrollArea = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
300
263
  ScrollAreaPrimitive__namespace.Root,
301
264
  {
302
265
  ref,
@@ -310,7 +273,7 @@ var ScrollArea = React4__namespace.forwardRef(({ className, children, ...props }
310
273
  }
311
274
  ));
312
275
  ScrollArea.displayName = ScrollAreaPrimitive__namespace.Root.displayName;
313
- var ScrollBar = React4__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
276
+ var ScrollBar = React2__namespace.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
314
277
  ScrollAreaPrimitive__namespace.ScrollAreaScrollbar,
315
278
  {
316
279
  ref,
@@ -326,7 +289,7 @@ var ScrollBar = React4__namespace.forwardRef(({ className, orientation = "vertic
326
289
  }
327
290
  ));
328
291
  ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displayName;
329
- var Progress = React4__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
292
+ var Progress = React2__namespace.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
330
293
  ProgressPrimitive__namespace.Root,
331
294
  {
332
295
  ref,
@@ -359,7 +322,7 @@ var alertVariants = classVarianceAuthority.cva(
359
322
  }
360
323
  }
361
324
  );
362
- var Alert = React4__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
325
+ var Alert = React2__namespace.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
363
326
  "div",
364
327
  {
365
328
  ref,
@@ -369,7 +332,7 @@ var Alert = React4__namespace.forwardRef(({ className, variant, ...props }, ref)
369
332
  }
370
333
  ));
371
334
  Alert.displayName = "Alert";
372
- var AlertTitle = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
335
+ var AlertTitle = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
373
336
  "h5",
374
337
  {
375
338
  ref,
@@ -378,7 +341,7 @@ var AlertTitle = React4__namespace.forwardRef(({ className, ...props }, ref) =>
378
341
  }
379
342
  ));
380
343
  AlertTitle.displayName = "AlertTitle";
381
- var AlertDescription = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
344
+ var AlertDescription = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
382
345
  "div",
383
346
  {
384
347
  ref,
@@ -391,7 +354,7 @@ var Dialog = DialogPrimitive__namespace.Root;
391
354
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
392
355
  var DialogPortal = DialogPrimitive__namespace.Portal;
393
356
  var DialogClose = DialogPrimitive__namespace.Close;
394
- var DialogOverlay = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
357
+ var DialogOverlay = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
395
358
  DialogPrimitive__namespace.Overlay,
396
359
  {
397
360
  ref,
@@ -403,7 +366,7 @@ var DialogOverlay = React4__namespace.forwardRef(({ className, ...props }, ref)
403
366
  }
404
367
  ));
405
368
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
406
- var DialogContent = React4__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
369
+ var DialogContent = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
407
370
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
408
371
  /* @__PURE__ */ jsxRuntime.jsxs(
409
372
  DialogPrimitive__namespace.Content,
@@ -453,7 +416,7 @@ var DialogFooter = ({
453
416
  }
454
417
  );
455
418
  DialogFooter.displayName = "DialogFooter";
456
- var DialogTitle = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
419
+ var DialogTitle = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
457
420
  DialogPrimitive__namespace.Title,
458
421
  {
459
422
  ref,
@@ -465,7 +428,7 @@ var DialogTitle = React4__namespace.forwardRef(({ className, ...props }, ref) =>
465
428
  }
466
429
  ));
467
430
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
468
- var DialogDescription = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
431
+ var DialogDescription = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
469
432
  DialogPrimitive__namespace.Description,
470
433
  {
471
434
  ref,
@@ -476,7 +439,7 @@ var DialogDescription = React4__namespace.forwardRef(({ className, ...props }, r
476
439
  DialogDescription.displayName = DialogPrimitive__namespace.Description.displayName;
477
440
  var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
478
441
  var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
479
- var DropdownMenuSubTrigger = React4__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
442
+ var DropdownMenuSubTrigger = React2__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
480
443
  DropdownMenuPrimitive__namespace.SubTrigger,
481
444
  {
482
445
  ref,
@@ -493,7 +456,7 @@ var DropdownMenuSubTrigger = React4__namespace.forwardRef(({ className, inset, c
493
456
  }
494
457
  ));
495
458
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
496
- var DropdownMenuSubContent = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
459
+ var DropdownMenuSubContent = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
497
460
  DropdownMenuPrimitive__namespace.SubContent,
498
461
  {
499
462
  ref,
@@ -505,7 +468,7 @@ var DropdownMenuSubContent = React4__namespace.forwardRef(({ className, ...props
505
468
  }
506
469
  ));
507
470
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
508
- var DropdownMenuContent = React4__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
471
+ var DropdownMenuContent = React2__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
509
472
  DropdownMenuPrimitive__namespace.Content,
510
473
  {
511
474
  ref,
@@ -519,7 +482,7 @@ var DropdownMenuContent = React4__namespace.forwardRef(({ className, sideOffset
519
482
  }
520
483
  ) }));
521
484
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
522
- var DropdownMenuItem = React4__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
485
+ var DropdownMenuItem = React2__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
523
486
  DropdownMenuPrimitive__namespace.Item,
524
487
  {
525
488
  ref,
@@ -532,7 +495,7 @@ var DropdownMenuItem = React4__namespace.forwardRef(({ className, inset, ...prop
532
495
  }
533
496
  ));
534
497
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
535
- var DropdownMenuCheckboxItem = React4__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
498
+ var DropdownMenuCheckboxItem = React2__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
536
499
  DropdownMenuPrimitive__namespace.CheckboxItem,
537
500
  {
538
501
  ref,
@@ -549,7 +512,7 @@ var DropdownMenuCheckboxItem = React4__namespace.forwardRef(({ className, childr
549
512
  }
550
513
  ));
551
514
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
552
- var DropdownMenuRadioItem = React4__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
515
+ var DropdownMenuRadioItem = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
553
516
  DropdownMenuPrimitive__namespace.RadioItem,
554
517
  {
555
518
  ref,
@@ -565,7 +528,7 @@ var DropdownMenuRadioItem = React4__namespace.forwardRef(({ className, children,
565
528
  }
566
529
  ));
567
530
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
568
- var DropdownMenuLabel = React4__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
531
+ var DropdownMenuLabel = React2__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
569
532
  DropdownMenuPrimitive__namespace.Label,
570
533
  {
571
534
  ref,
@@ -578,7 +541,7 @@ var DropdownMenuLabel = React4__namespace.forwardRef(({ className, inset, ...pro
578
541
  }
579
542
  ));
580
543
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
581
- var DropdownMenuSeparator = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
544
+ var DropdownMenuSeparator = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
582
545
  DropdownMenuPrimitive__namespace.Separator,
583
546
  {
584
547
  ref,
@@ -589,7 +552,7 @@ var DropdownMenuSeparator = React4__namespace.forwardRef(({ className, ...props
589
552
  DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
590
553
  var Select = SelectPrimitive__namespace.Root;
591
554
  var SelectValue = SelectPrimitive__namespace.Value;
592
- var SelectTrigger = React4__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
555
+ var SelectTrigger = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
593
556
  SelectPrimitive__namespace.Trigger,
594
557
  {
595
558
  ref,
@@ -605,7 +568,7 @@ var SelectTrigger = React4__namespace.forwardRef(({ className, children, ...prop
605
568
  }
606
569
  ));
607
570
  SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
608
- var SelectScrollUpButton = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
571
+ var SelectScrollUpButton = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
609
572
  SelectPrimitive__namespace.ScrollUpButton,
610
573
  {
611
574
  ref,
@@ -618,7 +581,7 @@ var SelectScrollUpButton = React4__namespace.forwardRef(({ className, ...props }
618
581
  }
619
582
  ));
620
583
  SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
621
- var SelectScrollDownButton = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
584
+ var SelectScrollDownButton = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
622
585
  SelectPrimitive__namespace.ScrollDownButton,
623
586
  {
624
587
  ref,
@@ -631,7 +594,7 @@ var SelectScrollDownButton = React4__namespace.forwardRef(({ className, ...props
631
594
  }
632
595
  ));
633
596
  SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
634
- var SelectContent = React4__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
597
+ var SelectContent = React2__namespace.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
635
598
  SelectPrimitive__namespace.Content,
636
599
  {
637
600
  ref,
@@ -659,7 +622,7 @@ var SelectContent = React4__namespace.forwardRef(({ className, children, positio
659
622
  }
660
623
  ) }));
661
624
  SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
662
- var SelectLabel = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
625
+ var SelectLabel = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
663
626
  SelectPrimitive__namespace.Label,
664
627
  {
665
628
  ref,
@@ -668,7 +631,7 @@ var SelectLabel = React4__namespace.forwardRef(({ className, ...props }, ref) =>
668
631
  }
669
632
  ));
670
633
  SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
671
- var SelectItem = React4__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
634
+ var SelectItem = React2__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
672
635
  SelectPrimitive__namespace.Item,
673
636
  {
674
637
  ref,
@@ -684,7 +647,7 @@ var SelectItem = React4__namespace.forwardRef(({ className, children, ...props }
684
647
  }
685
648
  ));
686
649
  SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
687
- var SelectSeparator = React4__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
650
+ var SelectSeparator = React2__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
688
651
  SelectPrimitive__namespace.Separator,
689
652
  {
690
653
  ref,
@@ -726,10 +689,5 @@ exports.SelectContent = SelectContent;
726
689
  exports.SelectItem = SelectItem;
727
690
  exports.SelectTrigger = SelectTrigger;
728
691
  exports.SelectValue = SelectValue;
729
- exports.Separator = Separator;
730
- exports.Tooltip = Tooltip;
731
- exports.TooltipContent = TooltipContent;
732
- exports.TooltipProvider = TooltipProvider;
733
- exports.TooltipTrigger = TooltipTrigger;
734
- //# sourceMappingURL=chunk-OU5OZKYH.cjs.map
735
- //# sourceMappingURL=chunk-OU5OZKYH.cjs.map
692
+ //# sourceMappingURL=chunk-Y4B45DW4.cjs.map
693
+ //# sourceMappingURL=chunk-Y4B45DW4.cjs.map