@agentica/core 0.43.3 → 0.44.0-dev.20260313-2

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 (205) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +218 -218
  3. package/lib/constants/AgenticaSystemPrompt.js +1 -1
  4. package/lib/constants/AgenticaSystemPrompt.js.map +1 -1
  5. package/lib/context/AgenticaOperation.d.ts +3 -2
  6. package/lib/context/internal/AgenticaOperationComposer.js.map +1 -1
  7. package/lib/context/internal/AgenticaTokenUsageAggregator.js.map +1 -1
  8. package/lib/context/internal/__IChatInitialApplication.d.ts +1 -1
  9. package/lib/errors/AgenticaJsonParseError.d.ts +5 -8
  10. package/lib/errors/AgenticaJsonParseError.js +11 -6
  11. package/lib/errors/AgenticaJsonParseError.js.map +1 -1
  12. package/lib/errors/AgenticaValidationError.d.ts +1 -1
  13. package/lib/events/AgenticaExecuteEvent.d.ts +1 -1
  14. package/lib/events/AgenticaJsonParseErrorEvent.d.ts +2 -2
  15. package/lib/factory/events.d.ts +2 -3
  16. package/lib/factory/events.js +1 -2
  17. package/lib/factory/events.js.map +1 -1
  18. package/lib/functional/assertHttpController.d.ts +2 -3
  19. package/lib/functional/assertHttpController.js +3939 -2656
  20. package/lib/functional/assertHttpController.js.map +1 -1
  21. package/lib/functional/assertHttpLlmApplication.d.ts +3 -3
  22. package/lib/functional/assertHttpLlmApplication.js +3939 -2656
  23. package/lib/functional/assertHttpLlmApplication.js.map +1 -1
  24. package/lib/functional/assertMcpController.d.ts +2 -2
  25. package/lib/functional/assertMcpController.js +202 -629
  26. package/lib/functional/assertMcpController.js.map +1 -1
  27. package/lib/functional/createMcpLlmApplication.d.ts +6 -0
  28. package/lib/functional/createMcpLlmApplication.js +56 -0
  29. package/lib/functional/createMcpLlmApplication.js.map +1 -0
  30. package/lib/functional/validateHttpController.d.ts +3 -3
  31. package/lib/functional/validateHttpController.js +3367 -2268
  32. package/lib/functional/validateHttpController.js.map +1 -1
  33. package/lib/functional/validateHttpLlmApplication.d.ts +3 -4
  34. package/lib/functional/validateHttpLlmApplication.js +3367 -2268
  35. package/lib/functional/validateHttpLlmApplication.js.map +1 -1
  36. package/lib/functional/validateMcpController.d.ts +2 -2
  37. package/lib/functional/validateMcpController.js +388 -1161
  38. package/lib/functional/validateMcpController.js.map +1 -1
  39. package/lib/histories/AgenticaExecuteHistory.d.ts +1 -1
  40. package/lib/index.mjs +21256 -18946
  41. package/lib/index.mjs.map +1 -1
  42. package/lib/orchestrate/call.js +43 -56
  43. package/lib/orchestrate/call.js.map +1 -1
  44. package/lib/orchestrate/cancel.js +9 -66
  45. package/lib/orchestrate/cancel.js.map +1 -1
  46. package/lib/orchestrate/initialize.js +4 -947
  47. package/lib/orchestrate/initialize.js.map +1 -1
  48. package/lib/orchestrate/select.js +11 -68
  49. package/lib/orchestrate/select.js.map +1 -1
  50. package/lib/structures/IAgenticaController.d.ts +143 -151
  51. package/lib/structures/IMcpTool.d.ts +52 -0
  52. package/lib/structures/IMcpTool.js +3 -0
  53. package/lib/structures/IMcpTool.js.map +1 -0
  54. package/lib/utils/ChatGptCompletionMessageUtil.js +16 -5
  55. package/lib/utils/ChatGptCompletionMessageUtil.js.map +1 -1
  56. package/lib/utils/ChatGptCompletionMessageUtil.spec.js +0 -5
  57. package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -1
  58. package/package.json +7 -9
  59. package/prompts/cancel.md +5 -5
  60. package/prompts/common.md +3 -3
  61. package/prompts/describe.md +7 -7
  62. package/prompts/execute.md +122 -122
  63. package/prompts/initialize.md +3 -3
  64. package/prompts/json_parse_error.md +35 -33
  65. package/prompts/select.md +7 -7
  66. package/prompts/validate.md +123 -123
  67. package/prompts/validate_repeated.md +31 -31
  68. package/src/Agentica.ts +367 -367
  69. package/src/MicroAgentica.ts +357 -357
  70. package/src/constants/AgenticaConstant.ts +4 -4
  71. package/src/constants/AgenticaDefaultPrompt.ts +44 -44
  72. package/src/constants/AgenticaSystemPrompt.ts +1 -1
  73. package/src/constants/index.ts +2 -2
  74. package/src/context/AgenticaContext.ts +136 -136
  75. package/src/context/AgenticaContextRequestResult.ts +14 -14
  76. package/src/context/AgenticaOperation.ts +73 -72
  77. package/src/context/AgenticaOperationCollection.ts +49 -49
  78. package/src/context/AgenticaOperationSelection.ts +9 -9
  79. package/src/context/AgenticaTokenUsage.ts +186 -186
  80. package/src/context/MicroAgenticaContext.ts +99 -99
  81. package/src/context/index.ts +5 -5
  82. package/src/context/internal/AgenticaOperationComposer.ts +177 -177
  83. package/src/context/internal/AgenticaTokenUsageAggregator.ts +66 -66
  84. package/src/context/internal/__IChatCancelFunctionsApplication.ts +23 -23
  85. package/src/context/internal/__IChatFunctionReference.ts +21 -21
  86. package/src/context/internal/__IChatInitialApplication.ts +15 -15
  87. package/src/context/internal/__IChatSelectFunctionsApplication.ts +24 -24
  88. package/src/context/internal/isAgenticaContext.ts +11 -11
  89. package/src/errors/AgenticaJsonParseError.ts +52 -47
  90. package/src/errors/AgenticaValidationError.ts +49 -49
  91. package/src/errors/index.ts +2 -2
  92. package/src/events/AgenticaAssistantMessageEvent.ts +12 -12
  93. package/src/events/AgenticaCallEvent.ts +27 -27
  94. package/src/events/AgenticaCancelEvent.ts +9 -9
  95. package/src/events/AgenticaDescribeEvent.ts +14 -14
  96. package/src/events/AgenticaEvent.ts +59 -59
  97. package/src/events/AgenticaEvent.type.ts +19 -19
  98. package/src/events/AgenticaEventBase.ts +18 -18
  99. package/src/events/AgenticaEventSource.ts +6 -6
  100. package/src/events/AgenticaExecuteEvent.ts +45 -45
  101. package/src/events/AgenticaInitializeEvent.ts +7 -7
  102. package/src/events/AgenticaJsonParseErrorEvent.ts +16 -15
  103. package/src/events/AgenticaRequestEvent.ts +27 -27
  104. package/src/events/AgenticaResponseEvent.ts +32 -32
  105. package/src/events/AgenticaSelectEvent.ts +11 -11
  106. package/src/events/AgenticaUserMessageEvent.ts +12 -12
  107. package/src/events/AgenticaValidateEvent.ts +32 -32
  108. package/src/events/MicroAgenticaEvent.ts +45 -45
  109. package/src/events/index.ts +15 -15
  110. package/src/factory/events.ts +357 -359
  111. package/src/factory/histories.ts +348 -348
  112. package/src/factory/index.ts +3 -3
  113. package/src/factory/operations.ts +16 -16
  114. package/src/functional/assertHttpController.ts +106 -104
  115. package/src/functional/assertHttpLlmApplication.ts +52 -57
  116. package/src/functional/assertMcpController.ts +47 -44
  117. package/src/functional/createMcpLlmApplication.ts +72 -0
  118. package/src/functional/index.ts +7 -7
  119. package/src/functional/validateHttpController.ts +113 -110
  120. package/src/functional/validateHttpLlmApplication.ts +65 -70
  121. package/src/functional/validateMcpController.ts +53 -50
  122. package/src/histories/AgenticaAssistantMessageHistory.ts +10 -10
  123. package/src/histories/AgenticaCancelHistory.ts +8 -8
  124. package/src/histories/AgenticaDescribeHistory.ts +18 -18
  125. package/src/histories/AgenticaExecuteHistory.ts +64 -64
  126. package/src/histories/AgenticaHistory.ts +28 -28
  127. package/src/histories/AgenticaHistoryBase.ts +35 -35
  128. package/src/histories/AgenticaSelectHistory.ts +8 -8
  129. package/src/histories/AgenticaSystemMessageHistory.ts +10 -10
  130. package/src/histories/AgenticaUserMessageHistory.ts +11 -11
  131. package/src/histories/MicroAgenticaHistory.ts +19 -19
  132. package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -21
  133. package/src/histories/contents/AgenticaUserMessageContent.ts +19 -19
  134. package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -6
  135. package/src/histories/contents/AgenticaUserMessageFileContent.ts +25 -25
  136. package/src/histories/contents/AgenticaUserMessageImageContent.ts +33 -33
  137. package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -15
  138. package/src/histories/contents/index.ts +5 -5
  139. package/src/histories/index.ts +10 -10
  140. package/src/index.ts +15 -15
  141. package/src/json/IAgenticaEventJson.ts +265 -265
  142. package/src/json/IAgenticaEventJson.type.ts +19 -19
  143. package/src/json/IAgenticaHistoryJson.ts +165 -165
  144. package/src/json/IAgenticaHistoryJson.type.ts +19 -19
  145. package/src/json/IAgenticaOperationJson.ts +36 -36
  146. package/src/json/IAgenticaOperationSelectionJson.ts +26 -26
  147. package/src/json/IAgenticaTokenUsageJson.ts +107 -107
  148. package/src/json/IMicroAgenticaEventJson.ts +22 -22
  149. package/src/json/IMicroAgenticaHistoryJson.ts +25 -25
  150. package/src/json/index.ts +7 -7
  151. package/src/orchestrate/call.ts +542 -558
  152. package/src/orchestrate/cancel.ts +265 -269
  153. package/src/orchestrate/describe.ts +66 -66
  154. package/src/orchestrate/execute.ts +61 -61
  155. package/src/orchestrate/index.ts +6 -6
  156. package/src/orchestrate/initialize.ts +102 -102
  157. package/src/orchestrate/internal/cancelFunctionFromContext.ts +33 -33
  158. package/src/orchestrate/internal/selectFunctionFromContext.ts +34 -34
  159. package/src/orchestrate/select.ts +320 -322
  160. package/src/structures/IAgenticaConfig.ts +83 -83
  161. package/src/structures/IAgenticaConfigBase.ts +87 -87
  162. package/src/structures/IAgenticaController.ts +143 -151
  163. package/src/structures/IAgenticaExecutor.ts +167 -167
  164. package/src/structures/IAgenticaProps.ts +78 -78
  165. package/src/structures/IAgenticaSystemPrompt.ts +236 -236
  166. package/src/structures/IAgenticaVendor.ts +54 -54
  167. package/src/structures/IMcpTool.ts +60 -0
  168. package/src/structures/IMicroAgenticaConfig.ts +56 -56
  169. package/src/structures/IMicroAgenticaExecutor.ts +67 -67
  170. package/src/structures/IMicroAgenticaProps.ts +77 -77
  171. package/src/structures/IMicroAgenticaSystemPrompt.ts +169 -169
  172. package/src/structures/index.ts +10 -10
  173. package/src/transformers/transformHistory.ts +172 -172
  174. package/src/utils/AssistantMessageEmptyError.ts +20 -20
  175. package/src/utils/AsyncQueue.spec.ts +355 -355
  176. package/src/utils/AsyncQueue.ts +95 -95
  177. package/src/utils/ByteArrayUtil.ts +5 -5
  178. package/src/utils/ChatGptCompletionMessageUtil.spec.ts +314 -320
  179. package/src/utils/ChatGptCompletionMessageUtil.ts +210 -195
  180. package/src/utils/ChatGptCompletionStreamingUtil.spec.ts +909 -909
  181. package/src/utils/ChatGptCompletionStreamingUtil.ts +91 -91
  182. package/src/utils/ChatGptTokenUsageAggregator.spec.ts +226 -226
  183. package/src/utils/ChatGptTokenUsageAggregator.ts +57 -57
  184. package/src/utils/MPSC.spec.ts +276 -276
  185. package/src/utils/MPSC.ts +42 -42
  186. package/src/utils/Singleton.spec.ts +138 -138
  187. package/src/utils/Singleton.ts +42 -42
  188. package/src/utils/StreamUtil.spec.ts +512 -512
  189. package/src/utils/StreamUtil.ts +87 -87
  190. package/src/utils/__map_take.spec.ts +140 -140
  191. package/src/utils/__map_take.ts +13 -13
  192. package/src/utils/__retry.spec.ts +198 -198
  193. package/src/utils/__retry.ts +18 -18
  194. package/src/utils/assertExecuteFailure.ts +16 -16
  195. package/src/utils/index.ts +4 -4
  196. package/src/utils/request.ts +140 -140
  197. package/src/utils/types.ts +50 -50
  198. package/lib/context/internal/AgenticaOperationComposer.spec.d.ts +0 -1
  199. package/lib/context/internal/AgenticaOperationComposer.spec.js +0 -353
  200. package/lib/context/internal/AgenticaOperationComposer.spec.js.map +0 -1
  201. package/lib/utils/JsonUtil.d.ts +0 -8
  202. package/lib/utils/JsonUtil.js +0 -349
  203. package/lib/utils/JsonUtil.js.map +0 -1
  204. package/src/context/internal/AgenticaOperationComposer.spec.ts +0 -401
  205. package/src/utils/JsonUtil.ts +0 -460
