@agentica/core 0.24.0 → 0.26.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 (189) hide show
  1. package/README.md +56 -17
  2. package/lib/Agentica.d.ts +2 -2
  3. package/lib/Agentica.js +4 -4
  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 +2 -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/context/internal/AgenticaOperationComposer.spec.js +13 -5
  14. package/lib/context/internal/AgenticaOperationComposer.spec.js.map +1 -1
  15. package/lib/events/AgenticaAssistantMessageEvent.d.ts +9 -0
  16. package/lib/events/AgenticaAssistantMessageEvent.js +3 -0
  17. package/lib/events/AgenticaAssistantMessageEvent.js.map +1 -0
  18. package/lib/events/AgenticaEvent.d.ts +9 -9
  19. package/lib/events/AgenticaEvent.type.d.ts +1 -0
  20. package/lib/events/AgenticaEvent.type.js +8 -0
  21. package/lib/events/AgenticaEvent.type.js.map +1 -0
  22. package/lib/events/AgenticaUserMessageEvent.d.ts +9 -0
  23. package/lib/events/{AgenticaUserInputEvent.js → AgenticaUserMessageEvent.js} +1 -1
  24. package/lib/events/AgenticaUserMessageEvent.js.map +1 -0
  25. package/lib/events/MicroAgenticaEvent.d.ts +6 -6
  26. package/lib/events/index.d.ts +14 -0
  27. package/lib/events/index.js +31 -0
  28. package/lib/events/index.js.map +1 -0
  29. package/lib/factory/events.d.ts +8 -8
  30. package/lib/factory/events.js +23 -38
  31. package/lib/factory/events.js.map +1 -1
  32. package/lib/factory/histories.d.ts +1 -36
  33. package/lib/factory/histories.js +103 -22
  34. package/lib/factory/histories.js.map +1 -1
  35. package/lib/functional/assertHttpController.js +6 -6
  36. package/lib/functional/assertHttpLlmApplication.js +6 -6
  37. package/lib/functional/assertMcpController.d.ts +1 -2
  38. package/lib/functional/assertMcpController.js +6 -6
  39. package/lib/functional/assertMcpController.js.map +1 -1
  40. package/lib/functional/index.d.ts +6 -0
  41. package/lib/functional/index.js +23 -0
  42. package/lib/functional/index.js.map +1 -0
  43. package/lib/functional/validateHttpController.js +5 -5
  44. package/lib/functional/validateHttpLlmApplication.js +5 -5
  45. package/lib/functional/validateMcpController.d.ts +1 -2
  46. package/lib/functional/validateMcpController.js +11 -11
  47. package/lib/functional/validateMcpController.js.map +1 -1
  48. package/lib/histories/AgenticaAssistantMessageHistory.d.ts +5 -0
  49. package/lib/histories/AgenticaAssistantMessageHistory.js +3 -0
  50. package/lib/histories/AgenticaAssistantMessageHistory.js.map +1 -0
  51. package/lib/histories/AgenticaHistory.d.ts +9 -7
  52. package/lib/histories/{AgenticaTextHistory.d.ts → AgenticaSystemMessageHistory.d.ts} +1 -2
  53. package/lib/histories/{AgenticaUserInputHistory.js → AgenticaSystemMessageHistory.js} +1 -1
  54. package/lib/histories/AgenticaSystemMessageHistory.js.map +1 -0
  55. package/lib/histories/AgenticaUserMessageHistory.d.ts +6 -0
  56. package/lib/{events/AgenticaTextEvent.js → histories/AgenticaUserMessageHistory.js} +1 -1
  57. package/lib/histories/AgenticaUserMessageHistory.js.map +1 -0
  58. package/lib/histories/MicroAgenticaHistory.d.ts +5 -4
  59. package/lib/histories/contents/AgenticaUserMessageAudioContent.d.ts +19 -0
  60. package/lib/histories/contents/AgenticaUserMessageAudioContent.js +3 -0
  61. package/lib/histories/contents/AgenticaUserMessageAudioContent.js.map +1 -0
  62. package/lib/histories/contents/AgenticaUserMessageContent.d.ts +14 -0
  63. package/lib/histories/{AgenticaTextHistory.js → contents/AgenticaUserMessageContent.js} +1 -1
  64. package/lib/histories/contents/AgenticaUserMessageContent.js.map +1 -0
  65. package/lib/histories/contents/AgenticaUserMessageContentBase.d.ts +6 -0
  66. package/lib/histories/contents/AgenticaUserMessageContentBase.js +3 -0
  67. package/lib/histories/contents/AgenticaUserMessageContentBase.js.map +1 -0
  68. package/lib/histories/contents/AgenticaUserMessageFileContent.d.ts +26 -0
  69. package/lib/histories/contents/AgenticaUserMessageFileContent.js +3 -0
  70. package/lib/histories/contents/AgenticaUserMessageFileContent.js.map +1 -0
  71. package/lib/histories/contents/AgenticaUserMessageImageContent.d.ts +20 -0
  72. package/lib/histories/contents/AgenticaUserMessageImageContent.js +3 -0
  73. package/lib/histories/contents/AgenticaUserMessageImageContent.js.map +1 -0
  74. package/lib/histories/contents/AgenticaUserMessageTextContent.d.ts +14 -0
  75. package/lib/histories/contents/AgenticaUserMessageTextContent.js +3 -0
  76. package/lib/histories/contents/AgenticaUserMessageTextContent.js.map +1 -0
  77. package/lib/histories/contents/index.d.ts +5 -0
  78. package/lib/histories/contents/index.js +22 -0
  79. package/lib/histories/contents/index.js.map +1 -0
  80. package/lib/histories/index.d.ts +10 -0
  81. package/lib/histories/index.js +27 -0
  82. package/lib/histories/index.js.map +1 -0
  83. package/lib/index.d.ts +6 -45
  84. package/lib/index.js +6 -46
  85. package/lib/index.js.map +1 -1
  86. package/lib/index.mjs +182 -131
  87. package/lib/index.mjs.map +1 -1
  88. package/lib/json/IAgenticaEventJson.d.ts +44 -19
  89. package/lib/json/IAgenticaEventJson.type.d.ts +1 -0
  90. package/lib/json/IAgenticaEventJson.type.js +8 -0
  91. package/lib/json/IAgenticaEventJson.type.js.map +1 -0
  92. package/lib/json/IAgenticaHistoryJson.d.ts +34 -19
  93. package/lib/json/IAgenticaHistoryJson.type.d.ts +1 -0
  94. package/lib/json/IAgenticaHistoryJson.type.js +8 -0
  95. package/lib/json/IAgenticaHistoryJson.type.js.map +1 -0
  96. package/lib/json/IMicroAgenticaEventJson.d.ts +1 -1
  97. package/lib/json/IMicroAgenticaHistoryJson.d.ts +1 -1
  98. package/lib/json/index.d.ts +7 -0
  99. package/lib/json/index.js +24 -0
  100. package/lib/json/index.js.map +1 -0
  101. package/lib/orchestrate/call.js +4 -4
  102. package/lib/orchestrate/call.js.map +1 -1
  103. package/lib/orchestrate/cancel.js +1 -1
  104. package/lib/orchestrate/cancel.js.map +1 -1
  105. package/lib/orchestrate/initialize.js +4 -4
  106. package/lib/orchestrate/initialize.js.map +1 -1
  107. package/lib/orchestrate/select.js +3 -3
  108. package/lib/orchestrate/select.js.map +1 -1
  109. package/lib/structures/IAgenticaController.d.ts +1 -2
  110. package/lib/structures/index.d.ts +10 -0
  111. package/lib/structures/index.js +27 -0
  112. package/lib/structures/index.js.map +1 -0
  113. package/lib/transformers/transformHistory.d.ts +1 -0
  114. package/lib/transformers/{AgenticaHistoryTransformer.js → transformHistory.js} +33 -23
  115. package/lib/transformers/transformHistory.js.map +1 -0
  116. package/lib/utils/ChatGptCompletionMessageUtil.js +2 -2
  117. package/lib/utils/types.d.ts +33 -0
  118. package/lib/utils/types.js +29 -0
  119. package/lib/utils/types.js.map +1 -0
  120. package/package.json +7 -7
  121. package/src/Agentica.ts +10 -9
  122. package/src/MicroAgentica.ts +12 -9
  123. package/src/context/AgenticaContext.ts +2 -2
  124. package/src/context/MicroAgenticaContext.ts +2 -2
  125. package/src/context/index.ts +5 -0
  126. package/src/context/internal/AgenticaOperationComposer.spec.ts +15 -5
  127. package/src/events/AgenticaAssistantMessageEvent.ts +12 -0
  128. package/src/events/AgenticaEvent.ts +15 -15
  129. package/src/events/AgenticaEvent.type.ts +19 -0
  130. package/src/events/AgenticaUserMessageEvent.ts +12 -0
  131. package/src/events/MicroAgenticaEvent.ts +9 -9
  132. package/src/events/index.ts +14 -0
  133. package/src/factory/events.ts +29 -34
  134. package/src/factory/histories.ts +120 -29
  135. package/src/functional/assertMcpController.ts +4 -2
  136. package/src/functional/index.ts +7 -0
  137. package/src/functional/validateMcpController.ts +4 -2
  138. package/src/histories/AgenticaAssistantMessageHistory.ts +10 -0
  139. package/src/histories/AgenticaHistory.ts +11 -8
  140. package/src/histories/{AgenticaTextHistory.ts → AgenticaSystemMessageHistory.ts} +4 -2
  141. package/src/histories/AgenticaUserMessageHistory.ts +11 -0
  142. package/src/histories/MicroAgenticaHistory.ts +6 -5
  143. package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -0
  144. package/src/histories/contents/AgenticaUserMessageContent.ts +19 -0
  145. package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -0
  146. package/src/histories/contents/AgenticaUserMessageFileContent.ts +27 -0
  147. package/src/histories/contents/AgenticaUserMessageImageContent.ts +23 -0
  148. package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -0
  149. package/src/histories/contents/index.ts +5 -0
  150. package/src/histories/index.ts +10 -0
  151. package/src/index.ts +6 -54
  152. package/src/json/IAgenticaEventJson.ts +53 -21
  153. package/src/json/IAgenticaEventJson.type.ts +19 -0
  154. package/src/json/IAgenticaHistoryJson.ts +41 -23
  155. package/src/json/IAgenticaHistoryJson.type.ts +19 -0
  156. package/src/json/IMicroAgenticaEventJson.ts +2 -1
  157. package/src/json/IMicroAgenticaHistoryJson.ts +2 -1
  158. package/src/json/index.ts +7 -0
  159. package/src/orchestrate/call.ts +8 -8
  160. package/src/orchestrate/cancel.ts +2 -2
  161. package/src/orchestrate/initialize.ts +5 -5
  162. package/src/orchestrate/select.ts +5 -5
  163. package/src/structures/IAgenticaController.ts +4 -2
  164. package/src/structures/index.ts +10 -0
  165. package/src/transformers/{AgenticaHistoryTransformer.ts → transformHistory.ts} +43 -26
  166. package/src/utils/types.ts +50 -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 -86
  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 +0 -155
  181. package/lib/transformers/AgenticaEventTransformer.js.map +0 -1
  182. package/lib/transformers/AgenticaHistoryTransformer.d.ts +0 -41
  183. package/lib/transformers/AgenticaHistoryTransformer.js.map +0 -1
  184. package/src/events/AgenticaTextEvent.ts +0 -12
  185. package/src/events/AgenticaUserInputEvent.ts +0 -12
  186. package/src/histories/AgenticaUserInputHistory.ts +0 -94
  187. package/src/structures/mcp/IMcpLlmTransportProps.ts +0 -13
  188. package/src/structures/mcp/index.ts +0 -1
  189. package/src/transformers/AgenticaEventTransformer.ts +0 -196
