@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.
Files changed (32) hide show
  1. package/lib/common/chat/metadata/chat-generation-metadata.d.ts.map +1 -1
  2. package/lib/common/chat/metadata/chat-generation-metadata.js.map +1 -1
  3. package/lib/common/chat/metadata/metadata-protocol.d.ts +19 -5
  4. package/lib/common/chat/metadata/metadata-protocol.d.ts.map +1 -1
  5. package/lib/common/chat/metadata/metadata-protocol.js +72 -2
  6. package/lib/common/chat/metadata/metadata-protocol.js.map +1 -1
  7. package/lib/common/chat/model/chat-protocol.d.ts +7 -0
  8. package/lib/common/chat/model/chat-protocol.d.ts.map +1 -1
  9. package/lib/common/chat/model/chat-protocol.js +16 -1
  10. package/lib/common/chat/model/chat-protocol.js.map +1 -1
  11. package/lib/common/model/function/function-protocol.d.ts +3 -0
  12. package/lib/common/model/function/function-protocol.d.ts.map +1 -1
  13. package/lib/common/model/function/function-protocol.js +8 -0
  14. package/lib/common/model/function/function-protocol.js.map +1 -1
  15. package/lib/common/sse/line-decoder.d.ts.map +1 -1
  16. package/lib/common/sse/line-decoder.js.map +1 -1
  17. package/lib/common/sse/sse-decoder.d.ts +3 -3
  18. package/lib/common/sse/sse-decoder.d.ts.map +1 -1
  19. package/lib/common/sse/sse-decoder.js.map +1 -1
  20. package/lib/common/sse/sse-protocol.d.ts +3 -3
  21. package/lib/common/sse/sse-protocol.d.ts.map +1 -1
  22. package/lib/common/utils/sse-util.d.ts +2 -1
  23. package/lib/common/utils/sse-util.d.ts.map +1 -1
  24. package/lib/common/utils/sse-util.js +5 -1
  25. package/lib/common/utils/sse-util.js.map +1 -1
  26. package/package.json +5 -5
  27. package/src/common/chat/metadata/metadata-protocol.ts +85 -8
  28. package/src/common/chat/model/chat-protocol.ts +13 -0
  29. package/src/common/model/function/function-protocol.ts +6 -0
  30. package/src/common/sse/sse-decoder.ts +4 -4
  31. package/src/common/sse/sse-protocol.ts +3 -3
  32. 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;AAGD,qBAAa,sBAAsB;IAE/B,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAiC;IAGrE;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,GAAG,GAAG,sBAAsB;CAK1F"}
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":";;;AAoBA,MAAa,sBAAsB;IAK/B;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,YAAqB,EAAE,qBAA2B;QAC1D,OAAO;YACH,YAAY,EAAE,qBAAqB;SACtC,CAAC;IACN,CAAC;;AAjBL,wDAkBC;AAhBU,4BAAK,GAA2B,sBAAsB,CAAC,IAAI,EAAE,CAAC"}
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
- readonly id?: string;
94
- readonly model?: string;
96
+ id?: string;
97
+ model?: string;
95
98
  /**
96
99
  * AI provider specific metadata on rate limits.
97
100
  * @see RateLimit
98
101
  */
99
- readonly rateLimit: RateLimit;
102
+ rateLimit: RateLimit;
100
103
  /**
101
104
  * AI provider specific metadata on API usage.
102
105
  * @see Usage
103
106
  */
104
- readonly usage: Usage;
105
- readonly promptMetadata: PromptMetadata;
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,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CAE3C;AAED,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,KAAK,sBAeO,CAAC;CAC7B"}
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;AAqGpD,IAAiB,cAAc,CAgB9B;AAhBD,WAAiB,cAAc;IAC3B;;;;;;OAMG;IACH,SAAgB,iBAAiB,CAAC,cAA8B,EAAE,WAAmB;QAEjF,IAAI,WAAW,GAAG,CAAC,EAAE;YACjB,MAAM,IAAI,2BAAoB,CAAC,iBAAiB,WAAW,mCAAmC,CAAC,CAAC;SACnG;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IACzG,CAAC;IAPe,gCAAiB,oBAOhC,CAAA;AACL,CAAC,EAhBgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAgB9B;AAqBD,IAAiB,oBAAoB,CAiBpC;AAjBD,WAAiB,oBAAoB;IACpB,0BAAK,GAAG;QACjB,SAAS,EAAE;YACP,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,WAAW,EAAE,CAAC;SACjB;QACD,KAAK,EAAE;YACH,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC;SACjB;QACD,cAAc,EAAE,EAAoB;KACf,CAAC;AAC9B,CAAC,EAjBgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAiBpC"}
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":";;;AAIa,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClD,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC"}
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;IAsC9B,KAAK,IAAI,MAAM,EAAE;CAUpB"}
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;IAID,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;;AA3DL,0CA4DC;AAxDmB,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
+ {"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, ServerSentEvent } from './sse-protocol';
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(): ServerSentEvent;
11
- decode(line: string): ServerSentEvent | undefined;
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,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;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,eAAe;IAcjD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAqCjD;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAOhF"}
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,GAAoB;YACzB,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"}
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 ServerSentEvent {
5
+ export interface StreamEvent<Data> {
6
6
  event?: string;
7
- data: string;
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): ServerSentEvent | undefined;
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,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;CACrD;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
+ {"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<Item>(readableStream: ReadableStream, controller?: AbortController): Observable<Item>;
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;AAI9C;;GAEG;AACH,qBAAa,OAAO;IAEhB,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC;IAyCzG,OAAO,CAAC,MAAM,CAAC,SAAS;IAkCxB,OAAO,CAAC,MAAM,CAAC,2BAA2B;CA0B7C"}
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(data);
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":"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"}
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.0",
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.3.0",
9
- "@celljs/http": "3.3.0",
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.3.0"
41
+ "@celljs/component": "3.4.0"
42
42
  },
43
- "gitHead": "6046657df0c1674e13e2e3911559643160f9d94c"
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
- readonly id?: string;
122
- readonly model?: string;
127
+ id?: string;
128
+ model?: string;
123
129
  /**
124
130
  * AI provider specific metadata on rate limits.
125
131
  * @see RateLimit
126
132
  */
127
- readonly rateLimit: RateLimit;
133
+ rateLimit: RateLimit;
128
134
 
129
135
  /**
130
136
  * AI provider specific metadata on API usage.
131
137
  * @see Usage
132
138
  */
133
- readonly usage: Usage;
139
+ usage: Usage;
134
140
 
135
- readonly promptMetadata: PromptMetadata;
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
- } as ChatResponseMetadata;
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, ServerSentEvent } from './sse-protocol';
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(): ServerSentEvent {
18
- const sse: ServerSentEvent = {
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): ServerSentEvent | undefined {
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 ServerSentEvent {
6
+ export interface StreamEvent<Data> {
7
7
  event?: string;
8
- data: string;
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): ServerSentEvent | undefined;
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 { ServerSentEvent, SSEDecoder, LineDecoderImpl } from '../sse';
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<Item>(readableStream: ReadableStream, controller?: AbortController): Observable<Item> {
11
- return new Observable<Item>(subscriber => {
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: ServerSentEvent | undefined, subscriber: Subscriber<Item>, controller?: AbortController): void {
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(data);
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();