@agentica/core 0.23.0 → 0.25.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 (191) hide show
  1. package/README.md +1 -1
  2. package/lib/Agentica.d.ts +7 -2
  3. package/lib/Agentica.js +12 -7
  4. package/lib/Agentica.js.map +1 -1
  5. package/lib/MicroAgentica.d.ts +2 -2
  6. package/lib/MicroAgentica.js +4 -4
  7. package/lib/MicroAgentica.js.map +1 -1
  8. package/lib/context/AgenticaContext.d.ts +6 -2
  9. package/lib/context/MicroAgenticaContext.d.ts +2 -2
  10. package/lib/context/index.d.ts +5 -0
  11. package/lib/{structures/mcp → context}/index.js +5 -1
  12. package/lib/context/index.js.map +1 -0
  13. package/lib/events/AgenticaAssistantMessageEvent.d.ts +9 -0
  14. package/lib/{histories/AgenticaUserInputHistory.js → events/AgenticaAssistantMessageEvent.js} +1 -1
  15. package/lib/events/AgenticaAssistantMessageEvent.js.map +1 -0
  16. package/lib/events/AgenticaEvent.d.ts +9 -9
  17. package/lib/events/AgenticaUserMessageEvent.d.ts +9 -0
  18. package/lib/events/{AgenticaUserInputEvent.js → AgenticaUserMessageEvent.js} +1 -1
  19. package/lib/events/AgenticaUserMessageEvent.js.map +1 -0
  20. package/lib/events/MicroAgenticaEvent.d.ts +6 -6
  21. package/lib/events/index.d.ts +14 -0
  22. package/lib/events/index.js +31 -0
  23. package/lib/events/index.js.map +1 -0
  24. package/lib/factory/events.d.ts +8 -8
  25. package/lib/factory/events.js +23 -38
  26. package/lib/factory/events.js.map +1 -1
  27. package/lib/factory/histories.d.ts +1 -36
  28. package/lib/factory/histories.js +77 -24
  29. package/lib/factory/histories.js.map +1 -1
  30. package/lib/functional/assertHttpController.js +6 -6
  31. package/lib/functional/assertHttpLlmApplication.js +6 -6
  32. package/lib/functional/assertMcpController.d.ts +1 -2
  33. package/lib/functional/assertMcpController.js +6 -6
  34. package/lib/functional/assertMcpController.js.map +1 -1
  35. package/lib/functional/index.d.ts +6 -0
  36. package/lib/functional/index.js +23 -0
  37. package/lib/functional/index.js.map +1 -0
  38. package/lib/functional/validateHttpController.js +5 -5
  39. package/lib/functional/validateHttpLlmApplication.js +5 -5
  40. package/lib/functional/validateMcpController.d.ts +1 -2
  41. package/lib/functional/validateMcpController.js +11 -11
  42. package/lib/functional/validateMcpController.js.map +1 -1
  43. package/lib/histories/{AgenticaTextHistory.d.ts → AgenticaAssistantMessageHistory.d.ts} +1 -2
  44. package/lib/histories/AgenticaAssistantMessageHistory.js +3 -0
  45. package/lib/histories/AgenticaAssistantMessageHistory.js.map +1 -0
  46. package/lib/histories/AgenticaHistory.d.ts +7 -7
  47. package/lib/histories/AgenticaUserMessageHistory.d.ts +6 -0
  48. package/lib/{events/AgenticaTextEvent.js → histories/AgenticaUserMessageHistory.js} +1 -1
  49. package/lib/histories/AgenticaUserMessageHistory.js.map +1 -0
  50. package/lib/histories/MicroAgenticaHistory.d.ts +5 -4
  51. package/lib/histories/contents/AgenticaUserMessageAudioContent.d.ts +19 -0
  52. package/lib/histories/contents/AgenticaUserMessageAudioContent.js +3 -0
  53. package/lib/histories/contents/AgenticaUserMessageAudioContent.js.map +1 -0
  54. package/lib/histories/contents/AgenticaUserMessageContent.d.ts +14 -0
  55. package/lib/histories/{AgenticaTextHistory.js → contents/AgenticaUserMessageContent.js} +1 -1
  56. package/lib/histories/contents/AgenticaUserMessageContent.js.map +1 -0
  57. package/lib/histories/contents/AgenticaUserMessageContentBase.d.ts +6 -0
  58. package/lib/histories/contents/AgenticaUserMessageContentBase.js +3 -0
  59. package/lib/histories/contents/AgenticaUserMessageContentBase.js.map +1 -0
  60. package/lib/histories/contents/AgenticaUserMessageFileContent.d.ts +26 -0
  61. package/lib/histories/contents/AgenticaUserMessageFileContent.js +3 -0
  62. package/lib/histories/contents/AgenticaUserMessageFileContent.js.map +1 -0
  63. package/lib/histories/contents/AgenticaUserMessageImageContent.d.ts +20 -0
  64. package/lib/histories/contents/AgenticaUserMessageImageContent.js +3 -0
  65. package/lib/histories/contents/AgenticaUserMessageImageContent.js.map +1 -0
  66. package/lib/histories/contents/AgenticaUserMessageTextContent.d.ts +14 -0
  67. package/lib/histories/contents/AgenticaUserMessageTextContent.js +3 -0
  68. package/lib/histories/contents/AgenticaUserMessageTextContent.js.map +1 -0
  69. package/lib/histories/contents/index.d.ts +5 -0
  70. package/lib/histories/contents/index.js +22 -0
  71. package/lib/histories/contents/index.js.map +1 -0
  72. package/lib/histories/index.d.ts +9 -0
  73. package/lib/histories/index.js +26 -0
  74. package/lib/histories/index.js.map +1 -0
  75. package/lib/index.d.ts +6 -45
  76. package/lib/index.js +6 -46
  77. package/lib/index.js.map +1 -1
  78. package/lib/index.mjs +155 -135
  79. package/lib/index.mjs.map +1 -1
  80. package/lib/json/IAgenticaEventJson.d.ts +29 -23
  81. package/lib/json/IAgenticaHistoryJson.d.ts +24 -19
  82. package/lib/json/IMicroAgenticaEventJson.d.ts +1 -1
  83. package/lib/json/IMicroAgenticaHistoryJson.d.ts +1 -1
  84. package/lib/json/index.d.ts +7 -0
  85. package/lib/json/index.js +24 -0
  86. package/lib/json/index.js.map +1 -0
  87. package/lib/orchestrate/call.js +4 -4
  88. package/lib/orchestrate/call.js.map +1 -1
  89. package/lib/orchestrate/cancel.js +1 -1
  90. package/lib/orchestrate/cancel.js.map +1 -1
  91. package/lib/orchestrate/initialize.js +4 -4
  92. package/lib/orchestrate/initialize.js.map +1 -1
  93. package/lib/orchestrate/select.js +3 -3
  94. package/lib/orchestrate/select.js.map +1 -1
  95. package/lib/structures/IAgenticaController.d.ts +1 -2
  96. package/lib/structures/index.d.ts +10 -0
  97. package/lib/structures/index.js +27 -0
  98. package/lib/structures/index.js.map +1 -0
  99. package/lib/transformers/transformEvent.d.ts +1 -0
  100. package/lib/transformers/{AgenticaEventTransformer.js → transformEvent.js} +74 -31
  101. package/lib/transformers/transformEvent.js.map +1 -0
  102. package/lib/transformers/transformHistory.d.ts +1 -0
  103. package/lib/transformers/{AgenticaHistoryTransformer.js → transformHistory.js} +24 -23
  104. package/lib/transformers/transformHistory.js.map +1 -0
  105. package/lib/utils/ChatGptCompletionMessageUtil.js +2 -2
  106. package/lib/utils/ChatGptCompletionMessageUtil.spec.d.ts +1 -0
  107. package/lib/utils/ChatGptCompletionMessageUtil.spec.js +288 -0
  108. package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -0
  109. package/lib/utils/ChatGptTokenUsageAggregator.spec.d.ts +1 -0
  110. package/lib/utils/ChatGptTokenUsageAggregator.spec.js +199 -0
  111. package/lib/utils/ChatGptTokenUsageAggregator.spec.js.map +1 -0
  112. package/lib/utils/Singleton.js +18 -0
  113. package/lib/utils/Singleton.js.map +1 -1
  114. package/lib/utils/Singleton.spec.d.ts +1 -0
  115. package/lib/utils/Singleton.spec.js +106 -0
  116. package/lib/utils/Singleton.spec.js.map +1 -0
  117. package/lib/utils/__map_take.spec.d.ts +1 -0
  118. package/lib/utils/__map_take.spec.js +108 -0
  119. package/lib/utils/__map_take.spec.js.map +1 -0
  120. package/package.json +5 -6
  121. package/src/Agentica.ts +25 -10
  122. package/src/MicroAgentica.ts +12 -9
  123. package/src/context/AgenticaContext.ts +7 -2
  124. package/src/context/MicroAgenticaContext.ts +2 -2
  125. package/src/context/index.ts +5 -0
  126. package/src/events/AgenticaAssistantMessageEvent.ts +12 -0
  127. package/src/events/AgenticaEvent.ts +15 -15
  128. package/src/events/AgenticaUserMessageEvent.ts +12 -0
  129. package/src/events/MicroAgenticaEvent.ts +9 -9
  130. package/src/events/index.ts +14 -0
  131. package/src/factory/events.ts +29 -34
  132. package/src/factory/histories.ts +81 -32
  133. package/src/functional/assertMcpController.ts +4 -2
  134. package/src/functional/index.ts +7 -0
  135. package/src/functional/validateMcpController.ts +4 -2
  136. package/src/histories/{AgenticaTextHistory.ts → AgenticaAssistantMessageHistory.ts} +4 -2
  137. package/src/histories/AgenticaHistory.ts +8 -8
  138. package/src/histories/AgenticaUserMessageHistory.ts +11 -0
  139. package/src/histories/MicroAgenticaHistory.ts +6 -5
  140. package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -0
  141. package/src/histories/contents/AgenticaUserMessageContent.ts +19 -0
  142. package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -0
  143. package/src/histories/contents/AgenticaUserMessageFileContent.ts +27 -0
  144. package/src/histories/contents/AgenticaUserMessageImageContent.ts +23 -0
  145. package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -0
  146. package/src/histories/contents/index.ts +5 -0
  147. package/src/histories/index.ts +9 -0
  148. package/src/index.ts +6 -54
  149. package/src/json/IAgenticaEventJson.ts +36 -28
  150. package/src/json/IAgenticaHistoryJson.ts +28 -22
  151. package/src/json/IMicroAgenticaEventJson.ts +2 -1
  152. package/src/json/IMicroAgenticaHistoryJson.ts +2 -1
  153. package/src/json/index.ts +7 -0
  154. package/src/orchestrate/call.ts +8 -8
  155. package/src/orchestrate/cancel.ts +2 -2
  156. package/src/orchestrate/initialize.ts +5 -5
  157. package/src/orchestrate/select.ts +5 -5
  158. package/src/structures/IAgenticaController.ts +4 -2
  159. package/src/structures/index.ts +10 -0
  160. package/src/transformers/{AgenticaEventTransformer.ts → transformEvent.ts} +94 -42
  161. package/src/transformers/{AgenticaHistoryTransformer.ts → transformHistory.ts} +30 -26
  162. package/src/utils/ChatGptCompletionMessageUtil.spec.ts +320 -0
  163. package/src/utils/ChatGptTokenUsageAggregator.spec.ts +226 -0
  164. package/src/utils/Singleton.spec.ts +138 -0
  165. package/src/utils/Singleton.ts +18 -0
  166. package/src/utils/__map_take.spec.ts +140 -0
  167. package/lib/events/AgenticaTextEvent.d.ts +0 -10
  168. package/lib/events/AgenticaTextEvent.js.map +0 -1
  169. package/lib/events/AgenticaUserInputEvent.d.ts +0 -10
  170. package/lib/events/AgenticaUserInputEvent.js.map +0 -1
  171. package/lib/histories/AgenticaTextHistory.js.map +0 -1
  172. package/lib/histories/AgenticaUserInputHistory.d.ts +0 -80
  173. package/lib/histories/AgenticaUserInputHistory.js.map +0 -1
  174. package/lib/structures/mcp/IMcpLlmTransportProps.d.ts +0 -11
  175. package/lib/structures/mcp/IMcpLlmTransportProps.js +0 -3
  176. package/lib/structures/mcp/IMcpLlmTransportProps.js.map +0 -1
  177. package/lib/structures/mcp/index.d.ts +0 -1
  178. package/lib/structures/mcp/index.js.map +0 -1
  179. package/lib/transformers/AgenticaEventTransformer.d.ts +0 -63
  180. package/lib/transformers/AgenticaEventTransformer.js.map +0 -1
  181. package/lib/transformers/AgenticaHistoryTransformer.d.ts +0 -41
  182. package/lib/transformers/AgenticaHistoryTransformer.js.map +0 -1
  183. package/lib/utils/MathUtil.d.ts +0 -3
  184. package/lib/utils/MathUtil.js +0 -8
  185. package/lib/utils/MathUtil.js.map +0 -1
  186. package/src/events/AgenticaTextEvent.ts +0 -12
  187. package/src/events/AgenticaUserInputEvent.ts +0 -12
  188. package/src/histories/AgenticaUserInputHistory.ts +0 -88
  189. package/src/structures/mcp/IMcpLlmTransportProps.ts +0 -13
  190. package/src/structures/mcp/index.ts +0 -1
  191. package/src/utils/MathUtil.ts +0 -3