package/src/index.ts CHANGED
@@ -1,62 +1,14 @@
1
1
  export * from "./Agentica";
2
- export * from "./context/AgenticaContext";
3
-
4
- export * from "./context/AgenticaOperation";
5
-
6
- export * from "./context/AgenticaOperationCollection";
7
- export * from "./context/AgenticaOperationSelection";
8
- export * from "./context/AgenticaTokenUsage";
9
-
10
- export * from "./events/AgenticaCallEvent";
11
- export * from "./events/AgenticaCancelEvent";
12
- export * from "./events/AgenticaDescribeEvent";
13
- export * from "./events/AgenticaEvent";
14
- export * from "./events/AgenticaEventSource";
15
- export * from "./events/AgenticaExecuteEvent";
16
- export * from "./events/AgenticaRequestEvent";
17
- export * from "./events/AgenticaResponseEvent";
18
- export * from "./events/AgenticaSelectEvent";
19
- export * from "./events/AgenticaTextEvent";
20
- export * from "./events/AgenticaValidateEvent";
21
- export * from "./events/MicroAgenticaEvent";
22
2
 
3
+ export * from "./context";
4
+ export * from "./events";
23
5
  export * as factory from "./factory";
24
-
25
- export * from "./functional/assertHttpController";
26
- export * from "./functional/assertHttpLlmApplication";
27
- export * from "./functional/assertMcpController";
28
- export * from "./functional/validateHttpController";
29
- export * from "./functional/validateHttpLlmApplication";
30
- export * from "./functional/validateMcpController";
31
- // @TODO: implement validateMcpLlmApplication
32
-
33
- export * from "./histories/AgenticaCancelHistory";
34
- export * from "./histories/AgenticaDescribeHistory";
35
- export * from "./histories/AgenticaExecuteHistory";
36
- export * from "./histories/AgenticaHistory";
37
- export * from "./histories/AgenticaSelectHistory";
38
- export * from "./histories/AgenticaTextHistory";
39
-
40
- export * from "./histories/MicroAgenticaHistory";
41
-
42
- export * from "./json/IAgenticaEventJson";
43
- export * from "./json/IAgenticaHistoryJson";
44
- export * from "./json/IAgenticaOperationJson";
45
- export * from "./json/IAgenticaOperationSelectionJson";
46
- export * from "./json/IAgenticaTokenUsageJson";
47
- export * from "./json/IMicroAgenticaEventJson";
48
- export * from "./json/IMicroAgenticaHistoryJson";
6
+ export * from "./functional";
7
+ export * from "./histories";
8
+ export * from "./json";
49
9
  export * from "./MicroAgentica";
