@zimtsui/typechat 0.0.125 → 0.0.127

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 (119) hide show
  1. package/build/adaptor.d.ts +0 -10
  2. package/build/adaptor.js +0 -32
  3. package/build/adaptor.js.map +1 -1
  4. package/build/engine/exceptions.d.ts +7 -7
  5. package/build/engine/exceptions.js.map +1 -1
  6. package/build/engine/message-validator.d.ts +9 -0
  7. package/build/engine/message-validator.js +28 -0
  8. package/build/engine/message-validator.js.map +1 -0
  9. package/build/engine/message.d.ts +33 -31
  10. package/build/engine/message.js +26 -75
  11. package/build/engine/message.js.map +1 -1
  12. package/build/engine/middleware.d.ts +2 -2
  13. package/build/engine/session.d.ts +4 -4
  14. package/build/engine/tool-choice-validator.d.ts +2 -2
  15. package/build/engine/tool-choice-validator.js +18 -21
  16. package/build/engine/tool-choice-validator.js.map +1 -1
  17. package/build/engine/transport.d.ts +2 -2
  18. package/build/engine.d.ts +11 -11
  19. package/build/engine.js +29 -56
  20. package/build/engine.js.map +1 -1
  21. package/build/engines/anthropic/message-codec.d.ts +9 -5
  22. package/build/engines/anthropic/message-codec.js +37 -35
  23. package/build/engines/anthropic/message-codec.js.map +1 -1
  24. package/build/engines/anthropic/tool-codec.d.ts +3 -3
  25. package/build/engines/anthropic/tool-codec.js +45 -14
  26. package/build/engines/anthropic/tool-codec.js.map +1 -1
  27. package/build/engines/anthropic/transport.d.ts +1 -2
  28. package/build/engines/anthropic/transport.js +5 -2
  29. package/build/engines/anthropic/transport.js.map +1 -1
  30. package/build/engines/anthropic.d.ts +0 -3
  31. package/build/engines/anthropic.js +1 -8
  32. package/build/engines/anthropic.js.map +1 -1
  33. package/build/engines/google/message-codec.d.ts +10 -7
  34. package/build/engines/google/message-codec.js +50 -70
  35. package/build/engines/google/message-codec.js.map +1 -1
  36. package/build/engines/google/tool-codec.d.ts +2 -3
  37. package/build/engines/google/tool-codec.js +51 -22
  38. package/build/engines/google/tool-codec.js.map +1 -1
  39. package/build/engines/google/transport.d.ts +1 -8
  40. package/build/engines/google/transport.js +1 -13
  41. package/build/engines/google/transport.js.map +1 -1
  42. package/build/engines/google.d.ts +3 -25
  43. package/build/engines/google.js +1 -124
  44. package/build/engines/google.js.map +1 -1
  45. package/build/engines/openai-chatcompletions/message-codec.d.ts +11 -7
  46. package/build/engines/openai-chatcompletions/message-codec.js +45 -45
  47. package/build/engines/openai-chatcompletions/message-codec.js.map +1 -1
  48. package/build/engines/openai-chatcompletions/tool-codec.d.ts +3 -3
  49. package/build/engines/openai-chatcompletions/tool-codec.js +31 -31
  50. package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -1
  51. package/build/engines/openai-chatcompletions/transport.d.ts +2 -2
  52. package/build/engines/openai-chatcompletions/transport.js +16 -13
  53. package/build/engines/openai-chatcompletions/transport.js.map +1 -1
  54. package/build/engines/openai-chatcompletions.d.ts +0 -3
  55. package/build/engines/openai-chatcompletions.js +1 -8
  56. package/build/engines/openai-chatcompletions.js.map +1 -1
  57. package/build/engines/openai-compatible/message-codec.d.ts +14 -5
  58. package/build/engines/openai-compatible/message-codec.js +72 -71
  59. package/build/engines/openai-compatible/message-codec.js.map +1 -1
  60. package/build/engines/openai-compatible/transport.d.ts +3 -6
  61. package/build/engines/openai-compatible/transport.js +10 -8
  62. package/build/engines/openai-compatible/transport.js.map +1 -1
  63. package/build/engines/openai-compatible.d.ts +0 -3
  64. package/build/engines/openai-compatible.js +1 -8
  65. package/build/engines/openai-compatible.js.map +1 -1
  66. package/build/engines/openai-responses/message-codec.d.ts +12 -5
  67. package/build/engines/openai-responses/message-codec.js +72 -88
  68. package/build/engines/openai-responses/message-codec.js.map +1 -1
  69. package/build/engines/openai-responses/tool-codec.d.ts +5 -3
  70. package/build/engines/openai-responses/tool-codec.js +43 -28
  71. package/build/engines/openai-responses/tool-codec.js.map +1 -1
  72. package/build/engines/openai-responses/transport.d.ts +2 -6
  73. package/build/engines/openai-responses/transport.js +5 -8
  74. package/build/engines/openai-responses/transport.js.map +1 -1
  75. package/build/engines/openai-responses.d.ts +3 -24
  76. package/build/engines/openai-responses.js +1 -111
  77. package/build/engines/openai-responses.js.map +1 -1
  78. package/build/exports/xml.d.ts +2 -2
  79. package/build/exports/xml.js +2 -2
  80. package/build/exports/xml.js.map +1 -1
  81. package/build/exports.d.ts +1 -5
  82. package/build/exports.js +1 -5
  83. package/build/exports.js.map +1 -1
  84. package/build/function.d.ts +4 -2
  85. package/build/function.js +2 -2
  86. package/build/function.js.map +1 -1
  87. package/build/media.d.ts +2 -2
  88. package/build/media.js +5 -5
  89. package/build/media.js.map +1 -1
  90. package/build/text.d.ts +8 -0
  91. package/build/text.js +11 -0
  92. package/build/text.js.map +1 -0
  93. package/build/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +3 -3
  95. package/DEVELOPMENT.md +0 -11
  96. package/build/engine/parts-validator.d.ts +0 -8
  97. package/build/engine/parts-validator.js +0 -12
  98. package/build/engine/parts-validator.js.map +0 -1
  99. package/build/engines/anthropic/message.d.ts +0 -19
  100. package/build/engines/anthropic/message.js +0 -20
  101. package/build/engines/anthropic/message.js.map +0 -1
  102. package/build/engines/google/message.d.ts +0 -36
  103. package/build/engines/google/message.js +0 -58
  104. package/build/engines/google/message.js.map +0 -1
  105. package/build/engines/openai-chatcompletions/message.d.ts +0 -19
  106. package/build/engines/openai-chatcompletions/message.js +0 -20
  107. package/build/engines/openai-chatcompletions/message.js.map +0 -1
  108. package/build/engines/openai-compatible/message.d.ts +0 -19
  109. package/build/engines/openai-compatible/message.js +0 -20
  110. package/build/engines/openai-compatible/message.js.map +0 -1
  111. package/build/engines/openai-responses/message.d.ts +0 -22
  112. package/build/engines/openai-responses/message.js +0 -38
  113. package/build/engines/openai-responses/message.js.map +0 -1
  114. package/build/engines/openai-responses/tool-choice-validator.d.ts +0 -11
  115. package/build/engines/openai-responses/tool-choice-validator.js +0 -50
  116. package/build/engines/openai-responses/tool-choice-validator.js.map +0 -1
  117. package/build/engines/openai-responses/tool.d.ts +0 -53
  118. package/build/engines/openai-responses/tool.js +0 -24
  119. package/build/engines/openai-responses/tool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/engines/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AAQxD,MAAM,KAAW,eAAe,CA4C/B;AA5CD,WAAiB,eAAe;IAC5B,MAAa,QAEX,SAAQ,MAAM,CAAC,QAAa;QAMG;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAoB;QAChC,OAAO,CAAU;QACR,SAAS,CAAiB;QAE7C,YAA6B,OAA4B;YACrD,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAAqB;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAA,SAAS,CAAC;gBAC3B,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;QACP,CAAC;QAEe,KAAK;YACjB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC7D,MAAM,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ;IAjCY,wBAAQ,WAiCpB,CAAA;IAED,SAAgB,YAAY,CAE1B,OAA4B;QAC1B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAJe,4BAAY,eAI3B,CAAA;IAEa,yBAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IACtC,2BAAW,GAAG,aAAa,CAAC,WAAW,CAAC;AAC1D,CAAC,EA5CgB,eAAe,KAAf,eAAe,QA4C/B"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/engines/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAM5D,MAAM,KAAW,eAAe,CAqC/B;AArCD,WAAiB,eAAe;IAC5B,MAAa,QAEX,SAAQ,MAAM,CAAC,QAAa;QAMG;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAoB;QAChC,OAAO,CAAU;QACR,SAAS,CAAiB;QAE7C,YAA6B,OAA4B;YACrD,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAAqB;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAA,SAAS,CAAC;gBAC3B,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACtC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;QACP,CAAC;KACJ;IA3BY,wBAAQ,WA2BpB,CAAA;IAED,SAAgB,YAAY,CAE1B,OAA4B;QAC1B,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAJe,4BAAY,eAI3B,CAAA;IAEa,yBAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AACxD,CAAC,EArCgB,eAAe,KAAf,eAAe,QAqC/B"}
