@agentica/core 0.44.0-dev.20260313-2 → 0.44.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 (150) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +218 -218
  3. package/lib/context/internal/__IChatInitialApplication.d.ts +1 -2
  4. package/lib/errors/AgenticaJsonParseError.js +6 -6
  5. package/lib/index.mjs +47 -1
  6. package/lib/index.mjs.map +1 -1
  7. package/lib/orchestrate/call.js +16 -16
  8. package/lib/orchestrate/initialize.js +43 -1
  9. package/lib/orchestrate/initialize.js.map +1 -1
  10. package/lib/structures/IAgenticaController.d.ts +143 -143
  11. package/lib/utils/ChatGptCompletionMessageUtil.js +6 -6
  12. package/package.json +6 -6
  13. package/prompts/cancel.md +5 -5
  14. package/prompts/common.md +3 -3
  15. package/prompts/describe.md +7 -7
  16. package/prompts/execute.md +122 -122
  17. package/prompts/initialize.md +3 -3
  18. package/prompts/json_parse_error.md +35 -35
  19. package/prompts/select.md +7 -7
  20. package/prompts/validate.md +123 -123
  21. package/prompts/validate_repeated.md +31 -31
  22. package/src/Agentica.ts +367 -367
  23. package/src/MicroAgentica.ts +357 -357
  24. package/src/constants/AgenticaConstant.ts +4 -4
  25. package/src/constants/AgenticaDefaultPrompt.ts +44 -44
  26. package/src/constants/index.ts +2 -2
  27. package/src/context/AgenticaContext.ts +136 -136
  28. package/src/context/AgenticaContextRequestResult.ts +14 -14
  29. package/src/context/AgenticaOperation.ts +73 -73
  30. package/src/context/AgenticaOperationCollection.ts +49 -49
  31. package/src/context/AgenticaOperationSelection.ts +9 -9
  32. package/src/context/AgenticaTokenUsage.ts +186 -186
  33. package/src/context/MicroAgenticaContext.ts +99 -99
  34. package/src/context/index.ts +5 -5
  35. package/src/context/internal/AgenticaOperationComposer.ts +177 -177
  36. package/src/context/internal/AgenticaTokenUsageAggregator.ts +66 -66
  37. package/src/context/internal/__IChatCancelFunctionsApplication.ts +23 -23
  38. package/src/context/internal/__IChatFunctionReference.ts +21 -21
  39. package/src/context/internal/__IChatInitialApplication.ts +13 -15
  40. package/src/context/internal/__IChatSelectFunctionsApplication.ts +24 -24
  41. package/src/context/internal/isAgenticaContext.ts +11 -11
  42. package/src/errors/AgenticaJsonParseError.ts +52 -52
  43. package/src/errors/AgenticaValidationError.ts +49 -49
  44. package/src/errors/index.ts +2 -2
  45. package/src/events/AgenticaAssistantMessageEvent.ts +12 -12
  46. package/src/events/AgenticaCallEvent.ts +27 -27
  47. package/src/events/AgenticaCancelEvent.ts +9 -9
  48. package/src/events/AgenticaDescribeEvent.ts +14 -14
  49. package/src/events/AgenticaEvent.ts +59 -59
  50. package/src/events/AgenticaEvent.type.ts +19 -19
  51. package/src/events/AgenticaEventBase.ts +18 -18
  52. package/src/events/AgenticaEventSource.ts +6 -6
  53. package/src/events/AgenticaExecuteEvent.ts +45 -45
  54. package/src/events/AgenticaInitializeEvent.ts +7 -7
  55. package/src/events/AgenticaJsonParseErrorEvent.ts +16 -16
  56. package/src/events/AgenticaRequestEvent.ts +27 -27
  57. package/src/events/AgenticaResponseEvent.ts +32 -32
  58. package/src/events/AgenticaSelectEvent.ts +11 -11
  59. package/src/events/AgenticaUserMessageEvent.ts +12 -12
  60. package/src/events/AgenticaValidateEvent.ts +32 -32
  61. package/src/events/MicroAgenticaEvent.ts +45 -45
  62. package/src/events/index.ts +15 -15
  63. package/src/factory/events.ts +357 -357
  64. package/src/factory/histories.ts +348 -348
  65. package/src/factory/index.ts +3 -3
  66. package/src/factory/operations.ts +16 -16
  67. package/src/functional/assertHttpController.ts +106 -106
  68. package/src/functional/assertHttpLlmApplication.ts +52 -52
  69. package/src/functional/assertMcpController.ts +47 -47
  70. package/src/functional/createMcpLlmApplication.ts +72 -72
  71. package/src/functional/index.ts +7 -7
  72. package/src/functional/validateHttpController.ts +113 -113
  73. package/src/functional/validateHttpLlmApplication.ts +65 -65
  74. package/src/functional/validateMcpController.ts +53 -53
  75. package/src/histories/AgenticaAssistantMessageHistory.ts +10 -10
  76. package/src/histories/AgenticaCancelHistory.ts +8 -8
  77. package/src/histories/AgenticaDescribeHistory.ts +18 -18
  78. package/src/histories/AgenticaExecuteHistory.ts +64 -64
  79. package/src/histories/AgenticaHistory.ts +28 -28
  80. package/src/histories/AgenticaHistoryBase.ts +35 -35
  81. package/src/histories/AgenticaSelectHistory.ts +8 -8
  82. package/src/histories/AgenticaSystemMessageHistory.ts +10 -10
  83. package/src/histories/AgenticaUserMessageHistory.ts +11 -11
  84. package/src/histories/MicroAgenticaHistory.ts +19 -19
  85. package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -21
  86. package/src/histories/contents/AgenticaUserMessageContent.ts +19 -19
  87. package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -6
  88. package/src/histories/contents/AgenticaUserMessageFileContent.ts +25 -25
  89. package/src/histories/contents/AgenticaUserMessageImageContent.ts +33 -33
  90. package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -15
  91. package/src/histories/contents/index.ts +5 -5
  92. package/src/histories/index.ts +10 -10
  93. package/src/index.ts +15 -15
  94. package/src/json/IAgenticaEventJson.ts +265 -265
  95. package/src/json/IAgenticaEventJson.type.ts +19 -19
  96. package/src/json/IAgenticaHistoryJson.ts +165 -165
  97. package/src/json/IAgenticaHistoryJson.type.ts +19 -19
  98. package/src/json/IAgenticaOperationJson.ts +36 -36
  99. package/src/json/IAgenticaOperationSelectionJson.ts +26 -26
  100. package/src/json/IAgenticaTokenUsageJson.ts +107 -107
  101. package/src/json/IMicroAgenticaEventJson.ts +22 -22
  102. package/src/json/IMicroAgenticaHistoryJson.ts +25 -25
  103. package/src/json/index.ts +7 -7
  104. package/src/orchestrate/call.ts +542 -542
  105. package/src/orchestrate/cancel.ts +265 -265
  106. package/src/orchestrate/describe.ts +66 -66
  107. package/src/orchestrate/execute.ts +61 -61
  108. package/src/orchestrate/index.ts +6 -6
  109. package/src/orchestrate/initialize.ts +102 -102
  110. package/src/orchestrate/internal/cancelFunctionFromContext.ts +33 -33
  111. package/src/orchestrate/internal/selectFunctionFromContext.ts +34 -34
  112. package/src/orchestrate/select.ts +320 -320
  113. package/src/structures/IAgenticaConfig.ts +83 -83
  114. package/src/structures/IAgenticaConfigBase.ts +87 -87
  115. package/src/structures/IAgenticaController.ts +143 -143
  116. package/src/structures/IAgenticaExecutor.ts +167 -167
  117. package/src/structures/IAgenticaProps.ts +78 -78
  118. package/src/structures/IAgenticaSystemPrompt.ts +236 -236
  119. package/src/structures/IAgenticaVendor.ts +54 -54
  120. package/src/structures/IMcpTool.ts +60 -60
  121. package/src/structures/IMicroAgenticaConfig.ts +56 -56
  122. package/src/structures/IMicroAgenticaExecutor.ts +67 -67
  123. package/src/structures/IMicroAgenticaProps.ts +77 -77
  124. package/src/structures/IMicroAgenticaSystemPrompt.ts +169 -169
  125. package/src/structures/index.ts +10 -10
  126. package/src/transformers/transformHistory.ts +172 -172
  127. package/src/utils/AssistantMessageEmptyError.ts +20 -20
  128. package/src/utils/AsyncQueue.spec.ts +355 -355
  129. package/src/utils/AsyncQueue.ts +95 -95
  130. package/src/utils/ByteArrayUtil.ts +5 -5
  131. package/src/utils/ChatGptCompletionMessageUtil.spec.ts +314 -314
  132. package/src/utils/ChatGptCompletionMessageUtil.ts +210 -210
  133. package/src/utils/ChatGptCompletionStreamingUtil.spec.ts +909 -909
  134. package/src/utils/ChatGptCompletionStreamingUtil.ts +91 -91
  135. package/src/utils/ChatGptTokenUsageAggregator.spec.ts +226 -226
  136. package/src/utils/ChatGptTokenUsageAggregator.ts +57 -57
  137. package/src/utils/MPSC.spec.ts +276 -276
  138. package/src/utils/MPSC.ts +42 -42
  139. package/src/utils/Singleton.spec.ts +138 -138
  140. package/src/utils/Singleton.ts +42 -42
  141. package/src/utils/StreamUtil.spec.ts +512 -512
  142. package/src/utils/StreamUtil.ts +87 -87
  143. package/src/utils/__map_take.spec.ts +140 -140
  144. package/src/utils/__map_take.ts +13 -13
  145. package/src/utils/__retry.spec.ts +198 -198
  146. package/src/utils/__retry.ts +18 -18
  147. package/src/utils/assertExecuteFailure.ts +16 -16
  148. package/src/utils/index.ts +4 -4
  149. package/src/utils/request.ts +140 -140
  150. package/src/utils/types.ts +50 -50