50
10
  export * as orchestrate from "./orchestrate";
51
-
52
- export * from "./structures/IAgenticaConfig";
53
- export * from "./structures/IAgenticaController";
54
- export * from "./structures/IAgenticaExecutor";
55
- export * from "./structures/IAgenticaProps";
56
- export * from "./structures/IAgenticaSystemPrompt";
57
- export * from "./structures/IAgenticaVendor";
58
- export * from "./structures/IMicroAgenticaConfig";
59
- export * from "./structures/IMicroAgenticaProps";
11
+ export * from "./structures";
60
12
 
61
13
  /**
62
14
  * @internal
@@ -1,7 +1,8 @@
1
1
  import type OpenAI from "openai";
2
+ import type { IValidation } from "typia";
2
3
 
3
4
  import type { AgenticaEventSource } from "../events/AgenticaEventSource";
4
- import type { AgenticaUserInputHistory } from "../histories/AgenticaUserInputHistory";
5
+ import type { AgenticaUserMessageContent } from "../histories";
5
6
 
6
7
  import type { IAgenticaHistoryJson } from "./IAgenticaHistoryJson";
7
8
  import type { IAgenticaOperationJson } from "./IAgenticaOperationJson";
@@ -24,27 +25,43 @@ export type IAgenticaEventJson =
24
25
  | IAgenticaEventJson.IExecute
25
26
  | IAgenticaEventJson.IInitialize
26
27
  | IAgenticaEventJson.IRequest
28
+ | IAgenticaEventJson.IResponse
27
29
  | IAgenticaEventJson.ISelect
28
- | IAgenticaEventJson.IText
29
- | IAgenticaEventJson.IValidate;
30
+ | IAgenticaEventJson.IValidate
31
+ | IAgenticaEventJson.IAssistantMessage
32
+ | IAgenticaEventJson.IUserMessage;
33
+
30
34
  export namespace IAgenticaEventJson {
31
35
  export type Type = IAgenticaEventJson["type"];
32
36
  export interface Mapper {
37
+ userMessage: IUserMessage;
38
+ assistantMessage: IAssistantMessage;
33
39
  initialize: IInitialize;
34
40
  select: ISelect;
35
41
  cancel: ICancel;
36
42
  call: ICall;
37
43
  execute: IExecute;
38
44
  describe: IDescribe;
39
- text: IText;
40
45
  request: IRequest;
46
+ response: IResponse;
47
+ validate: IValidate;
48
+ }
49
+
50
+ /**
51
+ * Event of assistant message.
52
+ */
53
+ export interface IAssistantMessage extends IBase<"assistantMessage"> {
54
+ /**
55
+ * Conversation text.
56
+ */
57
+ text: string;
41
58
  }
