@redhat-cloud-services/ai-client-common 0.3.2 → 0.4.0
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/README.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# @redhat-cloud-services/ai-client-common
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
Common interfaces and utilities for AI client packages in the Red Hat Cloud Services ecosystem.
|
|
4
5
|
|
|
5
6
|
## Features
|
|
@@ -26,17 +27,21 @@ All AI clients in this workspace implement the `IAIClient` interface:
|
|
|
26
27
|
```typescript
|
|
27
28
|
import { IAIClient } from '@redhat-cloud-services/ai-client-common';
|
|
28
29
|
|
|
29
|
-
interface IAIClient {
|
|
30
|
-
init(): Promise<
|
|
30
|
+
interface IAIClient<AP extends Record<string, unknown> = Record<string, unknown>> {
|
|
31
|
+
init(): Promise<{
|
|
32
|
+
initialConversationId: string;
|
|
33
|
+
conversations: IConversation[];
|
|
34
|
+
}>;
|
|
31
35
|
sendMessage<TChunk = unknown>(
|
|
32
36
|
conversationId: string,
|
|
33
37
|
message: string,
|
|
34
38
|
options?: ISendMessageOptions<TChunk>
|
|
35
|
-
): Promise<TChunk | IMessageResponse | void>;
|
|
39
|
+
): Promise<TChunk | IMessageResponse<AP> | void>;
|
|
36
40
|
getDefaultStreamingHandler?<TChunk = unknown>(): IStreamingHandler<TChunk> | undefined;
|
|
37
|
-
getConversationHistory(conversationId: string, options?: IRequestOptions): Promise<IConversationHistoryResponse
|
|
41
|
+
getConversationHistory(conversationId: string, options?: IRequestOptions): Promise<IConversationHistoryResponse<AP>>;
|
|
38
42
|
healthCheck(options?: IRequestOptions): Promise<unknown>;
|
|
39
43
|
getServiceStatus?(options?: IRequestOptions): Promise<unknown>;
|
|
44
|
+
createNewConversation(): Promise<IConversation>;
|
|
40
45
|
}
|
|
41
46
|
```
|
|
42
47
|
|
|
@@ -164,7 +169,7 @@ import {
|
|
|
164
169
|
IRequestOptions,
|
|
165
170
|
IMessageResponse,
|
|
166
171
|
IConversationHistoryResponse,
|
|
167
|
-
|
|
172
|
+
IConversation
|
|
168
173
|
} from '@redhat-cloud-services/ai-client-common';
|
|
169
174
|
|
|
170
175
|
// Standard request options
|
|
@@ -174,12 +179,18 @@ const options: IRequestOptions = {
|
|
|
174
179
|
};
|
|
175
180
|
|
|
176
181
|
// Message response structure
|
|
177
|
-
interface IMessageResponse {
|
|
182
|
+
interface IMessageResponse<AP = Record<string, unknown>> {
|
|
178
183
|
messageId: string;
|
|
179
184
|
answer: string;
|
|
180
185
|
conversationId: string;
|
|
181
186
|
createdAt?: string;
|
|
182
|
-
|
|
187
|
+
additionalAttributes?: AP;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Conversation structure
|
|
191
|
+
interface IConversation {
|
|
192
|
+
id: string;
|
|
193
|
+
title: string;
|
|
183
194
|
}
|
|
184
195
|
```
|
|
185
196
|
|
package/package.json
CHANGED
|
@@ -48,7 +48,10 @@ export interface IAIClient<AP extends Record<string, unknown> = Record<string, u
|
|
|
48
48
|
* This method is called once when the client is first used by a state manager
|
|
49
49
|
* @returns Promise that resolves to the initial conversation ID
|
|
50
50
|
*/
|
|
51
|
-
init(): Promise<
|
|
51
|
+
init(): Promise<{
|
|
52
|
+
initialConversationId: string;
|
|
53
|
+
conversations: IConversation[];
|
|
54
|
+
}>;
|
|
52
55
|
/**
|
|
53
56
|
* Send a message to the AI service
|
|
54
57
|
* @param conversationId - The conversation ID to send the message to
|
|
@@ -81,6 +84,11 @@ export interface IAIClient<AP extends Record<string, unknown> = Record<string, u
|
|
|
81
84
|
* @returns Promise that resolves to service status information
|
|
82
85
|
*/
|
|
83
86
|
getServiceStatus?(options?: IRequestOptions): Promise<unknown>;
|
|
87
|
+
/**
|
|
88
|
+
* Create a new conversation
|
|
89
|
+
* @returns Promise that resolves to the newly created conversation
|
|
90
|
+
*/
|
|
91
|
+
createNewConversation(): Promise<IConversation>;
|
|
84
92
|
}
|
|
85
93
|
/**
|
|
86
94
|
* Base error class for all AI client errors
|
|
@@ -195,43 +203,21 @@ export interface IAnswerSource {
|
|
|
195
203
|
*/
|
|
196
204
|
snippet?: string | null;
|
|
197
205
|
}
|
|
198
|
-
|
|
199
|
-
* Single message in conversation history
|
|
200
|
-
*/
|
|
201
|
-
export interface IConversationHistoryMessage<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
202
|
-
/**
|
|
203
|
-
* Unique identifier for the message
|
|
204
|
-
*/
|
|
206
|
+
export interface IConversationMessage<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
205
207
|
message_id: string;
|
|
206
|
-
/**
|
|
207
|
-
* When the message was received
|
|
208
|
-
*/
|
|
209
|
-
received_at: string;
|
|
210
|
-
/**
|
|
211
|
-
* The user's input/question
|
|
212
|
-
*/
|
|
213
|
-
input: string;
|
|
214
|
-
/**
|
|
215
|
-
* When the AI response was created
|
|
216
|
-
*/
|
|
217
|
-
created_at: string;
|
|
218
|
-
/**
|
|
219
|
-
* The AI's answer
|
|
220
|
-
*/
|
|
221
208
|
answer: string;
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
*/
|
|
225
|
-
sources: IAnswerSource[];
|
|
226
|
-
/**
|
|
227
|
-
* Additional data associated with the message
|
|
228
|
-
*/
|
|
209
|
+
role: 'user' | 'bot';
|
|
210
|
+
input: string;
|
|
229
211
|
additionalData?: T;
|
|
230
212
|
}
|
|
231
213
|
/**
|
|
232
214
|
* Response type for conversation history requests
|
|
233
215
|
*/
|
|
234
|
-
export type IConversationHistoryResponse<T extends Record<string, unknown> = Record<string, unknown>> =
|
|
216
|
+
export type IConversationHistoryResponse<T extends Record<string, unknown> = Record<string, unknown>> = IConversationMessage<T>[] | null;
|
|
217
|
+
export interface IConversation {
|
|
218
|
+
id: string;
|
|
219
|
+
title: string;
|
|
220
|
+
}
|
|
235
221
|
export interface IErrorMessageResponse {
|
|
236
222
|
error: any;
|
|
237
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client-common.d.ts","sourceRoot":"","sources":["../../../../../packages/ai-client-common/src/lib/ai-client-common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,OAAO;IACjD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,aAAa,EAAE,cAAc,CAAC;IAE9B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrF;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-client-common.d.ts","sourceRoot":"","sources":["../../../../../packages/ai-client-common/src/lib/ai-client-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client-common.js","sourceRoot":"","sources":["../../../../../packages/ai-client-common/src/lib/ai-client-common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ai-client-common.js","sourceRoot":"","sources":["../../../../../packages/ai-client-common/src/lib/ai-client-common.ts"],"names":[],"mappings":";;;AAgHA;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACtC,YACS,MAAc,EACd,UAAkB,EACzB,OAAe,EACR,IAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QALR,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAElB,SAAI,GAAJ,IAAI,CAAU;QAGrB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAVD,sCAUC;AAWD,MAAa,uBAAwB,SAAQ,aAAa;IACxD,YAAmB,gBAAoC;QACrD,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;QAD7D,qBAAgB,GAAhB,gBAAgB,CAAoB;QAErD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AALD,0DAKC"}
|