@elqnt/chat 2.0.5 → 2.0.8
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/api/index.d.mts +66 -0
- package/dist/api/index.d.ts +66 -0
- package/dist/api/index.js +105 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/index.mjs +74 -0
- package/dist/api/index.mjs.map +1 -0
- package/dist/hooks/use-websocket-chat-customer.d.mts +1 -1
- package/dist/hooks/use-websocket-chat-customer.d.ts +1 -1
- package/dist/index.js +16 -1584
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -1584
- package/dist/index.mjs.map +1 -1
- package/package.json +23 -13
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ApiClientOptions, ApiResponse } from '@elqnt/api-client';
|
|
2
|
+
import { ResponseMetadata } from '@elqnt/types';
|
|
3
|
+
import { ChatSummary } from '../models/index.mjs';
|
|
4
|
+
export { Chat } from '../models/index.mjs';
|
|
5
|
+
import '@elqnt/kg';
|
|
6
|
+
import '@elqnt/docs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Chat API functions
|
|
10
|
+
*
|
|
11
|
+
* Browser-side API client for chat operations.
|
|
12
|
+
* Uses @elqnt/api-client for HTTP requests with automatic token management.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
interface ChatHistoryResponse {
|
|
16
|
+
chats: ChatSummary[];
|
|
17
|
+
total: number;
|
|
18
|
+
hasMore: boolean;
|
|
19
|
+
metadata: ResponseMetadata;
|
|
20
|
+
}
|
|
21
|
+
interface ChatResponse {
|
|
22
|
+
chat: ChatSummary;
|
|
23
|
+
metadata: ResponseMetadata;
|
|
24
|
+
}
|
|
25
|
+
interface UpdateChatResponse {
|
|
26
|
+
chatKey: string;
|
|
27
|
+
title: string;
|
|
28
|
+
pinned: boolean;
|
|
29
|
+
metadata: ResponseMetadata;
|
|
30
|
+
}
|
|
31
|
+
interface ActiveChatsResponse {
|
|
32
|
+
chats: ChatSummary[];
|
|
33
|
+
metadata: ResponseMetadata;
|
|
34
|
+
}
|
|
35
|
+
interface ActiveChatsCountResponse {
|
|
36
|
+
count: number;
|
|
37
|
+
metadata: ResponseMetadata;
|
|
38
|
+
}
|
|
39
|
+
declare function getChatHistoryApi(options: ApiClientOptions & {
|
|
40
|
+
limit?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
skipCache?: boolean;
|
|
43
|
+
}): Promise<ApiResponse<ChatHistoryResponse>>;
|
|
44
|
+
declare function getChatApi(chatKey: string, options: ApiClientOptions): Promise<ApiResponse<ChatResponse>>;
|
|
45
|
+
declare function updateChatApi(chatKey: string, updates: {
|
|
46
|
+
title?: string;
|
|
47
|
+
pinned?: boolean;
|
|
48
|
+
}, options: ApiClientOptions): Promise<ApiResponse<UpdateChatResponse>>;
|
|
49
|
+
declare function deleteChatApi(chatKey: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
metadata: ResponseMetadata;
|
|
52
|
+
}>>;
|
|
53
|
+
declare function getActiveChatsCountApi(options: ApiClientOptions): Promise<ApiResponse<ActiveChatsCountResponse>>;
|
|
54
|
+
declare function getActiveChatsApi(options: ApiClientOptions & {
|
|
55
|
+
pastHours?: number;
|
|
56
|
+
}): Promise<ApiResponse<ActiveChatsResponse>>;
|
|
57
|
+
declare function updateProjectChatTitleApi(projectId: string, chatKey: string, title: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
58
|
+
success: boolean;
|
|
59
|
+
metadata: ResponseMetadata;
|
|
60
|
+
}>>;
|
|
61
|
+
declare function addChatToProjectApi(projectId: string, chatKey: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
62
|
+
success: boolean;
|
|
63
|
+
metadata: ResponseMetadata;
|
|
64
|
+
}>>;
|
|
65
|
+
|
|
66
|
+
export { type ActiveChatsCountResponse, type ActiveChatsResponse, type ChatHistoryResponse, type ChatResponse, ChatSummary, type UpdateChatResponse, addChatToProjectApi, deleteChatApi, getActiveChatsApi, getActiveChatsCountApi, getChatApi, getChatHistoryApi, updateChatApi, updateProjectChatTitleApi };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ApiClientOptions, ApiResponse } from '@elqnt/api-client';
|
|
2
|
+
import { ResponseMetadata } from '@elqnt/types';
|
|
3
|
+
import { ChatSummary } from '../models/index.js';
|
|
4
|
+
export { Chat } from '../models/index.js';
|
|
5
|
+
import '@elqnt/kg';
|
|
6
|
+
import '@elqnt/docs';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Chat API functions
|
|
10
|
+
*
|
|
11
|
+
* Browser-side API client for chat operations.
|
|
12
|
+
* Uses @elqnt/api-client for HTTP requests with automatic token management.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
interface ChatHistoryResponse {
|
|
16
|
+
chats: ChatSummary[];
|
|
17
|
+
total: number;
|
|
18
|
+
hasMore: boolean;
|
|
19
|
+
metadata: ResponseMetadata;
|
|
20
|
+
}
|
|
21
|
+
interface ChatResponse {
|
|
22
|
+
chat: ChatSummary;
|
|
23
|
+
metadata: ResponseMetadata;
|
|
24
|
+
}
|
|
25
|
+
interface UpdateChatResponse {
|
|
26
|
+
chatKey: string;
|
|
27
|
+
title: string;
|
|
28
|
+
pinned: boolean;
|
|
29
|
+
metadata: ResponseMetadata;
|
|
30
|
+
}
|
|
31
|
+
interface ActiveChatsResponse {
|
|
32
|
+
chats: ChatSummary[];
|
|
33
|
+
metadata: ResponseMetadata;
|
|
34
|
+
}
|
|
35
|
+
interface ActiveChatsCountResponse {
|
|
36
|
+
count: number;
|
|
37
|
+
metadata: ResponseMetadata;
|
|
38
|
+
}
|
|
39
|
+
declare function getChatHistoryApi(options: ApiClientOptions & {
|
|
40
|
+
limit?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
skipCache?: boolean;
|
|
43
|
+
}): Promise<ApiResponse<ChatHistoryResponse>>;
|
|
44
|
+
declare function getChatApi(chatKey: string, options: ApiClientOptions): Promise<ApiResponse<ChatResponse>>;
|
|
45
|
+
declare function updateChatApi(chatKey: string, updates: {
|
|
46
|
+
title?: string;
|
|
47
|
+
pinned?: boolean;
|
|
48
|
+
}, options: ApiClientOptions): Promise<ApiResponse<UpdateChatResponse>>;
|
|
49
|
+
declare function deleteChatApi(chatKey: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
metadata: ResponseMetadata;
|
|
52
|
+
}>>;
|
|
53
|
+
declare function getActiveChatsCountApi(options: ApiClientOptions): Promise<ApiResponse<ActiveChatsCountResponse>>;
|
|
54
|
+
declare function getActiveChatsApi(options: ApiClientOptions & {
|
|
55
|
+
pastHours?: number;
|
|
56
|
+
}): Promise<ApiResponse<ActiveChatsResponse>>;
|
|
57
|
+
declare function updateProjectChatTitleApi(projectId: string, chatKey: string, title: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
58
|
+
success: boolean;
|
|
59
|
+
metadata: ResponseMetadata;
|
|
60
|
+
}>>;
|
|
61
|
+
declare function addChatToProjectApi(projectId: string, chatKey: string, options: ApiClientOptions): Promise<ApiResponse<{
|
|
62
|
+
success: boolean;
|
|
63
|
+
metadata: ResponseMetadata;
|
|
64
|
+
}>>;
|
|
65
|
+
|
|
66
|
+
export { type ActiveChatsCountResponse, type ActiveChatsResponse, type ChatHistoryResponse, type ChatResponse, ChatSummary, type UpdateChatResponse, addChatToProjectApi, deleteChatApi, getActiveChatsApi, getActiveChatsCountApi, getChatApi, getChatHistoryApi, updateChatApi, updateProjectChatTitleApi };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// api/index.ts
|
|
22
|
+
var api_exports = {};
|
|
23
|
+
__export(api_exports, {
|
|
24
|
+
addChatToProjectApi: () => addChatToProjectApi,
|
|
25
|
+
deleteChatApi: () => deleteChatApi,
|
|
26
|
+
getActiveChatsApi: () => getActiveChatsApi,
|
|
27
|
+
getActiveChatsCountApi: () => getActiveChatsCountApi,
|
|
28
|
+
getChatApi: () => getChatApi,
|
|
29
|
+
getChatHistoryApi: () => getChatHistoryApi,
|
|
30
|
+
updateChatApi: () => updateChatApi,
|
|
31
|
+
updateProjectChatTitleApi: () => updateProjectChatTitleApi
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(api_exports);
|
|
34
|
+
var import_browser = require("@elqnt/api-client/browser");
|
|
35
|
+
async function getChatHistoryApi(options) {
|
|
36
|
+
return (0, import_browser.browserApiRequest)("/api/v1/chats", {
|
|
37
|
+
method: "POST",
|
|
38
|
+
body: {
|
|
39
|
+
limit: options.limit || 15,
|
|
40
|
+
offset: options.offset || 0,
|
|
41
|
+
...options.skipCache ? { skipCache: true } : {}
|
|
42
|
+
},
|
|
43
|
+
...options
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async function getChatApi(chatKey, options) {
|
|
47
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/chats/${chatKey}`, {
|
|
48
|
+
method: "GET",
|
|
49
|
+
...options
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async function updateChatApi(chatKey, updates, options) {
|
|
53
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/chats/${chatKey}`, {
|
|
54
|
+
method: "PATCH",
|
|
55
|
+
body: updates,
|
|
56
|
+
...options
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async function deleteChatApi(chatKey, options) {
|
|
60
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/chats/${chatKey}`, {
|
|
61
|
+
method: "DELETE",
|
|
62
|
+
...options
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async function getActiveChatsCountApi(options) {
|
|
66
|
+
return (0, import_browser.browserApiRequest)("/api/v1/chats/active/count", {
|
|
67
|
+
method: "GET",
|
|
68
|
+
...options
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async function getActiveChatsApi(options) {
|
|
72
|
+
const params = new URLSearchParams();
|
|
73
|
+
if (options.pastHours) params.set("pastHours", String(options.pastHours));
|
|
74
|
+
const queryString = params.toString();
|
|
75
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/chats/active${queryString ? `?${queryString}` : ""}`, {
|
|
76
|
+
method: "GET",
|
|
77
|
+
...options
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
async function updateProjectChatTitleApi(projectId, chatKey, title, options) {
|
|
81
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/projects/${projectId}/chats/${chatKey}/title`, {
|
|
82
|
+
method: "PUT",
|
|
83
|
+
body: { title },
|
|
84
|
+
...options
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async function addChatToProjectApi(projectId, chatKey, options) {
|
|
88
|
+
return (0, import_browser.browserApiRequest)(`/api/v1/projects/${projectId}/chats`, {
|
|
89
|
+
method: "POST",
|
|
90
|
+
body: { chatKey },
|
|
91
|
+
...options
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
addChatToProjectApi,
|
|
97
|
+
deleteChatApi,
|
|
98
|
+
getActiveChatsApi,
|
|
99
|
+
getActiveChatsCountApi,
|
|
100
|
+
getChatApi,
|
|
101
|
+
getChatHistoryApi,
|
|
102
|
+
updateChatApi,
|
|
103
|
+
updateProjectChatTitleApi
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/index.ts"],"sourcesContent":["/**\n * Chat API functions\n *\n * Browser-side API client for chat operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type { ChatSummary, Chat } from \"../models\";\n\n// Re-export types from models\nexport type { ChatSummary, Chat } from \"../models\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface ChatHistoryResponse {\n chats: ChatSummary[];\n total: number;\n hasMore: boolean;\n metadata: ResponseMetadata;\n}\n\nexport interface ChatResponse {\n chat: ChatSummary;\n metadata: ResponseMetadata;\n}\n\nexport interface UpdateChatResponse {\n chatKey: string;\n title: string;\n pinned: boolean;\n metadata: ResponseMetadata;\n}\n\nexport interface ActiveChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n\nexport interface ActiveChatsCountResponse {\n count: number;\n metadata: ResponseMetadata;\n}\n\n// =============================================================================\n// CHAT HISTORY\n// =============================================================================\n\nexport async function getChatHistoryApi(\n options: ApiClientOptions & { limit?: number; offset?: number; skipCache?: boolean }\n): Promise<ApiResponse<ChatHistoryResponse>> {\n return browserApiRequest(\"/api/v1/chats\", {\n method: \"POST\",\n body: {\n limit: options.limit || 15,\n offset: options.offset || 0,\n ...(options.skipCache ? { skipCache: true } : {}),\n },\n ...options,\n });\n}\n\nexport async function getChatApi(\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<ChatResponse>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function updateChatApi(\n chatKey: string,\n updates: { title?: string; pinned?: boolean },\n options: ApiClientOptions\n): Promise<ApiResponse<UpdateChatResponse>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"PATCH\",\n body: updates,\n ...options,\n });\n}\n\nexport async function deleteChatApi(\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// ACTIVE CHATS\n// =============================================================================\n\nexport async function getActiveChatsCountApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ActiveChatsCountResponse>> {\n return browserApiRequest(\"/api/v1/chats/active/count\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getActiveChatsApi(\n options: ApiClientOptions & { pastHours?: number }\n): Promise<ApiResponse<ActiveChatsResponse>> {\n const params = new URLSearchParams();\n if (options.pastHours) params.set(\"pastHours\", String(options.pastHours));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/chats/active${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n// =============================================================================\n// PROJECT CHATS\n// =============================================================================\n\nexport async function updateProjectChatTitleApi(\n projectId: string,\n chatKey: string,\n title: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/projects/${projectId}/chats/${chatKey}/title`, {\n method: \"PUT\",\n body: { title },\n ...options,\n });\n}\n\nexport async function addChatToProjectApi(\n projectId: string,\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/projects/${projectId}/chats`, {\n method: \"POST\",\n body: { chatKey },\n ...options,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAkC;AA6ClC,eAAsB,kBACpB,SAC2C;AAC3C,aAAO,kCAAkB,iBAAiB;AAAA,IACxC,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,OAAO,QAAQ,SAAS;AAAA,MACxB,QAAQ,QAAQ,UAAU;AAAA,MAC1B,GAAI,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;AAAA,IACjD;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,WACpB,SACA,SACoC;AACpC,aAAO,kCAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,cACpB,SACA,SACA,SAC0C;AAC1C,aAAO,kCAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,cACpB,SACA,SACwE;AACxE,aAAO,kCAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAMA,eAAsB,uBACpB,SACgD;AAChD,aAAO,kCAAkB,8BAA8B;AAAA,IACrD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,kBACpB,SAC2C;AAC3C,QAAM,SAAS,IAAI,gBAAgB;AACnC,MAAI,QAAQ,UAAW,QAAO,IAAI,aAAa,OAAO,QAAQ,SAAS,CAAC;AACxE,QAAM,cAAc,OAAO,SAAS;AACpC,aAAO,kCAAkB,uBAAuB,cAAc,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACtF,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAMA,eAAsB,0BACpB,WACA,SACA,OACA,SACwE;AACxE,aAAO,kCAAkB,oBAAoB,SAAS,UAAU,OAAO,UAAU;AAAA,IAC/E,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM;AAAA,IACd,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,oBACpB,WACA,SACA,SACwE;AACxE,aAAO,kCAAkB,oBAAoB,SAAS,UAAU;AAAA,IAC9D,QAAQ;AAAA,IACR,MAAM,EAAE,QAAQ;AAAA,IAChB,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// api/index.ts
|
|
4
|
+
import { browserApiRequest } from "@elqnt/api-client/browser";
|
|
5
|
+
async function getChatHistoryApi(options) {
|
|
6
|
+
return browserApiRequest("/api/v1/chats", {
|
|
7
|
+
method: "POST",
|
|
8
|
+
body: {
|
|
9
|
+
limit: options.limit || 15,
|
|
10
|
+
offset: options.offset || 0,
|
|
11
|
+
...options.skipCache ? { skipCache: true } : {}
|
|
12
|
+
},
|
|
13
|
+
...options
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async function getChatApi(chatKey, options) {
|
|
17
|
+
return browserApiRequest(`/api/v1/chats/${chatKey}`, {
|
|
18
|
+
method: "GET",
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async function updateChatApi(chatKey, updates, options) {
|
|
23
|
+
return browserApiRequest(`/api/v1/chats/${chatKey}`, {
|
|
24
|
+
method: "PATCH",
|
|
25
|
+
body: updates,
|
|
26
|
+
...options
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async function deleteChatApi(chatKey, options) {
|
|
30
|
+
return browserApiRequest(`/api/v1/chats/${chatKey}`, {
|
|
31
|
+
method: "DELETE",
|
|
32
|
+
...options
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async function getActiveChatsCountApi(options) {
|
|
36
|
+
return browserApiRequest("/api/v1/chats/active/count", {
|
|
37
|
+
method: "GET",
|
|
38
|
+
...options
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async function getActiveChatsApi(options) {
|
|
42
|
+
const params = new URLSearchParams();
|
|
43
|
+
if (options.pastHours) params.set("pastHours", String(options.pastHours));
|
|
44
|
+
const queryString = params.toString();
|
|
45
|
+
return browserApiRequest(`/api/v1/chats/active${queryString ? `?${queryString}` : ""}`, {
|
|
46
|
+
method: "GET",
|
|
47
|
+
...options
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async function updateProjectChatTitleApi(projectId, chatKey, title, options) {
|
|
51
|
+
return browserApiRequest(`/api/v1/projects/${projectId}/chats/${chatKey}/title`, {
|
|
52
|
+
method: "PUT",
|
|
53
|
+
body: { title },
|
|
54
|
+
...options
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async function addChatToProjectApi(projectId, chatKey, options) {
|
|
58
|
+
return browserApiRequest(`/api/v1/projects/${projectId}/chats`, {
|
|
59
|
+
method: "POST",
|
|
60
|
+
body: { chatKey },
|
|
61
|
+
...options
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
addChatToProjectApi,
|
|
66
|
+
deleteChatApi,
|
|
67
|
+
getActiveChatsApi,
|
|
68
|
+
getActiveChatsCountApi,
|
|
69
|
+
getChatApi,
|
|
70
|
+
getChatHistoryApi,
|
|
71
|
+
updateChatApi,
|
|
72
|
+
updateProjectChatTitleApi
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../api/index.ts"],"sourcesContent":["/**\n * Chat API functions\n *\n * Browser-side API client for chat operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type { ChatSummary, Chat } from \"../models\";\n\n// Re-export types from models\nexport type { ChatSummary, Chat } from \"../models\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface ChatHistoryResponse {\n chats: ChatSummary[];\n total: number;\n hasMore: boolean;\n metadata: ResponseMetadata;\n}\n\nexport interface ChatResponse {\n chat: ChatSummary;\n metadata: ResponseMetadata;\n}\n\nexport interface UpdateChatResponse {\n chatKey: string;\n title: string;\n pinned: boolean;\n metadata: ResponseMetadata;\n}\n\nexport interface ActiveChatsResponse {\n chats: ChatSummary[];\n metadata: ResponseMetadata;\n}\n\nexport interface ActiveChatsCountResponse {\n count: number;\n metadata: ResponseMetadata;\n}\n\n// =============================================================================\n// CHAT HISTORY\n// =============================================================================\n\nexport async function getChatHistoryApi(\n options: ApiClientOptions & { limit?: number; offset?: number; skipCache?: boolean }\n): Promise<ApiResponse<ChatHistoryResponse>> {\n return browserApiRequest(\"/api/v1/chats\", {\n method: \"POST\",\n body: {\n limit: options.limit || 15,\n offset: options.offset || 0,\n ...(options.skipCache ? { skipCache: true } : {}),\n },\n ...options,\n });\n}\n\nexport async function getChatApi(\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<ChatResponse>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function updateChatApi(\n chatKey: string,\n updates: { title?: string; pinned?: boolean },\n options: ApiClientOptions\n): Promise<ApiResponse<UpdateChatResponse>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"PATCH\",\n body: updates,\n ...options,\n });\n}\n\nexport async function deleteChatApi(\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/chats/${chatKey}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// ACTIVE CHATS\n// =============================================================================\n\nexport async function getActiveChatsCountApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ActiveChatsCountResponse>> {\n return browserApiRequest(\"/api/v1/chats/active/count\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getActiveChatsApi(\n options: ApiClientOptions & { pastHours?: number }\n): Promise<ApiResponse<ActiveChatsResponse>> {\n const params = new URLSearchParams();\n if (options.pastHours) params.set(\"pastHours\", String(options.pastHours));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/chats/active${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n// =============================================================================\n// PROJECT CHATS\n// =============================================================================\n\nexport async function updateProjectChatTitleApi(\n projectId: string,\n chatKey: string,\n title: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/projects/${projectId}/chats/${chatKey}/title`, {\n method: \"PUT\",\n body: { title },\n ...options,\n });\n}\n\nexport async function addChatToProjectApi(\n projectId: string,\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/projects/${projectId}/chats`, {\n method: \"POST\",\n body: { chatKey },\n ...options,\n });\n}\n"],"mappings":";;;AAOA,SAAS,yBAAyB;AA6ClC,eAAsB,kBACpB,SAC2C;AAC3C,SAAO,kBAAkB,iBAAiB;AAAA,IACxC,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,OAAO,QAAQ,SAAS;AAAA,MACxB,QAAQ,QAAQ,UAAU;AAAA,MAC1B,GAAI,QAAQ,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC;AAAA,IACjD;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,WACpB,SACA,SACoC;AACpC,SAAO,kBAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,cACpB,SACA,SACA,SAC0C;AAC1C,SAAO,kBAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,cACpB,SACA,SACwE;AACxE,SAAO,kBAAkB,iBAAiB,OAAO,IAAI;AAAA,IACnD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAMA,eAAsB,uBACpB,SACgD;AAChD,SAAO,kBAAkB,8BAA8B;AAAA,IACrD,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,kBACpB,SAC2C;AAC3C,QAAM,SAAS,IAAI,gBAAgB;AACnC,MAAI,QAAQ,UAAW,QAAO,IAAI,aAAa,OAAO,QAAQ,SAAS,CAAC;AACxE,QAAM,cAAc,OAAO,SAAS;AACpC,SAAO,kBAAkB,uBAAuB,cAAc,IAAI,WAAW,KAAK,EAAE,IAAI;AAAA,IACtF,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,CAAC;AACH;AAMA,eAAsB,0BACpB,WACA,SACA,OACA,SACwE;AACxE,SAAO,kBAAkB,oBAAoB,SAAS,UAAU,OAAO,UAAU;AAAA,IAC/E,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM;AAAA,IACd,GAAG;AAAA,EACL,CAAC;AACH;AAEA,eAAsB,oBACpB,WACA,SACA,SACwE;AACxE,SAAO,kBAAkB,oBAAoB,SAAS,UAAU;AAAA,IAC9D,QAAQ;AAAA,IACR,MAAM,EAAE,QAAQ;AAAA,IAChB,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatMessage, ChatUser } from '../models/index.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { UseWebSocketChatBaseConfig, UseWebSocketChatBaseReturn } from './use-websocket-chat-base.mjs';
|
|
3
3
|
import '@elqnt/kg';
|
|
4
4
|
import '@elqnt/types';
|
|
5
5
|
import '@elqnt/docs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatMessage, ChatUser } from '../models/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { UseWebSocketChatBaseConfig, UseWebSocketChatBaseReturn } from './use-websocket-chat-base.js';
|
|
3
3
|
import '@elqnt/kg';
|
|
4
4
|
import '@elqnt/types';
|
|
5
5
|
import '@elqnt/docs';
|