@@ -1,110 +1,113 @@
1
- import type { IHttpConnection, IHttpLlmApplication, IHttpLlmFunction, IHttpResponse, IValidation, OpenApiV3, OpenApiV3_1, SwaggerV2 } from "@samchon/openapi";
2
-
3
- import { HttpLlm, OpenApi } from "@samchon/openapi";
4
- import typia from "typia";
5
-
6
- import type { IAgenticaController } from "../structures/IAgenticaController";
7
-
8
- /**
9
- * Create an HTTP controller with type validation.
10
- *
11
- * Create an {@link IAgenticaController.IHttp} instance which represents
12
- * the HTTP controller from the given Swagger/OpenAPI document and the
13
- * target LLM model with connection information.
14
- *
15
- * By the way, even though this `validateHttpController` function
16
- * supports every version of Swagger/OpenAPI specification, there can
17
- * be a type error in the given document. In that case, the function
18
- * will return {@link IValidation.IFailure} instance with detailed
19
- * type error tracing information.
20
- *
21
- * @param props Properties to create the HTTP controller instance
22
- * @returns Validation result of the HTTP controller composition
23
- * @author Samchon
24
- */
25
- export function validateHttpController(props: {
26
- /**
27
- * Name of the controller.
28
- */
29
- name: string;
30
-
31
- /**
32
- * Swagger/OpenAPI document.
33
- */
34
- document:
35
- | SwaggerV2.IDocument
36
- | OpenApiV3.IDocument
37
- | OpenApiV3_1.IDocument
38
- | OpenApi.IDocument
39
- | unknown;
40
-
41
- /**
42
- * Connection to the server.
43
- *
44
- * Connection to the API server including the URL and headers.
45
- */
46
- connection: IHttpConnection;
47
-
48
- /**
49
- * Options for the LLM function calling schema composition.
50
- */
51
- config?: Partial<IHttpLlmApplication.IConfig>;
52
-
53
- /**
54
- * Executor of the API function.
55
- *
56
- * @param props Properties of the API function call
57
- * @returns HTTP response of the API function call
58
- */
59
- execute?: (props: {
60
- /**
61
- * Connection to the server.
62
- */
63
- connection: IHttpConnection;
64
-
65
- /**
66
- * Application schema.
67
- */
68
- application: IHttpLlmApplication;
69
-
70
- /**
71
- * Function schema.
72
- */
73
- function: IHttpLlmFunction;
74
-
75
- /**
76
- * Arguments of the function calling.
77
- *
78
- * It is an object of key-value pairs of the API function's parameters.
79
- * The property keys are composed by below rules:
80
- *
81
- * - parameter names
82
- * - query parameter as an object type if exists
83
- * - body parameter if exists
84
- */
85
- arguments: object;
86
- }) => Promise<IHttpResponse>;
87
- }): IValidation<IAgenticaController.IHttp> {
88
- const inspect = typia.validate<
89
- | SwaggerV2.IDocument
90
- | OpenApiV3.IDocument
91
- | OpenApiV3_1.IDocument
92
- | OpenApi.IDocument
93
- >(props.document);
94
- if (inspect.success === false) {
95
- return inspect;
96
- }
97
- return {
98
- success: true,
99
- data: {
100
- protocol: "http",
101
- name: props.name,
102
- application: HttpLlm.application({
103
- document: OpenApi.convert(inspect.data),
104
- config: props.config,
105
- }),
106
- execute: props.execute,
107
- connection: props.connection,
108
- },
109
- };
110
- }
1
+ import type { IHttpConnection, IHttpLlmApplication, IHttpLlmFunction, IHttpResponse, OpenApiV3, OpenApiV3_1, OpenApiV3_2, SwaggerV2 } from "@typia/interface";
2
+ import type { IValidation, OpenApi } from "typia";
3
+
4
+ import { HttpLlm, OpenApiConverter } from "@typia/utils";
5
+ import typia from "typia";
6
+
7
+ import type { IAgenticaController } from "../structures/IAgenticaController";
8
+
9
+ /**
10
+ * Create an HTTP controller with type validation.
11
+ *
12
+ * Create an {@link IAgenticaController.IHttp} instance which represents
13
+ * the HTTP controller from the given Swagger/OpenAPI document and the
14
+ * target LLM model with connection information.
15
+ *
16
+ * By the way, even though this `validateHttpController` function
17
+ * supports every version of Swagger/OpenAPI specification, there can
18
+ * be a type error in the given document. In that case, the function
19
+ * will return {@link IValidation.IFailure} instance with detailed
20
+ * type error tracing information.
21
+ *
22
+ * @param props Properties to create the HTTP controller instance
23
+ * @returns Validation result of the HTTP controller composition
24
+ * @author Samchon
25
+ */
26
+ export function validateHttpController(props: {
27
+ /**
28
+ * Name of the controller.
29
+ */
30
+ name: string;
31
+
32
+ /**
33
+ * Swagger/OpenAPI document.
34
+ */
35
+ document:
36
+ | SwaggerV2.IDocument
37
+ | OpenApiV3.IDocument
38
+ | OpenApiV3_1.IDocument
39
+ | OpenApiV3_2.IDocument
40
+ | OpenApi.IDocument
41
+ | unknown;
42
+
43
+ /**
44
+ * Connection to the server.
45
+ *
46
+ * Connection to the API server including the URL and headers.
47
+ */
48
+ connection: IHttpConnection;
49
+
50
+ /**
51
+ * Options for the LLM function calling schema composition.
52
+ */
53
+ config?: Partial<IHttpLlmApplication.IConfig>;
54
+
55
+ /**
56
+ * Executor of the API function.
57
+ *
58
+ * @param props Properties of the API function call
59
+ * @returns HTTP response of the API function call
60
+ */
61
+ execute?: (props: {
62
+ /**
63
+ * Connection to the server.
64
+ */
65
+ connection: IHttpConnection;
66
+
67
+ /**
68
+ * Application schema.
69
+ */
70
+ application: IHttpLlmApplication;
71
+
72
+ /**
73
+ * Function schema.
74
+ */
75
+ function: IHttpLlmFunction;
76
+
77
+ /**
78
+ * Arguments of the function calling.
79
+ *
80
+ * It is an object of key-value pairs of the API function's parameters.
81
+ * The property keys are composed by below rules:
82
+ *
83
+ * - parameter names
84
+ * - query parameter as an object type if exists
85
+ * - body parameter if exists
86
+ */
87
+ arguments: object;
88
+ }) => Promise<IHttpResponse>;
89
+ }): IValidation<IAgenticaController.IHttp> {
90
+ const inspect = typia.validate<
91
+ | SwaggerV2.IDocument
92
+ | OpenApiV3.IDocument
93
+ | OpenApiV3_1.IDocument
94
+ | OpenApiV3_2.IDocument
95
+ | OpenApi.IDocument
96
+ >(props.document);
97
+ if (inspect.success === false) {
98
+ return inspect;
99
+ }
100
+ return {
101
+ success: true,
102
+ data: {
103
+ protocol: "http",
104
+ name: props.name,
105
+ application: HttpLlm.application({
106
+ document: OpenApiConverter.upgradeDocument(inspect.data),
107
+ config: props.config,
108
+ }),
109
+ execute: props.execute,
110
+ connection: props.connection,
111
+ },
112
+ };
113
+ }
@@ -1,70 +1,65 @@
1
- import type {
2
- IHttpLlmApplication,
3
- OpenApiV3,
4
- OpenApiV3_1,
5
- SwaggerV2,
6
- } from "@samchon/openapi";
7
- import type { IValidation } from "typia";
8
-
9
- import {
10
- HttpLlm,
11
- OpenApi,
12
- } from "@samchon/openapi";
13
- import typia from "typia";
14
-
15
- /**
16
- * Create an HTTP LLM application instance with type validation.
17
- *
18
- * Create an {@link IHttpLlmApplication} instance which represents
19
- * the LLM (Large Language Model) function calling application schema
20
- * from the given Swagger/OpenAPI document and the target LLM model.
21
- *
22
- * By the way, even though this `validateHttpLlmApplication` function
23
- * supports every version of Swagger/OpenAPI specification, there can
24
- * be a type error in the given document. In that case, the function
25
- * will return {@link IValidation.IFailure} instance with detailed
26
- * type error tracing information.
27
- *
28
- * @param props Properties to create the HTTP LLM application instance
29
- * @returns Validation result of the HTTP LLM application composition
30
- * @author Samchon
31
- * @deprecated Use {@link validateHttpController} instead.
32
- */
33
- export function validateHttpLlmApplication(props: {
34
- /**
35
- * Swagger/OpenAPI document.
36
- */
37
- document:
38
- | SwaggerV2.IDocument
39
- | OpenApiV3.IDocument
40
- | OpenApiV3_1.IDocument
41
- | OpenApi.IDocument
42
- | unknown;
43
-
44
- /**
45
- * Options for the LLM function calling schema composition.
46
- */
47
- config?: Partial<IHttpLlmApplication.IConfig>;
48
- }): IValidation<IHttpLlmApplication> {
49
- const inspect: IValidation<
50
- | SwaggerV2.IDocument
51
- | OpenApiV3.IDocument
52
- | OpenApiV3_1.IDocument
53
- | OpenApi.IDocument
54
- > = typia.validate<
55
- | SwaggerV2.IDocument
56
- | OpenApiV3.IDocument
57
- | OpenApiV3_1.IDocument
58
- | OpenApi.IDocument
59
- >(props.document);
60
- if (inspect.success === false) {
61
- return inspect;
62
- }
63
- return {
64
- success: true,
65
- data: HttpLlm.application({
66
- document: OpenApi.convert(inspect.data),
67
- config: props.config,
68
- }),
69
- };
70
- }
1
+ import type { IHttpLlmApplication, OpenApiV3, OpenApiV3_1, OpenApiV3_2, SwaggerV2 } from "@typia/interface";
2
+ import type { IValidation, OpenApi } from "typia";
3
+
4
+ import { HttpLlm, OpenApiConverter } from "@typia/utils";
5
+ import typia from "typia";
6
+
7
+ /**
8
+ * Create an HTTP LLM application instance with type validation.
9
+ *
10
+ * Create an {@link IHttpLlmApplication} instance which represents
11
+ * the LLM (Large Language Model) function calling application schema
12
+ * from the given Swagger/OpenAPI document and the target LLM model.
13
+ *
14
+ * By the way, even though this `validateHttpLlmApplication` function
15
+ * supports every version of Swagger/OpenAPI specification, there can
16
+ * be a type error in the given document. In that case, the function
17
+ * will return {@link IValidation.IFailure} instance with detailed
18
+ * type error tracing information.
19
+ *
20
+ * @param props Properties to create the HTTP LLM application instance
21
+ * @returns Validation result of the HTTP LLM application composition
22
+ * @author Samchon
23
+ * @deprecated Use {@link validateHttpController} instead.
24
+ */
25
+ export function validateHttpLlmApplication(props: {
26
+ /**
27
+ * Swagger/OpenAPI document.
28
+ */
29
+ document:
30
+ | SwaggerV2.IDocument
31
+ | OpenApiV3.IDocument
32
+ | OpenApiV3_1.IDocument
33
+ | OpenApiV3_2.IDocument
34
+ | OpenApi.IDocument
35
+ | unknown;
36
+
37
+ /**
38
+ * Options for the LLM function calling schema composition.
39
+ */
40
+ config?: Partial<IHttpLlmApplication.IConfig>;
41
+ }): IValidation<IHttpLlmApplication> {
42
+ const inspect: IValidation<
43
+ | SwaggerV2.IDocument
44
+ | OpenApiV3.IDocument
45
+ | OpenApiV3_1.IDocument
46
+ | OpenApiV3_2.IDocument
47
+ | OpenApi.IDocument
48
+ > = typia.validate<
49
+ | SwaggerV2.IDocument
50
+ | OpenApiV3.IDocument
51
+ | OpenApiV3_1.IDocument
52
+ | OpenApiV3_2.IDocument
53
+ | OpenApi.IDocument
54
+ >(props.document);
55
+ if (inspect.success === false) {
56
+ return inspect;
57
+ }
58
+ return {
59
+ success: true,
60
+ data: HttpLlm.application({
61
+ document: OpenApiConverter.upgradeDocument(inspect.data),
62
+ config: props.config,
63
+ }),
64
+ };
65
+ }
@@ -1,50 +1,53 @@
1
- import type { IMcpLlmApplication, IMcpTool, IValidation } from "@samchon/openapi";
2
-
3
- import { McpLlm } from "@samchon/openapi";
4
- import typia from "typia";
5
-
6
- import type { IAgenticaController } from "../structures/IAgenticaController";
7
-
8
- /**
9
- * Create an MCP controller with type validation.
10
- *
11
- * Create an {@link IAgenticaController.IMcp} instance which represents
12
- * an MCP (Model Context Protocol) controller with LLM function calling
13
- * schemas and client connection.
14
- *
15
- * @param props Properties to create the MCP controller
16
- * @param props.name Name of the MCP implementation.
17
- * @param props.client Client connection to the MCP implementation.
18
- * @param props.model Model schema of the LLM function calling.
19
- * @param props.options Options to create the MCP controller.
20
- * @returns MCP LLM application instance
21
- * @author SunRabbit
22
- */
23
- export async function validateMcpController(props: {
24
- name: string;
25
- client: IAgenticaController.IMcp["client"];
26
- config?: Partial<IMcpLlmApplication.IConfig>;
27
- }): Promise<IValidation<IAgenticaController.IMcp>> {
28
- // for peerDependencies
29
- const { ListToolsResultSchema } = await import("@modelcontextprotocol/sdk/types.js");
30
-
31
- // get list of tools
32
- const { tools } = await props.client.request({ method: "tools/list" }, ListToolsResultSchema);
33
- const inspect = typia.validate<Array<IMcpTool>>(tools);
34
- if (inspect.success === false) {
35
- return inspect;
36
- }
37
-
38
- const application: IMcpLlmApplication = McpLlm.application({
39
- tools: typia.assert<Array<IMcpTool>>(tools),
40
- });
41
- return {
42
- success: true,
43
- data: {
44
- protocol: "mcp",
45
- name: props.name,
46
- client: props.client,
47
- application,
48
- },
49
- };
50
- }
1
+ import type { ILlmApplication, IValidation } from "typia";
2
+
3
+ import typia from "typia";
4
+
5
+ import type { IAgenticaController } from "../structures/IAgenticaController";
6
+ import type { IMcpTool } from "../structures/IMcpTool";
7
+
8
+ import { createMcpLlmApplication } from "./createMcpLlmApplication";
9
+
10
+ /**
11
+ * Create an MCP controller with type validation.
12
+ *
13
+ * Create an {@link IAgenticaController.IMcp} instance which represents
14
+ * an MCP (Model Context Protocol) controller with LLM function calling
15
+ * schemas and client connection.
16
+ *
17
+ * @param props Properties to create the MCP controller
18
+ * @param props.name Name of the MCP implementation.
19
+ * @param props.client Client connection to the MCP implementation.
20
+ * @param props.model Model schema of the LLM function calling.
21
+ * @param props.options Options to create the MCP controller.
22
+ * @returns MCP LLM application instance
23
+ * @author SunRabbit
24
+ */
25
+ export async function validateMcpController(props: {
26
+ name: string;
27
+ client: IAgenticaController.IMcp["client"];
28
+ config?: Partial<ILlmApplication.IConfig>;
29
+ }): Promise<IValidation<IAgenticaController.IMcp>> {
30
+ // for peerDependencies
31
+ const { ListToolsResultSchema } = await import("@modelcontextprotocol/sdk/types.js");
32
+
33
+ // get list of tools
34
+ const { tools } = await props.client.request({ method: "tools/list" }, ListToolsResultSchema);
35
+ const inspect = typia.validate<Array<IMcpTool>>(tools);
36
+ if (inspect.success === false) {
37
+ return inspect;
38
+ }
39
+
40
+ const application: ILlmApplication = createMcpLlmApplication({
41
+ tools: typia.assert<Array<IMcpTool>>(tools),
42
+ config: props.config,
43
+ });
44
+ return {
45
+ success: true,
46
+ data: {
47
+ protocol: "mcp",
48
+ name: props.name,
49
+ client: props.client,
50
+ application,
51
+ },
52
+ };
53
+ }
@@ -1,10 +1,10 @@
1
- import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
2
-
3
- import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
4
-
5
- export interface AgenticaAssistantMessageHistory extends AgenticaHistoryBase<
6
- "assistantMessage",
7
- IAgenticaHistoryJson.IAssistantMessage
8
- > {
9
- text: string;
10
- }
1
+ import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
2
+
3
+ import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
4
+
5
+ export interface AgenticaAssistantMessageHistory extends AgenticaHistoryBase<
6
+ "assistantMessage",
7
+ IAgenticaHistoryJson.IAssistantMessage
8
+ > {
9
+ text: string;
10
+ }
@@ -1,8 +1,8 @@
1
- import type { AgenticaOperationSelection } from "../context/AgenticaOperationSelection";
2
- import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
3
-
4
- import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
5
-
6
- export interface AgenticaCancelHistory extends AgenticaHistoryBase<"cancel", IAgenticaHistoryJson.ICancel> {
7
- selection: AgenticaOperationSelection;
8
- }
1
+ import type { AgenticaOperationSelection } from "../context/AgenticaOperationSelection";
2
+ import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
3
+
4
+ import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
5
+
6
+ export interface AgenticaCancelHistory extends AgenticaHistoryBase<"cancel", IAgenticaHistoryJson.ICancel> {
7
+ selection: AgenticaOperationSelection;
8
+ }
@@ -1,18 +1,18 @@
1
- import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
2
-
3
- import type { AgenticaExecuteHistory } from "./AgenticaExecuteHistory";
4
- import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
5
-
6
- export interface AgenticaDescribeHistory extends AgenticaHistoryBase<"describe", IAgenticaHistoryJson.IDescribe> {
7
- /**
8
- * Executions of the LLM function calling.
9
- *
10
- * This prompt describes the return value of them.
11
- */
12
- executes: AgenticaExecuteHistory[];
13
-
14
- /**
15
- * Description text.
16
- */
17
- text: string;
18
- }
1
+ import type { IAgenticaHistoryJson } from "../json/IAgenticaHistoryJson";
2
+
3
+ import type { AgenticaExecuteHistory } from "./AgenticaExecuteHistory";
4
+ import type { AgenticaHistoryBase } from "./AgenticaHistoryBase";
5
+
6
+ export interface AgenticaDescribeHistory extends AgenticaHistoryBase<"describe", IAgenticaHistoryJson.IDescribe> {
7
+ /**
8
+ * Executions of the LLM function calling.
9
+ *
10
+ * This prompt describes the return value of them.
11
+ */
12
+ executes: AgenticaExecuteHistory[];
13
+
14
+ /**
15
+ * Description text.
16
+ */
17
+ text: string;
18
+ }