@absolutejs/absolute 0.19.0-beta.442 → 0.19.0-beta.444
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.
- package/dist/ai-client/angular/ai/index.js +24 -0
- package/dist/angular/ai/index.js +25 -1
- package/dist/angular/ai/index.js.map +3 -3
- package/dist/src/angular/ai/rag-client.service.d.ts +9 -1
- package/dist/src/svelte/ai/createAIStream.d.ts +1 -0
- package/dist/src/svelte/ai/createRAG.d.ts +117 -0
- package/dist/src/svelte/ai/createRAGChunkPreview.d.ts +11 -0
- package/dist/src/svelte/ai/createRAGCitations.d.ts +8 -0
- package/dist/src/svelte/ai/createRAGDocuments.d.ts +10 -0
- package/dist/src/svelte/ai/createRAGIndexAdmin.d.ts +30 -0
- package/dist/src/svelte/ai/createRAGIngest.d.ts +10 -2
- package/dist/src/svelte/ai/createRAGSearch.d.ts +3 -0
- package/dist/src/svelte/ai/createRAGSources.d.ts +9 -0
- package/dist/src/svelte/ai/createRAGStatus.d.ts +1 -0
- package/dist/src/svelte/ai/createRAGStream.d.ts +24 -1
- package/dist/src/svelte/ai/index.d.ts +6 -0
- package/dist/svelte/ai/index.js +486 -18
- package/dist/svelte/ai/index.js.map +15 -7
- package/package.json +1 -1
|
@@ -841,12 +841,36 @@ class RAGClientService {
|
|
|
841
841
|
ingest(path, chunks) {
|
|
842
842
|
return this.client(path).ingest(chunks);
|
|
843
843
|
}
|
|
844
|
+
ingestDocuments(path, input) {
|
|
845
|
+
return this.client(path).ingestDocuments(input);
|
|
846
|
+
}
|
|
844
847
|
search(path, input) {
|
|
845
848
|
return this.client(path).search(input);
|
|
846
849
|
}
|
|
847
850
|
status(path) {
|
|
848
851
|
return this.client(path).status();
|
|
849
852
|
}
|
|
853
|
+
documents(path, kind) {
|
|
854
|
+
return this.client(path).documents(kind);
|
|
855
|
+
}
|
|
856
|
+
documentChunks(path, id) {
|
|
857
|
+
return this.client(path).documentChunks(id);
|
|
858
|
+
}
|
|
859
|
+
createDocument(path, input) {
|
|
860
|
+
return this.client(path).createDocument(input);
|
|
861
|
+
}
|
|
862
|
+
deleteDocument(path, id) {
|
|
863
|
+
return this.client(path).deleteDocument(id);
|
|
864
|
+
}
|
|
865
|
+
reseed(path) {
|
|
866
|
+
return this.client(path).reseed();
|
|
867
|
+
}
|
|
868
|
+
reset(path) {
|
|
869
|
+
return this.client(path).reset();
|
|
870
|
+
}
|
|
871
|
+
backends(path) {
|
|
872
|
+
return this.client(path).backends();
|
|
873
|
+
}
|
|
850
874
|
clearIndex(path) {
|
|
851
875
|
return this.client(path).clearIndex();
|
|
852
876
|
}
|
package/dist/angular/ai/index.js
CHANGED
|
@@ -978,12 +978,36 @@ class RAGClientService {
|
|
|
978
978
|
ingest(path, chunks) {
|
|
979
979
|
return this.client(path).ingest(chunks);
|
|
980
980
|
}
|
|
981
|
+
ingestDocuments(path, input) {
|
|
982
|
+
return this.client(path).ingestDocuments(input);
|
|
983
|
+
}
|
|
981
984
|
search(path, input) {
|
|
982
985
|
return this.client(path).search(input);
|
|
983
986
|
}
|
|
984
987
|
status(path) {
|
|
985
988
|
return this.client(path).status();
|
|
986
989
|
}
|
|
990
|
+
documents(path, kind) {
|
|
991
|
+
return this.client(path).documents(kind);
|
|
992
|
+
}
|
|
993
|
+
documentChunks(path, id) {
|
|
994
|
+
return this.client(path).documentChunks(id);
|
|
995
|
+
}
|
|
996
|
+
createDocument(path, input) {
|
|
997
|
+
return this.client(path).createDocument(input);
|
|
998
|
+
}
|
|
999
|
+
deleteDocument(path, id) {
|
|
1000
|
+
return this.client(path).deleteDocument(id);
|
|
1001
|
+
}
|
|
1002
|
+
reseed(path) {
|
|
1003
|
+
return this.client(path).reseed();
|
|
1004
|
+
}
|
|
1005
|
+
reset(path) {
|
|
1006
|
+
return this.client(path).reset();
|
|
1007
|
+
}
|
|
1008
|
+
backends(path) {
|
|
1009
|
+
return this.client(path).backends();
|
|
1010
|
+
}
|
|
987
1011
|
clearIndex(path) {
|
|
988
1012
|
return this.client(path).clearIndex();
|
|
989
1013
|
}
|
|
@@ -1000,5 +1024,5 @@ export {
|
|
|
1000
1024
|
AIStreamService
|
|
1001
1025
|
};
|
|
1002
1026
|
|
|
1003
|
-
//# debugId=
|
|
1027
|
+
//# debugId=574A9BFD98A3185A64756E2164756E21
|
|
1004
1028
|
//# sourceMappingURL=index.js.map
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
"import type {\n\tAIClientMessage,\n\tAIConnectionOptions,\n\tAIServerMessage\n} from '../../../types/ai';\nimport { isValidAIServerMessage } from '../../../types/typeGuards';\n\nconst WS_OPEN = 1;\nconst WS_NORMAL_CLOSURE = 1000;\nconst WS_CLOSED = 3;\nconst DEFAULT_PING_INTERVAL = 30_000;\nconst RECONNECT_INITIAL_DELAY = 500;\nconst RECONNECT_POLL_INTERVAL = 300;\nconst DEFAULT_MAX_RECONNECT_ATTEMPTS = 60;\n\ntype AIConnectionState = {\n\tisConnected: boolean;\n\tpingInterval: ReturnType<typeof setInterval> | null;\n\treconnectAttempts: number;\n\treconnectTimeout: ReturnType<typeof setTimeout> | null;\n\tws: WebSocket | null;\n};\n\ntype AIConnectionHandle = {\n\tclose: () => void;\n\tgetReadyState: () => number;\n\tsend: (msg: AIClientMessage) => void;\n\tsubscribe: (callback: (msg: AIServerMessage) => void) => () => void;\n};\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => {};\nconst noopUnsubscribe = () => noop;\n\nconst NOOP_CONNECTION: AIConnectionHandle = {\n\tclose: noop,\n\tsend: noop,\n\tsubscribe: noopUnsubscribe,\n\tgetReadyState: () => WS_CLOSED\n};\n\nconst buildWsUrl = (path: string) => {\n\tconst { hostname, port, protocol } = window.location;\n\tconst wsProtocol = protocol === 'https:' ? 'wss:' : 'ws:';\n\tconst portSuffix = port ? `:${port}` : '';\n\n\treturn `${wsProtocol}//${hostname}${portSuffix}${path}`;\n};\n\nconst parseServerMessage = (event: MessageEvent) => {\n\tlet data: unknown;\n\n\ttry {\n\t\tdata = JSON.parse(String(event.data));\n\t} catch {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tdata &&\n\t\ttypeof data === 'object' &&\n\t\t'type' in data &&\n\t\tdata.type === 'pong'\n\t) {\n\t\treturn null;\n\t}\n\n\tif (!isValidAIServerMessage(data)) {\n\t\treturn null;\n\t}\n\n\treturn data;\n};\n\nexport const createAIConnection = (\n\tpath: string,\n\toptions: AIConnectionOptions = {}\n) => {\n\tif (typeof window === 'undefined') {\n\t\treturn NOOP_CONNECTION;\n\t}\n\n\tconst shouldReconnect = options.reconnect !== false;\n\tconst pingInterval = options.pingInterval ?? DEFAULT_PING_INTERVAL;\n\tconst maxReconnectAttempts =\n\t\toptions.maxReconnectAttempts ?? DEFAULT_MAX_RECONNECT_ATTEMPTS;\n\n\tconst listeners = new Set<(msg: AIServerMessage) => void>();\n\n\tconst connState: AIConnectionState = {\n\t\tisConnected: false,\n\t\tpingInterval: null,\n\t\treconnectAttempts: 0,\n\t\treconnectTimeout: null,\n\t\tws: null\n\t};\n\n\tconst clearTimers = () => {\n\t\tif (connState.pingInterval) {\n\t\t\tclearInterval(connState.pingInterval);\n\t\t\tconnState.pingInterval = null;\n\t\t}\n\n\t\tif (connState.reconnectTimeout) {\n\t\t\tclearTimeout(connState.reconnectTimeout);\n\t\t\tconnState.reconnectTimeout = null;\n\t\t}\n\t};\n\n\tconst scheduleReconnect = () => {\n\t\tconnState.reconnectAttempts++;\n\t\tconst delay =\n\t\t\tconnState.reconnectAttempts === 1\n\t\t\t\t? RECONNECT_INITIAL_DELAY\n\t\t\t\t: RECONNECT_POLL_INTERVAL;\n\n\t\tconnState.reconnectTimeout = setTimeout(() => {\n\t\t\tif (connState.reconnectAttempts > maxReconnectAttempts) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconnect();\n\t\t}, delay);\n\t};\n\n\tconst connect = () => {\n\t\tconst url = buildWsUrl(path);\n\t\tconst wsInstance = new WebSocket(url, options.protocols);\n\n\t\twsInstance.onopen = () => {\n\t\t\tconnState.isConnected = true;\n\t\t\tconnState.reconnectAttempts = 0;\n\n\t\t\tconnState.pingInterval = setInterval(() => {\n\t\t\t\tif (\n\t\t\t\t\twsInstance.readyState === WS_OPEN &&\n\t\t\t\t\tconnState.isConnected\n\t\t\t\t) {\n\t\t\t\t\twsInstance.send(JSON.stringify({ type: 'ping' }));\n\t\t\t\t}\n\t\t\t}, pingInterval);\n\t\t};\n\n\t\twsInstance.onmessage = (event: MessageEvent) => {\n\t\t\tconst message = parseServerMessage(event);\n\n\t\t\tif (!message) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlisteners.forEach((listener) => listener(message));\n\t\t};\n\n\t\twsInstance.onclose = (event: CloseEvent) => {\n\t\t\tconnState.isConnected = false;\n\t\t\tclearTimers();\n\n\t\t\tconst shouldAttemptReconnect =\n\t\t\t\tshouldReconnect &&\n\t\t\t\tevent.code !== WS_NORMAL_CLOSURE &&\n\t\t\t\tconnState.reconnectAttempts < maxReconnectAttempts;\n\n\t\t\tif (shouldAttemptReconnect) {\n\t\t\t\tscheduleReconnect();\n\t\t\t}\n\t\t};\n\n\t\twsInstance.onerror = () => {\n\t\t\t// Error is followed by close event, reconnection handled there\n\t\t};\n\n\t\tconnState.ws = wsInstance;\n\t};\n\n\tconst send = (msg: AIClientMessage) => {\n\t\tif (connState.ws?.readyState === WS_OPEN) {\n\t\t\tconnState.ws.send(JSON.stringify(msg));\n\t\t}\n\t};\n\n\tconst subscribe = (callback: (msg: AIServerMessage) => void) => {\n\t\tlisteners.add(callback);\n\n\t\treturn () => {\n\t\t\tlisteners.delete(callback);\n\t\t};\n\t};\n\n\tconst close = () => {\n\t\tclearTimers();\n\n\t\tif (connState.ws) {\n\t\t\tconnState.ws.close(WS_NORMAL_CLOSURE);\n\t\t\tconnState.ws = null;\n\t\t}\n\n\t\tconnState.isConnected = false;\n\t\tlisteners.clear();\n\t};\n\n\tconst getReadyState = () => connState.ws?.readyState ?? WS_CLOSED;\n\n\tconnect();\n\n\treturn { close, getReadyState, send, subscribe };\n};\n",
|
|
9
9
|
"import type {\n\tAIConversation,\n\tRAGSource,\n\tAIImageData,\n\tAIMessage,\n\tAIStreamState,\n\tAIStoreAction,\n\tAIToolCall\n} from '../../../types/ai';\n\nconst EMPTY_STATE: AIStreamState = {\n\tactiveConversationId: null,\n\tconversations: new Map(),\n\terror: null,\n\tisStreaming: false\n};\n\nconst initialActiveConversationId: string | null = null;\nconst initialError: string | null = null;\n\n// eslint-disable-next-line absolute/no-useless-function -- returns a new instance each call\nconst freshState = () => ({\n\tactiveConversationId: initialActiveConversationId,\n\tconversations: new Map<string, AIConversation>(),\n\terror: initialError,\n\tisStreaming: false\n});\n\nconst findAssistantMessage = (\n\tconversation: AIConversation,\n\tmessageId: string\n) =>\n\tconversation.messages.find(\n\t\t(msg) => msg.id === messageId && msg.role === 'assistant'\n\t);\n\nconst getOrCreate = (state: AIStreamState, conversationId: string) => {\n\tlet conversation = state.conversations.get(conversationId);\n\n\tif (!conversation) {\n\t\tconversation = {\n\t\t\tcreatedAt: Date.now(),\n\t\t\tid: conversationId,\n\t\t\tmessages: []\n\t\t};\n\t\tstate.conversations.set(conversationId, conversation);\n\t}\n\n\treturn conversation;\n};\n\nconst handleSend = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'send' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message: AIMessage = {\n\t\tattachments: action.attachments,\n\t\tcontent: action.content,\n\t\tconversationId: action.conversationId,\n\t\tid: action.messageId,\n\t\trole: 'user',\n\t\ttimestamp: Date.now()\n\t};\n\n\tconversation.messages = [...conversation.messages, message];\n\tstate.activeConversationId = action.conversationId;\n\tstate.error = null;\n\tstate.isStreaming = true;\n};\n\nconst handleChunk = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'chunk' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst existingIdx = conversation.messages.findIndex(\n\t\t(msg) => msg.id === action.messageId && msg.role === 'assistant'\n\t);\n\n\tif (existingIdx >= 0) {\n\t\tconst prevContent = conversation.messages[existingIdx]?.content ?? '';\n\t\tconversation.messages = conversation.messages.map((msg, idx) =>\n\t\t\tidx === existingIdx\n\t\t\t\t? { ...msg, content: prevContent + action.content }\n\t\t\t\t: msg\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst message: AIMessage = {\n\t\tcontent: action.content,\n\t\tconversationId: action.conversationId,\n\t\tid: action.messageId,\n\t\tisStreaming: true,\n\t\trole: 'assistant',\n\t\ttimestamp: Date.now()\n\t};\n\n\tconversation.messages = [...conversation.messages, message];\n};\n\nconst handleThinking = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'thinking' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst existingIdx = conversation.messages.findIndex(\n\t\t(msg) => msg.id === action.messageId && msg.role === 'assistant'\n\t);\n\n\tif (existingIdx >= 0) {\n\t\tconst prevThinking = conversation.messages[existingIdx]?.thinking ?? '';\n\t\tconversation.messages = conversation.messages.map((msg, idx) =>\n\t\t\tidx === existingIdx\n\t\t\t\t? { ...msg, thinking: prevThinking + action.content }\n\t\t\t\t: msg\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst message: AIMessage = {\n\t\tcontent: '',\n\t\tconversationId: action.conversationId,\n\t\tid: action.messageId,\n\t\tisStreaming: true,\n\t\trole: 'assistant',\n\t\tthinking: action.content,\n\t\ttimestamp: Date.now()\n\t};\n\n\tconversation.messages = [...conversation.messages, message];\n};\n\nconst upsertToolCall = (message: AIMessage, toolCall: AIToolCall) => {\n\tif (!message.toolCalls) {\n\t\tmessage.toolCalls = [toolCall];\n\n\t\treturn;\n\t}\n\n\tconst existingIdx = message.toolCalls.findIndex(\n\t\t(existing) => existing.name === toolCall.name\n\t);\n\n\tif (existingIdx >= 0) {\n\t\tmessage.toolCalls[existingIdx] = toolCall;\n\t} else {\n\t\tmessage.toolCalls = [...message.toolCalls, toolCall];\n\t}\n};\n\nconst getOrCreateAssistantMessage = (\n\tconversation: AIConversation,\n\tmessageId: string,\n\tconversationId: string\n) => {\n\tconst existing = findAssistantMessage(conversation, messageId);\n\n\tif (existing) {\n\t\treturn existing;\n\t}\n\n\tconst message: AIMessage = {\n\t\tcontent: '',\n\t\tconversationId,\n\t\tid: messageId,\n\t\tisStreaming: true,\n\t\trole: 'assistant',\n\t\ttimestamp: Date.now()\n\t};\n\tconversation.messages = [...conversation.messages, message];\n\n\treturn message;\n};\n\nconst handleRAGRetrieved = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'rag_retrieved' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message = getOrCreateAssistantMessage(\n\t\tconversation,\n\t\taction.messageId,\n\t\taction.conversationId\n\t);\n\n\tmessage.sources = action.sources;\n\tmessage.retrievedAt = Date.now();\n\tconversation.messages = [...conversation.messages];\n};\n\nconst handleToolStatus = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'tool_status' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message = getOrCreateAssistantMessage(\n\t\tconversation,\n\t\taction.messageId,\n\t\taction.conversationId\n\t);\n\n\tconst toolCall: AIToolCall = {\n\t\tid: action.messageId,\n\t\tinput: action.input,\n\t\tname: action.name,\n\t\tresult: action.status === 'complete' ? (action.result ?? '') : undefined\n\t};\n\n\tupsertToolCall(message, toolCall);\n\tconversation.messages = [...conversation.messages];\n};\n\nconst markMessageComplete = (\n\tconversation: AIConversation,\n\tmessageId: string,\n\tusage?: { inputTokens: number; outputTokens: number },\n\tdurationMs?: number,\n\tmodel?: string,\n\tsources?: RAGSource[]\n) => {\n\tconversation.messages = conversation.messages.map((msg) =>\n\t\tmsg.id === messageId && msg.role === 'assistant'\n\t\t\t? {\n\t\t\t\t\t...msg,\n\t\t\t\t\tdurationMs,\n\t\t\t\t\tisStreaming: false,\n\t\t\t\t\tmodel,\n\t\t\t\t\tsources: sources ?? msg.sources,\n\t\t\t\t\tusage\n\t\t\t\t}\n\t\t\t: msg\n\t);\n};\n\nconst NOT_FOUND = -1;\n\nconst findExistingImageById = (\n\timages: AIImageData[],\n\timageId: string | undefined\n) => {\n\tif (!imageId) return NOT_FOUND;\n\n\treturn images.findIndex((img) => img.imageId === imageId);\n};\n\nconst findReplaceablePartialIndex = (images: AIImageData[]) => {\n\tconst lastIdx = images.length - 1;\n\n\tif (lastIdx >= 0 && images[lastIdx]?.isPartial) {\n\t\treturn lastIdx;\n\t}\n\n\treturn NOT_FOUND;\n};\n\nconst upsertImage = (message: AIMessage, imageData: AIImageData) => {\n\tif (!message.images) {\n\t\tmessage.images = [imageData];\n\n\t\treturn;\n\t}\n\n\tconst existingIdx = findExistingImageById(\n\t\tmessage.images,\n\t\timageData.imageId\n\t);\n\n\tif (existingIdx >= 0) {\n\t\tmessage.images[existingIdx] = imageData;\n\n\t\treturn;\n\t}\n\n\tconst replaceableIdx = findReplaceablePartialIndex(message.images);\n\n\tif (replaceableIdx >= 0) {\n\t\tmessage.images[replaceableIdx] = imageData;\n\n\t\treturn;\n\t}\n\n\tmessage.images = [...message.images, imageData];\n};\n\nconst handleImage = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'image' }\n) => {\n\tconst conversation = getOrCreate(state, action.conversationId);\n\tconst message = getOrCreateAssistantMessage(\n\t\tconversation,\n\t\taction.messageId,\n\t\taction.conversationId\n\t);\n\n\tupsertImage(message, {\n\t\tdata: action.data,\n\t\tformat: action.format,\n\t\timageId: action.imageId,\n\t\tisPartial: action.isPartial,\n\t\trevisedPrompt: action.revisedPrompt\n\t});\n\n\tconversation.messages = [...conversation.messages];\n};\n\nconst handleComplete = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'complete' }\n) => {\n\tconst conversation = state.conversations.get(action.conversationId);\n\n\tif (conversation) {\n\t\tmarkMessageComplete(\n\t\t\tconversation,\n\t\t\taction.messageId,\n\t\t\taction.usage,\n\t\t\taction.durationMs,\n\t\t\taction.model,\n\t\t\taction.sources\n\t\t);\n\t}\n\n\tstate.isStreaming = false;\n};\n\nconst markConversationStreamsComplete = (conversation: AIConversation) => {\n\tconst streamingMessages = conversation.messages.filter(\n\t\t(msg) => msg.isStreaming\n\t);\n\n\tif (streamingMessages.length === 0) {\n\t\treturn;\n\t}\n\n\tfor (const msg of streamingMessages) {\n\t\tmsg.isStreaming = false;\n\t}\n\n\tconversation.messages = [...conversation.messages];\n};\n\nconst markAllStreamsComplete = (state: AIStreamState) => {\n\tfor (const [, conversation] of state.conversations) {\n\t\tmarkConversationStreamsComplete(conversation);\n\t}\n};\n\nconst handleBranch = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'branch' }\n) => {\n\tconst source = state.conversations.get(action.oldConversationId);\n\n\tif (!source) {\n\t\treturn;\n\t}\n\n\tconst cutoffIndex = source.messages.findIndex(\n\t\t(msg) => msg.id === action.fromMessageId\n\t);\n\n\tif (cutoffIndex < 0) {\n\t\treturn;\n\t}\n\n\tconst branchedMessages = source.messages\n\t\t.slice(0, cutoffIndex + 1)\n\t\t.map((msg) => ({ ...msg, conversationId: action.newConversationId }));\n\n\tconst newConversation: AIConversation = {\n\t\tcreatedAt: Date.now(),\n\t\tid: action.newConversationId,\n\t\tmessages: branchedMessages\n\t};\n\n\tstate.conversations.set(action.newConversationId, newConversation);\n\tstate.activeConversationId = action.newConversationId;\n};\n\nconst applyAction = (state: AIStreamState, action: AIStoreAction) => {\n\tswitch (action.type) {\n\t\tcase 'send':\n\t\t\thandleSend(state, action);\n\t\t\tbreak;\n\t\tcase 'chunk':\n\t\t\thandleChunk(state, action);\n\t\t\tbreak;\n\t\tcase 'thinking':\n\t\t\thandleThinking(state, action);\n\t\t\tbreak;\n\t\tcase 'tool_status':\n\t\t\thandleToolStatus(state, action);\n\t\t\tbreak;\n\t\tcase 'image':\n\t\t\thandleImage(state, action);\n\t\t\tbreak;\n\t\tcase 'complete':\n\t\t\thandleComplete(state, action);\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\tstate.error = action.message;\n\t\t\tstate.isStreaming = false;\n\t\t\tbreak;\n\t\tcase 'rag_retrieved':\n\t\t\thandleRAGRetrieved(state, action);\n\t\t\tbreak;\n\t\tcase 'cancel':\n\t\t\tstate.isStreaming = false;\n\t\t\tmarkAllStreamsComplete(state);\n\t\t\tbreak;\n\t\tcase 'branch':\n\t\t\thandleBranch(state, action);\n\t\t\tbreak;\n\t\tcase 'set_conversation':\n\t\t\tstate.activeConversationId = action.conversationId;\n\t\t\tbreak;\n\t}\n};\n\nexport const createAIMessageStore = () => {\n\tlet state = freshState();\n\tconst subscribers = new Set<() => void>();\n\n\treturn {\n\t\tdispatch: (action: AIStoreAction) => {\n\t\t\tapplyAction(state, action);\n\t\t\t// New reference so useSyncExternalStore detects the change\n\t\t\tstate = { ...state, conversations: new Map(state.conversations) };\n\t\t\tsubscribers.forEach((callback) => callback());\n\t\t},\n\t\tgetServerSnapshot: () => EMPTY_STATE,\n\t\tgetSnapshot: () => state,\n\t\tsubscribe: (callback: () => void) => {\n\t\t\tsubscribers.add(callback);\n\n\t\t\treturn () => {\n\t\t\t\tsubscribers.delete(callback);\n\t\t\t};\n\t\t}\n\t};\n};\n",
|
|
10
10
|
"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",
|
|
11
|
-
"import { Injectable } from '@angular/core';\nimport type {\n\tRAGDocumentChunk,\n\tRAGIngestResponse,\n\tRAGSearchRequest,\n\tRAGSource,\n\tRAGStatusResponse\n} from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\n@Injectable({ providedIn: 'root' })\nexport class RAGClientService {\n\tprivate clients = new Map<string, ReturnType<typeof createRAGClient>>();\n\n\tprivate client(path: string) {\n\t\tconst existing = this.clients.get(path);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\tconst created = createRAGClient({ path });\n\t\tthis.clients.set(path, created);\n\t\treturn created;\n\t}\n\n\tingest(path: string, chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse> {\n\t\treturn this.client(path).ingest(chunks);\n\t}\n\n\tsearch(path: string, input: RAGSearchRequest): Promise<RAGSource[]> {\n\t\treturn this.client(path).search(input);\n\t}\n\n\tstatus(path: string): Promise<RAGStatusResponse> {\n\t\treturn this.client(path).status();\n\t}\n\n\tclearIndex(path: string): Promise<{ ok: boolean }> {\n\t\treturn this.client(path).clearIndex();\n\t}\n}\n",
|
|
11
|
+
"import { Injectable } from '@angular/core';\nimport type {\n\tRAGBackendsResponse,\n\tRAGDocumentChunksResponse,\n\tRAGDocumentChunk,\n\tRAGDocumentIngestInput,\n\tRAGDocumentsResponse,\n\tRAGIngestResponse,\n\tRAGMutationResponse,\n\tRAGSearchRequest,\n\tRAGSource,\n\tRAGStatusResponse\n} from '../../../types/ai';\nimport { createRAGClient } from '../../ai/client/ragClient';\n\n@Injectable({ providedIn: 'root' })\nexport class RAGClientService {\n\tprivate clients = new Map<string, ReturnType<typeof createRAGClient>>();\n\n\tprivate client(path: string) {\n\t\tconst existing = this.clients.get(path);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\tconst created = createRAGClient({ path });\n\t\tthis.clients.set(path, created);\n\t\treturn created;\n\t}\n\n\tingest(path: string, chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse> {\n\t\treturn this.client(path).ingest(chunks);\n\t}\n\n\tingestDocuments(\n\t\tpath: string,\n\t\tinput: RAGDocumentIngestInput\n\t): Promise<RAGIngestResponse> {\n\t\treturn this.client(path).ingestDocuments(input);\n\t}\n\n\tsearch(path: string, input: RAGSearchRequest): Promise<RAGSource[]> {\n\t\treturn this.client(path).search(input);\n\t}\n\n\tstatus(path: string): Promise<RAGStatusResponse> {\n\t\treturn this.client(path).status();\n\t}\n\n\tdocuments(path: string, kind?: string): Promise<RAGDocumentsResponse> {\n\t\treturn this.client(path).documents(kind);\n\t}\n\n\tdocumentChunks(path: string, id: string): Promise<RAGDocumentChunksResponse> {\n\t\treturn this.client(path).documentChunks(id);\n\t}\n\n\tcreateDocument(\n\t\tpath: string,\n\t\tinput: RAGDocumentIngestInput['documents'][number]\n\t): Promise<RAGMutationResponse> {\n\t\treturn this.client(path).createDocument(input);\n\t}\n\n\tdeleteDocument(path: string, id: string): Promise<RAGMutationResponse> {\n\t\treturn this.client(path).deleteDocument(id);\n\t}\n\n\treseed(path: string): Promise<RAGMutationResponse> {\n\t\treturn this.client(path).reseed();\n\t}\n\n\treset(path: string): Promise<RAGMutationResponse> {\n\t\treturn this.client(path).reset();\n\t}\n\n\tbackends(path: string): Promise<RAGBackendsResponse> {\n\t\treturn this.client(path).backends();\n\t}\n\n\tclearIndex(path: string): Promise<{ ok: boolean }> {\n\t\treturn this.client(path).clearIndex();\n\t}\n}\n",
|
|
12
12
|
"import type {\n\tRAGBackendsResponse,\n\tRAGDocumentChunksResponse,\n\tRAGDocumentIngestInput,\n\tRAGDocumentChunk,\n\tRAGDocumentsResponse,\n\tRAGIngestResponse,\n\tRAGMutationResponse,\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 documents(kind?: string): Promise<RAGDocumentsResponse> {\n\t\t\tconst query = kind ? `?kind=${encodeURIComponent(kind)}` : '';\n\t\t\tconst response = await fetchImpl(`${basePath}/documents${query}`);\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<RAGDocumentsResponse>(response);\n\t\t},\n\n\t\tasync createDocument(\n\t\t\tinput: RAGDocumentIngestInput['documents'][number]\n\t\t): Promise<RAGMutationResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/documents`, {\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<RAGMutationResponse>(response);\n\t\t},\n\n\t\tasync documentChunks(id: string): Promise<RAGDocumentChunksResponse> {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/documents/${encodeURIComponent(id)}/chunks`\n\t\t\t);\n\n\t\t\tif (!response.ok) {\n\t\t\t\tconst error = await toErrorMessage(response);\n\t\t\t\treturn { ok: false, error };\n\t\t\t}\n\n\t\t\treturn parseJson<RAGDocumentChunksResponse>(response);\n\t\t},\n\n\t\tasync deleteDocument(id: string): Promise<RAGMutationResponse> {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/documents/${encodeURIComponent(id)}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'DELETE'\n\t\t\t\t}\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<RAGMutationResponse>(response);\n\t\t},\n\n\t\tasync reseed(): Promise<RAGMutationResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/reseed`, {\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<RAGMutationResponse>(response);\n\t\t},\n\n\t\tasync reset(): Promise<RAGMutationResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/reset`, {\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<RAGMutationResponse>(response);\n\t\t},\n\n\t\tasync backends(): Promise<RAGBackendsResponse> {\n\t\t\tconst response = await fetchImpl(`${basePath}/backends`);\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<RAGBackendsResponse>(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",
|
|
13
13
|
"import { AIStreamService } from './ai-stream.service';\n\nexport class RAGStreamService extends AIStreamService {}\n"
|
|
14
14
|
],
|
|
15
|
-
"mappings": "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",
|
|
16
|
-
"debugId": "
|
|
15
|
+
"mappings": "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",
|
|
16
|
+
"debugId": "574A9BFD98A3185A64756E2164756E21",
|
|
17
17
|
"names": []
|
|
18
18
|
}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import type { RAGDocumentChunk, RAGIngestResponse, RAGSearchRequest, RAGSource, RAGStatusResponse } from '../../../types/ai';
|
|
1
|
+
import type { RAGBackendsResponse, RAGDocumentChunksResponse, RAGDocumentChunk, RAGDocumentIngestInput, RAGDocumentsResponse, RAGIngestResponse, RAGMutationResponse, RAGSearchRequest, RAGSource, RAGStatusResponse } from '../../../types/ai';
|
|
2
2
|
export declare class RAGClientService {
|
|
3
3
|
private clients;
|
|
4
4
|
private client;
|
|
5
5
|
ingest(path: string, chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse>;
|
|
6
|
+
ingestDocuments(path: string, input: RAGDocumentIngestInput): Promise<RAGIngestResponse>;
|
|
6
7
|
search(path: string, input: RAGSearchRequest): Promise<RAGSource[]>;
|
|
7
8
|
status(path: string): Promise<RAGStatusResponse>;
|
|
9
|
+
documents(path: string, kind?: string): Promise<RAGDocumentsResponse>;
|
|
10
|
+
documentChunks(path: string, id: string): Promise<RAGDocumentChunksResponse>;
|
|
11
|
+
createDocument(path: string, input: RAGDocumentIngestInput['documents'][number]): Promise<RAGMutationResponse>;
|
|
12
|
+
deleteDocument(path: string, id: string): Promise<RAGMutationResponse>;
|
|
13
|
+
reseed(path: string): Promise<RAGMutationResponse>;
|
|
14
|
+
reset(path: string): Promise<RAGMutationResponse>;
|
|
15
|
+
backends(path: string): Promise<RAGBackendsResponse>;
|
|
8
16
|
clearIndex(path: string): Promise<{
|
|
9
17
|
ok: boolean;
|
|
10
18
|
}>;
|
|
@@ -4,6 +4,7 @@ export declare const createAIStream: (path: string, conversationId?: string) =>
|
|
|
4
4
|
cancel: () => void;
|
|
5
5
|
destroy: () => void;
|
|
6
6
|
send: (content: string, attachments?: AIAttachment[]) => void;
|
|
7
|
+
subscribe(callback: () => void): () => void;
|
|
7
8
|
readonly error: string | null;
|
|
8
9
|
readonly isStreaming: boolean;
|
|
9
10
|
readonly messages: AIMessage[];
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export type CreateRAGOptions = {
|
|
2
|
+
autoLoadStatus?: boolean;
|
|
3
|
+
conversationId?: string;
|
|
4
|
+
streamPath?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const createRAG: (path: string, options?: CreateRAGOptions) => {
|
|
7
|
+
citations: {
|
|
8
|
+
citations: import("svelte/store").Readable<import("../..").RAGCitation[]>;
|
|
9
|
+
hasCitations: import("svelte/store").Readable<boolean>;
|
|
10
|
+
sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
|
|
11
|
+
};
|
|
12
|
+
chunkPreview: {
|
|
13
|
+
clear: () => void;
|
|
14
|
+
error: import("svelte/store").Writable<string | null>;
|
|
15
|
+
inspect: (id: string) => Promise<{
|
|
16
|
+
ok: true;
|
|
17
|
+
} & import("../..").RAGDocumentChunkPreview>;
|
|
18
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
19
|
+
preview: import("svelte/store").Writable<import("../..").RAGDocumentChunkPreview | null>;
|
|
20
|
+
};
|
|
21
|
+
documents: {
|
|
22
|
+
documents: import("svelte/store").Writable<import("../..").RAGIndexedDocument[]>;
|
|
23
|
+
error: import("svelte/store").Writable<string | null>;
|
|
24
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
25
|
+
lastResponse: import("svelte/store").Writable<import("../..").RAGDocumentsResponse | null>;
|
|
26
|
+
load: (kind?: string) => Promise<import("../..").RAGDocumentsResponse>;
|
|
27
|
+
reset: () => void;
|
|
28
|
+
};
|
|
29
|
+
ingest: {
|
|
30
|
+
clearIndex: () => Promise<{
|
|
31
|
+
ok: boolean;
|
|
32
|
+
}>;
|
|
33
|
+
error: import("svelte/store").Writable<string | null>;
|
|
34
|
+
ingest: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
|
|
35
|
+
ingestChunks: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
|
|
36
|
+
ingestDocuments: (input: import("../..").RAGDocumentIngestInput) => Promise<import("../..").RAGIngestResponse>;
|
|
37
|
+
isIngesting: import("svelte/store").Writable<boolean>;
|
|
38
|
+
lastDocumentCount: import("svelte/store").Writable<number | null>;
|
|
39
|
+
lastIngestCount: import("svelte/store").Writable<number | null>;
|
|
40
|
+
lastResponse: import("svelte/store").Writable<import("../..").RAGIngestResponse | null>;
|
|
41
|
+
reset: () => void;
|
|
42
|
+
};
|
|
43
|
+
index: {
|
|
44
|
+
backends: import("svelte/store").Writable<import("../..").RAGBackendsResponse | null>;
|
|
45
|
+
clearIndex: () => Promise<{
|
|
46
|
+
ok: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
createDocument: (input: {
|
|
49
|
+
id?: string;
|
|
50
|
+
title?: string;
|
|
51
|
+
source?: string;
|
|
52
|
+
text: string;
|
|
53
|
+
format?: import("../..").RAGContentFormat;
|
|
54
|
+
metadata?: Record<string, unknown>;
|
|
55
|
+
chunking?: {
|
|
56
|
+
maxChunkLength?: number;
|
|
57
|
+
chunkOverlap?: number;
|
|
58
|
+
minChunkLength?: number;
|
|
59
|
+
strategy?: import("../..").RAGChunkingStrategy;
|
|
60
|
+
};
|
|
61
|
+
}) => Promise<import("../..").RAGMutationResponse>;
|
|
62
|
+
deleteDocument: (id: string) => Promise<import("../..").RAGMutationResponse>;
|
|
63
|
+
error: import("svelte/store").Writable<string | null>;
|
|
64
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
65
|
+
lastMutation: import("svelte/store").Writable<import("../..").RAGMutationResponse | null>;
|
|
66
|
+
loadBackends: () => Promise<import("../..").RAGBackendsResponse>;
|
|
67
|
+
reseed: () => Promise<import("../..").RAGMutationResponse>;
|
|
68
|
+
reset: () => Promise<import("../..").RAGMutationResponse>;
|
|
69
|
+
resetState: () => void;
|
|
70
|
+
};
|
|
71
|
+
search: {
|
|
72
|
+
error: import("svelte/store").Writable<string | null>;
|
|
73
|
+
hasSearched: import("svelte/store").Writable<boolean>;
|
|
74
|
+
isSearching: import("svelte/store").Writable<boolean>;
|
|
75
|
+
lastRequest: import("svelte/store").Writable<import("../..").RAGSearchRequest | null>;
|
|
76
|
+
reset: () => void;
|
|
77
|
+
results: import("svelte/store").Writable<import("../..").RAGSource[]>;
|
|
78
|
+
search: (input: import("../..").RAGSearchRequest) => Promise<import("../..").RAGSource[]>;
|
|
79
|
+
};
|
|
80
|
+
sources: {
|
|
81
|
+
hasSources: import("svelte/store").Readable<boolean>;
|
|
82
|
+
latestAssistantMessage: import("svelte/store").Readable<import("../..").AIMessage | undefined>;
|
|
83
|
+
sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
|
|
84
|
+
sources: import("svelte/store").Readable<import("../..").RAGSource[]>;
|
|
85
|
+
};
|
|
86
|
+
status: {
|
|
87
|
+
capabilities: import("svelte/store").Writable<import("../..").RAGBackendCapabilities | undefined>;
|
|
88
|
+
error: import("svelte/store").Writable<string | null>;
|
|
89
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
90
|
+
refresh: () => Promise<import("../..").RAGStatusResponse>;
|
|
91
|
+
reset: () => void;
|
|
92
|
+
status: import("svelte/store").Writable<import("../..").RAGVectorStoreStatus | undefined>;
|
|
93
|
+
};
|
|
94
|
+
stream: {
|
|
95
|
+
citations: import("svelte/store").Readable<import("../..").RAGCitation[]>;
|
|
96
|
+
error: import("svelte/store").Readable<string | null>;
|
|
97
|
+
hasRetrieved: import("svelte/store").Readable<boolean>;
|
|
98
|
+
hasSources: import("svelte/store").Readable<boolean>;
|
|
99
|
+
isAnswerStreaming: import("svelte/store").Readable<boolean>;
|
|
100
|
+
isComplete: import("svelte/store").Readable<boolean>;
|
|
101
|
+
isRetrieving: import("svelte/store").Readable<boolean>;
|
|
102
|
+
isStreaming: import("svelte/store").Readable<boolean>;
|
|
103
|
+
latestAssistantMessage: import("svelte/store").Readable<import("../..").AIMessage | undefined>;
|
|
104
|
+
messages: import("svelte/store").Readable<import("../..").AIMessage[]>;
|
|
105
|
+
query: (content: string, attachments?: import("../..").AIAttachment[]) => void;
|
|
106
|
+
retrieval: import("svelte/store").Readable<import("../..").RAGRetrievedState | null>;
|
|
107
|
+
sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
|
|
108
|
+
sources: import("svelte/store").Readable<import("../..").RAGSource[]>;
|
|
109
|
+
stage: import("svelte/store").Readable<import("../..").RAGStreamStage>;
|
|
110
|
+
branch: (messageId: string, content: string) => void;
|
|
111
|
+
cancel: () => void;
|
|
112
|
+
destroy: () => void;
|
|
113
|
+
send: (content: string, attachments?: import("../..").AIAttachment[]) => void;
|
|
114
|
+
subscribe(callback: () => void): () => void;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
export type CreateRAGResult = ReturnType<typeof createRAG>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RAGDocumentChunkPreview } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGChunkPreview: (path: string) => {
|
|
3
|
+
clear: () => void;
|
|
4
|
+
error: import("svelte/store").Writable<string | null>;
|
|
5
|
+
inspect: (id: string) => Promise<{
|
|
6
|
+
ok: true;
|
|
7
|
+
} & RAGDocumentChunkPreview>;
|
|
8
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
9
|
+
preview: import("svelte/store").Writable<RAGDocumentChunkPreview | null>;
|
|
10
|
+
};
|
|
11
|
+
export type CreateRAGChunkPreviewResult = ReturnType<typeof createRAGChunkPreview>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Readable } from 'svelte/store';
|
|
2
|
+
import type { RAGSource } from '../../../types/ai';
|
|
3
|
+
export declare const createRAGCitations: (sources: Readable<RAGSource[]>) => {
|
|
4
|
+
citations: Readable<import("../..").RAGCitation[]>;
|
|
5
|
+
hasCitations: Readable<boolean>;
|
|
6
|
+
sourceGroups: Readable<import("../..").RAGSourceGroup[]>;
|
|
7
|
+
};
|
|
8
|
+
export type CreateRAGCitationsResult = ReturnType<typeof createRAGCitations>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { RAGDocumentsResponse, RAGIndexedDocument } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGDocuments: (path: string) => {
|
|
3
|
+
documents: import("svelte/store").Writable<RAGIndexedDocument[]>;
|
|
4
|
+
error: import("svelte/store").Writable<string | null>;
|
|
5
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
6
|
+
lastResponse: import("svelte/store").Writable<RAGDocumentsResponse | null>;
|
|
7
|
+
load: (kind?: string) => Promise<RAGDocumentsResponse>;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
};
|
|
10
|
+
export type CreateRAGDocumentsResult = ReturnType<typeof createRAGDocuments>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { RAGBackendsResponse, RAGChunkingStrategy, RAGContentFormat, RAGMutationResponse } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGIndexAdmin: (path: string) => {
|
|
3
|
+
backends: import("svelte/store").Writable<RAGBackendsResponse | null>;
|
|
4
|
+
clearIndex: () => Promise<{
|
|
5
|
+
ok: boolean;
|
|
6
|
+
}>;
|
|
7
|
+
createDocument: (input: {
|
|
8
|
+
id?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
source?: string;
|
|
11
|
+
text: string;
|
|
12
|
+
format?: RAGContentFormat;
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
14
|
+
chunking?: {
|
|
15
|
+
maxChunkLength?: number;
|
|
16
|
+
chunkOverlap?: number;
|
|
17
|
+
minChunkLength?: number;
|
|
18
|
+
strategy?: RAGChunkingStrategy;
|
|
19
|
+
};
|
|
20
|
+
}) => Promise<RAGMutationResponse>;
|
|
21
|
+
deleteDocument: (id: string) => Promise<RAGMutationResponse>;
|
|
22
|
+
error: import("svelte/store").Writable<string | null>;
|
|
23
|
+
isLoading: import("svelte/store").Writable<boolean>;
|
|
24
|
+
lastMutation: import("svelte/store").Writable<RAGMutationResponse | null>;
|
|
25
|
+
loadBackends: () => Promise<RAGBackendsResponse>;
|
|
26
|
+
reseed: () => Promise<RAGMutationResponse>;
|
|
27
|
+
reset: () => Promise<RAGMutationResponse>;
|
|
28
|
+
resetState: () => void;
|
|
29
|
+
};
|
|
30
|
+
export type CreateRAGIndexAdminResult = ReturnType<typeof createRAGIndexAdmin>;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import type { RAGDocumentChunk } from '../../../types/ai';
|
|
1
|
+
import type { RAGDocumentChunk, RAGDocumentIngestInput, RAGIngestResponse } from '../../../types/ai';
|
|
2
2
|
export declare const createRAGIngest: (path: string) => {
|
|
3
|
+
clearIndex: () => Promise<{
|
|
4
|
+
ok: boolean;
|
|
5
|
+
}>;
|
|
3
6
|
error: import("svelte/store").Writable<string | null>;
|
|
4
|
-
ingest: (chunks: RAGDocumentChunk[]) => Promise<
|
|
7
|
+
ingest: (chunks: RAGDocumentChunk[]) => Promise<RAGIngestResponse>;
|
|
8
|
+
ingestChunks: (chunks: RAGDocumentChunk[]) => Promise<RAGIngestResponse>;
|
|
9
|
+
ingestDocuments: (input: RAGDocumentIngestInput) => Promise<RAGIngestResponse>;
|
|
5
10
|
isIngesting: import("svelte/store").Writable<boolean>;
|
|
11
|
+
lastDocumentCount: import("svelte/store").Writable<number | null>;
|
|
6
12
|
lastIngestCount: import("svelte/store").Writable<number | null>;
|
|
13
|
+
lastResponse: import("svelte/store").Writable<RAGIngestResponse | null>;
|
|
14
|
+
reset: () => void;
|
|
7
15
|
};
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { RAGSearchRequest, RAGSource } from '../../../types/ai';
|
|
2
2
|
export declare const createRAGSearch: (path: string) => {
|
|
3
3
|
error: import("svelte/store").Writable<string | null>;
|
|
4
|
+
hasSearched: import("svelte/store").Writable<boolean>;
|
|
4
5
|
isSearching: import("svelte/store").Writable<boolean>;
|
|
6
|
+
lastRequest: import("svelte/store").Writable<RAGSearchRequest | null>;
|
|
7
|
+
reset: () => void;
|
|
5
8
|
results: import("svelte/store").Writable<RAGSource[]>;
|
|
6
9
|
search: (input: RAGSearchRequest) => Promise<RAGSource[]>;
|
|
7
10
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Readable } from 'svelte/store';
|
|
2
|
+
import type { AIMessage } from '../../../types/ai';
|
|
3
|
+
export declare const createRAGSources: (messages: Readable<AIMessage[]>) => {
|
|
4
|
+
hasSources: Readable<boolean>;
|
|
5
|
+
latestAssistantMessage: Readable<AIMessage | undefined>;
|
|
6
|
+
sourceGroups: Readable<import("../..").RAGSourceGroup[]>;
|
|
7
|
+
sources: Readable<import("../..").RAGSource[]>;
|
|
8
|
+
};
|
|
9
|
+
export type CreateRAGSourcesResult = ReturnType<typeof createRAGSources>;
|
|
@@ -4,5 +4,6 @@ export declare const createRAGStatus: (path: string, autoLoad?: boolean) => {
|
|
|
4
4
|
error: import("svelte/store").Writable<string | null>;
|
|
5
5
|
isLoading: import("svelte/store").Writable<boolean>;
|
|
6
6
|
refresh: () => Promise<import("../..").RAGStatusResponse>;
|
|
7
|
+
reset: () => void;
|
|
7
8
|
status: import("svelte/store").Writable<RAGVectorStoreStatus | undefined>;
|
|
8
9
|
};
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import type { AIAttachment } from '../../../types/ai';
|
|
2
|
+
export declare const createRAGStream: (path: string, conversationId?: string) => {
|
|
3
|
+
citations: import("svelte/store").Readable<import("../..").RAGCitation[]>;
|
|
4
|
+
error: import("svelte/store").Readable<string | null>;
|
|
5
|
+
hasRetrieved: import("svelte/store").Readable<boolean>;
|
|
6
|
+
hasSources: import("svelte/store").Readable<boolean>;
|
|
7
|
+
isAnswerStreaming: import("svelte/store").Readable<boolean>;
|
|
8
|
+
isComplete: import("svelte/store").Readable<boolean>;
|
|
9
|
+
isRetrieving: import("svelte/store").Readable<boolean>;
|
|
10
|
+
isStreaming: import("svelte/store").Readable<boolean>;
|
|
11
|
+
latestAssistantMessage: import("svelte/store").Readable<import("../..").AIMessage | undefined>;
|
|
12
|
+
messages: import("svelte/store").Readable<import("../..").AIMessage[]>;
|
|
13
|
+
query: (content: string, attachments?: AIAttachment[]) => void;
|
|
14
|
+
retrieval: import("svelte/store").Readable<import("../..").RAGRetrievedState | null>;
|
|
15
|
+
sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
|
|
16
|
+
sources: import("svelte/store").Readable<import("../..").RAGSource[]>;
|
|
17
|
+
stage: import("svelte/store").Readable<import("../..").RAGStreamStage>;
|
|
18
|
+
branch: (messageId: string, content: string) => void;
|
|
19
|
+
cancel: () => void;
|
|
20
|
+
destroy: () => void;
|
|
21
|
+
send: (content: string, attachments?: AIAttachment[]) => void;
|
|
22
|
+
subscribe(callback: () => void): () => void;
|
|
23
|
+
};
|
|
24
|
+
export type CreateRAGStreamResult = ReturnType<typeof createRAGStream>;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export { createAIStream } from './createAIStream';
|
|
2
|
+
export { createRAG } from './createRAG';
|
|
3
|
+
export { createRAGChunkPreview } from './createRAGChunkPreview';
|
|
4
|
+
export { createRAGCitations } from './createRAGCitations';
|
|
5
|
+
export { createRAGDocuments } from './createRAGDocuments';
|
|
2
6
|
export { createRAGIngest } from './createRAGIngest';
|
|
7
|
+
export { createRAGIndexAdmin } from './createRAGIndexAdmin';
|
|
3
8
|
export { createRAGSearch } from './createRAGSearch';
|
|
9
|
+
export { createRAGSources } from './createRAGSources';
|
|
4
10
|
export { createRAGStatus } from './createRAGStatus';
|
|
5
11
|
export { createRAGStream } from './createRAGStream';
|