@absolutejs/absolute 0.19.0-beta.433 → 0.19.0-beta.434

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../types/typeGuards.ts", "../src/react/ai/AIStreamProvider.tsx", "../src/ai/client/connection.ts", "../src/ai/client/messageStore.ts", "../src/ai/client/actions.ts", "../src/react/ai/useAIStream.ts", "../src/ai/protocol.ts", "../src/react/ai/useRAGIngest.ts", "../src/ai/client/ragClient.ts", "../src/react/ai/useRAGSearch.ts", "../src/react/ai/useRAGStatus.ts", "../src/react/ai/useRAGStream.ts"],
3
+ "sources": ["../types/typeGuards.ts", "../src/react/ai/AIStreamProvider.tsx", "../src/ai/client/connection.ts", "../src/ai/client/messageStore.ts", "../src/ai/client/actions.ts", "../src/react/ai/useAIStream.ts", "../src/ai/protocol.ts", "../src/react/ai/useRAG.ts", "../src/react/ai/useRAGCitations.ts", "../src/ai/rag/presentation.ts", "../src/react/ai/useRAGIngest.ts", "../src/ai/client/ragClient.ts", "../src/react/ai/useRAGSearch.ts", "../src/react/ai/useRAGSources.ts", "../src/react/ai/useRAGStatus.ts", "../src/react/ai/useRAGStream.ts"],
4
4
  "sourcesContent": [
5
5
  "import type { AIClientMessage, AIServerMessage } from './ai';\nimport type { HMRClientMessage } from './messages';\n\n/* Type guard for AI client messages */\nexport const isValidAIClientMessage = (\n\tdata: unknown\n): data is AIClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'message':\n\t\t\treturn 'content' in data && typeof data.content === 'string';\n\t\tcase 'cancel':\n\t\t\treturn (\n\t\t\t\t'conversationId' in data &&\n\t\t\t\ttypeof data.conversationId === 'string'\n\t\t\t);\n\t\tcase 'branch':\n\t\t\treturn (\n\t\t\t\t'messageId' in data &&\n\t\t\t\ttypeof data.messageId === 'string' &&\n\t\t\t\t'content' in data &&\n\t\t\t\ttypeof data.content === 'string' &&\n\t\t\t\t'conversationId' in data &&\n\t\t\t\ttypeof data.conversationId === 'string'\n\t\t\t);\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n/* Type guard for AI server messages */\nexport const isValidAIServerMessage = (\n\tdata: unknown\n): data is AIServerMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'chunk':\n\t\t\treturn (\n\t\t\t\t'content' in data &&\n\t\t\t\ttypeof data.content === 'string' &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'thinking':\n\t\t\treturn (\n\t\t\t\t'content' in data &&\n\t\t\t\ttypeof data.content === 'string' &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'tool_status':\n\t\t\treturn (\n\t\t\t\t'name' in data &&\n\t\t\t\t'status' in data &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'image':\n\t\t\treturn (\n\t\t\t\t'data' in data &&\n\t\t\t\ttypeof data.data === 'string' &&\n\t\t\t\t'format' in data &&\n\t\t\t\ttypeof data.format === 'string' &&\n\t\t\t\t'isPartial' in data &&\n\t\t\t\ttypeof data.isPartial === 'boolean' &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'conversationId' in data\n\t\t\t);\n\t\tcase 'complete':\n\t\t\treturn 'messageId' in data && 'conversationId' in data;\n\t\tcase 'rag_retrieved':\n\t\t\treturn (\n\t\t\t\t'conversationId' in data &&\n\t\t\t\t'messageId' in data &&\n\t\t\t\t'sources' in data &&\n\t\t\t\tArray.isArray(data.sources)\n\t\t\t);\n\t\tcase 'error':\n\t\t\treturn 'message' in data && typeof data.message === 'string';\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n/* Type guard for HMR client messages */\nexport const isValidHMRClientMessage = (\n\tdata: unknown\n): data is HMRClientMessage => {\n\tif (!data || typeof data !== 'object') {\n\t\treturn false;\n\t}\n\n\tif (!('type' in data) || typeof data.type !== 'string') {\n\t\treturn false;\n\t}\n\n\tswitch (data.type) {\n\t\tcase 'ping':\n\t\t\treturn true;\n\t\tcase 'ready':\n\t\t\treturn true;\n\t\tcase 'request-rebuild':\n\t\t\treturn true;\n\t\tcase 'hydration-error':\n\t\t\treturn true;\n\t\tcase 'hmr-timing':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n",
6
6
  "import {\n\tcreateContext,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\ttype ReactNode\n} from 'react';\nimport { createAIConnection } from '../../ai/client/connection';\nimport { createAIMessageStore } from '../../ai/client/messageStore';\nimport { serverMessageToAction } from '../../ai/client/actions';\n\ntype AIStreamContextValue = {\n\tconnection: ReturnType<typeof createAIConnection>;\n\tstore: ReturnType<typeof createAIMessageStore>;\n};\n\nconst AIStreamContext = createContext<AIStreamContextValue | null>(null);\n\nexport const AIStreamProvider = ({\n\tchildren,\n\tpath\n}: {\n\tchildren: ReactNode;\n\tpath: string;\n}) => {\n\tconst ref = useRef<AIStreamContextValue | null>(null);\n\n\tif (!ref.current) {\n\t\tconst connection = createAIConnection(path);\n\t\tconst store = createAIMessageStore();\n\t\tref.current = { connection, store };\n\t}\n\n\tuseEffect(() => {\n\t\tconst { current } = ref;\n\t\tif (!current) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst { connection, store } = current;\n\n\t\tconst unsubscribe = connection.subscribe((msg) => {\n\t\t\tconst action = serverMessageToAction(msg);\n\t\t\tif (action) {\n\t\t\t\tstore.dispatch(action);\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tconnection.close();\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<AIStreamContext.Provider value={ref.current}>\n\t\t\t{children}\n\t\t</AIStreamContext.Provider>\n\t);\n};\n\nexport const useAIStreamContext = () => useContext(AIStreamContext);\n",
@@ -9,13 +9,17 @@
9
9
  "import type { AIServerMessage } from '../../../types/ai';\n\nexport const serverMessageToAction = (msg: AIServerMessage) => {\n\tswitch (msg.type) {\n\t\tcase 'chunk':\n\t\t\treturn {\n\t\t\t\tcontent: msg.content,\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\ttype: 'chunk' as const\n\t\t\t};\n\t\tcase 'thinking':\n\t\t\treturn {\n\t\t\t\tcontent: msg.content,\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\ttype: 'thinking' as const\n\t\t\t};\n\t\tcase 'tool_status':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tinput: msg.input,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\tname: msg.name,\n\t\t\t\tresult: msg.result,\n\t\t\t\tstatus: msg.status,\n\t\t\t\ttype: 'tool_status' as const\n\t\t\t};\n\t\tcase 'image':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tdata: msg.data,\n\t\t\t\tformat: msg.format,\n\t\t\t\timageId: msg.imageId,\n\t\t\t\tisPartial: msg.isPartial,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\trevisedPrompt: msg.revisedPrompt,\n\t\t\t\ttype: 'image' as const\n\t\t\t};\n\t\tcase 'complete':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tdurationMs: msg.durationMs,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\tmodel: msg.model,\n\t\t\t\tsources: msg.sources,\n\t\t\t\ttype: 'complete' as const,\n\t\t\t\tusage: msg.usage\n\t\t\t};\n\t\tcase 'rag_retrieved':\n\t\t\treturn {\n\t\t\t\tconversationId: msg.conversationId,\n\t\t\t\tmessageId: msg.messageId,\n\t\t\t\tsources: msg.sources,\n\t\t\t\ttype: 'rag_retrieved' as const\n\t\t\t};\n\t\tcase 'error':\n\t\t\treturn { message: msg.message, type: 'error' as const };\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n",
10
10
  "import { useCallback, useEffect, useRef, useSyncExternalStore } from 'react';\nimport type { AIAttachment } from '../../../types/ai';\nimport { serverMessageToAction } from '../../ai/client/actions';\nimport { createAIConnection } from '../../ai/client/connection';\nimport { createAIMessageStore } from '../../ai/client/messageStore';\nimport { generateId } from '../../ai/protocol';\nimport { useAIStreamContext } from './AIStreamProvider';\n\nexport const useAIStream = (path?: string, conversationId?: string) => {\n\tconst context = useAIStreamContext();\n\tconst standaloneRef = useRef<{\n\t\tconnection: ReturnType<typeof createAIConnection>;\n\t\tstore: ReturnType<typeof createAIMessageStore>;\n\t} | null>(null);\n\n\tconst isStandalone = !context;\n\n\tif (isStandalone && !standaloneRef.current && path) {\n\t\tconst connection = createAIConnection(path);\n\t\tconst store = createAIMessageStore();\n\t\tstandaloneRef.current = { connection, store };\n\t}\n\n\tconst resolved = context ?? standaloneRef.current;\n\tif (!resolved) {\n\t\tthrow new Error(\n\t\t\t'useAIStream requires either an AIStreamProvider or a path argument'\n\t\t);\n\t}\n\n\tconst { connection, store } = resolved;\n\n\tuseEffect(() => {\n\t\tif (!isStandalone) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst unsubscribe = connection.subscribe((msg) => {\n\t\t\tconst action = serverMessageToAction(msg);\n\t\t\tif (action) {\n\t\t\t\tstore.dispatch(action);\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tunsubscribe();\n\t\t\tconnection.close();\n\t\t};\n\t}, [connection, isStandalone, store]);\n\n\tconst state = useSyncExternalStore(\n\t\tstore.subscribe,\n\t\tstore.getSnapshot,\n\t\tstore.getServerSnapshot\n\t);\n\n\tconst activeConvId = conversationId ?? state.activeConversationId;\n\tconst conversation = activeConvId\n\t\t? state.conversations.get(activeConvId)\n\t\t: undefined;\n\tconst messages = conversation?.messages ?? [];\n\n\tconst send = useCallback(\n\t\t(content: string, attachments?: AIAttachment[]) => {\n\t\t\tconst convId = activeConvId ?? generateId();\n\t\t\tconst msgId = generateId();\n\n\t\t\tstore.dispatch({\n\t\t\t\tattachments,\n\t\t\t\tcontent,\n\t\t\t\tconversationId: convId,\n\t\t\t\tmessageId: msgId,\n\t\t\t\ttype: 'send'\n\t\t\t});\n\n\t\t\tconnection.send({\n\t\t\t\tattachments,\n\t\t\t\tcontent,\n\t\t\t\tconversationId: convId,\n\t\t\t\ttype: 'message'\n\t\t\t});\n\t\t},\n\t\t[activeConvId, connection, store]\n\t);\n\n\tconst cancel = useCallback(() => {\n\t\tif (activeConvId) {\n\t\t\tstore.dispatch({ type: 'cancel' });\n\t\t\tconnection.send({ conversationId: activeConvId, type: 'cancel' });\n\t\t}\n\t}, [activeConvId, connection, store]);\n\n\tconst branch = useCallback(\n\t\t(messageId: string, content: string) => {\n\t\t\tif (activeConvId) {\n\t\t\t\tconnection.send({\n\t\t\t\t\tcontent,\n\t\t\t\t\tconversationId: activeConvId,\n\t\t\t\t\tmessageId,\n\t\t\t\t\ttype: 'branch'\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t[activeConvId, connection]\n\t);\n\n\treturn {\n\t\tbranch,\n\t\tcancel,\n\t\terror: state.error,\n\t\tisStreaming: state.isStreaming,\n\t\tmessages,\n\t\tsend\n\t};\n};\n",
11
11
  "import type { AIServerMessage } from '../../types/ai';\nimport { isValidAIClientMessage } from '../../types/typeGuards';\n\nexport const generateId = () => crypto.randomUUID();\n\nexport const parseAIMessage = (raw: unknown) => {\n\tif (raw === null || raw === undefined) {\n\t\treturn null;\n\t}\n\n\tlet text: string;\n\n\tif (typeof raw === 'string') {\n\t\ttext = raw;\n\t} else if (raw instanceof ArrayBuffer) {\n\t\ttext = new TextDecoder().decode(raw);\n\t} else if (ArrayBuffer.isView(raw)) {\n\t\ttext = new TextDecoder().decode(raw);\n\t} else if (typeof raw === 'object') {\n\t\tif (isValidAIClientMessage(raw)) {\n\t\t\treturn raw;\n\t\t}\n\n\t\treturn null;\n\t} else {\n\t\treturn null;\n\t}\n\n\ttry {\n\t\tconst parsed: unknown = JSON.parse(text);\n\n\t\tif (isValidAIClientMessage(parsed)) {\n\t\t\treturn parsed;\n\t\t}\n\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nexport const serializeAIMessage = (msg: AIServerMessage) => JSON.stringify(msg);\n",
12
- "import { useCallback, useMemo, useState } from 'react';\nimport type { RAGDocumentChunk } from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGIngest = (path: string) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isIngesting, setIsIngesting] = useState(false);\n\tconst [lastIngestCount, setLastIngestCount] = useState<number | null>(null);\n\n\tconst ingest = useCallback(\n\t\tasync (chunks: RAGDocumentChunk[]) => {\n\t\t\tsetIsIngesting(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconst response = await client.ingest(chunks);\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(response.error ?? 'RAG ingest failed');\n\t\t\t\t}\n\n\t\t\t\tsetLastIngestCount(response.count ?? chunks.length);\n\t\t\t\treturn response;\n\t\t\t} catch (caught) {\n\t\t\t\tconst message =\n\t\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\t\tsetError(message);\n\t\t\t\tthrow caught;\n\t\t\t} finally {\n\t\t\t\tsetIsIngesting(false);\n\t\t\t}\n\t\t},\n\t\t[client]\n\t);\n\n\treturn {\n\t\terror,\n\t\tingest,\n\t\tisIngesting,\n\t\tlastIngestCount\n\t};\n};\n\nexport type UseRAGIngestResult = ReturnType<typeof useRAGIngest>;\n",
12
+ "import { useMemo } from 'react';\nimport { useRAGCitations } from './useRAGCitations';\nimport { useRAGIngest } from './useRAGIngest';\nimport { useRAGSearch } from './useRAGSearch';\nimport { useRAGSources } from './useRAGSources';\nimport { useRAGStatus } from './useRAGStatus';\nimport { useRAGStream } from './useRAGStream';\n\nexport type UseRAGOptions = {\n\tautoLoadStatus?: boolean;\n\tconversationId?: string;\n\tstreamPath?: string;\n};\n\nexport const useRAG = (path: string, options: UseRAGOptions = {}) => {\n\tconst search = useRAGSearch(path);\n\tconst ingest = useRAGIngest(path);\n\tconst status = useRAGStatus(path, options.autoLoadStatus ?? true);\n\tconst stream = useRAGStream(options.streamPath ?? path, options.conversationId);\n\tconst sources = useRAGSources(stream.messages);\n\tconst citations = useRAGCitations(sources.sources);\n\n\treturn useMemo(\n\t\t() => ({\n\t\t\tcitations,\n\t\t\tingest,\n\t\t\tsearch,\n\t\t\tsources,\n\t\t\tstatus,\n\t\t\tstream\n\t\t}),\n\t\t[citations, ingest, search, sources, status, stream]\n\t);\n};\n\nexport type UseRAGResult = ReturnType<typeof useRAG>;\n",
13
+ "import { useMemo } from 'react';\nimport type { RAGSource } from '../../../types/ai';\nimport {\n\tbuildRAGCitations,\n\tbuildRAGSourceGroups\n} from '../../ai/rag/presentation';\n\nexport const useRAGCitations = (sources: RAGSource[]) => {\n\tconst citations = useMemo(() => buildRAGCitations(sources), [sources]);\n\tconst sourceGroups = useMemo(() => buildRAGSourceGroups(sources), [sources]);\n\n\treturn {\n\t\tcitations,\n\t\thasCitations: citations.length > 0,\n\t\tsourceGroups\n\t};\n};\n\nexport type UseRAGCitationsResult = ReturnType<typeof useRAGCitations>;\n",
14
+ "import type {\n\tAIMessage,\n\tRAGCitation,\n\tRAGSource,\n\tRAGSourceGroup,\n\tRAGStreamStage\n} from '../../../types/ai';\n\nconst buildSourceGroupKey = (source: RAGSource) =>\n\tsource.source ?? source.title ?? source.chunkId;\n\nconst buildSourceLabel = (source: RAGSource) =>\n\tsource.source ?? source.title ?? source.chunkId;\n\nexport const getLatestAssistantMessage = (messages: AIMessage[]) => {\n\tfor (let index = messages.length - 1; index >= 0; index -= 1) {\n\t\tconst message = messages[index];\n\t\tif (message?.role === 'assistant') {\n\t\t\treturn message;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nexport const getLatestRAGSources = (messages: AIMessage[]) =>\n\tgetLatestAssistantMessage(messages)?.sources ?? [];\n\nexport const buildRAGSourceGroups = (\n\tsources: RAGSource[]\n): RAGSourceGroup[] => {\n\tconst groups = new Map<string, RAGSourceGroup>();\n\n\tfor (const source of sources) {\n\t\tconst key = buildSourceGroupKey(source);\n\t\tconst existing = groups.get(key);\n\n\t\tif (existing) {\n\t\t\texisting.bestScore = Math.max(existing.bestScore, source.score);\n\t\t\texisting.count += 1;\n\t\t\texisting.chunks.push(source);\n\t\t\tcontinue;\n\t\t}\n\n\t\tgroups.set(key, {\n\t\t\tbestScore: source.score,\n\t\t\tchunks: [source],\n\t\t\tcount: 1,\n\t\t\tkey,\n\t\t\tlabel: buildSourceLabel(source),\n\t\t\tsource: source.source,\n\t\t\ttitle: source.title\n\t\t});\n\t}\n\n\treturn [...groups.values()].sort((left, right) => {\n\t\tif (right.bestScore !== left.bestScore) {\n\t\t\treturn right.bestScore - left.bestScore;\n\t\t}\n\n\t\treturn left.label.localeCompare(right.label);\n\t});\n};\n\nexport const buildRAGCitations = (sources: RAGSource[]): RAGCitation[] => {\n\tconst unique = new Map<string, RAGCitation>();\n\n\tfor (const source of sources) {\n\t\tconst key = source.chunkId;\n\t\tconst existing = unique.get(key);\n\n\t\tif (existing && existing.score >= source.score) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tunique.set(key, {\n\t\t\tchunkId: source.chunkId,\n\t\t\tkey,\n\t\t\tlabel: buildSourceLabel(source),\n\t\t\tmetadata: source.metadata,\n\t\t\tscore: source.score,\n\t\t\tsource: source.source,\n\t\t\ttext: source.text,\n\t\t\ttitle: source.title\n\t\t});\n\t}\n\n\treturn [...unique.values()].sort((left, right) => {\n\t\tif (right.score !== left.score) {\n\t\t\treturn right.score - left.score;\n\t\t}\n\n\t\treturn left.label.localeCompare(right.label);\n\t});\n};\n\nexport const resolveRAGStreamStage = ({\n\terror,\n\tisStreaming,\n\tmessages\n}: {\n\terror: string | null;\n\tisStreaming: boolean;\n\tmessages: AIMessage[];\n}): RAGStreamStage => {\n\tif (error) {\n\t\treturn 'error';\n\t}\n\n\tconst assistantMessage = getLatestAssistantMessage(messages);\n\tif (!assistantMessage) {\n\t\treturn isStreaming ? 'submitting' : 'idle';\n\t}\n\n\tif (!isStreaming) {\n\t\treturn 'complete';\n\t}\n\n\tconst hasSources = (assistantMessage.sources?.length ?? 0) > 0;\n\tconst hasContent =\n\t\tassistantMessage.content.trim().length > 0 ||\n\t\tassistantMessage.thinking?.trim().length ||\n\t\t(assistantMessage.toolCalls?.length ?? 0) > 0 ||\n\t\t(assistantMessage.images?.length ?? 0) > 0;\n\n\tif (hasSources && !hasContent) {\n\t\treturn 'retrieved';\n\t}\n\n\treturn 'streaming';\n};\n",
15
+ "import { useCallback, useMemo, useState } from 'react';\nimport type {\n\tRAGDocumentChunk,\n\tRAGDocumentIngestInput,\n\tRAGIngestResponse\n} from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGIngest = (path: string) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isIngesting, setIsIngesting] = useState(false);\n\tconst [lastIngestCount, setLastIngestCount] = useState<number | null>(null);\n\tconst [lastDocumentCount, setLastDocumentCount] = useState<number | null>(null);\n\tconst [lastResponse, setLastResponse] = useState<RAGIngestResponse | null>(null);\n\n\tconst ingestChunks = useCallback(\n\t\tasync (chunks: RAGDocumentChunk[]) => {\n\t\t\tsetIsIngesting(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconst response = await client.ingest(chunks);\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(response.error ?? 'RAG ingest failed');\n\t\t\t\t}\n\n\t\t\t\tsetLastIngestCount(response.count ?? chunks.length);\n\t\t\t\tsetLastDocumentCount(null);\n\t\t\t\tsetLastResponse(response);\n\t\t\t\treturn response;\n\t\t\t} catch (caught) {\n\t\t\t\tconst message =\n\t\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\t\tsetError(message);\n\t\t\t\tthrow caught;\n\t\t\t} finally {\n\t\t\t\tsetIsIngesting(false);\n\t\t\t}\n\t\t},\n\t\t[client]\n\t);\n\n\tconst ingestDocuments = useCallback(\n\t\tasync (input: RAGDocumentIngestInput) => {\n\t\t\tsetIsIngesting(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconst response = await client.ingestDocuments(input);\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tthrow new Error(response.error ?? 'RAG ingest failed');\n\t\t\t\t}\n\n\t\t\t\tsetLastIngestCount(response.count ?? null);\n\t\t\t\tsetLastDocumentCount(\n\t\t\t\t\tresponse.documentCount ?? input.documents.length\n\t\t\t\t);\n\t\t\t\tsetLastResponse(response);\n\t\t\t\treturn response;\n\t\t\t} catch (caught) {\n\t\t\t\tconst message =\n\t\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\t\tsetError(message);\n\t\t\t\tthrow caught;\n\t\t\t} finally {\n\t\t\t\tsetIsIngesting(false);\n\t\t\t}\n\t\t},\n\t\t[client]\n\t);\n\n\tconst clearIndex = useCallback(async () => {\n\t\tsetIsIngesting(true);\n\t\tsetError(null);\n\n\t\ttry {\n\t\t\tawait client.clearIndex();\n\t\t\tsetLastIngestCount(0);\n\t\t\tsetLastDocumentCount(0);\n\t\t\tsetLastResponse(null);\n\t\t} catch (caught) {\n\t\t\tconst message =\n\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\tsetError(message);\n\t\t\tthrow caught;\n\t\t} finally {\n\t\t\tsetIsIngesting(false);\n\t\t}\n\t}, [client]);\n\n\tconst reset = useCallback(() => {\n\t\tsetError(null);\n\t\tsetLastDocumentCount(null);\n\t\tsetLastIngestCount(null);\n\t\tsetLastResponse(null);\n\t}, []);\n\n\treturn {\n\t\tclearIndex,\n\t\terror,\n\t\tingest: ingestChunks,\n\t\tingestChunks,\n\t\tingestDocuments,\n\t\tisIngesting,\n\t\tlastDocumentCount,\n\t\tlastIngestCount,\n\t\tlastResponse,\n\t\treset\n\t};\n};\n\nexport type UseRAGIngestResult = ReturnType<typeof useRAGIngest>;\n",
13
16
  "import type {\n\tRAGDocumentIngestInput,\n\tRAGDocumentChunk,\n\tRAGIngestResponse,\n\tRAGSearchRequest,\n\tRAGSource,\n\tRAGStatusResponse\n} from '../../../types/ai';\n\ntype FetchLike = typeof fetch;\n\nexport type RAGClientOptions = {\n\tpath: string;\n\tfetch?: FetchLike;\n};\n\nconst jsonHeaders = {\n\t'Content-Type': 'application/json'\n};\n\nconst normalizeBasePath = (path: string) =>\n\tpath.endsWith('/') ? path.slice(0, -1) : path;\n\nconst parseJson = async <T>(response: Response): Promise<T> => {\n\tconst payload = (await response.json()) as T;\n\treturn payload;\n};\n\nconst toErrorMessage = async (response: Response) => {\n\ttry {\n\t\tconst payload = (await response.json()) as { error?: string };\n\t\tif (typeof payload.error === 'string' && payload.error) {\n\t\t\treturn payload.error;\n\t\t}\n\t} catch {\n\t\t// fall through\n\t}\n\n\treturn `Request failed with status ${response.status}`;\n};\n\nexport const createRAGClient = (options: RAGClientOptions) => {\n\tconst basePath = normalizeBasePath(options.path);\n\tconst fetchImpl = options.fetch ?? fetch;\n\n\treturn {\n\t\tasync ingest(chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/ingest`, {\n\t\t\t\tbody: JSON.stringify({ chunks }),\n\t\t\t\theaders: jsonHeaders,\n\t\t\t\tmethod: 'POST'\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\treturn {\n\t\t\t\t\tok: false,\n\t\t\t\t\terror: await toErrorMessage(response)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\n\t\tasync ingestDocuments(\n\t\t\tinput: RAGDocumentIngestInput\n\t\t): Promise<RAGIngestResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/ingest`, {\n\t\t\t\tbody: JSON.stringify(input),\n\t\t\t\theaders: jsonHeaders,\n\t\t\t\tmethod: 'POST'\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\treturn {\n\t\t\t\t\tok: false,\n\t\t\t\t\terror: await toErrorMessage(response)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\n\t\tasync search(input: RAGSearchRequest): Promise<RAGSource[]> {\n\t\t\tconst response = await fetchImpl(`${basePath}/search`, {\n\t\t\t\tbody: JSON.stringify(input),\n\t\t\t\theaders: jsonHeaders,\n\t\t\t\tmethod: 'POST'\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(await toErrorMessage(response));\n\t\t\t}\n\n\t\t\tconst payload = await parseJson<{\n\t\t\t\tok: boolean;\n\t\t\t\tresults?: RAGSource[];\n\t\t\t\terror?: string;\n\t\t\t}>(response);\n\n\t\t\tif (!payload.ok) {\n\t\t\t\tthrow new Error(payload.error ?? 'RAG search failed');\n\t\t\t}\n\n\t\t\treturn payload.results ?? [];\n\t\t},\n\n\t\tasync status(): Promise<RAGStatusResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/status`);\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(await toErrorMessage(response));\n\t\t\t}\n\n\t\t\treturn parseJson<RAGStatusResponse>(response);\n\t\t},\n\n\t\tasync clearIndex(): Promise<{ ok: boolean }> {\n\t\t\tconst response = await fetchImpl(`${basePath}/index`, {\n\t\t\t\tmethod: 'DELETE'\n\t\t\t});\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(await toErrorMessage(response));\n\t\t\t}\n\n\t\t\treturn parseJson<{ ok: boolean }>(response);\n\t\t}\n\t};\n};\n\nexport type RAGClient = ReturnType<typeof createRAGClient>;\n",
14
- "import { useCallback, useMemo, useState } from 'react';\nimport type { RAGSearchRequest, RAGSource } from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGSearch = (path: string) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [results, setResults] = useState<RAGSource[]>([]);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isSearching, setIsSearching] = useState(false);\n\n\tconst search = useCallback(\n\t\tasync (input: RAGSearchRequest) => {\n\t\t\tsetIsSearching(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\tconst nextResults = await client.search(input);\n\t\t\t\tsetResults(nextResults);\n\t\t\t\treturn nextResults;\n\t\t\t} catch (caught) {\n\t\t\t\tconst message =\n\t\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\t\tsetError(message);\n\t\t\t\tthrow caught;\n\t\t\t} finally {\n\t\t\t\tsetIsSearching(false);\n\t\t\t}\n\t\t},\n\t\t[client]\n\t);\n\n\treturn {\n\t\terror,\n\t\tisSearching,\n\t\tresults,\n\t\tsearch,\n\t\tsetResults\n\t};\n};\n\nexport type UseRAGSearchResult = ReturnType<typeof useRAGSearch>;\n",
15
- "import { useCallback, useEffect, useMemo, useState } from 'react';\nimport type {\n\tRAGBackendCapabilities,\n\tRAGVectorStoreStatus\n} from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGStatus = (path: string, autoLoad = true) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [status, setStatus] = useState<RAGVectorStoreStatus | undefined>();\n\tconst [capabilities, setCapabilities] =\n\t\tuseState<RAGBackendCapabilities | undefined>();\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isLoading, setIsLoading] = useState(autoLoad);\n\n\tconst refresh = useCallback(async () => {\n\t\tsetIsLoading(true);\n\t\tsetError(null);\n\n\t\ttry {\n\t\t\tconst response = await client.status();\n\t\t\tsetStatus(response.status);\n\t\t\tsetCapabilities(response.capabilities);\n\t\t\treturn response;\n\t\t} catch (caught) {\n\t\t\tconst message =\n\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\tsetError(message);\n\t\t\tthrow caught;\n\t\t} finally {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}, [client]);\n\n\tuseEffect(() => {\n\t\tif (!autoLoad) {\n\t\t\tsetIsLoading(false);\n\t\t\treturn;\n\t\t}\n\n\t\tvoid refresh();\n\t}, [autoLoad, refresh]);\n\n\treturn {\n\t\tcapabilities,\n\t\terror,\n\t\tisLoading,\n\t\trefresh,\n\t\tstatus\n\t};\n};\n\nexport type UseRAGStatusResult = ReturnType<typeof useRAGStatus>;\n",
16
- "import { useAIStream } from './useAIStream';\n\nexport const useRAGStream = useAIStream;\n\nexport type UseRAGStreamResult = ReturnType<typeof useRAGStream>;\n"
17
+ "import { useCallback, useMemo, useState } from 'react';\nimport type { RAGSearchRequest, RAGSource } from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGSearch = (path: string) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [results, setResults] = useState<RAGSource[]>([]);\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isSearching, setIsSearching] = useState(false);\n\tconst [hasSearched, setHasSearched] = useState(false);\n\tconst [lastRequest, setLastRequest] = useState<RAGSearchRequest | null>(null);\n\n\tconst search = useCallback(\n\t\tasync (input: RAGSearchRequest) => {\n\t\t\tsetIsSearching(true);\n\t\t\tsetError(null);\n\t\t\tsetLastRequest(input);\n\n\t\t\ttry {\n\t\t\t\tconst nextResults = await client.search(input);\n\t\t\t\tsetResults(nextResults);\n\t\t\t\tsetHasSearched(true);\n\t\t\t\treturn nextResults;\n\t\t\t} catch (caught) {\n\t\t\t\tconst message =\n\t\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\t\tsetError(message);\n\t\t\t\tthrow caught;\n\t\t\t} finally {\n\t\t\t\tsetIsSearching(false);\n\t\t\t}\n\t\t},\n\t\t[client]\n\t);\n\n\tconst reset = useCallback(() => {\n\t\tsetError(null);\n\t\tsetHasSearched(false);\n\t\tsetLastRequest(null);\n\t\tsetResults([]);\n\t}, []);\n\n\treturn {\n\t\terror,\n\t\thasSearched,\n\t\tisSearching,\n\t\tlastRequest,\n\t\treset,\n\t\tresults,\n\t\tsearch,\n\t\tsetResults\n\t};\n};\n\nexport type UseRAGSearchResult = ReturnType<typeof useRAGSearch>;\n",
18
+ "import { useMemo } from 'react';\nimport type { AIMessage } from '../../../types/ai';\nimport {\n\tbuildRAGSourceGroups,\n\tgetLatestAssistantMessage,\n\tgetLatestRAGSources\n} from '../../ai/rag/presentation';\n\nexport const useRAGSources = (messages: AIMessage[]) => {\n\tconst latestAssistantMessage = useMemo(\n\t\t() => getLatestAssistantMessage(messages),\n\t\t[messages]\n\t);\n\tconst sources = useMemo(() => getLatestRAGSources(messages), [messages]);\n\tconst sourceGroups = useMemo(() => buildRAGSourceGroups(sources), [sources]);\n\n\treturn {\n\t\thasSources: sources.length > 0,\n\t\tlatestAssistantMessage,\n\t\tsourceGroups,\n\t\tsources\n\t};\n};\n\nexport type UseRAGSourcesResult = ReturnType<typeof useRAGSources>;\n",
19
+ "import { useCallback, useEffect, useMemo, useState } from 'react';\nimport type {\n\tRAGBackendCapabilities,\n\tRAGVectorStoreStatus\n} from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\nexport const useRAGStatus = (path: string, autoLoad = true) => {\n\tconst client = useMemo(() => createRAGClient({ path }), [path]);\n\tconst [status, setStatus] = useState<RAGVectorStoreStatus | undefined>();\n\tconst [capabilities, setCapabilities] =\n\t\tuseState<RAGBackendCapabilities | undefined>();\n\tconst [error, setError] = useState<string | null>(null);\n\tconst [isLoading, setIsLoading] = useState(autoLoad);\n\n\tconst refresh = useCallback(async () => {\n\t\tsetIsLoading(true);\n\t\tsetError(null);\n\n\t\ttry {\n\t\t\tconst response = await client.status();\n\t\t\tsetStatus(response.status);\n\t\t\tsetCapabilities(response.capabilities);\n\t\t\treturn response;\n\t\t} catch (caught) {\n\t\t\tconst message =\n\t\t\t\tcaught instanceof Error ? caught.message : String(caught);\n\t\t\tsetError(message);\n\t\t\tthrow caught;\n\t\t} finally {\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}, [client]);\n\n\tconst reset = useCallback(() => {\n\t\tsetCapabilities(undefined);\n\t\tsetError(null);\n\t\tsetIsLoading(false);\n\t\tsetStatus(undefined);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!autoLoad) {\n\t\t\tsetIsLoading(false);\n\t\t\treturn;\n\t\t}\n\n\t\tvoid refresh();\n\t}, [autoLoad, refresh]);\n\n\treturn {\n\t\tcapabilities,\n\t\terror,\n\t\tisLoading,\n\t\trefresh,\n\t\treset,\n\t\tstatus\n\t};\n};\n\nexport type UseRAGStatusResult = ReturnType<typeof useRAGStatus>;\n",
20
+ "import { useCallback, useMemo } from 'react';\nimport type { AIAttachment } from '../../../types/ai';\nimport {\n\tbuildRAGCitations,\n\tbuildRAGSourceGroups,\n\tgetLatestAssistantMessage,\n\tgetLatestRAGSources,\n\tresolveRAGStreamStage\n} from '../../ai/rag/presentation';\nimport { useAIStream } from './useAIStream';\n\nexport const useRAGStream = (path?: string, conversationId?: string) => {\n\tconst stream = useAIStream(path, conversationId);\n\n\tconst latestAssistantMessage = useMemo(\n\t\t() => getLatestAssistantMessage(stream.messages),\n\t\t[stream.messages]\n\t);\n\tconst sources = useMemo(\n\t\t() => getLatestRAGSources(stream.messages),\n\t\t[stream.messages]\n\t);\n\tconst sourceGroups = useMemo(() => buildRAGSourceGroups(sources), [sources]);\n\tconst citations = useMemo(() => buildRAGCitations(sources), [sources]);\n\tconst stage = useMemo(\n\t\t() =>\n\t\t\tresolveRAGStreamStage({\n\t\t\t\terror: stream.error,\n\t\t\t\tisStreaming: stream.isStreaming,\n\t\t\t\tmessages: stream.messages\n\t\t\t}),\n\t\t[stream.error, stream.isStreaming, stream.messages]\n\t);\n\n\tconst query = useCallback(\n\t\t(content: string, attachments?: AIAttachment[]) => {\n\t\t\tstream.send(content, attachments);\n\t\t},\n\t\t[stream]\n\t);\n\n\treturn {\n\t\t...stream,\n\t\tcitations,\n\t\thasSources: sources.length > 0,\n\t\tlatestAssistantMessage,\n\t\tquery,\n\t\tsourceGroups,\n\t\tsources,\n\t\tstage\n\t};\n};\n\nexport type UseRAGStreamResult = ReturnType<typeof useRAGStream>;\n"
17
21
  ],