42
59
 
43
60
  /**
44
- * Event of user input.
61
+ * Event of user message.
45
62
  */
46
- export interface IUserInput extends IBase<"user_input"> {
47
- contents: Array<AgenticaUserInputHistory.Contents>;
63
+ export interface IUserMessage extends IBase<"userMessage"> {
64
+ contents: Array<AgenticaUserMessageContent>;
48
65
  }
49
66
 
50
67
  /**
@@ -90,7 +107,22 @@ export namespace IAgenticaEventJson {
90
107
  arguments: Record<string, any>;
91
108
  }
92
109
 
93
- export interface IValidate extends IBase<"validate"> {}
110
+ export interface IValidate extends IBase<"validate"> {
111
+ /**
112
+ * ID of the tool calling.
113
+ */
114
+ id: string;
115
+
116
+ /**
117
+ * Target operation to call.
118
+ */
119
+ operation: IAgenticaOperationJson;
120
+
121
+ /**
122
+ * Validation result as a failure.
123
+ */
124
+ result: IValidation.IFailure;
125
+ }
94
126
 
95
127
  /**
96
128
  * Event of function calling execution.
@@ -142,38 +174,38 @@ export namespace IAgenticaEventJson {
142
174
  }
143
175
 
144
176
  /**
145
- * Event of text message.
177
+ * Request event of LLM vendor API.
146
178
  */
