@celljs/ai-core 3.3.0 → 3.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/lib/common/chat/metadata/chat-generation-metadata.d.ts.map +1 -1
- package/lib/common/chat/metadata/chat-generation-metadata.js.map +1 -1
- package/lib/common/chat/metadata/metadata-protocol.d.ts +19 -5
- package/lib/common/chat/metadata/metadata-protocol.d.ts.map +1 -1
- package/lib/common/chat/metadata/metadata-protocol.js +72 -2
- package/lib/common/chat/metadata/metadata-protocol.js.map +1 -1
- package/lib/common/chat/model/chat-protocol.d.ts +7 -0
- package/lib/common/chat/model/chat-protocol.d.ts.map +1 -1
- package/lib/common/chat/model/chat-protocol.js +16 -1
- package/lib/common/chat/model/chat-protocol.js.map +1 -1
- package/lib/common/model/function/function-protocol.d.ts +3 -0
- package/lib/common/model/function/function-protocol.d.ts.map +1 -1
- package/lib/common/model/function/function-protocol.js +8 -0
- package/lib/common/model/function/function-protocol.js.map +1 -1
- package/lib/common/sse/line-decoder.d.ts.map +1 -1
- package/lib/common/sse/line-decoder.js.map +1 -1
- package/lib/common/sse/sse-decoder.d.ts +3 -3
- package/lib/common/sse/sse-decoder.d.ts.map +1 -1
- package/lib/common/sse/sse-decoder.js.map +1 -1
- package/lib/common/sse/sse-protocol.d.ts +3 -3
- package/lib/common/sse/sse-protocol.d.ts.map +1 -1
- package/lib/common/utils/sse-util.d.ts +2 -1
- package/lib/common/utils/sse-util.d.ts.map +1 -1
- package/lib/common/utils/sse-util.js +5 -1
- package/lib/common/utils/sse-util.js.map +1 -1
- package/package.json +5 -5
- package/src/common/chat/metadata/metadata-protocol.ts +85 -8
- package/src/common/chat/model/chat-protocol.ts +13 -0
- package/src/common/model/function/function-protocol.ts +6 -0
- package/src/common/sse/sse-decoder.ts +4 -4
- package/src/common/sse/sse-protocol.ts +3 -3
- package/src/common/utils/sse-util.ts +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-generation-metadata.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/metadata/chat-generation-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAE1D;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"chat-generation-metadata.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/metadata/chat-generation-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAE1D;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,sBAAsB;IAE/B,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAiC;IAErE;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,GAAG,GAAG,sBAAsB;CAK1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-generation-metadata.js","sourceRoot":"","sources":["../../../../src/common/chat/metadata/chat-generation-metadata.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chat-generation-metadata.js","sourceRoot":"","sources":["../../../../src/common/chat/metadata/chat-generation-metadata.ts"],"names":[],"mappings":";;;AAmBA,MAAa,sBAAsB;IAI/B;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAE,qBAA2B;QAC1D,OAAO;YACH,YAAY,EAAE,qBAAqB;SACtC,CAAC;IACN,CAAC;;AAhBL,wDAiBC;AAfU,4BAAK,GAA2B,sBAAsB,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -19,6 +19,9 @@ export interface Usage {
|
|
|
19
19
|
*/
|
|
20
20
|
readonly totalTokens: number;
|
|
21
21
|
}
|
|
22
|
+
export declare namespace Usage {
|
|
23
|
+
function from(promptTokens: number, generationTokens: number): Usage;
|
|
24
|
+
}
|
|
22
25
|
/**
|
|
23
26
|
* Abstract Data Type (ADT) encapsulating metadata from an AI provider's API rate limits
|
|
24
27
|
* granted to the API key in use and the API key's current balance.
|
|
@@ -90,21 +93,32 @@ export declare namespace PromptMetadata {
|
|
|
90
93
|
function findByPromptIndex(promptMetadata: PromptMetadata, promptIndex: number): PromptFilterMetadata | undefined;
|
|
91
94
|
}
|
|
92
95
|
export interface ChatResponseMetadata extends ResponseMetadata {
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
id?: string;
|
|
97
|
+
model?: string;
|
|
95
98
|
/**
|
|
96
99
|
* AI provider specific metadata on rate limits.
|
|
97
100
|
* @see RateLimit
|
|
98
101
|
*/
|
|
99
|
-
|
|
102
|
+
rateLimit: RateLimit;
|
|
100
103
|
/**
|
|
101
104
|
* AI provider specific metadata on API usage.
|
|
102
105
|
* @see Usage
|
|
103
106
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
107
|
+
usage: Usage;
|
|
108
|
+
promptMetadata: PromptMetadata;
|
|
109
|
+
}
|
|
110
|
+
export declare class ChatResponseMetadataBuilder {
|
|
111
|
+
private readonly chatResponseMetadata;
|
|
112
|
+
id(id: string): ChatResponseMetadataBuilder;
|
|
113
|
+
model(model: string): ChatResponseMetadataBuilder;
|
|
114
|
+
rateLimit(rateLimit: RateLimit): ChatResponseMetadataBuilder;
|
|
115
|
+
usage(usage: Usage): ChatResponseMetadataBuilder;
|
|
116
|
+
promptMetadata(promptMetadata: PromptMetadata): ChatResponseMetadataBuilder;
|
|
117
|
+
keyValue(key: string, value: any): ChatResponseMetadataBuilder;
|
|
118
|
+
build(): ChatResponseMetadata;
|
|
106
119
|
}
|
|
107
120
|
export declare namespace ChatResponseMetadata {
|
|
108
121
|
const EMPTY: ChatResponseMetadata;
|
|
122
|
+
function builder(): ChatResponseMetadataBuilder;
|
|
109
123
|
}
|
|
110
124
|
//# sourceMappingURL=metadata-protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/metadata/metadata-protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,KAAK;IAElB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAEhC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEtB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAEhC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAEzC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAErC;AAED;;;GAGG;AACH,oBAAY,cAAc,GAAG,oBAAoB,EAAE,CAAC;AAEpD,yBAAiB,cAAc,CAAC;IAC5B;;;;;;OAMG;IACH,SAAgB,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAOvH;CACJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,
|
|
1
|
+
{"version":3,"file":"metadata-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/metadata/metadata-protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,KAAK;IAElB;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAEhC;AAED,yBAAiB,KAAK,CAAC;IACnB,SAAgB,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,KAAK,CAE1E;CACJ;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEtB;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAEhC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG;IAEzC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAErC;AAED;;;GAGG;AACH,oBAAY,cAAc,GAAG,oBAAoB,EAAE,CAAC;AAEpD,yBAAiB,cAAc,CAAC;IAC5B;;;;;;OAMG;IACH,SAAgB,iBAAiB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAOvH;CACJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb,cAAc,EAAE,cAAc,CAAC;CAElC;AAED,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAkBnC;IAEF,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,2BAA2B;IAK3C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,2BAA2B;IAKjD,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,2BAA2B;IAK5D,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,2BAA2B;IAKhD,cAAc,CAAC,cAAc,EAAE,cAAc,GAAG,2BAA2B;IAK3E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,2BAA2B;IAW9D,KAAK,IAAI,oBAAoB;CAIhC;AAED,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,KAAK,EAAE,oBAkBnB,CAAC;IAEF,SAAgB,OAAO,IAAI,2BAA2B,CAErD;CACJ"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChatResponseMetadata = exports.PromptMetadata = void 0;
|
|
3
|
+
exports.ChatResponseMetadata = exports.ChatResponseMetadataBuilder = exports.PromptMetadata = exports.Usage = void 0;
|
|
4
4
|
const core_1 = require("@celljs/core");
|
|
5
|
+
var Usage;
|
|
6
|
+
(function (Usage) {
|
|
7
|
+
function from(promptTokens, generationTokens) {
|
|
8
|
+
return { promptTokens, generationTokens, totalTokens: promptTokens + generationTokens };
|
|
9
|
+
}
|
|
10
|
+
Usage.from = from;
|
|
11
|
+
})(Usage = exports.Usage || (exports.Usage = {}));
|
|
5
12
|
var PromptMetadata;
|
|
6
13
|
(function (PromptMetadata) {
|
|
7
14
|
/**
|
|
@@ -19,9 +26,67 @@ var PromptMetadata;
|
|
|
19
26
|
}
|
|
20
27
|
PromptMetadata.findByPromptIndex = findByPromptIndex;
|
|
21
28
|
})(PromptMetadata = exports.PromptMetadata || (exports.PromptMetadata = {}));
|
|
29
|
+
class ChatResponseMetadataBuilder {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.chatResponseMetadata = {
|
|
32
|
+
id: '',
|
|
33
|
+
model: '',
|
|
34
|
+
rateLimit: {
|
|
35
|
+
requestsLimit: 0,
|
|
36
|
+
requestsRemaining: 0,
|
|
37
|
+
requestsReset: 0,
|
|
38
|
+
tokensLimit: 0,
|
|
39
|
+
tokensRemaining: 0,
|
|
40
|
+
tokensReset: 0
|
|
41
|
+
},
|
|
42
|
+
usage: {
|
|
43
|
+
promptTokens: 0,
|
|
44
|
+
generationTokens: 0,
|
|
45
|
+
totalTokens: 0
|
|
46
|
+
},
|
|
47
|
+
promptMetadata: [],
|
|
48
|
+
extra: {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
id(id) {
|
|
52
|
+
this.chatResponseMetadata.id = id;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
model(model) {
|
|
56
|
+
this.chatResponseMetadata.model = model;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
rateLimit(rateLimit) {
|
|
60
|
+
this.chatResponseMetadata.rateLimit = rateLimit;
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
usage(usage) {
|
|
64
|
+
this.chatResponseMetadata.usage = usage;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
promptMetadata(promptMetadata) {
|
|
68
|
+
this.chatResponseMetadata.promptMetadata = promptMetadata;
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
keyValue(key, value) {
|
|
72
|
+
if (!key) {
|
|
73
|
+
throw new core_1.IllegalArgumentError('Key must not be empty');
|
|
74
|
+
}
|
|
75
|
+
if (value) {
|
|
76
|
+
this.chatResponseMetadata.extra[key] = value;
|
|
77
|
+
}
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
build() {
|
|
81
|
+
return this.chatResponseMetadata;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.ChatResponseMetadataBuilder = ChatResponseMetadataBuilder;
|
|
22
85
|
var ChatResponseMetadata;
|
|
23
86
|
(function (ChatResponseMetadata) {
|
|
24
87
|
ChatResponseMetadata.EMPTY = {
|
|
88
|
+
id: '',
|
|
89
|
+
model: '',
|
|
25
90
|
rateLimit: {
|
|
26
91
|
requestsLimit: 0,
|
|
27
92
|
requestsRemaining: 0,
|
|
@@ -35,7 +100,12 @@ var ChatResponseMetadata;
|
|
|
35
100
|
generationTokens: 0,
|
|
36
101
|
totalTokens: 0
|
|
37
102
|
},
|
|
38
|
-
promptMetadata: []
|
|
103
|
+
promptMetadata: [],
|
|
104
|
+
extra: {}
|
|
39
105
|
};
|
|
106
|
+
function builder() {
|
|
107
|
+
return new ChatResponseMetadataBuilder();
|
|
108
|
+
}
|
|
109
|
+
ChatResponseMetadata.builder = builder;
|
|
40
110
|
})(ChatResponseMetadata = exports.ChatResponseMetadata || (exports.ChatResponseMetadata = {}));
|
|
41
111
|
//# sourceMappingURL=metadata-protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-protocol.js","sourceRoot":"","sources":["../../../../src/common/chat/metadata/metadata-protocol.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;
|
|
1
|
+
{"version":3,"file":"metadata-protocol.js","sourceRoot":"","sources":["../../../../src/common/chat/metadata/metadata-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model, ModelResponse, ModelResult, StreamingModel } from '../../model/model-protocol';
|
|
2
2
|
import { AssistantMessage } from '../message';
|
|
3
|
+
import { ChatGenerationMetadata, ChatResponseMetadata } from '../metadata';
|
|
3
4
|
import { Prompt } from '../prompt/prompt-protocol';
|
|
4
5
|
export declare const StreamingChatModel: unique symbol;
|
|
5
6
|
export declare const ChatModel: unique symbol;
|
|
@@ -10,6 +11,12 @@ export interface Generation extends ModelResult<AssistantMessage> {
|
|
|
10
11
|
}
|
|
11
12
|
export interface ChatResponse extends ModelResponse<Generation> {
|
|
12
13
|
}
|
|
14
|
+
export declare namespace Generation {
|
|
15
|
+
function from(output: AssistantMessage, metadata?: ChatGenerationMetadata): Generation;
|
|
16
|
+
}
|
|
17
|
+
export declare namespace ChatResponse {
|
|
18
|
+
function from(results: Generation[], metadata?: ChatResponseMetadata): ChatResponse;
|
|
19
|
+
}
|
|
13
20
|
export interface StreamingChatModel extends StreamingModel<Prompt, ChatResponse> {
|
|
14
21
|
}
|
|
15
22
|
export interface ChatModel extends Model<Prompt, ChatResponse>, StreamingChatModel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/model/chat-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,SAAS,eAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,gBAAgB,CAAC;CAEhE;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa,CAAC,UAAU,CAAC;CAE9D;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;CAE/E;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,kBAAkB;CAEjF"}
|
|
1
|
+
{"version":3,"file":"chat-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/model/chat-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,eAAO,MAAM,SAAS,eAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,WAAW,CAAC,gBAAgB,CAAC;CAEhE;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa,CAAC,UAAU,CAAC;CAE9D;AAED,yBAAiB,UAAU,CAAC;IACxB,SAAgB,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,yBAA+B,GAAG,UAAU,CAElG;CACJ;AAED,yBAAiB,YAAY,CAAC;IAC1B,SAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,uBAA6B,GAAG,YAAY,CAE/F;CACJ;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC;CAE/E;AAED,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,kBAAkB;CAEjF"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChatModel = exports.StreamingChatModel = void 0;
|
|
3
|
+
exports.ChatResponse = exports.Generation = exports.ChatModel = exports.StreamingChatModel = void 0;
|
|
4
|
+
const metadata_1 = require("../metadata");
|
|
4
5
|
exports.StreamingChatModel = Symbol('StreamingChatModel');
|
|
5
6
|
exports.ChatModel = Symbol('ChatModel');
|
|
7
|
+
var Generation;
|
|
8
|
+
(function (Generation) {
|
|
9
|
+
function from(output, metadata = metadata_1.ChatGenerationMetadata.EMPTY) {
|
|
10
|
+
return { output, metadata };
|
|
11
|
+
}
|
|
12
|
+
Generation.from = from;
|
|
13
|
+
})(Generation = exports.Generation || (exports.Generation = {}));
|
|
14
|
+
var ChatResponse;
|
|
15
|
+
(function (ChatResponse) {
|
|
16
|
+
function from(results, metadata = metadata_1.ChatResponseMetadata.EMPTY) {
|
|
17
|
+
return { result: results[0], results, metadata };
|
|
18
|
+
}
|
|
19
|
+
ChatResponse.from = from;
|
|
20
|
+
})(ChatResponse = exports.ChatResponse || (exports.ChatResponse = {}));
|
|
6
21
|
//# sourceMappingURL=chat-protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-protocol.js","sourceRoot":"","sources":["../../../../src/common/chat/model/chat-protocol.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chat-protocol.js","sourceRoot":"","sources":["../../../../src/common/chat/model/chat-protocol.ts"],"names":[],"mappings":";;;AAEA,0CAA2E;AAG9D,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClD,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAa7C,IAAiB,UAAU,CAI1B;AAJD,WAAiB,UAAU;IACvB,SAAgB,IAAI,CAAC,MAAwB,EAAE,QAAQ,GAAG,iCAAsB,CAAC,KAAK;QAClF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAFe,eAAI,OAEnB,CAAA;AACL,CAAC,EAJgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAI1B;AAED,IAAiB,YAAY,CAI5B;AAJD,WAAiB,YAAY;IACzB,SAAgB,IAAI,CAAC,OAAqB,EAAE,QAAQ,GAAG,+BAAoB,CAAC,KAAK;QAC7E,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;IAFe,iBAAI,OAEnB,CAAA;AACL,CAAC,EAJgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAI5B"}
|
|
@@ -42,6 +42,9 @@ export interface FunctionCallingOptions {
|
|
|
42
42
|
*/
|
|
43
43
|
functions: Set<String>;
|
|
44
44
|
}
|
|
45
|
+
export declare namespace FunctionCallingOptions {
|
|
46
|
+
function is(obj: any): obj is FunctionCallingOptions;
|
|
47
|
+
}
|
|
45
48
|
export interface PortableFunctionCallingOptions extends FunctionCallingOptions, ChatOptions {
|
|
46
49
|
}
|
|
47
50
|
//# sourceMappingURL=function-protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/model/function/function-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;OAOG;IACH,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAEpD;AAED,MAAM,WAAW,sBAAsB;IAEnC;;;;;;OAMG;IACH,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB,EAAE,WAAW;CAE1F"}
|
|
1
|
+
{"version":3,"file":"function-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/model/function/function-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;OAOG;IACH,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAEpD;AAED,MAAM,WAAW,sBAAsB;IAEnC;;;;;;OAMG;IACH,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAEtC;;;OAGG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,yBAAiB,sBAAsB,CAAC;IACpC,SAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,sBAAsB,CAE1D;CACJ;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB,EAAE,WAAW;CAE1F"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FunctionCallingOptions = void 0;
|
|
4
|
+
var FunctionCallingOptions;
|
|
5
|
+
(function (FunctionCallingOptions) {
|
|
6
|
+
function is(obj) {
|
|
7
|
+
return obj && obj.functionCallbacks !== undefined && obj.functions !== undefined;
|
|
8
|
+
}
|
|
9
|
+
FunctionCallingOptions.is = is;
|
|
10
|
+
})(FunctionCallingOptions = exports.FunctionCallingOptions || (exports.FunctionCallingOptions = {}));
|
|
3
11
|
//# sourceMappingURL=function-protocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-protocol.js","sourceRoot":"","sources":["../../../../src/common/model/function/function-protocol.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"function-protocol.js","sourceRoot":"","sources":["../../../../src/common/model/function/function-protocol.ts"],"names":[],"mappings":";;;AAsDA,IAAiB,sBAAsB,CAItC;AAJD,WAAiB,sBAAsB;IACnC,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;IACrF,CAAC;IAFe,yBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAItC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-decoder.d.ts","sourceRoot":"","sources":["../../../src/common/sse/line-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC/C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAAU;IAE5B,MAAM,CAAC,QAAQ,CAAC,aAAa,cAA6F;IAC1H,MAAM,CAAC,QAAQ,CAAC,cAAc,SAAsD;;IAOpF,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"line-decoder.d.ts","sourceRoot":"","sources":["../../../src/common/sse/line-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC/C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,UAAU,CAAU;IAE5B,MAAM,CAAC,QAAQ,CAAC,aAAa,cAA6F;IAC1H,MAAM,CAAC,QAAQ,CAAC,cAAc,SAAsD;;IAOpF,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE;IAoC9B,KAAK,IAAI,MAAM,EAAE;CAUpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-decoder.js","sourceRoot":"","sources":["../../../src/common/sse/line-decoder.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAG/C;;GAEG;AACH,MAAa,eAAe;IAOxB;QACI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAY;QACf,IAAI,IAAI,GAAG,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QAED,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;SACb;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SACpB;QAED,IAAI,CAAC,eAAe,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;
|
|
1
|
+
{"version":3,"file":"line-decoder.js","sourceRoot":"","sources":["../../../src/common/sse/line-decoder.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAG/C;;GAEG;AACH,MAAa,eAAe;IAOxB;QACI,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAY;QACf,IAAI,IAAI,GAAG,eAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAE,CAAC;SACb;QAED,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;SACb;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SACpB;QAED,IAAI,CAAC,eAAe,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SACrC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9C,OAAO,EAAE,CAAC;SACb;QAED,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;;AAzDL,0CA0DC;AAtDmB,6BAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1G,8BAAc,GAAG,kDAAkD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventDecoder,
|
|
1
|
+
import { EventDecoder, StreamEvent } from './sse-protocol';
|
|
2
2
|
/**
|
|
3
3
|
* Server-sent event.
|
|
4
4
|
*/
|
|
@@ -7,8 +7,8 @@ export declare class SSEDecoder implements EventDecoder {
|
|
|
7
7
|
private data;
|
|
8
8
|
private chunks;
|
|
9
9
|
constructor();
|
|
10
|
-
protected buildServerSentEvent():
|
|
11
|
-
decode(line: string):
|
|
10
|
+
protected buildServerSentEvent(): StreamEvent<string>;
|
|
11
|
+
decode(line: string): StreamEvent<string> | undefined;
|
|
12
12
|
/**
|
|
13
13
|
* Partitions a string into three parts based on a delimiter.
|
|
14
14
|
* @param str The string to partition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-decoder.d.ts","sourceRoot":"","sources":["../../../src/common/sse/sse-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"sse-decoder.d.ts","sourceRoot":"","sources":["../../../src/common/sse/sse-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;GAEG;AACH,qBAAa,UAAW,YAAW,YAAY;IAC3C,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,MAAM,CAAW;;IAQzB,SAAS,CAAC,oBAAoB,IAAI,WAAW,CAAC,MAAM,CAAC;IAcrD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS;IAqCrD;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAOhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-decoder.js","sourceRoot":"","sources":["../../../src/common/sse/sse-decoder.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,UAAU;IAKnB;QACI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAES,oBAAoB;QAC1B,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"sse-decoder.js","sourceRoot":"","sources":["../../../src/common/sse/sse-decoder.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,UAAU;IAKnB;QACI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAES,oBAAoB;QAC1B,MAAM,GAAG,GAAwB;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,GAAG,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,IAAY;QACf,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvC,OAAO;aACV;YAED,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACtC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO;SACV;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACtC;QAED,MAAM,CAAC,SAAS,EAAE,AAAD,EAAG,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAExE,IAAI,SAAS,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;SAC7B;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAChC;QAED,OAAO;IACX,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,SAAS,CAAC,GAAW,EAAE,SAAiB;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SACxF;QACD,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;CACJ;AAlFD,gCAkFC"}
|
|
@@ -2,16 +2,16 @@ import { Bytes } from '@celljs/core';
|
|
|
2
2
|
/**
|
|
3
3
|
* Server-sent event.
|
|
4
4
|
*/
|
|
5
|
-
export interface
|
|
5
|
+
export interface StreamEvent<Data> {
|
|
6
6
|
event?: string;
|
|
7
|
-
data:
|
|
7
|
+
data: Data;
|
|
8
8
|
raw: string[];
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Decoder for server-sent events.
|
|
12
12
|
*/
|
|
13
13
|
export interface EventDecoder {
|
|
14
|
-
decode(line: string):
|
|
14
|
+
decode(line: string): StreamEvent<string> | undefined;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* Decoder for line-based protocols.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/sse/sse-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"sse-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/sse/sse-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,IAAI;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC;IAC/B,KAAK,IAAI,MAAM,EAAE,CAAC;CACrB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { StreamEvent } from '../sse';
|
|
2
3
|
/**
|
|
3
4
|
* SSE utility class.
|
|
4
5
|
*/
|
|
5
6
|
export declare class SSEUtil {
|
|
6
|
-
static toObservable<
|
|
7
|
+
static toObservable<Data>(readableStream: ReadableStream, controller?: AbortController): Observable<StreamEvent<Data>>;
|
|
7
8
|
private static handleSSE;
|
|
8
9
|
private static readableStreamAsyncIterable;
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-util.d.ts","sourceRoot":"","sources":["../../../src/common/utils/sse-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sse-util.d.ts","sourceRoot":"","sources":["../../../src/common/utils/sse-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,WAAW,EAA+B,MAAM,QAAQ,CAAC;AAGlE;;GAEG;AACH,qBAAa,OAAO;IAEhB,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAyCtH,OAAO,CAAC,MAAM,CAAC,SAAS;IAsCxB,OAAO,CAAC,MAAM,CAAC,2BAA2B;CA0B7C"}
|
|
@@ -66,7 +66,11 @@ class SSEUtil {
|
|
|
66
66
|
subscriber.error(data.error);
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
subscriber.next(
|
|
69
|
+
subscriber.next({
|
|
70
|
+
event: sse.event,
|
|
71
|
+
data,
|
|
72
|
+
raw: sse.raw
|
|
73
|
+
});
|
|
70
74
|
if (data.done === true) {
|
|
71
75
|
subscriber.complete();
|
|
72
76
|
controller === null || controller === void 0 ? void 0 : controller.abort();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-util.js","sourceRoot":"","sources":["../../../src/common/utils/sse-util.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"sse-util.js","sourceRoot":"","sources":["../../../src/common/utils/sse-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@celljs/ai-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "Core domain for AI programming",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@celljs/core": "3.
|
|
9
|
-
"@celljs/http": "3.
|
|
8
|
+
"@celljs/core": "3.4.0",
|
|
9
|
+
"@celljs/http": "3.4.0",
|
|
10
10
|
"rxjs": "^6.6.0",
|
|
11
11
|
"tslib": "^2.8.0"
|
|
12
12
|
},
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"test": "cell-component test:js"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@celljs/component": "3.
|
|
41
|
+
"@celljs/component": "3.4.0"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "b114f353f7970576de97cc116e9a67a1a60cb686"
|
|
44
44
|
}
|
|
@@ -26,6 +26,12 @@ export interface Usage {
|
|
|
26
26
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
export namespace Usage {
|
|
30
|
+
export function from(promptTokens: number, generationTokens: number): Usage {
|
|
31
|
+
return { promptTokens, generationTokens, totalTokens: promptTokens + generationTokens };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
29
35
|
/**
|
|
30
36
|
* Abstract Data Type (ADT) encapsulating metadata from an AI provider's API rate limits
|
|
31
37
|
* granted to the API key in use and the API key's current balance.
|
|
@@ -118,26 +124,92 @@ export namespace PromptMetadata {
|
|
|
118
124
|
}
|
|
119
125
|
|
|
120
126
|
export interface ChatResponseMetadata extends ResponseMetadata {
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
id?: string;
|
|
128
|
+
model?: string;
|
|
123
129
|
/**
|
|
124
130
|
* AI provider specific metadata on rate limits.
|
|
125
131
|
* @see RateLimit
|
|
126
132
|
*/
|
|
127
|
-
|
|
133
|
+
rateLimit: RateLimit;
|
|
128
134
|
|
|
129
135
|
/**
|
|
130
136
|
* AI provider specific metadata on API usage.
|
|
131
137
|
* @see Usage
|
|
132
138
|
*/
|
|
133
|
-
|
|
139
|
+
usage: Usage;
|
|
134
140
|
|
|
135
|
-
|
|
141
|
+
promptMetadata: PromptMetadata;
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export class ChatResponseMetadataBuilder {
|
|
146
|
+
|
|
147
|
+
private readonly chatResponseMetadata: ChatResponseMetadata = {
|
|
148
|
+
id: '',
|
|
149
|
+
model: '',
|
|
150
|
+
rateLimit: {
|
|
151
|
+
requestsLimit: 0,
|
|
152
|
+
requestsRemaining: 0,
|
|
153
|
+
requestsReset: 0,
|
|
154
|
+
tokensLimit: 0,
|
|
155
|
+
tokensRemaining: 0,
|
|
156
|
+
tokensReset: 0
|
|
157
|
+
},
|
|
158
|
+
usage: {
|
|
159
|
+
promptTokens: 0,
|
|
160
|
+
generationTokens: 0,
|
|
161
|
+
totalTokens: 0
|
|
162
|
+
},
|
|
163
|
+
promptMetadata: [] as PromptMetadata,
|
|
164
|
+
extra: {}
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
id(id: string): ChatResponseMetadataBuilder {
|
|
168
|
+
this.chatResponseMetadata.id = id;
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
model(model: string): ChatResponseMetadataBuilder {
|
|
173
|
+
this.chatResponseMetadata.model = model;
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
rateLimit(rateLimit: RateLimit): ChatResponseMetadataBuilder {
|
|
178
|
+
this.chatResponseMetadata.rateLimit = rateLimit;
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
usage(usage: Usage): ChatResponseMetadataBuilder {
|
|
183
|
+
this.chatResponseMetadata.usage = usage;
|
|
184
|
+
return this;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
promptMetadata(promptMetadata: PromptMetadata): ChatResponseMetadataBuilder {
|
|
188
|
+
this.chatResponseMetadata.promptMetadata = promptMetadata;
|
|
189
|
+
return this;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
keyValue(key: string, value: any): ChatResponseMetadataBuilder {
|
|
193
|
+
if (!key) {
|
|
194
|
+
throw new IllegalArgumentError('Key must not be empty');
|
|
195
|
+
}
|
|
196
|
+
if (value) {
|
|
197
|
+
this.chatResponseMetadata.extra[key] = value;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return this;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
build(): ChatResponseMetadata {
|
|
204
|
+
return this.chatResponseMetadata;
|
|
205
|
+
}
|
|
136
206
|
|
|
137
207
|
}
|
|
138
208
|
|
|
139
209
|
export namespace ChatResponseMetadata {
|
|
140
|
-
export const EMPTY = {
|
|
210
|
+
export const EMPTY: ChatResponseMetadata = {
|
|
211
|
+
id: '',
|
|
212
|
+
model: '',
|
|
141
213
|
rateLimit: {
|
|
142
214
|
requestsLimit: 0,
|
|
143
215
|
requestsRemaining: 0,
|
|
@@ -151,6 +223,11 @@ export namespace ChatResponseMetadata {
|
|
|
151
223
|
generationTokens: 0,
|
|
152
224
|
totalTokens: 0
|
|
153
225
|
},
|
|
154
|
-
promptMetadata: [] as PromptMetadata
|
|
155
|
-
|
|
226
|
+
promptMetadata: [] as PromptMetadata,
|
|
227
|
+
extra: {}
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export function builder(): ChatResponseMetadataBuilder {
|
|
231
|
+
return new ChatResponseMetadataBuilder();
|
|
232
|
+
}
|
|
156
233
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model, ModelResponse, ModelResult, StreamingModel } from '../../model/model-protocol';
|
|
2
2
|
import { AssistantMessage } from '../message';
|
|
3
|
+
import { ChatGenerationMetadata, ChatResponseMetadata } from '../metadata';
|
|
3
4
|
import { Prompt } from '../prompt/prompt-protocol';
|
|
4
5
|
|
|
5
6
|
export const StreamingChatModel = Symbol('StreamingChatModel');
|
|
@@ -16,6 +17,18 @@ export interface ChatResponse extends ModelResponse<Generation> {
|
|
|
16
17
|
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
export namespace Generation {
|
|
21
|
+
export function from(output: AssistantMessage, metadata = ChatGenerationMetadata.EMPTY): Generation {
|
|
22
|
+
return { output, metadata };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export namespace ChatResponse {
|
|
27
|
+
export function from(results: Generation[], metadata = ChatResponseMetadata.EMPTY): ChatResponse {
|
|
28
|
+
return { result: results[0], results, metadata };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
19
32
|
export interface StreamingChatModel extends StreamingModel<Prompt, ChatResponse> {
|
|
20
33
|
|
|
21
34
|
}
|
|
@@ -52,6 +52,12 @@ export interface FunctionCallingOptions {
|
|
|
52
52
|
functions: Set<String>;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
export namespace FunctionCallingOptions {
|
|
56
|
+
export function is(obj: any): obj is FunctionCallingOptions {
|
|
57
|
+
return obj && obj.functionCallbacks !== undefined && obj.functions !== undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
55
61
|
export interface PortableFunctionCallingOptions extends FunctionCallingOptions, ChatOptions {
|
|
56
62
|
|
|
57
63
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventDecoder,
|
|
1
|
+
import { EventDecoder, StreamEvent } from './sse-protocol';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Server-sent event.
|
|
@@ -14,8 +14,8 @@ export class SSEDecoder implements EventDecoder {
|
|
|
14
14
|
this.chunks = [];
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
protected buildServerSentEvent():
|
|
18
|
-
const sse:
|
|
17
|
+
protected buildServerSentEvent(): StreamEvent<string> {
|
|
18
|
+
const sse: StreamEvent<string> = {
|
|
19
19
|
event: this.event,
|
|
20
20
|
data: this.data.join('\n'),
|
|
21
21
|
raw: this.chunks,
|
|
@@ -28,7 +28,7 @@ export class SSEDecoder implements EventDecoder {
|
|
|
28
28
|
return sse;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
decode(line: string):
|
|
31
|
+
decode(line: string): StreamEvent<string> | undefined {
|
|
32
32
|
if (line.endsWith('\r')) {
|
|
33
33
|
line = line.substring(0, line.length - 1);
|
|
34
34
|
}
|
|
@@ -3,9 +3,9 @@ import { Bytes } from '@celljs/core';
|
|
|
3
3
|
/**
|
|
4
4
|
* Server-sent event.
|
|
5
5
|
*/
|
|
6
|
-
export interface
|
|
6
|
+
export interface StreamEvent<Data> {
|
|
7
7
|
event?: string;
|
|
8
|
-
data:
|
|
8
|
+
data: Data;
|
|
9
9
|
raw: string[];
|
|
10
10
|
};
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ export interface ServerSentEvent {
|
|
|
13
13
|
* Decoder for server-sent events.
|
|
14
14
|
*/
|
|
15
15
|
export interface EventDecoder {
|
|
16
|
-
decode(line: string):
|
|
16
|
+
decode(line: string): StreamEvent<string> | undefined;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable, Subscriber } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { StreamEvent, SSEDecoder, LineDecoderImpl } from '../sse';
|
|
3
3
|
import { Bytes } from '@celljs/core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -7,8 +7,8 @@ import { Bytes } from '@celljs/core';
|
|
|
7
7
|
*/
|
|
8
8
|
export class SSEUtil {
|
|
9
9
|
|
|
10
|
-
static toObservable<
|
|
11
|
-
return new Observable<
|
|
10
|
+
static toObservable<Data>(readableStream: ReadableStream, controller?: AbortController): Observable<StreamEvent<Data>> {
|
|
11
|
+
return new Observable<StreamEvent<Data>>(subscriber => {
|
|
12
12
|
(async () => {
|
|
13
13
|
const decoder = new SSEDecoder();
|
|
14
14
|
const lineDecoder = new LineDecoderImpl();
|
|
@@ -48,7 +48,7 @@ export class SSEUtil {
|
|
|
48
48
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
private static handleSSE<Item>(sse:
|
|
51
|
+
private static handleSSE<Item>(sse: StreamEvent<string> | undefined, subscriber: Subscriber<StreamEvent<Item>>, controller?: AbortController): void {
|
|
52
52
|
if (sse) {
|
|
53
53
|
if (sse.data.startsWith('[DONE]')) {
|
|
54
54
|
subscriber.complete();
|
|
@@ -72,7 +72,11 @@ export class SSEUtil {
|
|
|
72
72
|
return;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
subscriber.next(
|
|
75
|
+
subscriber.next({
|
|
76
|
+
event: sse.event,
|
|
77
|
+
data,
|
|
78
|
+
raw: sse.raw
|
|
79
|
+
});
|
|
76
80
|
|
|
77
81
|
if (data.done === true) {
|
|
78
82
|
subscriber.complete();
|