@@ -1,4 +1,4 @@
1
- export namespace AgenticaConstant {
2
- export const RETRY = 3;
3
- export const ELITICISM = true;
4
- }
1
+ export namespace AgenticaConstant {
2
+ export const RETRY = 3;
3
+ export const ELITICISM = true;
4
+ }
@@ -1,44 +1,44 @@
1
- import { is_node } from "tstl";
2
-
3
- import type { IAgenticaConfig } from "../structures/IAgenticaConfig";
4
- import type { IMicroAgenticaConfig } from "../structures/IMicroAgenticaConfig";
5
- import type { IMicroAgenticaSystemPrompt } from "../structures/IMicroAgenticaSystemPrompt";
6
-
7
- import { Singleton } from "../utils/Singleton";
8
-
9
- import { AgenticaSystemPrompt } from "./AgenticaSystemPrompt";
10
-
11
- /**
12
- * @TODO maybe replace `process` property for lint pass
13
- */
14
- const getLocale = new Singleton(() =>
15
- is_node()
16
- // eslint-disable-next-line node/prefer-global/process
17
- ? (process.env.LANG?.split(".")[0] ?? "en-US")
18
- : navigator.language,
19
- );
20
-
21
- const getTimezone = new Singleton(
22
- () => Intl.DateTimeFormat().resolvedOptions().timeZone,
23
- );
24
-
25
- export function write(config?: IAgenticaConfig | IMicroAgenticaConfig): string {
26
- if (config?.systemPrompt?.common !== undefined) {
27
- return (config.systemPrompt as IMicroAgenticaSystemPrompt).common!(config as unknown as IMicroAgenticaConfig);
28
- }
29
-
30
- const locale: string = config?.locale ?? getLocale.get();
31
- const timezone: string = config?.timezone ?? getTimezone.get();
32
-
33
- return AgenticaSystemPrompt.COMMON
34
- // intended code
35
-
36
- .replace("${locale}", locale)
37
-
38
- .replace("${timezone}", timezone)
39
-
40
- .replace("${datetime}", new Date().toISOString());
41
- }
42
- export const AgenticaDefaultPrompt = {
43
- write,
44
- };
1
+ import { is_node } from "tstl";
2
+
3
+ import type { IAgenticaConfig } from "../structures/IAgenticaConfig";
4
+ import type { IMicroAgenticaConfig } from "../structures/IMicroAgenticaConfig";
5
+ import type { IMicroAgenticaSystemPrompt } from "../structures/IMicroAgenticaSystemPrompt";
6
+
7
+ import { Singleton } from "../utils/Singleton";
8
+
9
+ import { AgenticaSystemPrompt } from "./AgenticaSystemPrompt";
10
+
11
+ /**
12
+ * @TODO maybe replace `process` property for lint pass
13
+ */
14
+ const getLocale = new Singleton(() =>
15
+ is_node()
16
+ // eslint-disable-next-line node/prefer-global/process
17
+ ? (process.env.LANG?.split(".")[0] ?? "en-US")
18
+ : navigator.language,
19
+ );
20
+
21
+ const getTimezone = new Singleton(
22
+ () => Intl.DateTimeFormat().resolvedOptions().timeZone,
23
+ );
24
+
25
+ export function write(config?: IAgenticaConfig | IMicroAgenticaConfig): string {
26
+ if (config?.systemPrompt?.common !== undefined) {
27
+ return (config.systemPrompt as IMicroAgenticaSystemPrompt).common!(config as unknown as IMicroAgenticaConfig);
28
+ }
29
+
30
+ const locale: string = config?.locale ?? getLocale.get();
31
+ const timezone: string = config?.timezone ?? getTimezone.get();
32
+
33
+ return AgenticaSystemPrompt.COMMON
34
+ // intended code
35
+
36
+ .replace("${locale}", locale)
37
+
38
+ .replace("${timezone}", timezone)
39
+
40
+ .replace("${datetime}", new Date().toISOString());
41
+ }
42
+ export const AgenticaDefaultPrompt = {
43
+ write,
44
+ };
@@ -1,2 +1,2 @@
1
- export * from "./AgenticaDefaultPrompt";
2
- export * from "./AgenticaSystemPrompt";
1
+ export * from "./AgenticaDefaultPrompt";
2
+ export * from "./AgenticaSystemPrompt";
@@ -1,136 +1,136 @@
1
- import type OpenAI from "openai";
2
-
3
- import type { AgenticaEvent } from "../events/AgenticaEvent";
4
- import type { AgenticaEventSource } from "../events/AgenticaEventSource";
5
- import type { AgenticaHistory } from "../histories/AgenticaHistory";
6
- import type { AgenticaUserMessageHistory } from "../histories/AgenticaUserMessageHistory";
7
- import type { IAgenticaConfig } from "../structures/IAgenticaConfig";
8
-
9
- import type { AgenticaContextRequestResult } from "./AgenticaContextRequestResult";
10
- import type { AgenticaOperationCollection } from "./AgenticaOperationCollection";
11
- import type { AgenticaOperationSelection } from "./AgenticaOperationSelection";
12
-
13
- /**
14
- * Context of the Agentic AI agent.
15
- *
16
- * `AgenticaContext` is a structure defining the context of the
17
- * internal agents composing the {@link Agentica}, like function
18
- * selector, executor, and describer, and so on. For example, if an
19
- * agent has been configured to utilize the OpenAI, the context will
20
- * be delivered to the below components.
21
- *
22
- * - {@link orchestrate.execute}
23
- * - {@link orchestrate.initialize}
24
- * - {@link orchestrate.select}
25
- * - {@link orchestrate.call}
26
- * - {@link orchestrate.describe}
27
- * - {@link orchestrate.cancel}
28
- *
29
- * Also, as its name is context, it contains every information that
30
- * is required to interact with the AI vendor like OpenAI. It
31
- * contains every operations for LLM function calling, and
32
- * configuration used for the agent construction. And it contains
33
- * the prompt histories, and facade controller functions for
34
- * interacting with the {@link Agentica} like {@link dispatch}.
35
- *
36
- * In such reasons, if you're planning to customize some internal
37
- * agents, or add new agents with new process routine, you have to
38
- * understand this context structure. Otherwise you don't have any
39
- * plan to customize the internal agents, this context information is
40
- * not important for you.
41
- *
42
- * @author Samchon
43
- */
44
- export interface AgenticaContext {
45
- // ----
46
- // APPLICATION
47
- // ----
48
- /**
49
- * Collection of operations.
50
- *
51
- * Collection of operations from every controllers, and their
52
- * groups composed by the divide and conquer rule for the
53
- * efficient operation selection if configured.
54
- */
55
- operations: AgenticaOperationCollection;
56
-
57
- /**
58
- * Configuration of the agent.
59
- *
60
- * Configuration of the agent, that is used when constructing the
61
- * {@link Agentica} instance.
62
- *
63
- * @todo Write detaily after supporting the agent customization feature
64
- */
65
- config: IAgenticaConfig | undefined;
66
-
67
- // ----
68
- // STATES
69
- // ----
70
- /**
71
- * Prompt histories.
72
- */
73
- histories: AgenticaHistory[];
74
-
75
- /**
76
- * Stacked operations.
77
- *
78
- * In other words, list of candidate operations for the LLM function calling.
79
- */
80
- stack: AgenticaOperationSelection[];
81
-
82
- /**
83
- * The user input history.
84
- *
85
- * The user input history written by the user through the
86
- * {@link Agentica.conversate} function.
87
- */
88
- prompt: AgenticaUserMessageHistory;
89
-
90
- /**
91
- * Abort signal.
92
- */
93
- abortSignal?: AbortSignal;
94
-
95
- /**
96
- * Whether the agent is ready.
97
- *
98
- * Returns a boolean value indicates whether the agent is ready to
99
- * perform the function calling.
100
- *
101
- * If the agent has called the {@link AgenticaContext.initialize},
102
- * it returns `true`. Otherwise the {@link initialize} has never been
103
- * called, returns `false`.
104
- */
105
- ready: () => boolean;
106
-
107
- // ----
108
- // HANDLERS
109
- // ----
110
- /**
111
- * Dispatch event.
112
- *
113
- * Dispatch event so that the agent can be handle the event
114
- * through the {@link Agentica.on} function.
115
- *
116
- * @param event Event to deliver
117
- */
118
- dispatch: (event: AgenticaEvent) => Promise<void>;
119
-
120
- /**
121
- * Request to the OpenAI server.
122
- *
123
- * @param source The source agent of the agent
124
- * @param body The request body to the OpenAI server
125
- * @returns Response from the OpenAI server
126
- */
127
- request: (
128
- source: AgenticaEventSource,
129
- body: Omit<OpenAI.ChatCompletionCreateParamsStreaming, "model" | "stream">,
130
- ) => Promise<AgenticaContextRequestResult>;
131
-
132
- /**
133
- * Initialize the agent.
134
- */
135
- initialize: () => Promise<void>;
136
- }
1
+ import type OpenAI from "openai";
2
+
3
+ import type { AgenticaEvent } from "../events/AgenticaEvent";
4
+ import type { AgenticaEventSource } from "../events/AgenticaEventSource";
5
+ import type { AgenticaHistory } from "../histories/AgenticaHistory";
6
+ import type { AgenticaUserMessageHistory } from "../histories/AgenticaUserMessageHistory";
7
+ import type { IAgenticaConfig } from "../structures/IAgenticaConfig";
8
+
9
+ import type { AgenticaContextRequestResult } from "./AgenticaContextRequestResult";
10
+ import type { AgenticaOperationCollection } from "./AgenticaOperationCollection";
11
+ import type { AgenticaOperationSelection } from "./AgenticaOperationSelection";
12
+
13
+ /**
14
+ * Context of the Agentic AI agent.
15
+ *
16
+ * `AgenticaContext` is a structure defining the context of the
17
+ * internal agents composing the {@link Agentica}, like function
18
+ * selector, executor, and describer, and so on. For example, if an
19
+ * agent has been configured to utilize the OpenAI, the context will
20
+ * be delivered to the below components.
21
+ *
22
+ * - {@link orchestrate.execute}
23
+ * - {@link orchestrate.initialize}
24
+ * - {@link orchestrate.select}
25
+ * - {@link orchestrate.call}
26
+ * - {@link orchestrate.describe}
27
+ * - {@link orchestrate.cancel}
28
+ *
29
+ * Also, as its name is context, it contains every information that
30
+ * is required to interact with the AI vendor like OpenAI. It
31
+ * contains every operations for LLM function calling, and
32
+ * configuration used for the agent construction. And it contains
33
+ * the prompt histories, and facade controller functions for
34
+ * interacting with the {@link Agentica} like {@link dispatch}.
35
+ *
36
+ * In such reasons, if you're planning to customize some internal
37
+ * agents, or add new agents with new process routine, you have to
38
+ * understand this context structure. Otherwise you don't have any
39
+ * plan to customize the internal agents, this context information is
40
+ * not important for you.
41
+ *
42
+ * @author Samchon
43
+ */
44
+ export interface AgenticaContext {
45
+ // ----
46
+ // APPLICATION
47
+ // ----
48
+ /**
49
+ * Collection of operations.
50
+ *
51
+ * Collection of operations from every controllers, and their
52
+ * groups composed by the divide and conquer rule for the
53
+ * efficient operation selection if configured.
54
+ */
55
+ operations: AgenticaOperationCollection;
56
+
57
+ /**
58
+ * Configuration of the agent.
59
+ *
60
+ * Configuration of the agent, that is used when constructing the
61
+ * {@link Agentica} instance.
62
+ *
63
+ * @todo Write detaily after supporting the agent customization feature
64
+ */
65
+ config: IAgenticaConfig | undefined;
66
+
67
+ // ----
68
+ // STATES
69
+ // ----
70
+ /**
71
+ * Prompt histories.
72
+ */
73
+ histories: AgenticaHistory[];
74
+
75
+ /**
76
+ * Stacked operations.
77
+ *
78
+ * In other words, list of candidate operations for the LLM function calling.
79
+ */
80
+ stack: AgenticaOperationSelection[];
81
+
82
+ /**
83
+ * The user input history.
84
+ *
85
+ * The user input history written by the user through the
86
+ * {@link Agentica.conversate} function.
87
+ */
88
+ prompt: AgenticaUserMessageHistory;
89
+
90
+ /**
91
+ * Abort signal.
92
+ */
93
+ abortSignal?: AbortSignal;
94
+
95
+ /**
96
+ * Whether the agent is ready.
97
+ *
98
+ * Returns a boolean value indicates whether the agent is ready to
99
+ * perform the function calling.
100
+ *
101
+ * If the agent has called the {@link AgenticaContext.initialize},
102
+ * it returns `true`. Otherwise the {@link initialize} has never been
103
+ * called, returns `false`.
104
+ */
105
+ ready: () => boolean;
106
+
107
+ // ----
108
+ // HANDLERS
109
+ // ----
110
+ /**
111
+ * Dispatch event.
112
+ *
113
+ * Dispatch event so that the agent can be handle the event
114
+ * through the {@link Agentica.on} function.
115
+ *
116
+ * @param event Event to deliver
117
+ */
118
+ dispatch: (event: AgenticaEvent) => Promise<void>;
119
+
120
+ /**
121
+ * Request to the OpenAI server.
122
+ *
123
+ * @param source The source agent of the agent
124
+ * @param body The request body to the OpenAI server
125
+ * @returns Response from the OpenAI server
126
+ */
127
+ request: (
128
+ source: AgenticaEventSource,
129
+ body: Omit<OpenAI.ChatCompletionCreateParamsStreaming, "model" | "stream">,
130
+ ) => Promise<AgenticaContextRequestResult>;
131
+
132
+ /**
133
+ * Initialize the agent.
134
+ */
135
+ initialize: () => Promise<void>;
136
+ }
@@ -1,14 +1,14 @@
1
- import type OpenAI from "openai";
2
-
3
- export type AgenticaContextRequestResult = AgenticaContextRequestResult.Stream | AgenticaContextRequestResult.NoneStream;
4
-
5
- export namespace AgenticaContextRequestResult {
6
- export interface Stream {
7
- type: "stream";
8
- value: ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>;
9
- }
10
- export interface NoneStream {
11
- type: "none-stream";
12
- value: OpenAI.ChatCompletion;
13
- }
14
- }
1
+ import type OpenAI from "openai";
2
+
3
+ export type AgenticaContextRequestResult = AgenticaContextRequestResult.Stream | AgenticaContextRequestResult.NoneStream;
4
+
5
+ export namespace AgenticaContextRequestResult {
6
+ export interface Stream {
7
+ type: "stream";
8
+ value: ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>;
9
+ }
10
+ export interface NoneStream {
11
+ type: "none-stream";
12
+ value: OpenAI.ChatCompletion;
13
+ }
14
+ }
@@ -1,73 +1,73 @@
1
- import type { IHttpLlmFunction } from "@typia/interface";
2
- import type { ILlmFunction } from "typia";
3
-
4
- import type { IAgenticaOperationJson } from "../json/IAgenticaOperationJson";
5
- import type { IAgenticaController } from "../structures/IAgenticaController";
6
-
7
- /**
8
- * Operation information in the Agentica Agent.
9
- *
10
- * `AgenticaOperation` is a type represents an operation that would
11
- * be selected by the A.I. chatbot of {@link Agentica} class to
12
- * perform the LLM (Large Language Model) function calling.
13
- *
14
- * Also, it is an union type that is discriminated by the {@link protocol}
15
- * property. If the protocol value is `http`, it means that the HTTP API
16
- * operation would be called by the A.I. chatbot. Otherwise, if the protocol
17
- * value is `class`, it means that the operation has come from a
18
- * TypeScript class.
19
- *
20
- * @author Samchon
21
- */
22
- export type AgenticaOperation
23
- = | AgenticaOperation.Class
24
- | AgenticaOperation.Http
25
- | AgenticaOperation.Mcp;
26
- export namespace AgenticaOperation {
27
- export type Class = Base<
28
- "class",
29
- IAgenticaController.IClass,
30
- ILlmFunction
31
- >;
32
- export type Http = Base<
33
- "http",
34
- IAgenticaController.IHttp,
35
- IHttpLlmFunction
36
- >;
37
- export type Mcp = Base<
38
- "mcp",
39
- IAgenticaController.IMcp,
40
- ILlmFunction
41
- >;
42
-
43
- interface Base<
44
- Protocol extends "http" | "class" | "mcp",
45
- Controller extends object,
46
- Function extends object,
47
- > {
48
- /**
49
- * Protocol discriminator.
50
- */
51
- protocol: Protocol;
52
-
53
- /**
54
- * Belonged controller of the target function.
55
- */
56
- controller: Controller;
57
-
58
- /**
59
- * Target function to call.
60
- */
61
- function: Function;
62
-
63
- /**
64
- * Identifier name.
65
- */
66
- name: string;
67
-
68
- /**
69
- * Convert to primitive JSON object.
70
- */
71
- toJSON: () => IAgenticaOperationJson;
72
- }
73
- }
1
+ import type { IHttpLlmFunction } from "@typia/interface";
2
+ import type { ILlmFunction } from "typia";
3
+
4
+ import type { IAgenticaOperationJson } from "../json/IAgenticaOperationJson";
5
+ import type { IAgenticaController } from "../structures/IAgenticaController";
6
+
7
+ /**
8
+ * Operation information in the Agentica Agent.
9
+ *
10
+ * `AgenticaOperation` is a type represents an operation that would
11
+ * be selected by the A.I. chatbot of {@link Agentica} class to
12
+ * perform the LLM (Large Language Model) function calling.
13
+ *
14
+ * Also, it is an union type that is discriminated by the {@link protocol}
15
+ * property. If the protocol value is `http`, it means that the HTTP API
16
+ * operation would be called by the A.I. chatbot. Otherwise, if the protocol
17
+ * value is `class`, it means that the operation has come from a
18
+ * TypeScript class.
19
+ *
20
+ * @author Samchon
21
+ */
22
+ export type AgenticaOperation
23
+ = | AgenticaOperation.Class
24
+ | AgenticaOperation.Http
25
+ | AgenticaOperation.Mcp;
26
+ export namespace AgenticaOperation {
27
+ export type Class = Base<
28
+ "class",
29
+ IAgenticaController.IClass,
30
+ ILlmFunction
31
+ >;
32
+ export type Http = Base<
33
+ "http",
34
+ IAgenticaController.IHttp,
35
+ IHttpLlmFunction
36
+ >;
37
+ export type Mcp = Base<
38
+ "mcp",
39
+ IAgenticaController.IMcp,
40
+ ILlmFunction
41
+ >;
42
+
43
+ interface Base<
44
+ Protocol extends "http" | "class" | "mcp",
45
+ Controller extends object,
46
+ Function extends object,
47
+ > {
48
+ /**
49
+ * Protocol discriminator.
50
+ */
51
+ protocol: Protocol;
52
+
53
+ /**
54
+ * Belonged controller of the target function.
55
+ */
56
+ controller: Controller;
57
+
58
+ /**
59
+ * Target function to call.
60
+ */
61
+ function: Function;
62
+
63
+ /**
64
+ * Identifier name.
65
+ */
66
+ name: string;
67
+
68
+ /**
69
+ * Convert to primitive JSON object.
70
+ */
71
+ toJSON: () => IAgenticaOperationJson;
72
+ }
73
+ }
@@ -1,49 +1,49 @@
1
- import type { AgenticaOperation } from "./AgenticaOperation";
2
-
3
- /**
4
- * Collection of operations used in the Agentica Agent.
5
- *
6
- * `IAgenticaOperationCollection` is an interface type representing
7
- * a collection of operations for several purposes used in the
8
- * {@link Agentica} internally.
9
- *
10
- * @author Samchon
11
- */
12
- export interface AgenticaOperationCollection {
13
- /**
14
- * List of every operations.
15
- */
16
- array: AgenticaOperation[];
17
- /**
18
- * Divided operations.
19
- *
20
- * If you've configured the {@link IAgenticaConfig.capacity} property,
21
- * the A.I. chatbot ({@link Agentica}) will separate the operations
22
- * into the several groups to divide and conquer and LLM function selecting
23
- * for accuracy.
24
- *
25
- * In that case, this property `divided`'s length would be dtermined by
26
- * dividing the number of operations ({@link array}'s length) by the
27
- * {@link IAgenticaConfig.capacity}.
28
- *
29
- * Otherwise, if the {@link IAgenticaConfig.capacity} has not been
30
- * configured, this `divided` property would be the `undefined` value.
31
- */
32
- divided?: AgenticaOperation[][] | undefined;
33
-
34
- /**
35
- * Flat dictionary of operations.
36
- *
37
- * Dictionary of operations with their {@link IAgenticaOperation.name}.
38
- */
39
- flat: Map<string, AgenticaOperation>;
40
-
41
- /**
42
- * Group dictionary of operations.
43
- *
44
- * Dictionary of operations with their
45
- * {@link IAgenticaOperation.controller.name} and
46
- * {@link IAgenticaOperation.function.name}.
47
- */
48
- group: Map<string, Map<string, AgenticaOperation>>;
49
- }
1
+ import type { AgenticaOperation } from "./AgenticaOperation";
2
+
3
+ /**
4
+ * Collection of operations used in the Agentica Agent.
5
+ *
6
+ * `IAgenticaOperationCollection` is an interface type representing
7
+ * a collection of operations for several purposes used in the
8
+ * {@link Agentica} internally.
9
+ *
10
+ * @author Samchon
11
+ */
12
+ export interface AgenticaOperationCollection {
13
+ /**
14
+ * List of every operations.
15
+ */
16
+ array: AgenticaOperation[];
17
+ /**
18
+ * Divided operations.
19
+ *
20
+ * If you've configured the {@link IAgenticaConfig.capacity} property,
21
+ * the A.I. chatbot ({@link Agentica}) will separate the operations
22
+ * into the several groups to divide and conquer and LLM function selecting
23
+ * for accuracy.
24
+ *
25
+ * In that case, this property `divided`'s length would be dtermined by
26
+ * dividing the number of operations ({@link array}'s length) by the
27
+ * {@link IAgenticaConfig.capacity}.
28
+ *
29
+ * Otherwise, if the {@link IAgenticaConfig.capacity} has not been
30
+ * configured, this `divided` property would be the `undefined` value.
31
+ */
32
+ divided?: AgenticaOperation[][] | undefined;
33
+
34
+ /**
35
+ * Flat dictionary of operations.
36
+ *
37
+ * Dictionary of operations with their {@link IAgenticaOperation.name}.
38
+ */
39
+ flat: Map<string, AgenticaOperation>;
40
+
41
+ /**
42
+ * Group dictionary of operations.
43
+ *
44
+ * Dictionary of operations with their
45
+ * {@link IAgenticaOperation.controller.name} and
46
+ * {@link IAgenticaOperation.function.name}.
47
+ */
48
+ group: Map<string, Map<string, AgenticaOperation>>;
49
+ }
@@ -1,9 +1,9 @@
1
- import type { IAgenticaOperationSelectionJson } from "../json/IAgenticaOperationSelectionJson";
2
-
3
- import type { AgenticaOperation } from "./AgenticaOperation";
4
-
5
- export interface AgenticaOperationSelection {
6
- operation: AgenticaOperation;
7
- reason: string;
8
- toJSON: () => IAgenticaOperationSelectionJson;
9
- }
1
+ import type { IAgenticaOperationSelectionJson } from "../json/IAgenticaOperationSelectionJson";
2
+
3
+ import type { AgenticaOperation } from "./AgenticaOperation";
4
+
5
+ export interface AgenticaOperationSelection {
6
+ operation: AgenticaOperation;
7
+ reason: string;
8
+ toJSON: () => IAgenticaOperationSelectionJson;
9
+ }