147
- export interface IText extends IBase<"text"> {
179
+ export interface IRequest extends IBase<"request"> {
148
180
  /**
149
- * Role of the orator.
181
+ * The source agent of the request.
150
182
  */
151
- role: "assistant";
183
+ source: AgenticaEventSource;
152
184
 
153
185
  /**
154
- * Conversation text.
186
+ * Request body.
155
187
  */
156
- text: string;
188
+ body: OpenAI.ChatCompletionCreateParamsStreaming;
157
189
 
158
190
  /**
159
- * Whether the streaming is completed or not.
191
+ * Options for the request.
160
192
  */
161
- done: boolean;
193
+ options?: OpenAI.RequestOptions | undefined;
162
194
  }
163
195
 
164
196
  /**
165
- * Request event of LLM vendor API.
197
+ * Response event of LLM vendor API.
166
198
  */
167
- export interface IRequest extends IBase<"request"> {
199
+ export interface IResponse extends IBase<"response"> {
168
200
  /**
169
- * The source agent of the request.
201
+ * The source agent of the response.
170
202
  */
171
203
  source: AgenticaEventSource;
172
204
 
173
205
  /**
174
- * Request body.
206
+ * Response body.
175
207
  */
176
- body: OpenAI.ChatCompletionCreateParamsStreaming;
208
+ body: OpenAI.ChatCompletion;
177
209
 
178
210
  /**
179
211
  * Options for the request.
@@ -0,0 +1,19 @@
1
+ import type { AgenticaEvent } from "../events";
2
+ import type { Pass } from "../utils/types";
3
+
4
+ import { check, checks } from "../utils/types";
5
+
6
+ import type { IAgenticaEventJson } from "./IAgenticaEventJson";
7
+
8
+ checks([
9
+ check<
10
+ AgenticaEvent.Type,
11
+ IAgenticaEventJson.Type,
12
+ Pass
13
+ >(),
14
+ check<
15
+ AgenticaEvent.Type,
16
+ keyof IAgenticaEventJson.Mapper,
17
+ Pass
18
+ >(),
19
+ ]);
@@ -1,4 +1,4 @@
1
- import type { AgenticaUserInputHistory } from "../histories/AgenticaUserInputHistory";
1
+ import type { AgenticaUserMessageContent } from "../histories";
2
2
 
3
3
  import type { IAgenticaOperationJson } from "./IAgenticaOperationJson";
4
4
  import type { IAgenticaOperationSelectionJson } from "./IAgenticaOperationSelectionJson";
@@ -20,24 +20,57 @@ import type { IAgenticaOperationSelectionJson } from "./IAgenticaOperationSelect
20
20
  * @author Samchon
21
21
  */
22
22
  export type IAgenticaHistoryJson =
23
- | IAgenticaHistoryJson.IUserInput
24
- | IAgenticaHistoryJson.IText
25
23
  | IAgenticaHistoryJson.ISelect
26
24
  | IAgenticaHistoryJson.ICancel
27
25
  | IAgenticaHistoryJson.IExecute
28
- | IAgenticaHistoryJson.IDescribe;
26
+ | IAgenticaHistoryJson.IDescribe
27
+ | IAgenticaHistoryJson.IAssistantMessage
28
+ | IAgenticaHistoryJson.ISystemMessage
29
+ | IAgenticaHistoryJson.IUserMessage;
29
30
  export namespace IAgenticaHistoryJson {
31
+ export type Type = IAgenticaHistoryJson["type"];
32
+ export interface Mapper {
33
+ select: ISelect;
34
+ cancel: ICancel;
35
+ execute: IExecute;
36
+ describe: IDescribe;
37
+ assistantMessage: IAssistantMessage;
38
+ systemMessage: ISystemMessage;
39
+ userMessage: IUserMessage;
40
+ }
41
+
30
42
  /**
31
- * User input prompt.
43
+ * User message.
32
44
  *
33
- * User input prompt about the user's input.
45
+ * User message about the user's input.
34
46
  */
35
- export interface IUserInput extends IBase<"user_input"> {
47
+ export interface IUserMessage extends IBase<"userMessage"> {
36
48
  /**
37
49
  * User input.
38
50
  */
39
- contents: Array<AgenticaUserInputHistory.Contents>;
51
+ contents: Array<AgenticaUserMessageContent>;
52
+ }
53
+
54
+ /**
55
+ * System message.
56
+ */
57
+ export interface ISystemMessage extends IBase<"systemMessage"> {
58
+ /**
59
+ * The text content.
60
+ */
61
+ text: string;
62
+ }
63
+
64
+ /**
65
+ * Assistant message.
66
+ */
67
+ export interface IAssistantMessage extends IBase<"assistantMessage"> {
68
+ /**
69
+ * The text content.
70
+ */
71
+ text: string;
40
72
  }
73
+
41
74
  /**
42
75
  * Select prompt.
43
76
  *
@@ -118,21 +151,6 @@ export namespace IAgenticaHistoryJson {
118
151
  text: string;
119
152
  }
120
153
 
121
- /**
122
- * Text prompt.
123
- */
124
- export interface IText extends IBase<"text"> {
125
- /**
126
- * Role of the orator.
127
- */
128
- role: "assistant";
129
-
130
- /**
131
- * The text content.
132
- */
133
- text: string;
134
- }
135
-
136
154
  interface IBase<Type extends string> {
137
155
  /**
138
156
  * Discriminator type.
@@ -0,0 +1,19 @@
1
+ import type { AgenticaHistory } from "../histories";
2
+ import type { Pass } from "../utils/types";
3
+
4
+ import { check, checks } from "../utils/types";
5
+
6
+ import type { IAgenticaHistoryJson } from "./IAgenticaHistoryJson";
7
+
8
+ checks([
9
+ check<
10
+ AgenticaHistory.Type,
11
+ IAgenticaHistoryJson.Type,
12
+ Pass
13
+ >(),
14
+ check<
15
+ AgenticaHistory.Type,
16
+ keyof IAgenticaHistoryJson.Mapper,
17
+ Pass
18
+ >(),
19
+ ]);
@@ -12,10 +12,11 @@ import type { IAgenticaEventJson } from "./IAgenticaEventJson";
12
12
  * @author Samchon
13
13
  */
14
14
  export type IMicroAgenticaEventJson =
15
+ | IAgenticaEventJson.IUserMessage
16
+ | IAgenticaEventJson.IAssistantMessage
15
17
  | IAgenticaEventJson.ICall
16
18
  | IAgenticaEventJson.IDescribe
17
19
  | IAgenticaEventJson.IExecute
18
20
  | IAgenticaEventJson.IInitialize
19
21
  | IAgenticaEventJson.IRequest
20
- | IAgenticaEventJson.IText
21
22
  | IAgenticaEventJson.IValidate;
@@ -18,6 +18,7 @@ import type { IAgenticaHistoryJson } from "./IAgenticaHistoryJson";
18
18
  * @author Samchon
19
19
  */
20
20
  export type IMicroAgenticaHistoryJson =
21
- | IAgenticaHistoryJson.IText
21
+ | IAgenticaHistoryJson.IUserMessage
22
+ | IAgenticaHistoryJson.IAssistantMessage
22
23
  | IAgenticaHistoryJson.IExecute
23
24
  | IAgenticaHistoryJson.IDescribe;
@@ -0,0 +1,7 @@
1
+ export * from "./IAgenticaEventJson";
2
+ export * from "./IAgenticaHistoryJson";
3
+ export * from "./IAgenticaOperationJson";
4
+ export * from "./IAgenticaOperationSelectionJson";
5
+ export * from "./IAgenticaTokenUsageJson";
6
+ export * from "./IMicroAgenticaEventJson";
7
+ export * from "./IMicroAgenticaHistoryJson";
@@ -17,18 +17,18 @@ import type { AgenticaContext } from "../context/AgenticaContext";
17
17
  import type { AgenticaOperation } from "../context/AgenticaOperation";
18
18
  import type { MicroAgenticaContext } from "../context/MicroAgenticaContext";
19
19
  import type { AgenticaCallEvent } from "../events/AgenticaCallEvent";
20
+ import type { AgenticaAssistantMessageHistory } from "../histories/AgenticaAssistantMessageHistory";
20
21
  import type { AgenticaCancelHistory } from "../histories/AgenticaCancelHistory";
21
22
  import type { AgenticaExecuteHistory } from "../histories/AgenticaExecuteHistory";
22
23
  import type { AgenticaHistory } from "../histories/AgenticaHistory";
23
- import type { AgenticaTextHistory } from "../histories/AgenticaTextHistory";
24
24
  import type { MicroAgenticaHistory } from "../histories/MicroAgenticaHistory";
25
25
 
26
26
  import { AgenticaConstant } from "../constants/AgenticaConstant";
27
27
  import { AgenticaDefaultPrompt } from "../constants/AgenticaDefaultPrompt";
28
28
  import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
29
29
  import { isAgenticaContext } from "../context/internal/isAgenticaContext";
30
- import { createCallEvent, createExecuteEvent, createTextEvent, createValidateEvent } from "../factory/events";
31
- import { createCancelHistory, createExecuteHistory, createTextHistory, decodeHistory } from "../factory/histories";
30
+ import { creatAssistantEvent, createCallEvent, createExecuteEvent, createValidateEvent } from "../factory/events";
31
+ import { createAssistantMessageHistory, createCancelHistory, createExecuteHistory, decodeHistory, decodeUserMessageContent } from "../factory/histories";
32
32
  import { createOperationSelection } from "../factory/operations";
33
33
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
34
34
  import { StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
@@ -54,7 +54,7 @@ export async function call<Model extends ILlmSchema.Model>(
54
54
  // USER INPUT
55
55
  {
56
56
  role: "user",
57
- content: ctx.prompt.contents,
57
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
58
58
  },
59
59
  // SYSTEM PROMPT
60
60
  ...(ctx.config?.systemPrompt?.execute === null
@@ -104,7 +104,7 @@ export async function call<Model extends ILlmSchema.Model>(
104
104
  Array<
105
105
  | AgenticaExecuteHistory<Model>
106
106
  | AgenticaCancelHistory<Model>
107
- | AgenticaTextHistory
107
+ | AgenticaAssistantMessageHistory
108
108
  >
109
109
  >
110
110
  > = [];
@@ -181,11 +181,11 @@ export async function call<Model extends ILlmSchema.Model>(
181
181
  && choice.message.content.length !== 0
182
182
  ) {
183
183
  closures.push(async () => {
184
- const value: AgenticaTextHistory = createTextHistory(
184
+ const value: AgenticaAssistantMessageHistory = createAssistantMessageHistory(
185
185
  { text: choice.message.content! },
186
186
  );
187
187
  ctx.dispatch(
188
- createTextEvent({
188
+ creatAssistantEvent({
189
189
  get: () => value.text,
190
190
  done: () => true,
191
191
  stream: toAsyncGenerator(value.text),
@@ -471,7 +471,7 @@ async function correct<Model extends ILlmSchema.Model>(
471
471
  // USER INPUT
472
472
  {
473
473
  role: "user",
474
- content: ctx.prompt.contents,
474
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
475
475
  },
476
476
  // TYPE CORRECTION
477
477
  ...(ctx.config?.systemPrompt?.execute === null
@@ -16,7 +16,7 @@ import type { AgenticaCancelHistory } from "../histories/AgenticaCancelHistory";
16
16
  import { AgenticaConstant } from "../constants/AgenticaConstant";
17
17
  import { AgenticaDefaultPrompt } from "../constants/AgenticaDefaultPrompt";
18
18
  import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
19
- import { createCancelHistory, decodeHistory } from "../factory/histories";
19
+ import { createCancelHistory, decodeHistory, decodeUserMessageContent } from "../factory/histories";
20
20
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
21
21
  import { StreamUtil } from "../utils/StreamUtil";
22
22
 
@@ -141,7 +141,7 @@ async function step<Model extends ILlmSchema.Model>(ctx: AgenticaContext<Model>,
141
141
  // USER INPUT
142
142
  {
143
143
  role: "user",
144
- content: ctx.prompt.contents,
144
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
145
145
  },
146
146
  // SYSTEM PROMPT
147
147
  {
@@ -9,8 +9,8 @@ import type { AgenticaHistory } from "../histories/AgenticaHistory";
9
9
 
10
10
  import { AgenticaDefaultPrompt } from "../constants/AgenticaDefaultPrompt";
11
11
  import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
12
- import { createTextEvent } from "../factory/events";
13
- import { createTextHistory, decodeHistory } from "../factory/histories";
12
+ import { creatAssistantEvent } from "../factory/events";
13
+ import { createAssistantMessageHistory, decodeHistory, decodeUserMessageContent } from "../factory/histories";
14
14
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
15
15
  import { MPSC } from "../utils/MPSC";
16
16
  import { streamDefaultReaderToAsyncGenerator, StreamUtil } from "../utils/StreamUtil";
@@ -36,7 +36,7 @@ export async function initialize<Model extends ILlmSchema.Model>(ctx: AgenticaCo
36
36
  // USER INPUT
37
37
  {
38
38
  role: "user",
39
- content: ctx.prompt.contents,
39
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
40
40
  },
41
41
  {
42
42
  // SYSTEM PROMPT
@@ -107,7 +107,7 @@ export async function initialize<Model extends ILlmSchema.Model>(ctx: AgenticaCo
107
107
  mpsc.produce(choice.delta.content);
108
108
 
109
109
  ctx.dispatch(
110
- createTextEvent({
110
+ creatAssistantEvent({
111
111
  stream: streamDefaultReaderToAsyncGenerator(mpsc.consumer.getReader()),
112
112
  done: () => mpsc.done(),
113
113
  get: () => textContext[choice.index]!.content,
@@ -144,7 +144,7 @@ export async function initialize<Model extends ILlmSchema.Model>(ctx: AgenticaCo
144
144
  && choice.message.content.length !== 0
145
145
  ) {
146
146
  prompts.push(
147
- createTextHistory({ text: choice.message.content }),
147
+ createAssistantMessageHistory({ text: choice.message.content }),
148
148
  );
149
149
  }
150
150
  }
@@ -17,8 +17,8 @@ import type { AgenticaSelectHistory } from "../histories/AgenticaSelectHistory";
17
17
  import { AgenticaConstant } from "../constants/AgenticaConstant";
18
18
  import { AgenticaDefaultPrompt } from "../constants/AgenticaDefaultPrompt";
19
19
  import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
20
- import { createTextEvent } from "../factory/events";
21
- import { createSelectHistory, createTextHistory, decodeHistory } from "../factory/histories";
20
+ import { creatAssistantEvent } from "../factory/events";
21
+ import { createAssistantMessageHistory, createSelectHistory, decodeHistory, decodeUserMessageContent } from "../factory/histories";
22
22
  import { createOperationSelection } from "../factory/operations";
23
23
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
24
24
  import { StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
@@ -144,7 +144,7 @@ async function step<Model extends ILlmSchema.Model>(ctx: AgenticaContext<Model>,
144
144
  // USER INPUT
145
145
  {
146
146
  role: "user",
147
- content: ctx.prompt.contents,
147
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
148
148
  },
149
149
  // SYSTEM PROMPT
150
150
  {
@@ -259,11 +259,11 @@ async function step<Model extends ILlmSchema.Model>(ctx: AgenticaContext<Model>,
259
259
  && choice.message.content != null
260
260
  && choice.message.content.length !== 0
261
261
  ) {
262
- const text = createTextHistory({ text: choice.message.content });
262
+ const text = createAssistantMessageHistory({ text: choice.message.content });
263
263
  prompts.push(text);
264
264
 
265
265
  ctx.dispatch(
266
- createTextEvent({
266
+ creatAssistantEvent({
267
267
  stream: toAsyncGenerator(text.text),
268
268
  join: async () => Promise.resolve(text.text),
269
269
  done: () => true,
@@ -1,4 +1,3 @@
1
- import type { Client } from "@modelcontextprotocol/sdk/client/index.d.ts";
2
1
  import type {
3
2
  IHttpConnection,
4
3
  IHttpLlmApplication,
@@ -126,7 +125,10 @@ export namespace IAgenticaController {
126
125
  /**
127
126
  * MCP client for connection.
128
127
  */
129
- client: Client;
128
+ // @ts-ignore Type checking only when `@modelcontextprotocol/sdk` is installed.
129
+ // This strategy is useful for someone who does not need MCP,
130
+ // for someone who has not installed `@modelcontextprotocol/sdk`.
131
+ client: import("@modelcontextprotocol/sdk/client/index.d.ts").Client;
130
132
  }
131
133
 
132
134
  interface IBase<Protocol, Application> {
@@ -0,0 +1,10 @@
1
+ export * from "./IAgenticaConfig";
2
+ export * from "./IAgenticaController";
3
+ export * from "./IAgenticaExecutor";
4
+ export * from "./IAgenticaProps";
5
+ export * from "./IAgenticaSystemPrompt";
6
+ export * from "./IAgenticaVendor";
7
+ export * from "./IMicroAgenticaConfig";
8
+ export * from "./IMicroAgenticaExecutor";
9
+ export * from "./IMicroAgenticaProps";
10
+ export * from "./IMicroAgenticaSystemPrompt";
@@ -1,24 +1,41 @@
1
1
  import type { ILlmSchema } from "@samchon/openapi";
2
2
 
3
3
  import type { AgenticaOperation } from "../context/AgenticaOperation";
4
+ import type { AgenticaUserMessageHistory } from "../histories";
5
+ import type { AgenticaAssistantMessageHistory } from "../histories/AgenticaAssistantMessageHistory";
4
6
  import type { AgenticaCancelHistory } from "../histories/AgenticaCancelHistory";
5
7
  import type { AgenticaDescribeHistory } from "../histories/AgenticaDescribeHistory";
6
8
  import type { AgenticaExecuteHistory } from "../histories/AgenticaExecuteHistory";
7
9
  import type { AgenticaHistory } from "../histories/AgenticaHistory";
8
10
  import type { AgenticaSelectHistory } from "../histories/AgenticaSelectHistory";
9
- import type { AgenticaTextHistory } from "../histories/AgenticaTextHistory";
11
+ import type { AgenticaSystemMessageHistory } from "../histories/AgenticaSystemMessageHistory";
10
12
  import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
11
13
 
12
- import { createCancelHistory, createDescribeHistory, createExecuteHistory, createSelectHistory, createTextHistory } from "../factory/histories";
14
+ import { createAssistantMessageHistory, createCancelHistory, createDescribeHistory, createExecuteHistory, createSelectHistory, createSystemMessageHistory, createUserMessageHistory } from "../factory/histories";
13
15
  import { createOperationSelection } from "../factory/operations";
14
16
 
15
- function transform<Model extends ILlmSchema.Model>(props: {
17
+ /**
18
+ * @internal
19
+ */
20
+ export function transformHistory<Model extends ILlmSchema.Model>(props: {
16
21
  operations: Map<string, Map<string, AgenticaOperation<Model>>>;
17
22
  history: IAgenticaHistoryJson;
18
23
  }): AgenticaHistory<Model> {
19
- // TEXT
20
- if (props.history.type === "text") {
21
- return transformText({
24
+ // USER
25
+ if (props.history.type === "userMessage") {
26
+ return transformUserMessage({
27
+ history: props.history,
28
+ });
29
+ }
30
+ // ASSISTANT
31
+ else if (props.history.type === "assistantMessage") {
32
+ return transformAssistantMessage({
33
+ history: props.history,
34
+ });
35
+ }
36
+ // SYSTEM
37
+ else if (props.history.type === "systemMessage") {
38
+ return transformSystemMessage({
22
39
  history: props.history,
23
40
  });
24
41
  }
@@ -42,19 +59,28 @@ function transform<Model extends ILlmSchema.Model>(props: {
42
59
  history: props.history,
43
60
  });
44
61
  }
45
- else if (props.history.type === "describe") {
46
- return transformDescribe({
47
- operations: props.operations,
48
- history: props.history,
49
- });
50
- }
51
- throw new Error("Invalid prompt type.");
62
+ return transformDescribe({
63
+ operations: props.operations,
64
+ history: props.history,
65
+ });
66
+ }
67
+
68
+ function transformAssistantMessage(props: {
69
+ history: IAgenticaHistoryJson.IAssistantMessage;
70
+ }): AgenticaAssistantMessageHistory {
71
+ return createAssistantMessageHistory(props.history);
72
+ }
73
+
74
+ function transformSystemMessage(props: {
75
+ history: IAgenticaHistoryJson.ISystemMessage;
76
+ }): AgenticaSystemMessageHistory {
77
+ return createSystemMessageHistory(props.history);
52
78
  }
53
79
 
54
- function transformText(props: {
55
- history: IAgenticaHistoryJson.IText;
56
- }): AgenticaTextHistory {
57
- return createTextHistory(props.history);
80
+ function transformUserMessage(props: {
81
+ history: IAgenticaHistoryJson.IUserMessage;
82
+ }): AgenticaUserMessageHistory {
83
+ return createUserMessageHistory(props.history);
58
84
  }
59
85
 
60
86
  function transformSelect<Model extends ILlmSchema.Model>(props: {
@@ -146,12 +172,3 @@ function findOperation<Model extends ILlmSchema.Model>(props: {
146
172
  }
147
173
  return found;
148
174
  }
149
-
150
- export const AgenticaHistoryTransformer = {
151
- transform,
152
- transformText,
153
- transformSelect,
154
- transformCancel,
155
- transformExecute,
156
- transformDescribe,
157
- };