@@ -9,21 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.AgenticaEventTransformer = void 0;
13
- exports.transformCancel = transformCancel;
12
+ exports.transformEvent = transformEvent;
13
+ exports.transformCall = transformCall;
14
14
  const events_1 = require("../factory/events");
15
15
  const operations_1 = require("../factory/operations");
16
16
  const StreamUtil_1 = require("../utils/StreamUtil");
17
- function findOperation(props) {
18
- var _a;
19
- const found = (_a = props.operations
20
- .get(props.input.controller)) === null || _a === void 0 ? void 0 : _a.get(props.input.function);
21
- if (found === undefined) {
22
- throw new Error(`No operation found: (controller: ${props.input.controller}, function: ${props.input.function})`);
23
- }
24
- return found;
25
- }
26
- function transform(props) {
17
+ /**
18
+ * @internal
19
+ */
20
+ function transformEvent(props) {
27
21
  if (props.event.type === "call") {
28
22
  return transformCall({
29
23
  operations: props.operations,
@@ -62,15 +56,24 @@ function transform(props) {
62
56
  event: props.event,
63
57
  });
64
58
  }
65
- else if (props.event.type === "text") {
66
- return transformText({
59
+ else if (props.event.type === "assistantMessage") {
60
+ return transformAssistantMessage({
67
61
  event: props.event,
68
62
  });
69
63
  }
70
- else {
71
- throw new Error("Unknown event type");
64
+ else if (props.event.type === "userMessage") {
65
+ return transformUserMessage({
66
+ event: props.event,
67
+ });
72
68
  }
69
+ return transformValidateEvent({
70
+ operations: props.operations,
71
+ event: props.event,
72
+ });
73
73
  }
74
+ /**
75
+ * @internal
76
+ */
74
77
  function transformCall(props) {
75
78
  return (0, events_1.createCallEvent)({
76
79
  id: props.event.id,
@@ -81,6 +84,9 @@ function transformCall(props) {
81
84
  arguments: props.event.arguments,
82
85
  });
83
86
  }
87
+ /**
88
+ * @internal
89
+ */
84
90
  function transformCancel(props) {
85
91
  return (0, events_1.createCancelEvent)({
86
92
  selection: (0, operations_1.createOperationSelection)({
@@ -92,6 +98,9 @@ function transformCancel(props) {
92
98
  }),
93
99
  });
94
100
  }
101
+ /**
102
+ * @internal
103
+ */
95
104
  function transformDescribe(props) {
96
105
  return (0, events_1.createDescribeEvent)({
97
106
  executes: props.event.executes.map(next => transformExecute({
@@ -104,6 +113,9 @@ function transformDescribe(props) {
104
113
  join: () => __awaiter(this, void 0, void 0, function* () { return props.event.text; }),
105
114
  });
106
115
  }
116
+ /**
117
+ * @internal
118
+ */
107
119
  function transformExecute(props) {
108
120
  return (0, events_1.createExecuteEvent)({
109
121
  id: props.event.id,
@@ -115,12 +127,21 @@ function transformExecute(props) {
115
127
  value: props.event.value,
116
128
  });
117
129
  }
130
+ /**
131
+ * @internal
132
+ */
118
133
  function transformInitialize() {
119
134
  return (0, events_1.createInitializeEvent)();
120
135
  }
136
+ /**
137
+ * @internal
138
+ */
121
139
  function transformRequest(props) {
122
140
  return (0, events_1.createRequestEvent)(props.event);
123
141
  }
142
+ /**
143
+ * @internal
144
+ */
124
145
  function transformSelect(props) {
125
146
  return (0, events_1.createSelectEvent)({
126
147
  selection: (0, operations_1.createOperationSelection)({
@@ -132,24 +153,46 @@ function transformSelect(props) {
132
153
  }),
133
154
  });
134
155
  }
135
- function transformText(props) {
136
- return (0, events_1.createTextEvent)({
156
+ /**
157
+ * @internal
158
+ */
159
+ function transformAssistantMessage(props) {
160
+ return (0, events_1.creatAssistantEvent)({
137
161
  stream: (0, StreamUtil_1.toAsyncGenerator)(props.event.text),
138
162
  done: () => true,
139
163
  get: () => props.event.text,
140
164
  join: () => __awaiter(this, void 0, void 0, function* () { return props.event.text; }),
141
165
  });
142
166
  }
143
- exports.AgenticaEventTransformer = {
144
- transform,
145
- transformCall,
146
- transformCancel,
147
- transformDescribe,
148
- transformExecute,
149
- transformInitialize,
150
- transformRequest,
151
- transformSelect,
152
- transformText,
153
- findOperation,
154
- };
155
- //# sourceMappingURL=AgenticaEventTransformer.js.map
167
+ /**
168
+ * @internal
169
+ */
170
+ function transformUserMessage(props) {
171
+ return (0, events_1.createUserMessageEvent)(props.event);
172
+ }
173
+ /**
174
+ * @internal
175
+ */
176
+ function transformValidateEvent(props) {
177
+ return (0, events_1.createValidateEvent)({
178
+ id: props.event.id,
179
+ operation: findOperation({
180
+ operations: props.operations,
181
+ input: props.event.operation,
182
+ }),
183
+ result: props.event.result,
184
+ });
185
+ }
186
+ /**
187
+ * @internal
188
+ */
189
+ function findOperation(props) {
190
+ var _a;
191
+ const found = (_a = props.operations
192
+ .get(props.input.controller)) === null || _a === void 0 ? void 0 : _a.get(props.input.function);
193
+ if (found === undefined) {
194
+ throw new Error(`No operation found: (controller: ${props.input.controller}, function: ${props.input.function})`);
195
+ }
196
+ return found;
197
+ }
198
+ //# sourceMappingURL=transformEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformEvent.js","sourceRoot":"","sources":["../../src/transformers/transformEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AgenticaHistoryTransformer = void 0;
3
+ exports.transformHistory = transformHistory;
4
4
  const histories_1 = require("../factory/histories");
5
5
  const operations_1 = require("../factory/operations");
6
- function transform(props) {
7
- // TEXT
8
- if (props.history.type === "text") {
9
- return transformText({
6
+ /**
7
+ * @internal
8
+ */
9
+ function transformHistory(props) {
10
+ // USER
11
+ if (props.history.type === "userMessage") {
12
+ return transformUserMessage({
13
+ history: props.history,
14
+ });
15
+ }
16
+ // ASSISTANT
17
+ else if (props.history.type === "assistantMessage") {
18
+ return transformAssistantMessage({
10
19
  history: props.history,
11
20
  });
12
21
  }
@@ -30,16 +39,16 @@ function transform(props) {
30
39
  history: props.history,
31
40
  });
32
41
  }
33
- else if (props.history.type === "describe") {
34
- return transformDescribe({
35
- operations: props.operations,
36
- history: props.history,
37
- });
38
- }
39
- throw new Error("Invalid prompt type.");
42
+ return transformDescribe({
43
+ operations: props.operations,
44
+ history: props.history,
45
+ });
46
+ }
47
+ function transformAssistantMessage(props) {
48
+ return (0, histories_1.createAssistantMessageHistory)(props.history);
40
49
  }
41
- function transformText(props) {
42
- return (0, histories_1.createTextHistory)(props.history);
50
+ function transformUserMessage(props) {
51
+ return (0, histories_1.createUserMessageHistory)(props.history);
43
52
  }
44
53
  function transformSelect(props) {
45
54
  return (0, histories_1.createSelectHistory)({
@@ -98,12 +107,4 @@ function findOperation(props) {
98
107
  }
99
108
  return found;
100
109
  }
101
- exports.AgenticaHistoryTransformer = {
102
- transform,
103
- transformText,
104
- transformSelect,
105
- transformCancel,
106
- transformExecute,
107
- transformDescribe,
108
- };
109
- //# sourceMappingURL=AgenticaHistoryTransformer.js.map
110
+ //# sourceMappingURL=transformHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformHistory.js","sourceRoot":"","sources":["../../src/transformers/transformHistory.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ const ChatGptTokenUsageAggregator_1 = require("./ChatGptTokenUsageAggregator");
44
44
  function transformCompletionChunk(source) {
45
45
  const str = source instanceof Uint8Array ? ByteArrayUtil_1.ByteArrayUtil.toUtf8(source) : source;
46
46
  const result = JSON.parse(str);
47
- const valid = (() => { const _io0 = input => "string" === typeof input.id && (Array.isArray(input.choices) && input.choices.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && "number" === typeof input.created && "string" === typeof input.model && "chat.completion.chunk" === input.object && (null === input.service_tier || undefined === input.service_tier || "scale" === input.service_tier || "default" === input.service_tier) && (undefined === input.system_fingerprint || "string" === typeof input.system_fingerprint) && (null === input.usage || undefined === input.usage || "object" === typeof input.usage && null !== input.usage && _io9(input.usage)); const _io1 = input => "object" === typeof input.delta && null !== input.delta && false === Array.isArray(input.delta) && _io2(input.delta) && (null === input.finish_reason || "length" === input.finish_reason || "function_call" === input.finish_reason || "stop" === input.finish_reason || "tool_calls" === input.finish_reason || "content_filter" === input.finish_reason) && "number" === typeof input.index && (null === input.logprobs || undefined === input.logprobs || "object" === typeof input.logprobs && null !== input.logprobs && _io6(input.logprobs)); const _io2 = input => (null === input.content || undefined === input.content || "string" === typeof input.content) && (undefined === input.function_call || "object" === typeof input.function_call && null !== input.function_call && false === Array.isArray(input.function_call) && _io3(input.function_call)) && (null === input.refusal || undefined === input.refusal || "string" === typeof input.refusal) && (undefined === input.role || "assistant" === input.role || "user" === input.role || "developer" === input.role || "system" === input.role || "tool" === input.role) && (undefined === input.tool_calls || Array.isArray(input.tool_calls) && input.tool_calls.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io3 = input => (undefined === input.arguments || "string" === typeof input.arguments) && (undefined === input.name || "string" === typeof input.name); const _io4 = input => "number" === typeof input.index && (undefined === input.id || "string" === typeof input.id) && (undefined === input["function"] || "object" === typeof input["function"] && null !== input["function"] && false === Array.isArray(input["function"]) && _io5(input["function"])) && (undefined === input.type || "function" === input.type); const _io5 = input => (undefined === input.arguments || "string" === typeof input.arguments) && (undefined === input.name || "string" === typeof input.name); const _io6 = input => (null === input.content || Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (null === input.refusal || Array.isArray(input.refusal) && input.refusal.every(elem => "object" === typeof elem && null !== elem && _io7(elem))); const _io7 = input => "string" === typeof input.token && (null === input.bytes || Array.isArray(input.bytes) && input.bytes.every(elem => "number" === typeof elem)) && "number" === typeof input.logprob && (Array.isArray(input.top_logprobs) && input.top_logprobs.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "string" === typeof input.token && (null === input.bytes || Array.isArray(input.bytes) && input.bytes.every(elem => "number" === typeof elem)) && "number" === typeof input.logprob; const _io9 = input => "number" === typeof input.completion_tokens && "number" === typeof input.prompt_tokens && "number" === typeof input.total_tokens && (undefined === input.completion_tokens_details || "object" === typeof input.completion_tokens_details && null !== input.completion_tokens_details && false === Array.isArray(input.completion_tokens_details) && _io10(input.completion_tokens_details)) && (undefined === input.prompt_tokens_details || "object" === typeof input.prompt_tokens_details && null !== input.prompt_tokens_details && false === Array.isArray(input.prompt_tokens_details) && _io11(input.prompt_tokens_details)); const _io10 = input => (undefined === input.accepted_prediction_tokens || "number" === typeof input.accepted_prediction_tokens) && (undefined === input.audio_tokens || "number" === typeof input.audio_tokens) && (undefined === input.reasoning_tokens || "number" === typeof input.reasoning_tokens) && (undefined === input.rejected_prediction_tokens || "number" === typeof input.rejected_prediction_tokens); const _io11 = input => (undefined === input.audio_tokens || "number" === typeof input.audio_tokens) && (undefined === input.cached_tokens || "number" === typeof input.cached_tokens); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.id || _report(_exceptionable, {
47
+ const valid = (() => { const _io0 = input => "string" === typeof input.id && (Array.isArray(input.choices) && input.choices.every(elem => "object" === typeof elem && null !== elem && _io1(elem))) && "number" === typeof input.created && "string" === typeof input.model && "chat.completion.chunk" === input.object && (null === input.service_tier || undefined === input.service_tier || "scale" === input.service_tier || "default" === input.service_tier) && (undefined === input.system_fingerprint || "string" === typeof input.system_fingerprint) && (null === input.usage || undefined === input.usage || "object" === typeof input.usage && null !== input.usage && _io9(input.usage)); const _io1 = input => "object" === typeof input.delta && null !== input.delta && false === Array.isArray(input.delta) && _io2(input.delta) && (null === input.finish_reason || "length" === input.finish_reason || "function_call" === input.finish_reason || "stop" === input.finish_reason || "tool_calls" === input.finish_reason || "content_filter" === input.finish_reason) && "number" === typeof input.index && (null === input.logprobs || undefined === input.logprobs || "object" === typeof input.logprobs && null !== input.logprobs && _io6(input.logprobs)); const _io2 = input => (null === input.content || undefined === input.content || "string" === typeof input.content) && (undefined === input.function_call || "object" === typeof input.function_call && null !== input.function_call && false === Array.isArray(input.function_call) && _io3(input.function_call)) && (null === input.refusal || undefined === input.refusal || "string" === typeof input.refusal) && (undefined === input.role || "user" === input.role || "developer" === input.role || "system" === input.role || "assistant" === input.role || "tool" === input.role) && (undefined === input.tool_calls || Array.isArray(input.tool_calls) && input.tool_calls.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io3 = input => (undefined === input.arguments || "string" === typeof input.arguments) && (undefined === input.name || "string" === typeof input.name); const _io4 = input => "number" === typeof input.index && (undefined === input.id || "string" === typeof input.id) && (undefined === input["function"] || "object" === typeof input["function"] && null !== input["function"] && false === Array.isArray(input["function"]) && _io5(input["function"])) && (undefined === input.type || "function" === input.type); const _io5 = input => (undefined === input.arguments || "string" === typeof input.arguments) && (undefined === input.name || "string" === typeof input.name); const _io6 = input => (null === input.content || Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io7(elem))) && (null === input.refusal || Array.isArray(input.refusal) && input.refusal.every(elem => "object" === typeof elem && null !== elem && _io7(elem))); const _io7 = input => "string" === typeof input.token && (null === input.bytes || Array.isArray(input.bytes) && input.bytes.every(elem => "number" === typeof elem)) && "number" === typeof input.logprob && (Array.isArray(input.top_logprobs) && input.top_logprobs.every(elem => "object" === typeof elem && null !== elem && _io8(elem))); const _io8 = input => "string" === typeof input.token && (null === input.bytes || Array.isArray(input.bytes) && input.bytes.every(elem => "number" === typeof elem)) && "number" === typeof input.logprob; const _io9 = input => "number" === typeof input.completion_tokens && "number" === typeof input.prompt_tokens && "number" === typeof input.total_tokens && (undefined === input.completion_tokens_details || "object" === typeof input.completion_tokens_details && null !== input.completion_tokens_details && false === Array.isArray(input.completion_tokens_details) && _io10(input.completion_tokens_details)) && (undefined === input.prompt_tokens_details || "object" === typeof input.prompt_tokens_details && null !== input.prompt_tokens_details && false === Array.isArray(input.prompt_tokens_details) && _io11(input.prompt_tokens_details)); const _io10 = input => (undefined === input.accepted_prediction_tokens || "number" === typeof input.accepted_prediction_tokens) && (undefined === input.audio_tokens || "number" === typeof input.audio_tokens) && (undefined === input.reasoning_tokens || "number" === typeof input.reasoning_tokens) && (undefined === input.rejected_prediction_tokens || "number" === typeof input.rejected_prediction_tokens); const _io11 = input => (undefined === input.audio_tokens || "number" === typeof input.audio_tokens) && (undefined === input.cached_tokens || "number" === typeof input.cached_tokens); const _vo0 = (input, _path, _exceptionable = true) => ["string" === typeof input.id || _report(_exceptionable, {
48
48
  path: _path + ".id",
49
49
  expected: "string",
50
50
  value: input.id
@@ -132,7 +132,7 @@ function transformCompletionChunk(source) {
132
132
  path: _path + ".refusal",
133
133
  expected: "(null | string | undefined)",
134
134
  value: input.refusal
135
- }), undefined === input.role || "assistant" === input.role || "user" === input.role || "developer" === input.role || "system" === input.role || "tool" === input.role || _report(_exceptionable, {
135
+ }), undefined === input.role || "user" === input.role || "developer" === input.role || "system" === input.role || "assistant" === input.role || "tool" === input.role || _report(_exceptionable, {
136
136
  path: _path + ".role",
137
137
  expected: "(\"assistant\" | \"developer\" | \"system\" | \"tool\" | \"user\" | undefined)",
138
138
  value: input.role
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ChatGptCompletionMessageUtil_1 = require("./ChatGptCompletionMessageUtil");
4
+ describe("chatGptCompletionMessageUtil", () => {
5
+ describe("transformCompletionChunk", () => {
6
+ it("should transform string chunk to ChatCompletionChunk", () => {
7
+ const chunk = {
8
+ id: "test-id",
9
+ choices: [{
10
+ index: 0,
11
+ delta: { content: "Hello" },
12
+ }],
13
+ created: 1234567890,
14
+ model: "gpt-4",
15
+ object: "chat.completion.chunk",
16
+ };
17
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk(JSON.stringify(chunk));
18
+ expect(result).toEqual(chunk);
19
+ });
20
+ it("should transform Uint8Array chunk to ChatCompletionChunk", () => {
21
+ const chunk = {
22
+ id: "test-id",
23
+ choices: [{
24
+ index: 0,
25
+ delta: { content: "Hello" },
26
+ }],
27
+ created: 1234567890,
28
+ model: "gpt-4",
29
+ object: "chat.completion.chunk",
30
+ };
31
+ const uint8Array = new TextEncoder().encode(JSON.stringify(chunk));
32
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk(uint8Array);
33
+ expect(result).toEqual(chunk);
34
+ });
35
+ it("should handle invalid JSON", () => {
36
+ expect(() => {
37
+ ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk("invalid json");
38
+ }).toThrow();
39
+ });
40
+ });
41
+ describe("accumulate", () => {
42
+ it("should accumulate content from chunks", () => {
43
+ var _a;
44
+ const origin = {
45
+ id: "test-id",
46
+ choices: [{
47
+ index: 0,
48
+ // @ts-expect-error - refusal is not required
49
+ message: { role: "assistant", content: "Hello" },
50
+ }],
51
+ created: 1234567890,
52
+ model: "gpt-4",
53
+ object: "chat.completion",
54
+ };
55
+ const chunk = {
56
+ id: "test-id",
57
+ // @ts-expect-error - finish_reason is not required
58
+ choices: [{
59
+ index: 0,
60
+ delta: { content: " World" },
61
+ }],
62
+ created: 1234567890,
63
+ model: "gpt-4",
64
+ object: "chat.completion.chunk",
65
+ };
66
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.accumulate(origin, chunk);
67
+ expect((_a = result.choices[0]) === null || _a === void 0 ? void 0 : _a.message.content).toBe("Hello World");
68
+ });
69
+ it("should accumulate tool calls", () => {
70
+ var _a, _b, _c, _d, _e, _f;
71
+ const origin = {
72
+ id: "test-id",
73
+ choices: [{
74
+ index: 0,
75
+ // @ts-expect-error - finish_reason is not required
76
+ message: {
77
+ role: "assistant",
78
+ content: null,
79
+ tool_calls: [{
80
+ id: "call_1",
81
+ type: "function",
82
+ function: {
83
+ name: "test",
84
+ arguments: "{\"arg\": \"value\"}",
85
+ },
86
+ }],
87
+ },
88
+ }],
89
+ created: 1234567890,
90
+ model: "gpt-4",
91
+ object: "chat.completion",
92
+ };
93
+ const chunk = {
94
+ id: "test-id",
95
+ // @ts-expect-error - finish_reason is not required
96
+ choices: [{
97
+ index: 0,
98
+ delta: {
99
+ tool_calls: [{
100
+ index: 0,
101
+ id: "call_1",
102
+ function: {
103
+ name: "_function",
104
+ arguments: "{\"arg2\": \"value2\"}",
105
+ },
106
+ }],
107
+ },
108
+ }],
109
+ created: 1234567890,
110
+ model: "gpt-4",
111
+ object: "chat.completion.chunk",
112
+ };
113
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.accumulate(origin, chunk);
114
+ expect((_c = (_b = (_a = result.choices[0]) === null || _a === void 0 ? void 0 : _a.message.tool_calls) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.function.name).toBe("test_function");
115
+ expect((_f = (_e = (_d = result.choices[0]) === null || _d === void 0 ? void 0 : _d.message.tool_calls) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.function.arguments).toBe("{\"arg\": \"value\"}{\"arg2\": \"value2\"}");
116
+ });
117
+ it("should handle usage aggregation", () => {
118
+ const origin = {
119
+ id: "test-id",
120
+ choices: [{
121
+ index: 0,
122
+ // @ts-expect-error - finish_reason is not required
123
+ message: { role: "assistant", content: "Hello" },
124
+ }],
125
+ created: 1234567890,
126
+ model: "gpt-4",
127
+ object: "chat.completion",
128
+ usage: {
129
+ prompt_tokens: 10,
130
+ completion_tokens: 5,
131
+ total_tokens: 15,
132
+ },
133
+ };
134
+ const chunk = {
135
+ id: "test-id",
136
+ // @ts-expect-error - finish_reason is not required
137
+ choices: [{
138
+ index: 0,
139
+ delta: { content: " World" },
140
+ }],
141
+ created: 1234567890,
142
+ model: "gpt-4",
143
+ object: "chat.completion.chunk",
144
+ usage: {
145
+ prompt_tokens: 0,
146
+ completion_tokens: 6,
147
+ total_tokens: 6,
148
+ },
149
+ };
150
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.accumulate(origin, chunk);
151
+ expect(result.usage).toEqual({
152
+ prompt_tokens: 10,
153
+ completion_tokens: 11,
154
+ total_tokens: 21,
155
+ completion_tokens_details: {
156
+ accepted_prediction_tokens: 0,
157
+ reasoning_tokens: 0,
158
+ rejected_prediction_tokens: 0,
159
+ },
160
+ prompt_tokens_details: {
161
+ audio_tokens: 0,
162
+ cached_tokens: 0,
163
+ },
164
+ });
165
+ });
166
+ });
167
+ describe("merge", () => {
168
+ it("should merge multiple chunks into completion", () => {
169
+ var _a;
170
+ const chunks = [
171
+ {
172
+ id: "test-id",
173
+ // @ts-expect-error - finish_reason is not required
174
+ choices: [{
175
+ index: 0,
176
+ delta: { content: "Hello" },
177
+ }],
178
+ created: 1234567890,
179
+ model: "gpt-4",
180
+ object: "chat.completion.chunk",
181
+ },
182
+ {
183
+ id: "test-id",
184
+ // @ts-expect-error - finish_reason is not required
185
+ choices: [{
186
+ index: 0,
187
+ delta: { content: " World" },
188
+ }],
189
+ created: 1234567890,
190
+ model: "gpt-4",
191
+ object: "chat.completion.chunk",
192
+ },
193
+ ];
194
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.merge(chunks);
195
+ expect((_a = result.choices[0]) === null || _a === void 0 ? void 0 : _a.message.content).toBe("Hello World");
196
+ });
197
+ it("should throw error for empty chunks array", () => {
198
+ expect(() => {
199
+ ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.merge([]);
200
+ }).toThrow("No chunks received");
201
+ });
202
+ });
203
+ describe("mergeChoice", () => {
204
+ it("should merge finish reason", () => {
205
+ const acc = {
206
+ index: 0,
207
+ // @ts-expect-error - finish_reason is not required
208
+ message: { role: "assistant", content: "Hello" },
209
+ };
210
+ const cur = {
211
+ index: 0,
212
+ delta: {},
213
+ finish_reason: "stop",
214
+ };
215
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.mergeChoice(acc, cur);
216
+ expect(result.finish_reason).toBe("stop");
217
+ });
218
+ it("should merge content", () => {
219
+ const acc = {
220
+ index: 0,
221
+ // @ts-expect-error - refusal is not required
222
+ message: { role: "assistant", content: "Hello" },
223
+ };
224
+ // @ts-expect-error - finish_reason is not required
225
+ const cur = {
226
+ index: 0,
227
+ delta: { content: " World" },
228
+ };
229
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.mergeChoice(acc, cur);
230
+ expect(result.message.content).toBe("Hello World");
231
+ });
232
+ it("should merge refusal", () => {
233
+ // @ts-expect-error - finish_reason is not required
234
+ const acc = {
235
+ index: 0,
236
+ message: { role: "assistant", content: null, refusal: "I cannot" },
237
+ };
238
+ // @ts-expect-error - finish_reason is not required
239
+ const cur = {
240
+ index: 0,
241
+ delta: { refusal: " do that" },
242
+ };
243
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.mergeChoice(acc, cur);
244
+ expect(result.message.refusal).toBe("I cannot do that");
245
+ });
246
+ });
247
+ describe("mergeToolCalls", () => {
248
+ it("should merge tool call function arguments", () => {
249
+ const acc = {
250
+ id: "call_1",
251
+ type: "function",
252
+ function: {
253
+ name: "test",
254
+ arguments: "{\"arg\": \"value\"}",
255
+ },
256
+ };
257
+ const cur = {
258
+ index: 0,
259
+ id: "call_1",
260
+ function: {
261
+ arguments: "{\"arg2\": \"value2\"}",
262
+ },
263
+ };
264
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.mergeToolCalls(acc, cur);
265
+ expect(result.function.arguments).toBe("{\"arg\": \"value\"}{\"arg2\": \"value2\"}");
266
+ });
267
+ it("should merge tool call function name", () => {
268
+ const acc = {
269
+ id: "call_1",
270
+ type: "function",
271
+ function: {
272
+ name: "test",
273
+ arguments: "",
274
+ },
275
+ };
276
+ const cur = {
277
+ index: 0,
278
+ id: "call_1",
279
+ function: {
280
+ name: "_function",
281
+ },
282
+ };
283
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.mergeToolCalls(acc, cur);
284
+ expect(result.function.name).toBe("test_function");
285
+ });
286
+ });
287
+ });
288
+ //# sourceMappingURL=ChatGptCompletionMessageUtil.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatGptCompletionMessageUtil.spec.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};