@@ -1,21 +1,24 @@
1
- import { RoleMessage } from './message.ts';
2
1
  import { Engine } from '../../engine.ts';
3
2
  import { Function } from '../../function.ts';
4
3
  import * as Google from '@google/genai';
5
4
  import { type ToolCodec } from './tool-codec.ts';
6
5
  export declare class MessageCodec<fdm extends Function.Decl.Map.Proto> {
6
+ protected cacheDeveloperMessages: WeakMap<Engine.Message.Developer, Google.Content>;
7
+ protected cacheInputMessages: WeakMap<Engine.Message.Input<Function.Decl.Proto>, Google.Content>;
8
+ protected cacheOutputMessages: WeakMap<Engine.Message.Output<Function.Decl.Proto>, Google.Content>;
7
9
  protected toolCodec: ToolCodec<fdm>;
8
- protected codeExecution: boolean;
10
+ protected messageValidator: Engine.MessageValidator.From<fdm>;
9
11
  constructor(options: MessageCodec.Options<fdm>);
10
- encodeAiMessage(aiMessage: Engine.RoleMessage.Ai.From<fdm>): Google.Content;
12
+ encodeOutputMessage(outm: Engine.Message.Output.From<fdm>): Google.Content;
11
13
  encodeChatMessages(chatMessages: Engine.Session.ChatMessage.From<fdm>[]): Google.Content[];
12
- encodeUserMessage(userMessage: Engine.RoleMessage.User.From<fdm>): Google.Content;
13
- encodeDeveloperMessage(developerMessage: Engine.RoleMessage.Developer): Google.Content;
14
- decodeAiMessage(content: Google.Content): RoleMessage.Ai.From<fdm>;
14
+ encodeChatMessage(chatMessage: Engine.Session.ChatMessage.From<fdm>): Google.Content;
15
+ encodeInputMessage(inm: Engine.Message.Input.From<fdm>): Google.Content;
16
+ encodeDeveloperMessage(developerMessage: Engine.Message.Developer): Google.Content;
17
+ decodeOutputMessage(content: Google.Content): Engine.Message.Output.From<fdm>;
15
18
  }
