@absolutejs/absolute 0.19.0-beta.498 → 0.19.0-beta.499
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/index.js +7 -3
- package/dist/ai/client/index.js.map +3 -3
- package/dist/ai/index.js +330 -61
- package/dist/ai/index.js.map +6 -6
- package/dist/ai-client/angular/ai/index.js +10 -6
- package/dist/ai-client/react/ai/index.js +6 -2
- package/dist/ai-client/vue/ai/index.js +6 -2
- package/dist/angular/ai/index.js +11 -7
- package/dist/angular/ai/index.js.map +4 -4
- package/dist/react/ai/index.js +7 -3
- package/dist/react/ai/index.js.map +3 -3
- package/dist/src/ai/client/ragClient.d.ts +3 -3
- package/dist/src/ai/index.d.ts +2 -2
- package/dist/src/ai/rag/index.d.ts +2 -2
- package/dist/src/ai/rag/sync.d.ts +6 -1
- package/dist/src/ai/rag/types.d.ts +1 -1
- package/dist/src/angular/ai/rag-client.service.d.ts +3 -3
- package/dist/src/react/ai/useRAG.d.ts +8 -0
- package/dist/src/react/ai/useRAGIndexAdmin.d.ts +8 -0
- package/dist/src/svelte/ai/createRAG.d.ts +8 -0
- package/dist/src/svelte/ai/createRAGIndexAdmin.d.ts +8 -0
- package/dist/src/vue/ai/useRAG.d.ts +46 -0
- package/dist/src/vue/ai/useRAGIndexAdmin.d.ts +36 -0
- package/dist/src/vue/ai/useRAGOps.d.ts +10 -0
- package/dist/svelte/ai/index.js +7 -3
- package/dist/svelte/ai/index.js.map +3 -3
- package/dist/types/ai.d.ts +44 -2
- package/dist/vue/ai/index.js +7 -3
- package/dist/vue/ai/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -887,8 +887,10 @@ var createRAGClient = (options) => {
|
|
|
887
887
|
}
|
|
888
888
|
return parseJson(response);
|
|
889
889
|
},
|
|
890
|
-
async syncAllSources() {
|
|
890
|
+
async syncAllSources(options2) {
|
|
891
891
|
const response = await fetchImpl(`${basePath}/sync`, {
|
|
892
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
893
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
892
894
|
method: "POST"
|
|
893
895
|
});
|
|
894
896
|
if (!response.ok) {
|
|
@@ -899,8 +901,10 @@ var createRAGClient = (options) => {
|
|
|
899
901
|
}
|
|
900
902
|
return parseJson(response);
|
|
901
903
|
},
|
|
902
|
-
async syncSource(id) {
|
|
904
|
+
async syncSource(id, options2) {
|
|
903
905
|
const response = await fetchImpl(`${basePath}/sync/${encodeURIComponent(id)}`, {
|
|
906
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
907
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
904
908
|
method: "POST"
|
|
905
909
|
});
|
|
906
910
|
if (!response.ok) {
|
|
@@ -1025,11 +1029,11 @@ class RAGClientService {
|
|
|
1025
1029
|
syncSources(path) {
|
|
1026
1030
|
return this.client(path).syncSources();
|
|
1027
1031
|
}
|
|
1028
|
-
syncAllSources(path) {
|
|
1029
|
-
return this.client(path).syncAllSources();
|
|
1032
|
+
syncAllSources(path, options) {
|
|
1033
|
+
return this.client(path).syncAllSources(options);
|
|
1030
1034
|
}
|
|
1031
|
-
syncSource(path, id) {
|
|
1032
|
-
return this.client(path).syncSource(id);
|
|
1035
|
+
syncSource(path, id, options) {
|
|
1036
|
+
return this.client(path).syncSource(id, options);
|
|
1033
1037
|
}
|
|
1034
1038
|
documents(path, kind) {
|
|
1035
1039
|
return this.client(path).documents(kind);
|
|
@@ -1202,8 +1202,10 @@ var createRAGClient = (options) => {
|
|
|
1202
1202
|
}
|
|
1203
1203
|
return parseJson(response);
|
|
1204
1204
|
},
|
|
1205
|
-
async syncAllSources() {
|
|
1205
|
+
async syncAllSources(options2) {
|
|
1206
1206
|
const response = await fetchImpl(`${basePath}/sync`, {
|
|
1207
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1208
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1207
1209
|
method: "POST"
|
|
1208
1210
|
});
|
|
1209
1211
|
if (!response.ok) {
|
|
@@ -1214,8 +1216,10 @@ var createRAGClient = (options) => {
|
|
|
1214
1216
|
}
|
|
1215
1217
|
return parseJson(response);
|
|
1216
1218
|
},
|
|
1217
|
-
async syncSource(id) {
|
|
1219
|
+
async syncSource(id, options2) {
|
|
1218
1220
|
const response = await fetchImpl(`${basePath}/sync/${encodeURIComponent(id)}`, {
|
|
1221
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1222
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1219
1223
|
method: "POST"
|
|
1220
1224
|
});
|
|
1221
1225
|
if (!response.ok) {
|
|
@@ -812,8 +812,10 @@ var createRAGClient = (options) => {
|
|
|
812
812
|
}
|
|
813
813
|
return parseJson(response);
|
|
814
814
|
},
|
|
815
|
-
async syncAllSources() {
|
|
815
|
+
async syncAllSources(options2) {
|
|
816
816
|
const response = await fetchImpl(`${basePath}/sync`, {
|
|
817
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
818
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
817
819
|
method: "POST"
|
|
818
820
|
});
|
|
819
821
|
if (!response.ok) {
|
|
@@ -824,8 +826,10 @@ var createRAGClient = (options) => {
|
|
|
824
826
|
}
|
|
825
827
|
return parseJson(response);
|
|
826
828
|
},
|
|
827
|
-
async syncSource(id) {
|
|
829
|
+
async syncSource(id, options2) {
|
|
828
830
|
const response = await fetchImpl(`${basePath}/sync/${encodeURIComponent(id)}`, {
|
|
831
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
832
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
829
833
|
method: "POST"
|
|
830
834
|
});
|
|
831
835
|
if (!response.ok) {
|
package/dist/angular/ai/index.js
CHANGED
|
@@ -1023,8 +1023,10 @@ var createRAGClient = (options) => {
|
|
|
1023
1023
|
}
|
|
1024
1024
|
return parseJson(response);
|
|
1025
1025
|
},
|
|
1026
|
-
async syncAllSources() {
|
|
1026
|
+
async syncAllSources(options2) {
|
|
1027
1027
|
const response = await fetchImpl(`${basePath}/sync`, {
|
|
1028
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1029
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1028
1030
|
method: "POST"
|
|
1029
1031
|
});
|
|
1030
1032
|
if (!response.ok) {
|
|
@@ -1035,8 +1037,10 @@ var createRAGClient = (options) => {
|
|
|
1035
1037
|
}
|
|
1036
1038
|
return parseJson(response);
|
|
1037
1039
|
},
|
|
1038
|
-
async syncSource(id) {
|
|
1040
|
+
async syncSource(id, options2) {
|
|
1039
1041
|
const response = await fetchImpl(`${basePath}/sync/${encodeURIComponent(id)}`, {
|
|
1042
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1043
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1040
1044
|
method: "POST"
|
|
1041
1045
|
});
|
|
1042
1046
|
if (!response.ok) {
|
|
@@ -1161,11 +1165,11 @@ class RAGClientService {
|
|
|
1161
1165
|
syncSources(path) {
|
|
1162
1166
|
return this.client(path).syncSources();
|
|
1163
1167
|
}
|
|
1164
|
-
syncAllSources(path) {
|
|
1165
|
-
return this.client(path).syncAllSources();
|
|
1168
|
+
syncAllSources(path, options) {
|
|
1169
|
+
return this.client(path).syncAllSources(options);
|
|
1166
1170
|
}
|
|
1167
|
-
syncSource(path, id) {
|
|
1168
|
-
return this.client(path).syncSource(id);
|
|
1171
|
+
syncSource(path, id, options) {
|
|
1172
|
+
return this.client(path).syncSource(id, options);
|
|
1169
1173
|
}
|
|
1170
1174
|
documents(path, kind) {
|
|
1171
1175
|
return this.client(path).documents(kind);
|
|
@@ -1624,5 +1628,5 @@ export {
|
|
|
1624
1628
|
AIStreamService
|
|
1625
1629
|
};
|
|
1626
1630
|
|
|
1627
|
-
//# debugId=
|
|
1631
|
+
//# debugId=41CC5F65D8327B0E64756E2164756E21
|
|
1628
1632
|
//# sourceMappingURL=index.js.map
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
"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\tpendingMessages: string[];\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\tpendingMessages: [],\n\t\tpingInterval: null,\n\t\treconnectAttempts: 0,\n\t\treconnectTimeout: null,\n\t\tws: null\n\t};\n\n\tconst flushPendingMessages = () => {\n\t\tif (connState.ws?.readyState !== WS_OPEN) {\n\t\t\treturn;\n\t\t}\n\n\t\twhile (connState.pendingMessages.length > 0) {\n\t\t\tconst next = connState.pendingMessages.shift();\n\t\t\tif (typeof next === 'string') {\n\t\t\t\tconnState.ws.send(next);\n\t\t\t}\n\t\t}\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\t\t\tflushPendingMessages();\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\tconst serialized = JSON.stringify(msg);\n\n\t\tif (connState.ws?.readyState === WS_OPEN) {\n\t\t\tconnState.ws.send(serialized);\n\n\t\t\treturn;\n\t\t}\n\n\t\tconnState.pendingMessages.push(serialized);\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",
|
|
10
10
|
"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.retrievalStartedAt =\n\t\taction.retrievalStartedAt ?? message.retrievalStartedAt;\n\tmessage.retrievedAt = action.retrievedAt;\n\tmessage.retrievalDurationMs = action.retrievalDurationMs;\n\tconversation.messages = [...conversation.messages];\n};\n\nconst handleRAGRetrieving = (\n\tstate: AIStreamState,\n\taction: AIStoreAction & { type: 'rag_retrieving' }\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.retrievalStartedAt = action.retrievalStartedAt;\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_retrieving':\n\t\t\thandleRAGRetrieving(state, action);\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",
|
|
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 { Injectable } from '@angular/core';\nimport type {\n\tRAGEvaluationInput,\n\tRAGDocumentChunk,\n\tRAGDocumentIngestInput,\n\tRAGDocumentUploadIngestInput,\n\tRAGDocumentUrlIngestInput,\n\tRAGSearchRequest\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\n\t\treturn created;\n\t}\n\n\tingest(path: string, chunks: RAGDocumentChunk[]) {\n\t\treturn this.client(path).ingest(chunks);\n\t}\n\n\tingestDocuments(path: string, input: RAGDocumentIngestInput) {\n\t\treturn this.client(path).ingestDocuments(input);\n\t}\n\n\tingestUrls(path: string, input: RAGDocumentUrlIngestInput) {\n\t\treturn this.client(path).ingestUrls(input);\n\t}\n\n\tingestUploads(path: string, input: RAGDocumentUploadIngestInput) {\n\t\treturn this.client(path).ingestUploads(input);\n\t}\n\n\tsearch(path: string, input: RAGSearchRequest) {\n\t\treturn this.client(path).search(input);\n\t}\n\n\tevaluate(path: string, input: RAGEvaluationInput) {\n\t\treturn this.client(path).evaluate(input);\n\t}\n\n\tstatus(path: string) {\n\t\treturn this.client(path).status();\n\t}\n\n\tops(path: string) {\n\t\treturn this.client(path).ops();\n\t}\n\n\tsyncSources(path: string) {\n\t\treturn this.client(path).syncSources();\n\t}\n\n\tsyncAllSources(path: string) {\n\t\treturn this.client(path).syncAllSources();\n\t}\n\n\tsyncSource(path: string, id: string) {\n\t\treturn this.client(path).syncSource(id);\n\t}\n\n\tdocuments(path: string, kind?: string) {\n\t\treturn this.client(path).documents(kind);\n\t}\n\n\tdocumentChunks(path: string, id: string) {\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) {\n\t\treturn this.client(path).createDocument(input);\n\t}\n\n\tdeleteDocument(path: string, id: string) {\n\t\treturn this.client(path).deleteDocument(id);\n\t}\n\n\treseed(path: string) {\n\t\treturn this.client(path).reseed();\n\t}\n\n\treset(path: string) {\n\t\treturn this.client(path).reset();\n\t}\n\n\treindexDocument(path: string, id: string) {\n\t\treturn this.client(path).reindexDocument(id);\n\t}\n\n\treindexSource(path: string, source: string) {\n\t\treturn this.client(path).reindexSource(source);\n\t}\n\n\tbackends(path: string) {\n\t\treturn this.client(path).backends();\n\t}\n\n\tclearIndex(path: string) {\n\t\treturn this.client(path).clearIndex();\n\t}\n}\n",
|
|
13
|
-
"import type {\n\tRAGBackendsResponse,\n\tRAGDocumentChunksResponse,\n\tRAGEvaluationInput,\n\tRAGEvaluationResponse,\n\tRAGDocumentIngestInput,\n\tRAGDocumentChunk,\n\tRAGDocumentsResponse,\n\tRAGDocumentUrlIngestInput,\n\tRAGDocumentUploadIngestInput,\n\tRAGIngestResponse,\n\tRAGMutationResponse,\n\tRAGOperationsResponse,\n\tRAGSearchRequest,\n\tRAGSource,\n\tRAGStatusResponse,\n\tRAGSyncResponse\n} from '../../../types/ai';\nimport { UNFOUND_INDEX } from '../../constants';\n\ntype FetchLike = typeof fetch;\n\nexport type RAGClientOptions = {\n\tpath: string;\n\tfetch?: FetchLike;\n};\n\nconst jsonHeaders: { 'Content-Type': string } = {\n\t'Content-Type': 'application/json'\n};\n\nconst normalizeBasePath = (path: string) =>\n\tpath.endsWith('/') ? path.slice(0, UNFOUND_INDEX) : path;\n\nconst parseJson = async <T>(response: Response) => {\n\tconst payload: T = JSON.parse(await response.text());\n\n\treturn payload;\n};\n\nconst isErrorPayload = (value: unknown): value is { error?: string } => {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\treturn !('error' in value) || typeof value.error === 'string';\n};\n\nconst toErrorMessage = async (response: Response) => {\n\ttry {\n\t\tconst payload = JSON.parse(await response.text());\n\t\tif (\n\t\t\tisErrorPayload(payload) &&\n\t\t\ttypeof payload.error === 'string' &&\n\t\t\tpayload.error\n\t\t) {\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 backends() {\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\t\tasync clearIndex() {\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\tasync createDocument(\n\t\t\tinput: RAGDocumentIngestInput['documents'][number]\n\t\t) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync deleteDocument(id: string) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync documentChunks(id: string) {\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\n\t\t\t\tconst errorResponse: RAGDocumentChunksResponse = {\n\t\t\t\t\terror,\n\t\t\t\t\tok: false\n\t\t\t\t};\n\n\t\t\t\treturn errorResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGDocumentChunksResponse>(response);\n\t\t},\n\t\tasync documents(kind?: string) {\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\t\tasync evaluate(input: RAGEvaluationInput) {\n\t\t\tconst response = await fetchImpl(`${basePath}/evaluate`, {\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\treturn parseJson<RAGEvaluationResponse>(response);\n\t\t},\n\t\tasync ingest(chunks: RAGDocumentChunk[]) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestDocuments(input: RAGDocumentIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestUploads(input: RAGDocumentUploadIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestUrls(input: RAGDocumentUrlIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ops() {\n\t\t\tconst response = await fetchImpl(`${basePath}/ops`);\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<RAGOperationsResponse>(response);\n\t\t},\n\t\tasync syncSources() {\n\t\t\tconst response = await fetchImpl(`${basePath}/sync`);\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<RAGSyncResponse>(response);\n\t\t},\n\t\tasync syncAllSources() {\n\t\t\tconst response = await fetchImpl(`${basePath}/sync`, {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t} satisfies RAGSyncResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGSyncResponse>(response);\n\t\t},\n\t\tasync syncSource(id: string) {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/sync/${encodeURIComponent(id)}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST'\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t} satisfies RAGSyncResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGSyncResponse>(response);\n\t\t},\n\t\tasync reindexDocument(id: string) {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/reindex/documents/${encodeURIComponent(id)}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST'\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reindexSource(source: string) {\n\t\t\tconst response = await fetchImpl(`${basePath}/reindex/source`, {\n\t\t\t\tbody: JSON.stringify({ source }),\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reseed() {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reset() {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync search(input: RAGSearchRequest) {\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\t\tasync status() {\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\t};\n};\n\nexport type RAGClient = ReturnType<typeof createRAGClient>;\n",
|
|
12
|
+
"import { Injectable } from '@angular/core';\nimport type {\n\tRAGEvaluationInput,\n\tRAGDocumentChunk,\n\tRAGDocumentIngestInput,\n\tRAGDocumentUploadIngestInput,\n\tRAGDocumentUrlIngestInput,\n\tRAGSearchRequest,\n\tRAGSyncRunOptions\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\n\t\treturn created;\n\t}\n\n\tingest(path: string, chunks: RAGDocumentChunk[]) {\n\t\treturn this.client(path).ingest(chunks);\n\t}\n\n\tingestDocuments(path: string, input: RAGDocumentIngestInput) {\n\t\treturn this.client(path).ingestDocuments(input);\n\t}\n\n\tingestUrls(path: string, input: RAGDocumentUrlIngestInput) {\n\t\treturn this.client(path).ingestUrls(input);\n\t}\n\n\tingestUploads(path: string, input: RAGDocumentUploadIngestInput) {\n\t\treturn this.client(path).ingestUploads(input);\n\t}\n\n\tsearch(path: string, input: RAGSearchRequest) {\n\t\treturn this.client(path).search(input);\n\t}\n\n\tevaluate(path: string, input: RAGEvaluationInput) {\n\t\treturn this.client(path).evaluate(input);\n\t}\n\n\tstatus(path: string) {\n\t\treturn this.client(path).status();\n\t}\n\n\tops(path: string) {\n\t\treturn this.client(path).ops();\n\t}\n\n\tsyncSources(path: string) {\n\t\treturn this.client(path).syncSources();\n\t}\n\n\tsyncAllSources(path: string, options?: RAGSyncRunOptions) {\n\t\treturn this.client(path).syncAllSources(options);\n\t}\n\n\tsyncSource(path: string, id: string, options?: RAGSyncRunOptions) {\n\t\treturn this.client(path).syncSource(id, options);\n\t}\n\n\tdocuments(path: string, kind?: string) {\n\t\treturn this.client(path).documents(kind);\n\t}\n\n\tdocumentChunks(path: string, id: string) {\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) {\n\t\treturn this.client(path).createDocument(input);\n\t}\n\n\tdeleteDocument(path: string, id: string) {\n\t\treturn this.client(path).deleteDocument(id);\n\t}\n\n\treseed(path: string) {\n\t\treturn this.client(path).reseed();\n\t}\n\n\treset(path: string) {\n\t\treturn this.client(path).reset();\n\t}\n\n\treindexDocument(path: string, id: string) {\n\t\treturn this.client(path).reindexDocument(id);\n\t}\n\n\treindexSource(path: string, source: string) {\n\t\treturn this.client(path).reindexSource(source);\n\t}\n\n\tbackends(path: string) {\n\t\treturn this.client(path).backends();\n\t}\n\n\tclearIndex(path: string) {\n\t\treturn this.client(path).clearIndex();\n\t}\n}\n",
|
|
13
|
+
"import type {\n\tRAGBackendsResponse,\n\tRAGDocumentChunksResponse,\n\tRAGEvaluationInput,\n\tRAGEvaluationResponse,\n\tRAGDocumentIngestInput,\n\tRAGDocumentChunk,\n\tRAGDocumentsResponse,\n\tRAGDocumentUrlIngestInput,\n\tRAGDocumentUploadIngestInput,\n\tRAGIngestResponse,\n\tRAGMutationResponse,\n\tRAGOperationsResponse,\n\tRAGSearchRequest,\n\tRAGSource,\n\tRAGStatusResponse,\n\tRAGSyncRunOptions,\n\tRAGSyncResponse\n} from '../../../types/ai';\nimport { UNFOUND_INDEX } from '../../constants';\n\ntype FetchLike = typeof fetch;\n\nexport type RAGClientOptions = {\n\tpath: string;\n\tfetch?: FetchLike;\n};\n\nconst jsonHeaders: { 'Content-Type': string } = {\n\t'Content-Type': 'application/json'\n};\n\nconst normalizeBasePath = (path: string) =>\n\tpath.endsWith('/') ? path.slice(0, UNFOUND_INDEX) : path;\n\nconst parseJson = async <T>(response: Response) => {\n\tconst payload: T = JSON.parse(await response.text());\n\n\treturn payload;\n};\n\nconst isErrorPayload = (value: unknown): value is { error?: string } => {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\n\treturn !('error' in value) || typeof value.error === 'string';\n};\n\nconst toErrorMessage = async (response: Response) => {\n\ttry {\n\t\tconst payload = JSON.parse(await response.text());\n\t\tif (\n\t\t\tisErrorPayload(payload) &&\n\t\t\ttypeof payload.error === 'string' &&\n\t\t\tpayload.error\n\t\t) {\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 backends() {\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\t\tasync clearIndex() {\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\tasync createDocument(\n\t\t\tinput: RAGDocumentIngestInput['documents'][number]\n\t\t) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync deleteDocument(id: string) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync documentChunks(id: string) {\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\n\t\t\t\tconst errorResponse: RAGDocumentChunksResponse = {\n\t\t\t\t\terror,\n\t\t\t\t\tok: false\n\t\t\t\t};\n\n\t\t\t\treturn errorResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGDocumentChunksResponse>(response);\n\t\t},\n\t\tasync documents(kind?: string) {\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\t\tasync evaluate(input: RAGEvaluationInput) {\n\t\t\tconst response = await fetchImpl(`${basePath}/evaluate`, {\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\treturn parseJson<RAGEvaluationResponse>(response);\n\t\t},\n\t\tasync ingest(chunks: RAGDocumentChunk[]) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestDocuments(input: RAGDocumentIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestUploads(input: RAGDocumentUploadIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ingestUrls(input: RAGDocumentUrlIngestInput) {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGIngestResponse>(response);\n\t\t},\n\t\tasync ops() {\n\t\t\tconst response = await fetchImpl(`${basePath}/ops`);\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<RAGOperationsResponse>(response);\n\t\t},\n\t\tasync syncSources() {\n\t\t\tconst response = await fetchImpl(`${basePath}/sync`);\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<RAGSyncResponse>(response);\n\t\t},\n\t\tasync syncAllSources(options?: RAGSyncRunOptions) {\n\t\t\tconst response = await fetchImpl(`${basePath}/sync`, {\n\t\t\t\tbody:\n\t\t\t\t\toptions?.background === true\n\t\t\t\t\t\t? JSON.stringify({ background: true })\n\t\t\t\t\t\t: undefined,\n\t\t\t\theaders: options?.background === true ? jsonHeaders : undefined,\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t} satisfies RAGSyncResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGSyncResponse>(response);\n\t\t},\n\t\tasync syncSource(id: string, options?: RAGSyncRunOptions) {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/sync/${encodeURIComponent(id)}`,\n\t\t\t\t{\n\t\t\t\t\tbody:\n\t\t\t\t\t\toptions?.background === true\n\t\t\t\t\t\t\t? JSON.stringify({ background: true })\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\theaders:\n\t\t\t\t\t\toptions?.background === true ? jsonHeaders : undefined,\n\t\t\t\t\tmethod: 'POST'\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t} satisfies RAGSyncResponse;\n\t\t\t}\n\n\t\t\treturn parseJson<RAGSyncResponse>(response);\n\t\t},\n\t\tasync reindexDocument(id: string) {\n\t\t\tconst response = await fetchImpl(\n\t\t\t\t`${basePath}/reindex/documents/${encodeURIComponent(id)}`,\n\t\t\t\t{\n\t\t\t\t\tmethod: 'POST'\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reindexSource(source: string) {\n\t\t\tconst response = await fetchImpl(`${basePath}/reindex/source`, {\n\t\t\t\tbody: JSON.stringify({ source }),\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reseed() {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync reset() {\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\terror: await toErrorMessage(response),\n\t\t\t\t\tok: false\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn parseJson<RAGMutationResponse>(response);\n\t\t},\n\t\tasync search(input: RAGSearchRequest) {\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\t\tasync status() {\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\t};\n};\n\nexport type RAGClient = ReturnType<typeof createRAGClient>;\n",
|
|
14
14
|
"import { computed, Injectable } from '@angular/core';\nimport {\n\tbuildRAGAnswerWorkflowState,\n\tbuildRAGStreamProgress\n} from '../../ai/rag/presentation';\nimport { AIStreamService } from './ai-stream.service';\n\n@Injectable({ providedIn: 'root' })\nexport class RAGStreamService extends AIStreamService {\n\tconnect(path: string, conversationId?: string) {\n\t\tconst stream = super.connect(path, conversationId);\n\n\t\tconst workflow = computed(() =>\n\t\t\tbuildRAGAnswerWorkflowState({\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);\n\t\tconst progress = computed(() =>\n\t\t\tbuildRAGStreamProgress({\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);\n\t\tconst latestAssistantMessage = computed(\n\t\t\t() => workflow().latestAssistantMessage\n\t\t);\n\t\tconst sources = computed(() => workflow().sources);\n\t\tconst sourceGroups = computed(() => workflow().sourceGroups);\n\t\tconst citations = computed(() => workflow().citations);\n\t\tconst sourceSummaries = computed(() => workflow().sourceSummaries);\n\t\tconst citationReferenceMap = computed(\n\t\t\t() => workflow().citationReferenceMap\n\t\t);\n\t\tconst retrieval = computed(() => workflow().retrieval);\n\t\tconst groundedAnswer = computed(() => workflow().groundedAnswer);\n\t\tconst groundingReferences = computed(\n\t\t\t() => workflow().groundingReferences\n\t\t);\n\t\tconst hasRetrieved = computed(() => workflow().hasRetrieved);\n\t\tconst hasSources = computed(() => workflow().hasSources);\n\t\tconst isRetrieving = computed(() => workflow().isRetrieving);\n\t\tconst isRetrieved = computed(() => workflow().isRetrieved);\n\t\tconst isAnswerStreaming = computed(() => workflow().isAnswerStreaming);\n\t\tconst isComplete = computed(() => workflow().isComplete);\n\t\tconst isError = computed(() => workflow().isError);\n\t\tconst isRunning = computed(() => workflow().isRunning);\n\t\tconst stage = computed(() => workflow().stage);\n\n\t\treturn {\n\t\t\t...stream,\n\t\t\tcitations,\n\t\t\tcitationReferenceMap,\n\t\t\tgroundedAnswer,\n\t\t\tgroundingReferences,\n\t\t\thasRetrieved,\n\t\t\thasSources,\n\t\t\tisAnswerStreaming,\n\t\t\tisComplete,\n\t\t\tisError,\n\t\t\tisRetrieved,\n\t\t\tisRetrieving,\n\t\t\tisRunning,\n\t\t\tlatestAssistantMessage,\n\t\t\tprogress,\n\t\t\tquery: stream.send,\n\t\t\tretrieval,\n\t\t\tsourceGroups,\n\t\t\tsourceSummaries,\n\t\t\tsources,\n\t\t\tstage,\n\t\t\tworkflow\n\t\t};\n\t}\n}\n",
|
|
15
15
|
"import type {\n\tAIMessage,\n\tRAGAnswerWorkflowState,\n\tRAGCitation,\n\tRAGCitationReferenceMap,\n\tRAGGroundedAnswer,\n\tRAGGroundingReference,\n\tRAGSourceSummary,\n\tRAGStreamStage,\n\tRAGSource,\n\tRAGSourceGroup\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\nconst getContextNumber = (value: unknown) =>\n\ttypeof value === 'number' && Number.isFinite(value) ? value : undefined;\n\nconst getContextString = (value: unknown) =>\n\ttypeof value === 'string' && value.trim().length > 0\n\t\t? value.trim()\n\t\t: undefined;\n\nconst buildContextLabel = (metadata?: Record<string, unknown>) => {\n\tif (!metadata) {\n\t\treturn undefined;\n\t}\n\n\tconst page =\n\t\tgetContextNumber(metadata.page) ??\n\t\tgetContextNumber(metadata.pageNumber) ??\n\t\t(typeof metadata.pageIndex === 'number'\n\t\t\t? metadata.pageIndex + 1\n\t\t\t: undefined);\n\tif (page) {\n\t\treturn `Page ${page}`;\n\t}\n\n\tconst sheet =\n\t\tgetContextString(metadata.sheetName) ??\n\t\t(Array.isArray(metadata.sheetNames)\n\t\t\t? getContextString(metadata.sheetNames[0])\n\t\t\t: undefined);\n\tif (sheet) {\n\t\treturn `Sheet ${sheet}`;\n\t}\n\n\tconst slide =\n\t\tgetContextNumber(metadata.slide) ??\n\t\tgetContextNumber(metadata.slideNumber) ??\n\t\t(typeof metadata.slideIndex === 'number'\n\t\t\t? metadata.slideIndex + 1\n\t\t\t: undefined);\n\tif (slide) {\n\t\treturn `Slide ${slide}`;\n\t}\n\n\tconst archiveEntry =\n\t\tgetContextString(metadata.archiveEntryPath) ??\n\t\tgetContextString(metadata.entryPath);\n\tif (archiveEntry) {\n\t\treturn `Archive entry ${archiveEntry}`;\n\t}\n\n\tconst threadTopic = getContextString(metadata.threadTopic);\n\tif (threadTopic) {\n\t\treturn `Thread ${threadTopic}`;\n\t}\n\n\tconst speaker = getContextString(metadata.speaker);\n\tif (speaker) {\n\t\treturn `Speaker ${speaker}`;\n\t}\n\n\treturn undefined;\n};\n\nexport const buildRAGCitationReferenceMap = (\n\tcitations: RAGCitation[]\n): RAGCitationReferenceMap =>\n\tObject.fromEntries(\n\t\tcitations.map((citation, index) => [citation.chunkId, index + 1])\n\t);\nexport const buildRAGCitations = (sources: RAGSource[]) => {\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\t\tconst hasBetterExisting =\n\t\t\texisting !== undefined && existing.score >= source.score;\n\t\tif (hasBetterExisting) continue;\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\nconst buildExcerpt = (text: string, maxLength = 160) => {\n\tconst normalized = text.replaceAll(/\\s+/g, ' ').trim();\n\tif (normalized.length <= maxLength) {\n\t\treturn normalized;\n\t}\n\n\treturn `${normalized.slice(0, Math.max(0, maxLength - 1)).trimEnd()}…`;\n};\n\nexport const buildRAGGroundedAnswer = (\n\tcontent: string,\n\tsources: RAGSource[]\n): RAGGroundedAnswer => {\n\tconst references = buildRAGGroundingReferences(sources);\n\tconst referenceMap = new Map(\n\t\treferences.map((reference) => [reference.number, reference])\n\t);\n\tconst parts: RAGGroundedAnswer['parts'] = [];\n\tconst ungroundedReferenceNumbers = new Set<number>();\n\tconst citationPattern = /\\[(\\d+(?:\\s*,\\s*\\d+)*)\\]/g;\n\tlet cursor = 0;\n\n\tfor (const match of content.matchAll(citationPattern)) {\n\t\tconst raw = match[0];\n\t\tconst numbers = (match[1] ?? '')\n\t\t\t.split(',')\n\t\t\t.map((value) => Number.parseInt(value.trim(), 10))\n\t\t\t.filter((value) => Number.isInteger(value) && value > 0);\n\t\tconst start = match.index ?? cursor;\n\t\tif (start > cursor) {\n\t\t\tparts.push({\n\t\t\t\ttext: content.slice(cursor, start),\n\t\t\t\ttype: 'text'\n\t\t\t});\n\t\t}\n\n\t\tconst resolvedReferences = numbers\n\t\t\t.map((number) => referenceMap.get(number))\n\t\t\t.filter((reference): reference is RAGGroundingReference =>\n\t\t\t\tBoolean(reference)\n\t\t\t);\n\t\tfor (const number of numbers) {\n\t\t\tif (!referenceMap.has(number)) {\n\t\t\t\tungroundedReferenceNumbers.add(number);\n\t\t\t}\n\t\t}\n\n\t\tparts.push({\n\t\t\treferenceNumbers: numbers,\n\t\t\treferences: resolvedReferences,\n\t\t\ttext: raw,\n\t\t\ttype: 'citation'\n\t\t});\n\t\tcursor = start + raw.length;\n\t}\n\n\tif (cursor < content.length || parts.length === 0) {\n\t\tparts.push({\n\t\t\ttext: content.slice(cursor),\n\t\t\ttype: 'text'\n\t\t});\n\t}\n\n\tconst hasCitations = parts.some((part) => part.type === 'citation');\n\tconst coverage: RAGGroundedAnswer['coverage'] = !hasCitations\n\t\t? 'ungrounded'\n\t\t: ungroundedReferenceNumbers.size === 0\n\t\t\t? 'grounded'\n\t\t\t: references.length > 0\n\t\t\t\t? 'partial'\n\t\t\t\t: 'ungrounded';\n\n\treturn {\n\t\tcontent,\n\t\tcoverage,\n\t\thasCitations,\n\t\tparts,\n\t\treferences,\n\t\tungroundedReferenceNumbers: [...ungroundedReferenceNumbers].sort(\n\t\t\t(left, right) => left - right\n\t\t)\n\t};\n};\nexport const buildRAGGroundingReferences = (sources: RAGSource[]) => {\n\tconst citations = buildRAGCitations(sources);\n\tconst citationReferenceMap = buildRAGCitationReferenceMap(citations);\n\n\treturn citations.map<RAGGroundingReference>((citation) => ({\n\t\tchunkId: citation.chunkId,\n\t\tcontextLabel: buildContextLabel(citation.metadata),\n\t\texcerpt: buildExcerpt(citation.text),\n\t\tlabel: citation.label,\n\t\tmetadata: citation.metadata,\n\t\tnumber: citationReferenceMap[citation.chunkId] ?? 0,\n\t\tscore: citation.score,\n\t\tsource: citation.source,\n\t\ttext: citation.text,\n\t\ttitle: citation.title\n\t}));\n};\nexport const buildRAGRetrievedState = (messages: AIMessage[]) => {\n\tconst message = getLatestRetrievedMessage(messages);\n\n\tif (!message) {\n\t\treturn null;\n\t}\n\n\tconst sources = message.sources ?? [];\n\tconst groundedAnswer = buildRAGGroundedAnswer(message.content, sources);\n\n\treturn {\n\t\tcitationReferenceMap: buildRAGCitationReferenceMap(\n\t\t\tbuildRAGCitations(sources)\n\t\t),\n\t\tcitations: buildRAGCitations(sources),\n\t\tconversationId: message.conversationId,\n\t\tgroundedAnswer,\n\t\tmessageId: message.id,\n\t\tretrievalDurationMs: message.retrievalDurationMs,\n\t\tretrievalStartedAt: message.retrievalStartedAt,\n\t\tretrievedAt: message.retrievedAt,\n\t\tsourceGroups: buildRAGSourceGroups(sources),\n\t\tsourceSummaries: buildRAGSourceSummaries(sources),\n\t\tsources\n\t};\n};\nexport const buildRAGSourceSummaries = (sources: RAGSource[]) => {\n\tconst sourceGroups = buildRAGSourceGroups(sources);\n\tconst citations = buildRAGCitations(sources);\n\tconst citationReferenceMap = buildRAGCitationReferenceMap(citations);\n\n\treturn sourceGroups.map<RAGSourceSummary>((group) => {\n\t\tconst groupCitations = citations.filter((citation) =>\n\t\t\tgroup.chunks.some((chunk) => chunk.chunkId === citation.chunkId)\n\t\t);\n\t\tconst leadChunk = group.chunks\n\t\t\t.slice()\n\t\t\t.sort((left, right) => right.score - left.score)[0];\n\n\t\treturn {\n\t\t\tbestScore: group.bestScore,\n\t\t\tcitationNumbers: groupCitations.map(\n\t\t\t\t(citation) => citationReferenceMap[citation.chunkId] ?? 0\n\t\t\t),\n\t\t\tcitations: groupCitations,\n\t\t\tchunkIds: group.chunks.map((chunk) => chunk.chunkId),\n\t\t\tcount: group.count,\n\t\t\texcerpt: buildExcerpt(leadChunk?.text ?? ''),\n\t\t\tkey: group.key,\n\t\t\tlabel: group.label,\n\t\t\tsource: group.source,\n\t\t\ttitle: group.title\n\t\t};\n\t});\n};\n\nexport type RAGStreamProgress = {\n\tstage: RAGStreamStage;\n\tconversationId?: string;\n\tmessageId?: string;\n\tretrievalStartedAt?: number;\n\tretrievedAt?: number;\n\tretrievalDurationMs?: number;\n\thasContent: boolean;\n\thasRetrieved: boolean;\n\thasSources: boolean;\n\thasThinking: boolean;\n\thasToolCalls: boolean;\n\tisComplete: boolean;\n\tisError: boolean;\n\tisIdle: boolean;\n\tisRetrieving: boolean;\n\tisRetrieved: boolean;\n\tisStreaming: boolean;\n\tisSubmitting: boolean;\n\tsourceCount: number;\n\tlatestMessage: AIMessage | undefined;\n};\n\nconst buildStreamProgressState = (messages: AIMessage[]) => {\n\tconst latestMessage = getLatestAssistantMessage(messages);\n\tconst retrieved = latestMessage\n\t\t? buildRAGRetrievedState(messages)\n\t\t: undefined;\n\n\treturn {\n\t\tconversationId: latestMessage?.conversationId,\n\t\tlatestMessage,\n\t\tmessageId: latestMessage?.id,\n\t\tretrieved,\n\t\tsourceCount:\n\t\t\tretrieved?.sources.length ?? latestMessage?.sources?.length ?? 0\n\t};\n};\n\nexport const buildRAGStreamProgress = ({\n\terror,\n\tisStreaming,\n\tmessages\n}: {\n\terror: string | null;\n\tisStreaming: boolean;\n\tmessages: AIMessage[];\n}): RAGStreamProgress => {\n\tconst stage = resolveRAGStreamStage({\n\t\terror,\n\t\tisStreaming,\n\t\tmessages\n\t});\n\tconst state = buildStreamProgressState(messages);\n\tconst hasSources = state.sourceCount > 0;\n\tconst hasRetrieved =\n\t\tstage === 'retrieved' ||\n\t\tstate.retrieved !== undefined ||\n\t\tstate.latestMessage?.retrievedAt !== undefined;\n\tconst hasThinking =\n\t\ttypeof state.latestMessage?.thinking === 'string' &&\n\t\tstate.latestMessage.thinking.length > 0;\n\tconst hasToolCalls = (state.latestMessage?.toolCalls?.length ?? 0) > 0;\n\n\treturn {\n\t\tconversationId: state.conversationId,\n\t\thasContent:\n\t\t\ttypeof state.latestMessage?.content === 'string' &&\n\t\t\tstate.latestMessage.content.length > 0,\n\t\thasRetrieved,\n\t\thasSources,\n\t\thasThinking,\n\t\thasToolCalls,\n\t\tisComplete: stage === 'complete',\n\t\tisError: stage === 'error',\n\t\tisIdle: stage === 'idle',\n\t\tisRetrieved: stage === 'retrieved',\n\t\tisRetrieving: stage === 'submitting' || stage === 'retrieving',\n\t\tisStreaming: stage === 'streaming',\n\t\tisSubmitting: stage === 'submitting',\n\t\tlatestMessage: state.latestMessage,\n\t\tmessageId: state.messageId,\n\t\tretrievalDurationMs: state.retrieved?.retrievalDurationMs,\n\t\tretrievalStartedAt: state.retrieved?.retrievalStartedAt,\n\t\tretrievedAt: state.retrieved?.retrievedAt,\n\t\tsourceCount: state.sourceCount,\n\t\tstage\n\t};\n};\n\nexport type RAGStreamProgressState = ReturnType<typeof buildRAGStreamProgress>;\nexport const buildRAGAnswerWorkflowState = ({\n\terror,\n\tisStreaming,\n\tmessages\n}: {\n\terror: string | null;\n\tisStreaming: boolean;\n\tmessages: AIMessage[];\n}): RAGAnswerWorkflowState => {\n\tconst latestAssistantMessage = getLatestAssistantMessage(messages);\n\tconst sources = getLatestRAGSources(messages);\n\tconst sourceGroups = buildRAGSourceGroups(sources);\n\tconst citations = buildRAGCitations(sources);\n\tconst citationReferenceMap = buildRAGCitationReferenceMap(citations);\n\tconst sourceSummaries = buildRAGSourceSummaries(sources);\n\tconst groundingReferences = buildRAGGroundingReferences(sources);\n\tconst groundedAnswer = buildRAGGroundedAnswer(\n\t\tlatestAssistantMessage?.content ?? '',\n\t\tsources\n\t);\n\tconst retrieval = buildRAGRetrievedState(messages);\n\tconst progress = buildRAGStreamProgress({\n\t\terror,\n\t\tisStreaming,\n\t\tmessages\n\t});\n\n\treturn {\n\t\tcitationReferenceMap,\n\t\tcitations,\n\t\tcoverage: groundedAnswer.coverage,\n\t\terror,\n\t\tgroundedAnswer,\n\t\tgroundingReferences,\n\t\thasCitations: groundedAnswer.hasCitations,\n\t\thasGrounding: groundingReferences.length > 0,\n\t\thasRetrieved: progress.hasRetrieved,\n\t\thasSources: sources.length > 0,\n\t\tisAnswerStreaming: progress.isStreaming,\n\t\tisComplete: progress.isComplete,\n\t\tisError: progress.isError,\n\t\tisIdle: progress.isIdle,\n\t\tisRetrieved: progress.isRetrieved,\n\t\tisRetrieving: progress.isRetrieving,\n\t\tisRunning:\n\t\t\tprogress.isSubmitting ||\n\t\t\tprogress.isRetrieving ||\n\t\t\tprogress.isStreaming,\n\t\tisSubmitting: progress.isSubmitting,\n\t\tlatestAssistantMessage,\n\t\tmessages,\n\t\tretrieval,\n\t\tretrievalDurationMs: retrieval?.retrievalDurationMs,\n\t\tretrievalStartedAt: retrieval?.retrievalStartedAt,\n\t\tretrievedAt: retrieval?.retrievedAt,\n\t\tsourceGroups,\n\t\tsourceSummaries,\n\t\tsources,\n\t\tstage: progress.stage,\n\t\tungroundedReferenceNumbers: groundedAnswer.ungroundedReferenceNumbers\n\t};\n};\n\nexport const buildRAGSourceGroups = (sources: RAGSource[]) => {\n\tconst groups = new Map<string, RAGSourceGroup>();\n\n\tfor (const source of sources) {\n\t\tupdateSourceGroup(groups, source);\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\nconst buildSourceGroup = (source: RAGSource, key: string): RAGSourceGroup => ({\n\tbestScore: source.score,\n\tchunks: [source],\n\tcount: 1,\n\tkey,\n\tlabel: buildSourceLabel(source),\n\tsource: source.source,\n\ttitle: source.title\n});\n\nconst updateSourceGroup = (\n\tgroups: Map<string, RAGSourceGroup>,\n\tsource: RAGSource\n) => {\n\tconst key = buildSourceGroupKey(source);\n\tconst existing = groups.get(key);\n\tif (!existing) {\n\t\tgroups.set(key, buildSourceGroup(source, key));\n\n\t\treturn;\n\t}\n\n\texisting.bestScore = Math.max(existing.bestScore, source.score);\n\texisting.count += 1;\n\texisting.chunks.push(source);\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};\nexport const getLatestRAGSources = (messages: AIMessage[]) =>\n\tgetLatestAssistantMessage(messages)?.sources ?? [];\nexport const getLatestRetrievedMessage = (messages: AIMessage[]) => {\n\tfor (let index = messages.length - 1; index >= 0; index -= 1) {\n\t\tconst message = messages[index];\n\t\tif (\n\t\t\tmessage?.role === 'assistant' &&\n\t\t\t(typeof message.retrievedAt === 'number' ||\n\t\t\t\t(message.sources?.length ?? 0) > 0)\n\t\t) {\n\t\t\treturn message;\n\t\t}\n\t}\n\n\treturn undefined;\n};\nexport const resolveRAGStreamStage = ({\n\terror,\n\tisStreaming,\n\tmessages\n}: {\n\terror: string | null;\n\tisStreaming: boolean;\n\tmessages: AIMessage[];\n}) => {\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\tconst isRetrieving =\n\t\ttypeof assistantMessage.retrievalStartedAt === 'number' &&\n\t\ttypeof assistantMessage.retrievedAt !== 'number';\n\n\tif (isRetrieving) {\n\t\treturn 'retrieving';\n\t}\n\n\tif (!isStreaming) {\n\t\treturn 'complete';\n\t}\n\n\tconst hasRetrieved = typeof assistantMessage.retrievedAt === 'number';\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 (hasRetrieved && !hasContent) {\n\t\treturn 'retrieved';\n\t}\n\n\treturn 'streaming';\n};\n"
|
|
16
16
|
],
|
|
17
|
-
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
17
|
+
"mappings": "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",
|
|
18
|
+
"debugId": "41CC5F65D8327B0E64756E2164756E21",
|
|
19
19
|
"names": []
|
|
20
20
|
}
|
package/dist/react/ai/index.js
CHANGED
|
@@ -1378,8 +1378,10 @@ var createRAGClient = (options) => {
|
|
|
1378
1378
|
}
|
|
1379
1379
|
return parseJson(response);
|
|
1380
1380
|
},
|
|
1381
|
-
async syncAllSources() {
|
|
1381
|
+
async syncAllSources(options2) {
|
|
1382
1382
|
const response = await fetchImpl(`${basePath}/sync`, {
|
|
1383
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1384
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1383
1385
|
method: "POST"
|
|
1384
1386
|
});
|
|
1385
1387
|
if (!response.ok) {
|
|
@@ -1390,8 +1392,10 @@ var createRAGClient = (options) => {
|
|
|
1390
1392
|
}
|
|
1391
1393
|
return parseJson(response);
|
|
1392
1394
|
},
|
|
1393
|
-
async syncSource(id) {
|
|
1395
|
+
async syncSource(id, options2) {
|
|
1394
1396
|
const response = await fetchImpl(`${basePath}/sync/${encodeURIComponent(id)}`, {
|
|
1397
|
+
body: options2?.background === true ? JSON.stringify({ background: true }) : undefined,
|
|
1398
|
+
headers: options2?.background === true ? jsonHeaders : undefined,
|
|
1395
1399
|
method: "POST"
|
|
1396
1400
|
});
|
|
1397
1401
|
if (!response.ok) {
|
|
@@ -2712,5 +2716,5 @@ export {
|
|
|
2712
2716
|
AIStreamProvider
|
|
2713
2717
|
};
|
|
2714
2718
|
|
|
2715
|
-
//# debugId=
|
|
2719
|
+
//# debugId=766ECF792731C7BA64756E2164756E21
|
|
2716
2720
|
//# sourceMappingURL=index.js.map
|