@celljs/ai-core 3.5.1 → 3.5.3

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.
@@ -59,7 +59,7 @@ export declare enum MessageType {
59
59
  * @see MessageType
60
60
  */
61
61
  export interface Message extends Content {
62
- readonly messageType: MessageType;
62
+ messageType: MessageType;
63
63
  }
64
64
  export declare namespace Message {
65
65
  function isMessage(obj: any): obj is Message;
@@ -1 +1 @@
1
- {"version":3,"file":"message-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/message/message-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IAElB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACpC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC;AAED,yBAAiB,OAAO,CAAC;IACrB,SAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"message-protocol.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/message/message-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IAElB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED;;;GAGG;AACH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAQ,SAAQ,OAAO;IACpC,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,yBAAiB,OAAO,CAAC;IACrB,SAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-chat-model.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/model/proxy-chat-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBACa,cAAe,YAAW,SAAS;IAG5C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpE,SAAS,CAAC,IAAI;IAYd,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;IAkBxE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAK3C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CAK5D"}
1
+ {"version":3,"file":"proxy-chat-model.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/model/proxy-chat-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBACa,cAAe,YAAW,SAAS;IAG5C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAGpE,SAAS,CAAC,IAAI;IAYd,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;IAkBxE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAK3C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CAK5D"}
@@ -29,13 +29,13 @@ let ProxyChatModel = ProxyChatModel_1 = class ProxyChatModel {
29
29
  if (!model.includes(':')) {
30
30
  throw new core_1.IllegalArgumentError('Invalid model name format. Expected "<provider>:<model-name>".');
31
31
  }
32
- const [provider, modelName] = model.split(':');
32
+ const [provider, ...modelName] = model.split(':');
33
33
  const chatModel = this.chatModelMap.get(provider);
34
34
  if (!chatModel) {
35
35
  throw new core_1.IllegalArgumentError(`Chat model provider "${provider}" not found.`);
36
36
  }
37
37
  const newPrompt = prompt.copy();
38
- newPrompt.options.model = modelName;
38
+ newPrompt.options.model = modelName.join(':');
39
39
  return [chatModel, newPrompt];
40
40
  }
41
41
  call(prompt) {
@@ -51,6 +51,12 @@ tslib_1.__decorate([
51
51
  (0, core_1.Autowired)(chat_protocol_1.ChatModel),
52
52
  tslib_1.__metadata("design:type", Array)
53
53
  ], ProxyChatModel.prototype, "chatModels", void 0);
54
+ tslib_1.__decorate([
55
+ (0, core_1.PostConstruct)(),
56
+ tslib_1.__metadata("design:type", Function),
57
+ tslib_1.__metadata("design:paramtypes", []),
58
+ tslib_1.__metadata("design:returntype", void 0)
59
+ ], ProxyChatModel.prototype, "init", null);
54
60
  ProxyChatModel = ProxyChatModel_1 = tslib_1.__decorate([
55
61
  (0, core_1.Component)(ProxyChatModel_1)
56
62
  ], ProxyChatModel);
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-chat-model.js","sourceRoot":"","sources":["../../../../src/common/chat/model/proxy-chat-model.ts"],"names":[],"mappings":";;;;;AAAA,uCAA0E;AAC1E,mDAA0D;AAKnD,IAAM,cAAc,sBAApB,MAAM,cAAc;IAApB;QAKgB,iBAAY,GAA2B,IAAI,GAAG,EAAE,CAAC;IA0CxE,CAAC;IAxCa,IAAI;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACrC,IAAI,UAAU,IAAI,SAAS,EAAE;gBACzB,aAAa;gBACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,QAAkB,EAAE,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAES,yBAAyB,CAAC,MAAc;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,2BAAoB,CAAC,wCAAwC,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,2BAAoB,CAAC,gEAAgE,CAAC,CAAC;SACpG;QACD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,2BAAoB,CAAC,wBAAwB,QAAQ,cAAc,CAAC,CAAC;SAClF;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;QACpC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,MAAc;QACf,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CAEJ,CAAA;AA7CG;IAAC,IAAA,gBAAS,EAAC,yBAAS,CAAC;;kDACsB;AAHlC,cAAc;IAD1B,IAAA,gBAAS,EAAC,gBAAc,CAAC;GACb,cAAc,CA+C1B;AA/CY,wCAAc"}
1
+ {"version":3,"file":"proxy-chat-model.js","sourceRoot":"","sources":["../../../../src/common/chat/model/proxy-chat-model.ts"],"names":[],"mappings":";;;;;AAAA,uCAAyF;AACzF,mDAA0D;AAKnD,IAAM,cAAc,sBAApB,MAAM,cAAc;IAApB;QAKgB,iBAAY,GAA2B,IAAI,GAAG,EAAE,CAAC;IA2CxE,CAAC;IAxCa,IAAI;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACrC,IAAI,UAAU,IAAI,SAAS,EAAE;gBACzB,aAAa;gBACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,QAAkB,EAAE,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAES,yBAAyB,CAAC,MAAc;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,2BAAoB,CAAC,wCAAwC,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,2BAAoB,CAAC,gEAAgE,CAAC,CAAC;SACpG;QACD,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,2BAAoB,CAAC,wBAAwB,QAAQ,cAAc,CAAC,CAAC;SAClF;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,MAAc;QACf,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CAEJ,CAAA;AA9CG;IAAC,IAAA,gBAAS,EAAC,yBAAS,CAAC;;kDACsB;AAI3C;IAAC,IAAA,oBAAa,GAAE;;;;0CAWf;AAlBQ,cAAc;IAD1B,IAAA,gBAAS,EAAC,gBAAc,CAAC;GACb,cAAc,CAgD1B;AAhDY,wCAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-template.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/prompt/prompt-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAwB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,OAAO,EAA8B,MAAM,YAAY,CAAC;AAEjE,qBACa,kBAAmB,YAAW,cAAc;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAElD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAc3F"}
1
+ {"version":3,"file":"prompt-template.d.ts","sourceRoot":"","sources":["../../../../src/common/chat/prompt/prompt-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAwB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,OAAO,EAA8B,MAAM,YAAY,CAAC;AAEjE,qBACa,kBAAmB,YAAW,cAAc;IAGrD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAElD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMtE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAiB3F"}
@@ -9,13 +9,16 @@ const message_1 = require("../message");
9
9
  let PromptTemplateImpl = class PromptTemplateImpl {
10
10
  async render(template, ctx) {
11
11
  if (ctx === null || ctx === void 0 ? void 0 : ctx.variables) {
12
- return this.expressionHandler.handle(template, ctx, { ignoreSpecialChar: true, bracketBegin: '{', bracketEnd: '}' });
12
+ return this.expressionHandler.handle(template, ctx.variables, { ignoreSpecialChar: true, bracketBegin: '{', bracketEnd: '}' });
13
13
  }
14
14
  return template;
15
15
  }
16
16
  async create(template, ctx) {
17
17
  if (Array.isArray(template)
18
18
  && template.some(message => message_1.Message.isMessage(message))) {
19
+ for (const message of template) {
20
+ message.content = await this.render(message.content, ctx);
21
+ }
19
22
  return new prompt_1.PromptImpl(template, ctx === null || ctx === void 0 ? void 0 : ctx.chatOptions);
20
23
  }
21
24
  else if (typeof template === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-template.js","sourceRoot":"","sources":["../../../../src/common/chat/prompt/prompt-template.ts"],"names":[],"mappings":";;;;AAAA,uCAA6F;AAC7F,uDAAkF;AAClF,qCAAsC;AACtC,wCAAiE;AAG1D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAK3B,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,GAA2B;QACtD,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,EAAE;YAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;SACxH;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,QAA4B,EAAE,GAA2B;QAClE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;eACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACzD;YACE,OAAO,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;SACrD;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAA,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,qBAAW,CAAC,IAAI,EAAE;gBAC5D,OAAO,IAAI,mBAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;aAC7E;iBAAM,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,qBAAW,CAAC,MAAM,EAAE;gBAChD,OAAO,IAAI,mBAAU,CAAC,IAAI,uBAAa,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;aAChG;SACJ;QACD,MAAM,IAAI,2BAAoB,CAAC,yBAAyB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;CACJ,CAAA;AAvBG;IAAC,IAAA,gBAAS,EAAC,wBAAiB,CAAC;;6DAC2B;AAH/C,kBAAkB;IAD9B,IAAA,gBAAS,EAAC,gCAAc,CAAC;GACb,kBAAkB,CAyB9B;AAzBY,gDAAkB"}
1
+ {"version":3,"file":"prompt-template.js","sourceRoot":"","sources":["../../../../src/common/chat/prompt/prompt-template.ts"],"names":[],"mappings":";;;;AAAA,uCAA6F;AAC7F,uDAAkF;AAClF,qCAAsC;AACtC,wCAAiE;AAG1D,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAK3B,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,GAA2B;QACtD,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,EAAE;YAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;SAClI;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,QAA4B,EAAE,GAA2B;QAClE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;eACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACzD;YACE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,OAAO,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC7D;YACD,OAAO,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;SACrD;aAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACrC,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAA,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,qBAAW,CAAC,IAAI,EAAE;gBAC5D,OAAO,IAAI,mBAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;aAC7E;iBAAM,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAK,qBAAW,CAAC,MAAM,EAAE;gBAChD,OAAO,IAAI,mBAAU,CAAC,IAAI,uBAAa,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,CAAC,CAAC;aAChG;SACJ;QACD,MAAM,IAAI,2BAAoB,CAAC,yBAAyB,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;CACJ,CAAA;AA1BG;IAAC,IAAA,gBAAS,EAAC,wBAAiB,CAAC;;6DAC2B;AAH/C,kBAAkB;IAD9B,IAAA,gBAAS,EAAC,gCAAc,CAAC;GACb,kBAAkB,CA4B9B;AA5BY,gDAAkB"}
@@ -129,17 +129,17 @@ export interface Model<TReq extends ModelRequest<any>, TRes extends ModelRespons
129
129
  */
130
130
  export interface Content {
131
131
  /**
132
- * Get the content of the message.
132
+ * The content of the message.
133
133
  */
134
- readonly content: string;
134
+ content: string;
135
135
  /**
136
- * Get the media associated with the content.
136
+ * The media associated with the content.
137
137
  */
138
- readonly media: Media[];
138
+ media: Media[];
139
139
  /**
140
- * return Get the metadata associated with the content.
140
+ * The metadata associated with the content.
141
141
  */
142
- readonly metadata: Record<string, any>;
142
+ metadata: Record<string, any>;
143
143
  }
144
144
  /**
145
145
  * The StreamingModel interface provides a generic API for invoking an AI models
@@ -1 +1 @@
1
- {"version":3,"file":"model-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/model/model-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,eAAO,MAAM,KAAK,eAAkB,CAAC;AACrC,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;CAAG;AAEhC;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;CAAG;AAElC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CAErC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAElC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC;IAErD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CAEvC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK,CAAC,IAAI,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC;IAElF;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAEtC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IAEpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAE1C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC;IAEhG;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAEzD"}
1
+ {"version":3,"file":"model-protocol.d.ts","sourceRoot":"","sources":["../../../src/common/model/model-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,eAAO,MAAM,KAAK,eAAkB,CAAC;AACrC,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;CAAG;AAEhC;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;CAAG;AAElC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CAErC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAElC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC;IAErD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CAEvC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK,CAAC,IAAI,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC;IAElF;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAEtC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,KAAK,EAAE,CAAC;IAEf;;OAEG;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAElC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,SAAS,aAAa,CAAC,GAAG,CAAC;IAEhG;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAEzD"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@celljs/ai-core",
3
- "version": "3.5.1",
3
+ "version": "3.5.3",
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.5.1",
9
- "@celljs/http": "3.5.1",
8
+ "@celljs/core": "3.5.3",
9
+ "@celljs/http": "3.5.3",
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.5.1"
41
+ "@celljs/component": "3.5.3"
42
42
  },
43
- "gitHead": "ed90939e4770c2f6d18bdd1721ffc58a25828777"
43
+ "gitHead": "76dcaf5e75a306b8f9ba6f01d38d54fdf9000218"
44
44
  }
@@ -67,7 +67,7 @@ export enum MessageType {
67
67
  * @see MessageType
68
68
  */
69
69
  export interface Message extends Content {
70
- readonly messageType: MessageType;
70
+ messageType: MessageType;
71
71
  }
72
72
 
73
73
  export namespace Message {
@@ -1,4 +1,4 @@
1
- import { Autowired, Component, IllegalArgumentError } from '@celljs/core';
1
+ import { Autowired, Component, IllegalArgumentError, PostConstruct } from '@celljs/core';
2
2
  import { ChatModel, ChatResponse } from './chat-protocol';
3
3
  import { Observable } from 'rxjs';
4
4
  import { Prompt } from '../prompt';
@@ -11,6 +11,7 @@ export class ProxyChatModel implements ChatModel {
11
11
 
12
12
  protected readonly chatModelMap: Map<string, ChatModel> = new Map();
13
13
 
14
+ @PostConstruct()
14
15
  protected init() {
15
16
  for (const chatModel of this.chatModels) {
16
17
  if ('provider' in chatModel) {
@@ -31,13 +32,13 @@ export class ProxyChatModel implements ChatModel {
31
32
  if (!model.includes(':')) {
32
33
  throw new IllegalArgumentError('Invalid model name format. Expected "<provider>:<model-name>".');
33
34
  }
34
- const [provider, modelName] = model.split(':');
35
+ const [provider, ...modelName] = model.split(':');
35
36
  const chatModel = this.chatModelMap.get(provider);
36
37
  if (!chatModel) {
37
38
  throw new IllegalArgumentError(`Chat model provider "${provider}" not found.`);
38
39
  }
39
40
  const newPrompt = prompt.copy();
40
- newPrompt.options.model = modelName;
41
+ newPrompt.options.model = modelName.join(':');
41
42
  return [chatModel, newPrompt];
42
43
  }
43
44
 
@@ -11,7 +11,7 @@ export class PromptTemplateImpl implements PromptTemplate {
11
11
 
12
12
  async render(template: string, ctx?: PromptTemplateContext): Promise<string> {
13
13
  if (ctx?.variables) {
14
- return this.expressionHandler.handle(template, ctx, { ignoreSpecialChar: true, bracketBegin: '{', bracketEnd: '}' });
14
+ return this.expressionHandler.handle(template, ctx.variables, { ignoreSpecialChar: true, bracketBegin: '{', bracketEnd: '}' });
15
15
  }
16
16
  return template;
17
17
  }
@@ -19,6 +19,9 @@ export class PromptTemplateImpl implements PromptTemplate {
19
19
  if (Array.isArray(template)
20
20
  && template.some(message => Message.isMessage(message))
21
21
  ) {
22
+ for (const message of template) {
23
+ message.content = await this.render(message.content, ctx);
24
+ }
22
25
  return new PromptImpl(template, ctx?.chatOptions);
23
26
  } else if (typeof template === 'string') {
24
27
  if (!ctx?.messageType || ctx?.messageType === MessageType.USER) {
@@ -150,19 +150,19 @@ export interface Model<TReq extends ModelRequest<any>, TRes extends ModelRespons
150
150
  export interface Content {
151
151
 
152
152
  /**
153
- * Get the content of the message.
153
+ * The content of the message.
154
154
  */
155
- readonly content: string; // TODO consider getText
155
+ content: string; // TODO consider getText
156
156
 
157
157
  /**
158
- * Get the media associated with the content.
158
+ * The media associated with the content.
159
159
  */
160
- readonly media: Media[];
160
+ media: Media[];
161
161
 
162
162
  /**
163
- * return Get the metadata associated with the content.
163
+ * The metadata associated with the content.
164
164
  */
165
- readonly metadata: Record<string, any>;
165
+ metadata: Record<string, any>;
166
166
 
167
167
  }
168
168