18
- "mappings": "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",
19
- "debugId": "5314A0A8B1FD91F264756E2164756E21",
22
+ "mappings": "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",
23
+ "debugId": "D0ADC407D5CCE73D64756E2164756E21",
20
24
  "names": []
21
25
  }
@@ -43,7 +43,7 @@ export declare const serverMessageToAction: (msg: AIServerMessage) => {
43
43
  messageId: string;
44
44
  name: string;
45
45
  result: string | undefined;
46
- status: "running" | "complete";
46
+ status: "complete" | "running";
47
47
  type: "tool_status";
48
48
  content?: undefined;
49
49
  data?: undefined;
@@ -1,13 +1,13 @@
1
1
  export { aiChat } from '../plugins/aiChat';
2
2
  export { streamAI } from './streamAI';
3
3
  export { ragChat } from './rag';
4
- export { buildRAGUpsertInputFromDirectory, buildRAGUpsertInputFromDocuments, createRAGCollection, ingestDocuments, ingestRAGDocuments, loadRAGDocumentFile, loadRAGDocumentsFromDirectory, prepareRAGDirectoryDocuments, prepareRAGDocument, prepareRAGDocumentFile, prepareRAGDocuments, ragPlugin, searchDocuments } from './rag';
4
+ export { buildRAGCitations, buildRAGSourceGroups, buildRAGUpsertInputFromDirectory, buildRAGUpsertInputFromDocuments, createRAGCollection, getLatestAssistantMessage, getLatestRAGSources, ingestDocuments, ingestRAGDocuments, loadRAGDocumentFile, loadRAGDocumentsFromDirectory, prepareRAGDirectoryDocuments, prepareRAGDocument, prepareRAGDocumentFile, prepareRAGDocuments, ragPlugin, resolveRAGStreamStage, searchDocuments } from './rag';
5
5
  export { createInMemoryRAGStore } from './rag/adapters/inMemory';
6
6
  export { createSQLiteRAGStore } from './rag/adapters/sqlite';
7
7
  export { resolveAbsoluteSQLiteVec, resolveAbsoluteSQLiteVecExtensionPath } from './rag/resolveAbsoluteSQLiteVec';
8
8
  export { createRAGVector, normalizeVector, querySimilarity } from './rag/adapters/utils';
9
9
  export type { NativeSQLiteRAGStoreOptions, SQLiteRAGStoreOptions } from './rag/adapters/sqlite';
10
- export type { RAGSource, RAGBackendCapabilities, RAGChunkingOptions, RAGChunkingStrategy, RAGDocumentChunk, RAGDirectoryIngestInput, RAGDocumentFileInput, RAGDocumentIngestInput, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGIngestDocument, RAGQueryInput, RAGQueryResult, RAGIngestResponse, RAGPostgresNativeDiagnostics, RAGPreparedDocument, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution, RAGChatPluginConfig } from '../../types/ai';
10
+ export type { RAGSource, RAGBackendCapabilities, RAGCitation, RAGChunkingOptions, RAGChunkingStrategy, RAGDocumentChunk, RAGDirectoryIngestInput, RAGDocumentFileInput, RAGDocumentIngestInput, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGIngestDocument, RAGQueryInput, RAGQueryResult, RAGIngestResponse, RAGPostgresNativeDiagnostics, RAGPreparedDocument, RAGSearchRequest, RAGSourceGroup, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGStreamStage, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution, RAGChatPluginConfig } from '../../types/ai';
11
11
  export { createConversationManager } from './conversationManager';
12
12
  export { createMemoryStore } from './memoryStore';
13
13
  export { generateId, parseAIMessage, serializeAIMessage } from './protocol';
@@ -1,5 +1,6 @@
1
1
  export { ragChat, ragChat as ragPlugin } from './chat';
2
2
  export { buildRAGUpsertInputFromDirectory, buildRAGUpsertInputFromDocuments, loadRAGDocumentFile, loadRAGDocumentsFromDirectory, prepareRAGDirectoryDocuments, prepareRAGDocument, prepareRAGDocumentFile, prepareRAGDocuments } from './ingestion';
3
+ export { buildRAGCitations, buildRAGSourceGroups, getLatestAssistantMessage, getLatestRAGSources, resolveRAGStreamStage } from './presentation';
3
4
  export { createRAGCollection, ingestDocuments, ingestRAGDocuments, searchDocuments } from './collection';
4
5
  export { createInMemoryRAGStore } from './adapters/inMemory';
5
6
  export { createSQLiteRAGStore } from './adapters/sqlite';
@@ -0,0 +1,10 @@
1
+ import type { AIMessage, RAGCitation, RAGSource, RAGSourceGroup, RAGStreamStage } from '../../../types/ai';
2
+ export declare const getLatestAssistantMessage: (messages: AIMessage[]) => AIMessage | undefined;
3
+ export declare const getLatestRAGSources: (messages: AIMessage[]) => RAGSource[];
4
+ export declare const buildRAGSourceGroups: (sources: RAGSource[]) => RAGSourceGroup[];
5
+ export declare const buildRAGCitations: (sources: RAGSource[]) => RAGCitation[];
6
+ export declare const resolveRAGStreamStage: ({ error, isStreaming, messages }: {
7
+ error: string | null;
8
+ isStreaming: boolean;
9
+ messages: AIMessage[];
10
+ }) => RAGStreamStage;
@@ -1,5 +1,5 @@
1
1
  import type { RAGDocumentChunk, RAGQueryInput, RAGQueryResult, RAGUpsertInput } from '../../../types/ai';
2
- export type { RAGBackendCapabilities, RAGChunkingOptions, RAGChunkingStrategy, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGDocumentChunk, RAGDirectoryIngestInput, RAGDocumentFileInput, RAGDocumentIngestInput, RAGIngestDocument, RAGPreparedDocument, RAGSource, RAGIngestResponse, RAGPostgresNativeDiagnostics, RAGQueryInput, RAGQueryResult, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from '../../../types/ai';
2
+ export type { RAGBackendCapabilities, RAGCitation, RAGChunkingOptions, RAGChunkingStrategy, RAGCollection, RAGCollectionSearchParams, RAGContentFormat, RAGDocumentChunk, RAGDirectoryIngestInput, RAGDocumentFileInput, RAGDocumentIngestInput, RAGIngestDocument, RAGPreparedDocument, RAGSource, RAGSourceGroup, RAGIngestResponse, RAGPostgresNativeDiagnostics, RAGQueryInput, RAGQueryResult, RAGSearchRequest, RAGSQLiteNativeDiagnostics, RAGStatusResponse, RAGStreamStage, RAGUpsertInput, RAGVectorStore, RAGVectorStoreStatus, SQLiteVecResolution } from '../../../types/ai';
3
3
  export type InternalRAGStoredChunk = RAGDocumentChunk & {
4
4
  vector: number[];
5
5
  sourceId: string;
@@ -1,6 +1,9 @@
1
1
  export { AIStreamProvider } from './AIStreamProvider';
2
2
  export { useAIStream } from './useAIStream';
3
+ export { useRAG } from './useRAG';
4
+ export { useRAGCitations } from './useRAGCitations';
3
5
  export { useRAGIngest } from './useRAGIngest';
4
6
  export { useRAGSearch } from './useRAGSearch';
7
+ export { useRAGSources } from './useRAGSources';
5
8
  export { useRAGStatus } from './useRAGStatus';
6
9
  export { useRAGStream } from './useRAGStream';
@@ -0,0 +1,64 @@
1
+ export type UseRAGOptions = {
2
+ autoLoadStatus?: boolean;
3
+ conversationId?: string;
4
+ streamPath?: string;
5
+ };
6
+ export declare const useRAG: (path: string, options?: UseRAGOptions) => {
7
+ citations: {
8
+ citations: import("../..").RAGCitation[];
9
+ hasCitations: boolean;
10
+ sourceGroups: import("../..").RAGSourceGroup[];
11
+ };
12
+ ingest: {
13
+ clearIndex: () => Promise<void>;
14
+ error: string | null;
15
+ ingest: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
16
+ ingestChunks: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
17
+ ingestDocuments: (input: import("../..").RAGDocumentIngestInput) => Promise<import("../..").RAGIngestResponse>;
18
+ isIngesting: boolean;
19
+ lastDocumentCount: number | null;
20
+ lastIngestCount: number | null;
21
+ lastResponse: import("../..").RAGIngestResponse | null;
22
+ reset: () => void;
23
+ };
24
+ search: {
25
+ error: string | null;
26
+ hasSearched: boolean;
27
+ isSearching: boolean;
28
+ lastRequest: import("../..").RAGSearchRequest | null;
29
+ reset: () => void;
30
+ results: import("../..").RAGSource[];
31
+ search: (input: import("../..").RAGSearchRequest) => Promise<import("../..").RAGSource[]>;
32
+ setResults: import("react").Dispatch<import("react").SetStateAction<import("../..").RAGSource[]>>;
33
+ };
34
+ sources: {
35
+ hasSources: boolean;
36
+ latestAssistantMessage: import("../..").AIMessage | undefined;
37
+ sourceGroups: import("../..").RAGSourceGroup[];
38
+ sources: import("../..").RAGSource[];
39
+ };
40
+ status: {
41
+ capabilities: import("../..").RAGBackendCapabilities | undefined;
42
+ error: string | null;
43
+ isLoading: boolean;
44
+ refresh: () => Promise<import("../..").RAGStatusResponse>;
45
+ reset: () => void;
46
+ status: import("../..").RAGVectorStoreStatus | undefined;
47
+ };
48
+ stream: {
49
+ citations: import("../..").RAGCitation[];
50
+ hasSources: boolean;
51
+ latestAssistantMessage: import("../..").AIMessage | undefined;
52
+ query: (content: string, attachments?: import("../..").AIAttachment[]) => void;
53
+ sourceGroups: import("../..").RAGSourceGroup[];
54
+ sources: import("../..").RAGSource[];
55
+ stage: import("../..").RAGStreamStage;
56
+ branch: (messageId: string, content: string) => void;
57
+ cancel: () => void;
58
+ error: string | null;
59
+ isStreaming: boolean;
60
+ messages: import("../..").AIMessage[];
61
+ send: (content: string, attachments?: import("../..").AIAttachment[]) => void;
62
+ };
63
+ };
64
+ export type UseRAGResult = ReturnType<typeof useRAG>;
@@ -0,0 +1,7 @@
1
+ import type { RAGSource } from '../../../types/ai';
2
+ export declare const useRAGCitations: (sources: RAGSource[]) => {
3
+ citations: import("../..").RAGCitation[];
4
+ hasCitations: boolean;
5
+ sourceGroups: import("../..").RAGSourceGroup[];
6
+ };
7
+ export type UseRAGCitationsResult = ReturnType<typeof useRAGCitations>;
@@ -1,8 +1,14 @@
1
- import type { RAGDocumentChunk } from '../../../types/ai';
1
+ import type { RAGDocumentChunk, RAGDocumentIngestInput, RAGIngestResponse } from '../../../types/ai';
2
2
  export declare const useRAGIngest: (path: string) => {
3
+ clearIndex: () => Promise<void>;
3
4
  error: string | null;
4
- ingest: (chunks: RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
5
+ ingest: (chunks: RAGDocumentChunk[]) => Promise<RAGIngestResponse>;
6
+ ingestChunks: (chunks: RAGDocumentChunk[]) => Promise<RAGIngestResponse>;
7
+ ingestDocuments: (input: RAGDocumentIngestInput) => Promise<RAGIngestResponse>;
5
8
  isIngesting: boolean;
9
+ lastDocumentCount: number | null;
6
10
  lastIngestCount: number | null;
11
+ lastResponse: RAGIngestResponse | null;
12
+ reset: () => void;
7
13
  };
8
14
  export type UseRAGIngestResult = ReturnType<typeof useRAGIngest>;
@@ -1,7 +1,10 @@
1
1
  import type { RAGSearchRequest, RAGSource } from '../../../types/ai';
2
2
  export declare const useRAGSearch: (path: string) => {
3
3
  error: string | null;
4
+ hasSearched: boolean;
4
5
  isSearching: boolean;
6
+ lastRequest: RAGSearchRequest | null;
7
+ reset: () => void;
5
8
  results: RAGSource[];
6
9
  search: (input: RAGSearchRequest) => Promise<RAGSource[]>;
7
10
  setResults: import("react").Dispatch<import("react").SetStateAction<RAGSource[]>>;
@@ -0,0 +1,8 @@
1
+ import type { AIMessage } from '../../../types/ai';
2
+ export declare const useRAGSources: (messages: AIMessage[]) => {
3
+ hasSources: boolean;
4
+ latestAssistantMessage: AIMessage | undefined;
5
+ sourceGroups: import("../..").RAGSourceGroup[];
6
+ sources: import("../..").RAGSource[];
7
+ };
8
+ export type UseRAGSourcesResult = ReturnType<typeof useRAGSources>;
@@ -4,6 +4,7 @@ export declare const useRAGStatus: (path: string, autoLoad?: boolean) => {
4
4
  error: string | null;
5
5
  isLoading: boolean;
6
6
  refresh: () => Promise<import("../..").RAGStatusResponse>;
7
+ reset: () => void;
7
8
  status: RAGVectorStoreStatus | undefined;
8
9
  };
9
10
  export type UseRAGStatusResult = ReturnType<typeof useRAGStatus>;
@@ -1,9 +1,17 @@
1
+ import type { AIAttachment } from '../../../types/ai';
1
2
  export declare const useRAGStream: (path?: string, conversationId?: string) => {
3
+ citations: import("../..").RAGCitation[];
4
+ hasSources: boolean;
5
+ latestAssistantMessage: import("../..").AIMessage | undefined;
6
+ query: (content: string, attachments?: AIAttachment[]) => void;
7
+ sourceGroups: import("../..").RAGSourceGroup[];
8
+ sources: import("../..").RAGSource[];
9
+ stage: import("../..").RAGStreamStage;
2
10
  branch: (messageId: string, content: string) => void;
3
11
  cancel: () => void;
4
12
  error: string | null;
5
13
  isStreaming: boolean;
6
14
  messages: import("../..").AIMessage[];
7
- send: (content: string, attachments?: import("../..").AIAttachment[]) => void;
15
+ send: (content: string, attachments?: AIAttachment[]) => void;
8
16
  };
9
17
  export type UseRAGStreamResult = ReturnType<typeof useRAGStream>;
@@ -10,6 +10,26 @@ export type RAGSource = {
10
10
  source?: string;
11
11
  metadata?: Record<string, unknown>;
12
12
  };
13
+ export type RAGSourceGroup = {
14
+ key: string;
15
+ label: string;
16
+ source?: string;
17
+ title?: string;
18
+ bestScore: number;
19
+ count: number;
20
+ chunks: RAGSource[];
21
+ };
22
+ export type RAGCitation = {
23
+ key: string;
24
+ label: string;
25
+ chunkId: string;
26
+ score: number;
27
+ text: string;
28
+ source?: string;
29
+ title?: string;
30
+ metadata?: Record<string, unknown>;
31
+ };
32
+ export type RAGStreamStage = 'idle' | 'submitting' | 'retrieved' | 'streaming' | 'complete' | 'error';
13
33
  export type RAGDocumentChunk = {
14
34
  chunkId: string;
15
35
  text: string;
@@ -95,6 +95,7 @@ import {
95
95
  defineComponent,
96
96
  h,
97
97
  onMounted,
98
+ onBeforeUnmount,
98
99
  ref
99
100
  } from "vue";
100
101
  var renderVueNodesToHtml = async (nodes) => {
@@ -128,6 +129,7 @@ var SuspenseSlot = defineComponent({
128
129
  const isResolved = ref(false);
129
130
  const resolvedValue = ref(undefined);
130
131
  const hasError = ref(false);
132
+ const hasPatchedDom = ref(false);
131
133
  const usesFrameworkSlots = hasFrameworkSlots(slots.default, slots.fallback, slots.error, props.promise);
132
134
  if (typeof window === "undefined") {
133
135
  if (!usesFrameworkSlots && props.resolve) {
@@ -179,12 +181,24 @@ var SuspenseSlot = defineComponent({
179
181
  hasError.value = candidate.state === "error";
180
182
  resolvedValue.value = candidate.value;
181
183
  isResolved.value = candidate.state !== "error";
184
+ hasPatchedDom.value = false;
182
185
  return true;
183
186
  };
187
+ const handlePatchedDom = (event) => {
188
+ const patchEvent = event;
189
+ if (patchEvent.detail?.id === props.id) {
190
+ hasPatchedDom.value = true;
191
+ }
192
+ };
184
193
  onMounted(() => {
194
+ window.addEventListener("absolutejs:slot-patch", handlePatchedDom);
185
195
  runtimeReady = true;
186
196
  window.__ABS_SLOT_FLUSH__?.();
187
197
  });
198
+ onBeforeUnmount(() => {
199
+ window.removeEventListener("absolutejs:slot-patch", handlePatchedDom);
200
+ delete window.__ABS_SLOT_CONSUMERS__?.[props.id];
201
+ });
188
202
  }
189
203
  return () => {
190
204
  if (!usesFrameworkSlots) {
@@ -200,7 +214,7 @@ var SuspenseSlot = defineComponent({
200
214
  "data-allow-mismatch": "",
201
215
  "data-absolute-slot": "true",
202
216
  id: `slot-${props.id}`
203
- }, hasError.value ? slots.error?.({ error: undefined }) ?? slots.fallback?.() ?? undefined : isResolved.value ? slots.default?.({ value: resolvedValue.value }) ?? undefined : slots.fallback?.() ?? undefined);
217
+ }, hasPatchedDom.value && !isResolved.value ? undefined : hasError.value ? slots.error?.({ error: undefined }) ?? slots.fallback?.() ?? undefined : isResolved.value ? slots.default?.({ value: resolvedValue.value }) ?? undefined : slots.fallback?.() ?? undefined);
204
218
  };
205
219
  }
206
220
  });
@@ -243,5 +257,5 @@ export {
243
257
  Image_default as Image
244
258
  };
245
259
 
246
- //# debugId=B5F945697BD3ECF764756E2164756E21
260
+ //# debugId=C6512760CE6CC3F064756E2164756E21
247
261
  //# sourceMappingURL=index.js.map
@@ -3,10 +3,10 @@
3
3
  "sources": ["../src/core/streamingSlotRegistrar.ts", "../src/vue/components/SuspenseSlot.ts", "../src/vue/components/StreamSlot.ts"],
4
4
  "sourcesContent": [
5
5
  "import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\ntype StreamingSlotRegistrarGlobal = typeof globalThis & {\n\t[STREAMING_SLOT_REGISTRAR_KEY]?: StreamingSlotRegistrar | null;\n};\n\nconst getRegistrarGlobal = () => globalThis as StreamingSlotRegistrarGlobal;\n\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tgetRegistrarGlobal()[STREAMING_SLOT_REGISTRAR_KEY] = nextRegistrar;\n};\n\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegistrarGlobal()[STREAMING_SLOT_REGISTRAR_KEY]?.(slot);\n};\n",
6
- "import {\n\tdefineComponent,\n\th,\n\tonMounted,\n\tref,\n\ttype PropType,\n\ttype Slot,\n\ttype VNodeChild\n} from 'vue';\nimport { registerStreamingSlot } from '../../core/streamingSlotRegistrar';\n\nconst renderVueNodesToHtml = async (nodes: VNodeChild) => {\n\tconst { createSSRApp, h: createVNode } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\n\tconst app = createSSRApp({\n\t\trender: () => createVNode('div', undefined, nodes ?? undefined)\n\t});\n\tconst html = await renderToString(app);\n\n\treturn html.replace(/^<div>|<\\/div>$/g, '');\n};\n\nconst hasFrameworkSlots = (\n\tdefaultSlot: Slot | undefined,\n\tfallbackSlot: Slot | undefined,\n\terrorSlot: Slot | undefined,\n\tpromise: Promise<unknown> | undefined\n) =>\n\tdefaultSlot !== undefined ||\n\tfallbackSlot !== undefined ||\n\terrorSlot !== undefined ||\n\tpromise !== undefined;\n\nexport const SuspenseSlot = defineComponent({\n\tname: 'AbsoluteSuspenseSlot',\n\tprops: {\n\t\tclassName: { default: undefined, type: String },\n\t\terrorHtml: { default: undefined, type: String },\n\t\tfallbackHtml: { default: '', type: String },\n\t\tid: { required: true, type: String },\n\t\tpromise: {\n\t\t\tdefault: undefined,\n\t\t\ttype: Object as PropType<Promise<unknown>>\n\t\t},\n\t\tresolve: {\n\t\t\tdefault: undefined,\n\t\t\ttype: Function as PropType<() => Promise<unknown> | unknown>\n\t\t},\n\t\ttimeoutMs: { default: undefined, type: Number }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst isResolved = ref(false);\n\t\tconst resolvedValue = ref<unknown>(undefined);\n\t\tconst hasError = ref(false);\n\t\tconst usesFrameworkSlots = hasFrameworkSlots(\n\t\t\tslots.default,\n\t\t\tslots.fallback,\n\t\t\tslots.error,\n\t\t\tprops.promise\n\t\t);\n\n\t\tif (typeof window === 'undefined') {\n\t\t\tif (!usesFrameworkSlots && props.resolve) {\n\t\t\t\tregisterStreamingSlot({\n\t\t\t\t\terrorHtml: props.errorHtml,\n\t\t\t\t\tfallbackHtml: props.fallbackHtml,\n\t\t\t\t\tid: props.id,\n\t\t\t\t\tresolve: props.resolve as () => Promise<string> | string,\n\t\t\t\t\ttimeoutMs: props.timeoutMs\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tregisterStreamingSlot({\n\t\t\t\t\tid: props.id,\n\t\t\t\t\tresolve: async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\tprops.resolve !== undefined\n\t\t\t\t\t\t\t\t\t? await props.resolve()\n\t\t\t\t\t\t\t\t\t: props.promise !== undefined\n\t\t\t\t\t\t\t\t\t\t? await props.promise\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\tconst nodes = slots.default?.({ value }) ?? [];\n\t\t\t\t\t\t\tconst html = await renderVueNodesToHtml(nodes);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\t\tkind: 'vue-suspense',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconst errorNodes = slots.error?.({ error });\n\t\t\t\t\t\t\tif (errorNodes !== undefined) {\n\t\t\t\t\t\t\t\treturn renderVueNodesToHtml(errorNodes);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (typeof props.errorHtml === 'string') {\n\t\t\t\t\t\t\t\treturn props.errorHtml;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttimeoutMs: props.timeoutMs\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof window !== 'undefined' && usesFrameworkSlots) {\n\t\t\tconst consumers = (window.__ABS_SLOT_CONSUMERS__ =\n\t\t\t\twindow.__ABS_SLOT_CONSUMERS__ ?? {});\n\t\t\tlet runtimeReady = false;\n\t\t\tconsumers[props.id] = (payload) => {\n\t\t\t\tif (!runtimeReady) return false;\n\t\t\t\tif (\n\t\t\t\t\t!payload ||\n\t\t\t\t\ttypeof payload !== 'object' ||\n\t\t\t\t\t(payload as { kind?: unknown }).kind !== 'vue-suspense'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst candidate = payload as {\n\t\t\t\t\tstate?: unknown;\n\t\t\t\t\tvalue?: unknown;\n\t\t\t\t};\n\t\t\t\thasError.value = candidate.state === 'error';\n\t\t\t\tresolvedValue.value = candidate.value;\n\t\t\t\tisResolved.value = candidate.state !== 'error';\n\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tonMounted(() => {\n\t\t\t\truntimeReady = true;\n\t\t\t\twindow.__ABS_SLOT_FLUSH__?.();\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (!usesFrameworkSlots) {\n\t\t\t\treturn h('div', {\n\t\t\t\t\tclass: props.className,\n\t\t\t\t\t'data-absolute-slot': 'true',\n\t\t\t\t\tid: `slot-${props.id}`,\n\t\t\t\t\tinnerHTML: props.fallbackHtml\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn h(\n\t\t\t\t'div',\n\t\t\t\t{\n\t\t\t\t\tclass: props.className,\n\t\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\t\t'data-absolute-slot': 'true',\n\t\t\t\t\tid: `slot-${props.id}`\n\t\t\t\t},\n\t\t\t\thasError.value\n\t\t\t\t\t? (slots.error?.({ error: undefined }) ??\n\t\t\t\t\t\tslots.fallback?.() ??\n\t\t\t\t\t\tundefined)\n\t\t\t\t\t: isResolved.value\n\t\t\t\t\t\t? (slots.default?.({ value: resolvedValue.value }) ??\n\t\t\t\t\t\t\tundefined)\n\t\t\t\t\t\t: (slots.fallback?.() ?? undefined)\n\t\t\t);\n\t\t};\n\t}\n});\n",
6
+ "import {\n\tdefineComponent,\n\th,\n\tonMounted,\n\tonBeforeUnmount,\n\tref,\n\ttype PropType,\n\ttype Slot,\n\ttype VNodeChild\n} from 'vue';\nimport { registerStreamingSlot } from '../../core/streamingSlotRegistrar';\n\nconst renderVueNodesToHtml = async (nodes: VNodeChild) => {\n\tconst { createSSRApp, h: createVNode } = await import('vue');\n\tconst { renderToString } = await import('vue/server-renderer');\n\n\tconst app = createSSRApp({\n\t\trender: () => createVNode('div', undefined, nodes ?? undefined)\n\t});\n\tconst html = await renderToString(app);\n\n\treturn html.replace(/^<div>|<\\/div>$/g, '');\n};\n\nconst hasFrameworkSlots = (\n\tdefaultSlot: Slot | undefined,\n\tfallbackSlot: Slot | undefined,\n\terrorSlot: Slot | undefined,\n\tpromise: Promise<unknown> | undefined\n) =>\n\tdefaultSlot !== undefined ||\n\tfallbackSlot !== undefined ||\n\terrorSlot !== undefined ||\n\tpromise !== undefined;\n\nexport const SuspenseSlot = defineComponent({\n\tname: 'AbsoluteSuspenseSlot',\n\tprops: {\n\t\tclassName: { default: undefined, type: String },\n\t\terrorHtml: { default: undefined, type: String },\n\t\tfallbackHtml: { default: '', type: String },\n\t\tid: { required: true, type: String },\n\t\tpromise: {\n\t\t\tdefault: undefined,\n\t\t\ttype: Object as PropType<Promise<unknown>>\n\t\t},\n\t\tresolve: {\n\t\t\tdefault: undefined,\n\t\t\ttype: Function as PropType<() => Promise<unknown> | unknown>\n\t\t},\n\t\ttimeoutMs: { default: undefined, type: Number }\n\t},\n\tsetup(props, { slots }) {\n\t\tconst isResolved = ref(false);\n\t\tconst resolvedValue = ref<unknown>(undefined);\n\t\tconst hasError = ref(false);\n\t\tconst hasPatchedDom = ref(false);\n\t\tconst usesFrameworkSlots = hasFrameworkSlots(\n\t\t\tslots.default,\n\t\t\tslots.fallback,\n\t\t\tslots.error,\n\t\t\tprops.promise\n\t\t);\n\n\t\tif (typeof window === 'undefined') {\n\t\t\tif (!usesFrameworkSlots && props.resolve) {\n\t\t\t\tregisterStreamingSlot({\n\t\t\t\t\terrorHtml: props.errorHtml,\n\t\t\t\t\tfallbackHtml: props.fallbackHtml,\n\t\t\t\t\tid: props.id,\n\t\t\t\t\tresolve: props.resolve as () => Promise<string> | string,\n\t\t\t\t\ttimeoutMs: props.timeoutMs\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tregisterStreamingSlot({\n\t\t\t\t\tid: props.id,\n\t\t\t\t\tresolve: async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\tprops.resolve !== undefined\n\t\t\t\t\t\t\t\t\t? await props.resolve()\n\t\t\t\t\t\t\t\t\t: props.promise !== undefined\n\t\t\t\t\t\t\t\t\t\t? await props.promise\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\tconst nodes = slots.default?.({ value }) ?? [];\n\t\t\t\t\t\t\tconst html = await renderVueNodesToHtml(nodes);\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\thtml,\n\t\t\t\t\t\t\t\tkind: 'vue-suspense',\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tconst errorNodes = slots.error?.({ error });\n\t\t\t\t\t\t\tif (errorNodes !== undefined) {\n\t\t\t\t\t\t\t\treturn renderVueNodesToHtml(errorNodes);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (typeof props.errorHtml === 'string') {\n\t\t\t\t\t\t\t\treturn props.errorHtml;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttimeoutMs: props.timeoutMs\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (typeof window !== 'undefined' && usesFrameworkSlots) {\n\t\t\tconst consumers = (window.__ABS_SLOT_CONSUMERS__ =\n\t\t\t\twindow.__ABS_SLOT_CONSUMERS__ ?? {});\n\t\t\tlet runtimeReady = false;\n\t\t\tconsumers[props.id] = (payload) => {\n\t\t\t\tif (!runtimeReady) return false;\n\t\t\t\tif (\n\t\t\t\t\t!payload ||\n\t\t\t\t\ttypeof payload !== 'object' ||\n\t\t\t\t\t(payload as { kind?: unknown }).kind !== 'vue-suspense'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst candidate = payload as {\n\t\t\t\t\tstate?: unknown;\n\t\t\t\t\tvalue?: unknown;\n\t\t\t\t};\n\t\t\t\thasError.value = candidate.state === 'error';\n\t\t\t\tresolvedValue.value = candidate.value;\n\t\t\t\tisResolved.value = candidate.state !== 'error';\n\t\t\t\thasPatchedDom.value = false;\n\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tconst handlePatchedDom = (event: Event) => {\n\t\t\t\tconst patchEvent = event as CustomEvent<{ id?: string }>;\n\t\t\t\tif (patchEvent.detail?.id === props.id) {\n\t\t\t\t\thasPatchedDom.value = true;\n\t\t\t\t}\n\t\t\t};\n\t\t\tonMounted(() => {\n\t\t\t\twindow.addEventListener(\n\t\t\t\t\t'absolutejs:slot-patch',\n\t\t\t\t\thandlePatchedDom as EventListener\n\t\t\t\t);\n\t\t\t\truntimeReady = true;\n\t\t\t\twindow.__ABS_SLOT_FLUSH__?.();\n\t\t\t});\n\t\t\tonBeforeUnmount(() => {\n\t\t\t\twindow.removeEventListener(\n\t\t\t\t\t'absolutejs:slot-patch',\n\t\t\t\t\thandlePatchedDom as EventListener\n\t\t\t\t);\n\t\t\t\tdelete window.__ABS_SLOT_CONSUMERS__?.[props.id];\n\t\t\t});\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (!usesFrameworkSlots) {\n\t\t\t\treturn h('div', {\n\t\t\t\t\tclass: props.className,\n\t\t\t\t\t'data-absolute-slot': 'true',\n\t\t\t\t\tid: `slot-${props.id}`,\n\t\t\t\t\tinnerHTML: props.fallbackHtml\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn h(\n\t\t\t\t'div',\n\t\t\t\t{\n\t\t\t\t\tclass: props.className,\n\t\t\t\t\t'data-allow-mismatch': '',\n\t\t\t\t\t'data-absolute-slot': 'true',\n\t\t\t\t\tid: `slot-${props.id}`\n\t\t\t\t},\n\t\t\t\thasPatchedDom.value && !isResolved.value\n\t\t\t\t\t? undefined\n\t\t\t\t\t: \n\t\t\t\thasError.value\n\t\t\t\t\t? (slots.error?.({ error: undefined }) ??\n\t\t\t\t\t\tslots.fallback?.() ??\n\t\t\t\t\t\tundefined)\n\t\t\t\t\t: isResolved.value\n\t\t\t\t\t\t? (slots.default?.({ value: resolvedValue.value }) ??\n\t\t\t\t\t\t\tundefined)\n\t\t\t\t\t\t: (slots.fallback?.() ?? undefined)\n\t\t\t);\n\t\t};\n\t}\n});\n",
7
7
  "import { defineComponent, h, type PropType } from 'vue';\nimport { registerStreamingSlot } from '../../core/streamingSlotRegistrar';\n\nexport const StreamSlot = defineComponent({\n\tname: 'AbsoluteStreamSlot',\n\tprops: {\n\t\tclassName: { default: undefined, type: String },\n\t\terrorHtml: { default: undefined, type: String },\n\t\tfallbackHtml: { default: '', type: String },\n\t\tid: { required: true, type: String },\n\t\tresolve: {\n\t\t\trequired: true,\n\t\t\ttype: Function as PropType<() => Promise<string> | string>\n\t\t},\n\t\ttimeoutMs: { default: undefined, type: Number }\n\t},\n\tsetup(props) {\n\t\tif (typeof window === 'undefined') {\n\t\t\tregisterStreamingSlot({\n\t\t\t\terrorHtml: props.errorHtml,\n\t\t\t\tfallbackHtml: props.fallbackHtml,\n\t\t\t\tid: props.id,\n\t\t\t\tresolve: props.resolve,\n\t\t\t\ttimeoutMs: props.timeoutMs\n\t\t\t});\n\t\t}\n\n\t\treturn () =>\n\t\t\th('div', {\n\t\t\t\tclass: props.className,\n\t\t\t\t'data-absolute-slot': 'true',\n\t\t\t\tid: `slot-${props.id}`,\n\t\t\t\tinnerHTML: props.fallbackHtml\n\t\t\t});\n\t}\n});\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "B5F945697BD3ECF764756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "C6512760CE6CC3F064756E2164756E21",
11
11
  "names": []
12
12
  }