16
19
  export declare namespace MessageCodec {
17
20
  interface Options<in out fdm extends Function.Decl.Map.Proto> {
18
21
  toolCodec: ToolCodec<fdm>;
19
- codeExecution: boolean;
22
+ messageValidator: Engine.MessageValidator.From<fdm>;
20
23
  }
21
24
  }
@@ -1,58 +1,46 @@
1
- import { RoleMessage } from "./message.js";
2
1
  import { Engine } from "../../engine.js";
3
2
  import { Function } from "../../function.js";
4
3
  import * as Google from '@google/genai';
5
4
  import { Media } from "../../media.js";
5
+ import { Text } from "../../text.js";
6
6
  export class MessageCodec {
7
+ cacheDeveloperMessages = new WeakMap();
8
+ cacheInputMessages = new WeakMap();
9
+ cacheOutputMessages = new WeakMap();
7
10
  toolCodec;
8
- codeExecution;
11
+ messageValidator;
9
12
  constructor(options) {
10
13
  this.toolCodec = options.toolCodec;
11
- this.codeExecution = options.codeExecution;
14
+ this.messageValidator = options.messageValidator;
12
15
  }
13
- encodeAiMessage(aiMessage) {
14
- if (aiMessage instanceof RoleMessage.Ai) {
15
- const nativeAiMessage = aiMessage;
16
- return nativeAiMessage.getRaw();
17
- }
18
- else {
19
- const apiParts = [];
20
- for (const part of aiMessage.getParts()) {
21
- if (part instanceof RoleMessage.Part.Text) {
22
- apiParts.push(Google.createPartFromText(part.text));
23
- }
24
- else if (part instanceof Function.Call) {
25
- const fc = part;
26
- if (fc.args instanceof Object) { }
27
- else
28
- throw new Error();
29
- apiParts.push(Google.createPartFromFunctionCall(fc.name, fc.args));
30
- }
31
- else
32
- throw new Error('Unknown AI message part type', { cause: part });
33
- }
34
- return Google.createModelContent(apiParts);
35
- }
16
+ encodeOutputMessage(outm) {
17
+ if (this.cacheOutputMessages.has(outm))
18
+ return this.cacheOutputMessages.get(outm);
19
+ throw new Error('Only native output message allowed.', { cause: outm });
36
20
  }
37
21
  encodeChatMessages(chatMessages) {
38
- return chatMessages.map(chatMessage => {
39
- if (chatMessage instanceof Engine.RoleMessage.User) {
40
- const userMessage = chatMessage;
41
- return this.encodeUserMessage(userMessage);
42
- }
43
- else if (chatMessage instanceof Engine.RoleMessage.Ai) {
44
- const aiMessage = chatMessage;
45
- return this.encodeAiMessage(aiMessage);
46
- }
47
- else
48
- throw new Error();
49
- });
22
+ return chatMessages.map(chatMessage => this.encodeChatMessage(chatMessage));
50
23
  }
51
- encodeUserMessage(userMessage) {
24
+ encodeChatMessage(chatMessage) {
25
+ if (chatMessage instanceof Engine.Message.Input) {
26
+ const inm = chatMessage;
27
+ return this.encodeInputMessage(inm);
28
+ }
29
+ else if (chatMessage instanceof Engine.Message.Output) {
30
+ const outm = chatMessage;
31
+ return this.encodeOutputMessage(outm);
32
+ }
33
+ else
34
+ throw new Error();
35
+ }
36
+ encodeInputMessage(inm) {
37
+ if (this.cacheInputMessages.has(inm))
38
+ return this.cacheInputMessages.get(inm);
39
+ this.messageValidator.validateInputMessage(inm);
52
40
  const apiParts = [];
53
- for (const part of userMessage.getParts()) {
54
- if (part instanceof Engine.RoleMessage.Part.Text)
55
- apiParts.push(Google.createPartFromText(part.text));
41
+ for (const part of inm.parts) {
42
+ if (part instanceof Text)
43
+ apiParts.push(Google.createPartFromText(part.raw));
56
44
  else if (part instanceof Function.Response) {
57
45
  const fr = part;
58
46
  apiParts.push(this.toolCodec.encodeFunctionResponse(fr));
@@ -67,45 +55,37 @@ export class MessageCodec {
67
55
  throw new Error('Unknown user message part type', { cause: part });
68
56
  }
69
57
  ;
70
- return Google.createUserContent(apiParts);
58
+ const raw = Google.createUserContent(apiParts);
59
+ this.cacheInputMessages.set(inm, raw);
60
+ return raw;
71
61
  }
72
62
  encodeDeveloperMessage(developerMessage) {
73
- const parts = developerMessage.getOnlyTextParts().map(part => Google.createPartFromText(part.text));
74
- return { parts };
63
+ if (this.cacheDeveloperMessages.has(developerMessage))
64
+ return this.cacheDeveloperMessages.get(developerMessage);
65
+ const parts = developerMessage.getOnlyTextParts().map(part => Google.createPartFromText(part.raw));
66
+ const raw = { parts };
67
+ this.cacheDeveloperMessages.set(developerMessage, raw);
68
+ return raw;
75
69
  }
76
- decodeAiMessage(content) {
70
+ decodeOutputMessage(content) {
77
71
  if (content.parts) { }
78
72
  else
79
73
  throw new Error();
80
74
  const parts = [];
81
75
  for (const part of content.parts) {
82
- if (part.text)
83
- parts.push(new RoleMessage.Part.Text(part.text));
76
+ if (part.text !== undefined)
77
+ parts.push(new Text(part.text));
84
78
  if (part.functionCall)
85
79
  parts.push(this.toolCodec.decodeFunctionCall(part.functionCall));
86
- if (part.executableCode) {
87
- if (this.codeExecution) { }
88
- else
89
- throw new Engine.Exceptions.InferenceError('Unexpected code execution', { cause: content });
90
- if (part.executableCode.code) { }
91
- else
92
- throw new Error();
93
- if (part.executableCode.language) { }
94
- else
95
- throw new Error();
96
- parts.push(new RoleMessage.Ai.Part.ExecutableCode(part.executableCode.code, part.executableCode.language === Google.Language.LANGUAGE_UNSPECIFIED ? undefined : part.executableCode.language));
97
- }
98
- if (part.codeExecutionResult) {
99
- if (this.codeExecution) { }
100
- else
101
- throw new Engine.Exceptions.InferenceError('Unexpected code execution result', { cause: content });
102
- if (part.codeExecutionResult.outcome) { }
103
- else
104
- throw new Error();
105
- parts.push(new RoleMessage.Ai.Part.CodeExecutionResult(part.codeExecutionResult.outcome, part.codeExecutionResult.output));
106
- }
80
+ if (part.executableCode)
81
+ throw new Error('Executable code is not supported.', { cause: part });
82
+ if (part.codeExecutionResult)
83
+ throw new Error('Code execution result is not supported.', { cause: part });
107
84
  }
108
- return new RoleMessage.Ai(parts, content);
85
+ const outm = new Engine.Message.Output(parts);
86
+ this.messageValidator.validateOutputMessage(outm);
87
+ this.cacheOutputMessages.set(outm, content);
88
+ return outm;
109
89
  }
110
90
  }
111
91
  //# sourceMappingURL=message-codec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,MAAM,OAAO,YAAY;IAGX,SAAS,CAAiB;IAC1B,aAAa,CAAU;IACjC,YAAmB,OAAkC;QACjD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,CAAC;IAEM,eAAe,CAClB,SAA0C;QAE1C,IAAI,SAAS,YAAY,WAAW,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,SAAqC,CAAC;YAC9D,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;aACI,CAAC;YACF,MAAM,QAAQ,GAAuB,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACtC,IAAI,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,CAAC;qBAAM,IAAI,IAAI,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACvC,MAAM,EAAE,GAAG,IAA+B,CAAC;oBAC3C,IAAI,EAAE,CAAC,IAAI,YAAY,MAAM,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;oBACzD,QAAQ,CAAC,IAAI,CACT,MAAM,CAAC,0BAA0B,CAC7B,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,IAAsC,CAC5C,CACJ,CAAC;gBACN,CAAC;;oBAAM,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAEM,kBAAkB,CACrB,YAAoD;QAEpD,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YAClC,IAAI,WAAW,YAAY,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACjD,MAAM,WAAW,GAAG,WAAgD,CAAC;gBACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,WAAW,YAAY,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,WAA8C,CAAC;gBACjE,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;;gBACI,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,iBAAiB,CACpB,WAA8C;QAE9C,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,YAAY,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;gBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACnD,IAAI,IAAI,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,EAAE,GAAG,IAAmC,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;iBACI,IAAI,IAAI,YAAY,KAAK,CAAC,GAAG;gBAC9B,QAAQ,CAAC,IAAI,CACT,MAAM,CAAC,oBAAoB,CACvB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EACnC,MAAM,CAAC,wBAAwB,CAAC,uBAAuB,CAC1D,CACJ,CAAC;iBACD,IAAI,IAAI,YAAY,KAAK,CAAC,KAAK;gBAChC,QAAQ,CAAC,IAAI,CACT,MAAM,CAAC,oBAAoB,CACvB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EACnC,MAAM,CAAC,wBAAwB,CAAC,qBAAqB,CACxD,CACJ,CAAC;iBACD,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI;gBAC/B,QAAQ,CAAC,IAAI,CACT,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAC1C,CAAC;;gBACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAA,CAAC;QACF,OAAO,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,sBAAsB,CACzB,gBAA8C;QAE9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,OAAO,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC;IAEM,eAAe,CAClB,OAAuB;QAEvB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY;gBACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC5H,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBACxD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,EACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CACnH,CAAC,CAAC;YACP,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnI,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/H,CAAC;QACL,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACJ"}
1
+ {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/engines/google/message-codec.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,11 @@ import { Function } from '../../function.ts';
2
2
  import * as Google from '@google/genai';
3
3
  export declare class ToolCodec<in out fdm extends Function.Decl.Map.Proto> {
4
4
  protected fdm: fdm;
5
- protected apiFds: Google.FunctionDeclaration[];
5
+ protected rawfds: Google.FunctionDeclaration[];
6
6
  constructor(options: ToolCodec.Options<fdm>);
7
- encodeFunctionCall(fc: Function.Call.From<fdm>): Google.FunctionCall;
8
7
  encodeFunctionDeclarationMap(): Google.FunctionDeclaration[];
9
8
  protected static encodeFunctionDeclarationEntry<fdu extends Function.Decl.Proto>(fdentry: Function.Decl.Entry.Of<fdu>): Google.FunctionDeclaration;
10
- decodeFunctionCall(googlefc: Google.FunctionCall): Function.Call.From<fdm>;
9
+ decodeFunctionCall(rawfc: Google.FunctionCall): Function.Call.From<fdm>;
11
10
  encodeFunctionResponse(fr: Function.Response.From<fdm>): Google.Part;
12
11
  }
13
12
  export declare namespace ToolCodec {
@@ -2,23 +2,19 @@ import { Function } from "../../function.js";
2
2
  import { Parse, ParseError } from 'typebox/schema';
3
3
  import { removeAdditionalProperties } from "../../function/parameters.js";
4
4
  import { Engine } from "../../engine.js";
5
+ import assert from 'node:assert';
6
+ import { Text } from "../../text.js";
7
+ import { Media } from "../../media.js";
5
8
  export class ToolCodec {
6
9
  fdm;
7
- apiFds;
10
+ rawfds;
8
11
  constructor(options) {
9
12
  this.fdm = options.fdm;
10
13
  const fdentries = Object.entries(this.fdm);
11
- this.apiFds = fdentries.map(fdentry => ToolCodec.encodeFunctionDeclarationEntry(fdentry));
12
- }
13
- encodeFunctionCall(fc) {
14
- return {
15
- id: fc.id,
16
- name: fc.name,
17
- args: fc.args,
18
- };
14
+ this.rawfds = fdentries.map(fdentry => ToolCodec.encodeFunctionDeclarationEntry(fdentry));
19
15
  }
20
16
  encodeFunctionDeclarationMap() {
21
- return this.apiFds.slice();
17
+ return this.rawfds.slice();
22
18
  }
23
19
  static encodeFunctionDeclarationEntry(fdentry) {
24
20
  return {
@@ -27,16 +23,16 @@ export class ToolCodec {
27
23
  parameters: removeAdditionalProperties(fdentry[1].parameters),
28
24
  };
29
25
  }
30
- decodeFunctionCall(googlefc) {
31
- if (googlefc.name) { }
26
+ decodeFunctionCall(rawfc) {
27
+ if (rawfc.name) { }
32
28
  else
33
29
  throw new Error();
34
- const fditem = this.fdm[googlefc.name];
30
+ const fditem = this.fdm[rawfc.name];
35
31
  if (fditem) { }
36
32
  else
37
- throw new Engine.Exceptions.InferenceError('Unknown function call', { cause: googlefc });
33
+ throw new Engine.Exceptions.InferenceError('Unknown function call', { cause: rawfc });
38
34
  try {
39
- Parse(fditem.parameters, googlefc.args);
35
+ Parse(fditem.parameters, rawfc.args);
40
36
  }
41
37
  catch (e) {
42
38
  if (e instanceof ParseError)
@@ -45,16 +41,49 @@ export class ToolCodec {
45
41
  throw e;
46
42
  }
47
43
  return Function.Call.of({
48
- id: googlefc.id,
49
- name: googlefc.name,
50
- args: googlefc.args,
44
+ id: rawfc.id,
45
+ name: rawfc.name,
46
+ args: rawfc.args,
51
47
  });
52
48
  }
53
49
  encodeFunctionResponse(fr) {
54
- if (fr instanceof Function.Response.Successful)
55
- return {
56
- functionResponse: { id: fr.id, name: fr.name, response: { output: fr.text } },
57
- };
50
+ if (fr instanceof Function.Response.Successful) {
51
+ assert(fr.parts.length === 1);
52
+ if (fr.parts[0] instanceof Text) {
53
+ const text = fr.parts[0];
54
+ return {
55
+ functionResponse: { id: fr.id, name: fr.name, response: { output: text.raw } },
56
+ };
57
+ }
58
+ else if (fr.parts[0] instanceof Media.Text) {
59
+ const media = fr.parts[0];
60
+ return {
61
+ functionResponse: { id: fr.id, name: fr.name, response: { output: media.quote() } },
62
+ };
63
+ }
64
+ else if (fr.parts[0] instanceof Media.Image || fr.parts[0] instanceof Media.Pdf) {
65
+ const media = fr.parts[0];
66
+ return {
67
+ functionResponse: {
68
+ id: fr.id, name: fr.name,
69
+ parts: [{
70
+ inlineData: {
71
+ data: String(media),
72
+ mimeType: String(media.mimeType),
73
+ displayName: 'media',
74
+ },
75
+ }],
76
+ response: {
77
+ output: {
78
+ $ref: 'media',
79
+ },
80
+ },
81
+ },
82
+ };
83
+ }
84
+ else
85
+ throw new Error('Unsupported function response part.', { cause: fr.parts[0] });
86
+ }
58
87
  else if (fr instanceof Function.Response.Failed)
59
88
  return {
60
89
  functionResponse: { id: fr.id, name: fr.name, response: { error: fr.error } },
@@ -1 +1 @@
1
- {"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-codec.js","sourceRoot":"","sources":["../../../src/engines/google/tool-codec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { type InferenceOptions, type ProviderSpecs, Engine } from '../../engine.ts';
2
- import { RoleMessage } from './message.ts';
3
2
  import { Function } from '../../function.ts';
4
3
  import { type InferenceContext } from '../../inference-context.ts';
5
4
  import { Throttle } from '../../throttle.ts';
@@ -14,14 +13,11 @@ export declare class Transport<in out fdm extends Function.Decl.Map.Proto> imple
14
13
  protected fdm: fdm;
15
14
  protected throttle: Throttle;
16
15
  protected toolChoice: ToolChoice;
17
- protected codeExecution: boolean;
18
- protected urlContext: boolean;
19
- protected googleSearch: boolean;
20
16
  protected messageCodec: MessageCodec<fdm>;
21
17
  protected toolCodec: ToolCodec<fdm>;
22
18
  protected billing: Billing;
23
19
  constructor(options: GoogleNativeTransport.Options<fdm>);
24
- fetch(wfctx: InferenceContext, session: Engine.Session.From<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm>>;
20
+ fetch(wfctx: InferenceContext, session: Engine.Session.From<fdm>, signal?: AbortSignal): Promise<Engine.Message.Output.From<fdm>>;
25
21
  }
26
22
  export declare namespace GoogleNativeTransport {
27
23
  interface Options<in out fdm extends Function.Decl.Map.Proto> {
@@ -30,9 +26,6 @@ export declare namespace GoogleNativeTransport {
30
26
  fdm: fdm;
31
27
  throttle: Throttle;
32
28
  toolChoice: ToolChoice;
33
- codeExecution: boolean;
34
- urlContext: boolean;
35
- googleSearch: boolean;
36
29
  messageCodec: MessageCodec<fdm>;
37
30
  toolCodec: ToolCodec<fdm>;
38
31
  billing: Billing;
@@ -11,9 +11,6 @@ export class Transport {
11
11
  fdm;
12
12
  throttle;
13
13
  toolChoice;
14
- codeExecution;
15
- urlContext;
16
- googleSearch;
17
14
  messageCodec;
18
15
  toolCodec;
19
16
  billing;
@@ -24,9 +21,6 @@ export class Transport {
24
21
  this.fdm = options.fdm;
25
22
  this.throttle = options.throttle;
26
23
  this.toolChoice = options.toolChoice;
27
- this.codeExecution = options.codeExecution;
28
- this.urlContext = options.urlContext;
29
- this.googleSearch = options.googleSearch;
30
24
  this.messageCodec = options.messageCodec;
31
25
  this.toolCodec = options.toolCodec;
32
26
  this.billing = options.billing;
@@ -40,12 +34,6 @@ export class Transport {
40
34
  const apiTools = [];
41
35
  if (apiFds.length)
42
36
  apiTools.push({ functionDeclarations: apiFds });
43
- if (this.urlContext)
44
- apiTools.push({ urlContext: {} });
45
- if (this.googleSearch)
46
- apiTools.push({ googleSearch: {} });
47
- if (this.codeExecution)
48
- apiTools.push({ codeExecution: {} });
49
37
  const apiToolConfig = {};
50
38
  if (apiFds.length)
51
39
  apiToolConfig.functionCallingConfig = ChoiceCodec.encode(this.toolChoice);
@@ -119,7 +107,7 @@ export class Transport {
119
107
  loggers.message.info(part.codeExecutionResult.output);
120
108
  }
121
109
  wfctx.cost?.(this.billing.charge(response.usageMetadata));
122
- return this.messageCodec.decodeAiMessage(response.candidates[0].content);
110
+ return this.messageCodec.decodeOutputMessage(response.candidates[0].content);
123
111
  }
124
112
  }
125
113
  //# sourceMappingURL=transport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/google/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/engines/google/transport.ts"],"names":[],"mappings":"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"}
@@ -4,39 +4,17 @@ import { MessageCodec } from './google/message-codec.ts';
4
4
  import { ToolCodec } from './google/tool-codec.ts';
5
5
  import { Billing } from './google/billing.ts';
6
6
  import * as TransportModule from './google/transport.ts';
7
- import { InferenceContext } from '../inference-context.ts';
8
- import * as MessageModule from './google/message.ts';
9
7
  export type GoogleEngine<fdm extends Function.Decl.Map.Proto> = GoogleEngine.Instance<fdm>;
10
8
  export declare namespace GoogleEngine {
11
9
  class Instance<in out fdm extends Function.Decl.Map.Proto> extends Engine.Instance<fdm> {
12
- protected options: GoogleEngine.Options<fdm>;
10
+ protected options: Engine.Options<fdm>;
13
11
  protected toolCodec: ToolCodec<fdm>;
14
12
  protected messageCodec: MessageCodec<fdm>;
15
13
  protected billing: Billing;
16
14
  protected transport: Transport<fdm>;
17
- protected toolChoiceValidator: Engine.ToolChoiceValidator.From<fdm>;
18
- protected codeExecution: boolean;
19
- protected urlContext: boolean;
20
- protected googleSearch: boolean;
21
- constructor(options: GoogleEngine.Options<fdm>);
22
- protected infer(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
23
- clone(): GoogleEngine<fdm>;
24
- stateless(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
25
- stateful(wfctx: InferenceContext, session: Engine.Session.From<fdm>): Promise<RoleMessage.Ai.From<fdm>>;
26
- useStateless(middleware: Engine.Middleware.From<fdm>): GoogleEngine<fdm>;
27
- useStateful(middleware: Engine.Middleware.From<fdm>): GoogleEngine<fdm>;
28
- /**
29
- * @param session mutable
30
- */
31
- agentloop(wfctx: InferenceContext, session: Engine.Session.From<fdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
15
+ constructor(options: Engine.Options<fdm>);
32
16
  }
33
- interface Options<in out fdm extends Function.Decl.Map.Proto> extends Engine.Options<fdm> {
34
- codeExecution?: boolean;
35
- urlContext?: boolean;
36
- googleSearch?: boolean;
37
- }
38
- function create<fdm extends Function.Decl.Map.Proto>(options: GoogleEngine.Options<fdm>): GoogleEngine<fdm>;
17
+ function create<fdm extends Function.Decl.Map.Proto>(options: Engine.Options<fdm>): GoogleEngine<fdm>;
39
18
  function createEngine<fdm extends Function.Decl.Map.Proto>(options: Engine.Options<fdm>): Engine<fdm>;
40
- export import RoleMessage = MessageModule.RoleMessage;
41
19
  export import Transport = TransportModule.Transport;
42
20
  }