@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.
- package/LICENSE +21 -21
- package/README.md +218 -218
- package/lib/constants/AgenticaSystemPrompt.js +1 -1
- package/lib/constants/AgenticaSystemPrompt.js.map +1 -1
- package/lib/context/AgenticaOperation.d.ts +3 -2
- package/lib/context/internal/AgenticaOperationComposer.js.map +1 -1
- package/lib/context/internal/AgenticaTokenUsageAggregator.js.map +1 -1
- package/lib/context/internal/__IChatInitialApplication.d.ts +1 -1
- package/lib/errors/AgenticaJsonParseError.d.ts +5 -8
- package/lib/errors/AgenticaJsonParseError.js +11 -6
- package/lib/errors/AgenticaJsonParseError.js.map +1 -1
- package/lib/errors/AgenticaValidationError.d.ts +1 -1
- package/lib/events/AgenticaExecuteEvent.d.ts +1 -1
- package/lib/events/AgenticaJsonParseErrorEvent.d.ts +2 -2
- package/lib/factory/events.d.ts +2 -3
- package/lib/factory/events.js +1 -2
- package/lib/factory/events.js.map +1 -1
- package/lib/functional/assertHttpController.d.ts +2 -3
- package/lib/functional/assertHttpController.js +3939 -2656
- package/lib/functional/assertHttpController.js.map +1 -1
- package/lib/functional/assertHttpLlmApplication.d.ts +3 -3
- package/lib/functional/assertHttpLlmApplication.js +3939 -2656
- package/lib/functional/assertHttpLlmApplication.js.map +1 -1
- package/lib/functional/assertMcpController.d.ts +2 -2
- package/lib/functional/assertMcpController.js +202 -629
- package/lib/functional/assertMcpController.js.map +1 -1
- package/lib/functional/createMcpLlmApplication.d.ts +6 -0
- package/lib/functional/createMcpLlmApplication.js +56 -0
- package/lib/functional/createMcpLlmApplication.js.map +1 -0
- package/lib/functional/validateHttpController.d.ts +3 -3
- package/lib/functional/validateHttpController.js +3367 -2268
- package/lib/functional/validateHttpController.js.map +1 -1
- package/lib/functional/validateHttpLlmApplication.d.ts +3 -4
- package/lib/functional/validateHttpLlmApplication.js +3367 -2268
- package/lib/functional/validateHttpLlmApplication.js.map +1 -1
- package/lib/functional/validateMcpController.d.ts +2 -2
- package/lib/functional/validateMcpController.js +388 -1161
- package/lib/functional/validateMcpController.js.map +1 -1
- package/lib/histories/AgenticaExecuteHistory.d.ts +1 -1
- package/lib/index.mjs +21256 -18946
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/call.js +43 -56
- package/lib/orchestrate/call.js.map +1 -1
- package/lib/orchestrate/cancel.js +9 -66
- package/lib/orchestrate/cancel.js.map +1 -1
- package/lib/orchestrate/initialize.js +4 -947
- package/lib/orchestrate/initialize.js.map +1 -1
- package/lib/orchestrate/select.js +11 -68
- package/lib/orchestrate/select.js.map +1 -1
- package/lib/structures/IAgenticaController.d.ts +143 -151
- package/lib/structures/IMcpTool.d.ts +52 -0
- package/lib/structures/IMcpTool.js +3 -0
- package/lib/structures/IMcpTool.js.map +1 -0
- package/lib/utils/ChatGptCompletionMessageUtil.js +16 -5
- package/lib/utils/ChatGptCompletionMessageUtil.js.map +1 -1
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js +0 -5
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -1
- package/package.json +7 -9
- package/prompts/cancel.md +5 -5
- package/prompts/common.md +3 -3
- package/prompts/describe.md +7 -7
- package/prompts/execute.md +122 -122
- package/prompts/initialize.md +3 -3
- package/prompts/json_parse_error.md +35 -33
- package/prompts/select.md +7 -7
- package/prompts/validate.md +123 -123
- package/prompts/validate_repeated.md +31 -31
- package/src/Agentica.ts +367 -367
- package/src/MicroAgentica.ts +357 -357
- package/src/constants/AgenticaConstant.ts +4 -4
- package/src/constants/AgenticaDefaultPrompt.ts +44 -44
- package/src/constants/AgenticaSystemPrompt.ts +1 -1
- package/src/constants/index.ts +2 -2
- package/src/context/AgenticaContext.ts +136 -136
- package/src/context/AgenticaContextRequestResult.ts +14 -14
- package/src/context/AgenticaOperation.ts +73 -72
- package/src/context/AgenticaOperationCollection.ts +49 -49
- package/src/context/AgenticaOperationSelection.ts +9 -9
- package/src/context/AgenticaTokenUsage.ts +186 -186
- package/src/context/MicroAgenticaContext.ts +99 -99
- package/src/context/index.ts +5 -5
- package/src/context/internal/AgenticaOperationComposer.ts +177 -177
- package/src/context/internal/AgenticaTokenUsageAggregator.ts +66 -66
- package/src/context/internal/__IChatCancelFunctionsApplication.ts +23 -23
- package/src/context/internal/__IChatFunctionReference.ts +21 -21
- package/src/context/internal/__IChatInitialApplication.ts +15 -15
- package/src/context/internal/__IChatSelectFunctionsApplication.ts +24 -24
- package/src/context/internal/isAgenticaContext.ts +11 -11
- package/src/errors/AgenticaJsonParseError.ts +52 -47
- package/src/errors/AgenticaValidationError.ts +49 -49
- package/src/errors/index.ts +2 -2
- package/src/events/AgenticaAssistantMessageEvent.ts +12 -12
- package/src/events/AgenticaCallEvent.ts +27 -27
- package/src/events/AgenticaCancelEvent.ts +9 -9
- package/src/events/AgenticaDescribeEvent.ts +14 -14
- package/src/events/AgenticaEvent.ts +59 -59
- package/src/events/AgenticaEvent.type.ts +19 -19
- package/src/events/AgenticaEventBase.ts +18 -18
- package/src/events/AgenticaEventSource.ts +6 -6
- package/src/events/AgenticaExecuteEvent.ts +45 -45
- package/src/events/AgenticaInitializeEvent.ts +7 -7
- package/src/events/AgenticaJsonParseErrorEvent.ts +16 -15
- package/src/events/AgenticaRequestEvent.ts +27 -27
- package/src/events/AgenticaResponseEvent.ts +32 -32
- package/src/events/AgenticaSelectEvent.ts +11 -11
- package/src/events/AgenticaUserMessageEvent.ts +12 -12
- package/src/events/AgenticaValidateEvent.ts +32 -32
- package/src/events/MicroAgenticaEvent.ts +45 -45
- package/src/events/index.ts +15 -15
- package/src/factory/events.ts +357 -359
- package/src/factory/histories.ts +348 -348
- package/src/factory/index.ts +3 -3
- package/src/factory/operations.ts +16 -16
- package/src/functional/assertHttpController.ts +106 -104
- package/src/functional/assertHttpLlmApplication.ts +52 -57
- package/src/functional/assertMcpController.ts +47 -44
- package/src/functional/createMcpLlmApplication.ts +72 -0
- package/src/functional/index.ts +7 -7
- package/src/functional/validateHttpController.ts +113 -110
- package/src/functional/validateHttpLlmApplication.ts +65 -70
- package/src/functional/validateMcpController.ts +53 -50
- package/src/histories/AgenticaAssistantMessageHistory.ts +10 -10
- package/src/histories/AgenticaCancelHistory.ts +8 -8
- package/src/histories/AgenticaDescribeHistory.ts +18 -18
- package/src/histories/AgenticaExecuteHistory.ts +64 -64
- package/src/histories/AgenticaHistory.ts +28 -28
- package/src/histories/AgenticaHistoryBase.ts +35 -35
- package/src/histories/AgenticaSelectHistory.ts +8 -8
- package/src/histories/AgenticaSystemMessageHistory.ts +10 -10
- package/src/histories/AgenticaUserMessageHistory.ts +11 -11
- package/src/histories/MicroAgenticaHistory.ts +19 -19
- package/src/histories/contents/AgenticaUserMessageAudioContent.ts +21 -21
- package/src/histories/contents/AgenticaUserMessageContent.ts +19 -19
- package/src/histories/contents/AgenticaUserMessageContentBase.ts +6 -6
- package/src/histories/contents/AgenticaUserMessageFileContent.ts +25 -25
- package/src/histories/contents/AgenticaUserMessageImageContent.ts +33 -33
- package/src/histories/contents/AgenticaUserMessageTextContent.ts +15 -15
- package/src/histories/contents/index.ts +5 -5
- package/src/histories/index.ts +10 -10
- package/src/index.ts +15 -15
- package/src/json/IAgenticaEventJson.ts +265 -265
- package/src/json/IAgenticaEventJson.type.ts +19 -19
- package/src/json/IAgenticaHistoryJson.ts +165 -165
- package/src/json/IAgenticaHistoryJson.type.ts +19 -19
- package/src/json/IAgenticaOperationJson.ts +36 -36
- package/src/json/IAgenticaOperationSelectionJson.ts +26 -26
- package/src/json/IAgenticaTokenUsageJson.ts +107 -107
- package/src/json/IMicroAgenticaEventJson.ts +22 -22
- package/src/json/IMicroAgenticaHistoryJson.ts +25 -25
- package/src/json/index.ts +7 -7
- package/src/orchestrate/call.ts +542 -558
- package/src/orchestrate/cancel.ts +265 -269
- package/src/orchestrate/describe.ts +66 -66
- package/src/orchestrate/execute.ts +61 -61
- package/src/orchestrate/index.ts +6 -6
- package/src/orchestrate/initialize.ts +102 -102
- package/src/orchestrate/internal/cancelFunctionFromContext.ts +33 -33
- package/src/orchestrate/internal/selectFunctionFromContext.ts +34 -34
- package/src/orchestrate/select.ts +320 -322
- package/src/structures/IAgenticaConfig.ts +83 -83
- package/src/structures/IAgenticaConfigBase.ts +87 -87
- package/src/structures/IAgenticaController.ts +143 -151
- package/src/structures/IAgenticaExecutor.ts +167 -167
- package/src/structures/IAgenticaProps.ts +78 -78
- package/src/structures/IAgenticaSystemPrompt.ts +236 -236
- package/src/structures/IAgenticaVendor.ts +54 -54
- package/src/structures/IMcpTool.ts +60 -0
- package/src/structures/IMicroAgenticaConfig.ts +56 -56
- package/src/structures/IMicroAgenticaExecutor.ts +67 -67
- package/src/structures/IMicroAgenticaProps.ts +77 -77
- package/src/structures/IMicroAgenticaSystemPrompt.ts +169 -169
- package/src/structures/index.ts +10 -10
- package/src/transformers/transformHistory.ts +172 -172
- package/src/utils/AssistantMessageEmptyError.ts +20 -20
- package/src/utils/AsyncQueue.spec.ts +355 -355
- package/src/utils/AsyncQueue.ts +95 -95
- package/src/utils/ByteArrayUtil.ts +5 -5
- package/src/utils/ChatGptCompletionMessageUtil.spec.ts +314 -320
- package/src/utils/ChatGptCompletionMessageUtil.ts +210 -195
- package/src/utils/ChatGptCompletionStreamingUtil.spec.ts +909 -909
- package/src/utils/ChatGptCompletionStreamingUtil.ts +91 -91
- package/src/utils/ChatGptTokenUsageAggregator.spec.ts +226 -226
- package/src/utils/ChatGptTokenUsageAggregator.ts +57 -57
- package/src/utils/MPSC.spec.ts +276 -276
- package/src/utils/MPSC.ts +42 -42
- package/src/utils/Singleton.spec.ts +138 -138
- package/src/utils/Singleton.ts +42 -42
- package/src/utils/StreamUtil.spec.ts +512 -512
- package/src/utils/StreamUtil.ts +87 -87
- package/src/utils/__map_take.spec.ts +140 -140
- package/src/utils/__map_take.ts +13 -13
- package/src/utils/__retry.spec.ts +198 -198
- package/src/utils/__retry.ts +18 -18
- package/src/utils/assertExecuteFailure.ts +16 -16
- package/src/utils/index.ts +4 -4
- package/src/utils/request.ts +140 -140
- package/src/utils/types.ts +50 -50
- package/lib/context/internal/AgenticaOperationComposer.spec.d.ts +0 -1
- package/lib/context/internal/AgenticaOperationComposer.spec.js +0 -353
- package/lib/context/internal/AgenticaOperationComposer.spec.js.map +0 -1
- package/lib/utils/JsonUtil.d.ts +0 -8
- package/lib/utils/JsonUtil.js +0 -349
- package/lib/utils/JsonUtil.js.map +0 -1
- package/src/context/internal/AgenticaOperationComposer.spec.ts +0 -401
- package/src/utils/JsonUtil.ts +0 -460
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import type { IAgenticaConfigBase } from "./IAgenticaConfigBase";
|
|
2
|
-
import type { IMicroAgenticaExecutor } from "./IMicroAgenticaExecutor";
|
|
3
|
-
import type { IMicroAgenticaSystemPrompt } from "./IMicroAgenticaSystemPrompt";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Configuration for Micro Agentic Agent.
|
|
7
|
-
*
|
|
8
|
-
* `INicroAgenticaConfig` is an interface that defines the configuration
|
|
9
|
-
* properties of the {@link MicroAgentica}. With this configuration, you
|
|
10
|
-
* can set the user's {@link locale}, {@link timezone}, and some of
|
|
11
|
-
* {@link systemPrompt system prompts}.
|
|
12
|
-
*
|
|
13
|
-
* @author Samchon
|
|
14
|
-
*/
|
|
15
|
-
export interface IMicroAgenticaConfig extends IAgenticaConfigBase {
|
|
16
|
-
/**
|
|
17
|
-
* Agent executor.
|
|
18
|
-
*
|
|
19
|
-
* Executor function of Agentic AI's iteration plan to internal agents
|
|
20
|
-
* running by the {@link Agentica.conversate} function.
|
|
21
|
-
*
|
|
22
|
-
* If you want to customize the agent execution plan, you can do it
|
|
23
|
-
* by assigning you logic function of entire or partial to this property.
|
|
24
|
-
* When customizing it, it would better to reference the
|
|
25
|
-
* {@link ChatGptAgent.execute} function.
|
|
26
|
-
*
|
|
27
|
-
* @param ctx Context of the agent
|
|
28
|
-
* @returns Lit of prompts generated by the executor
|
|
29
|
-
* @default ChatGptAgent.execute
|
|
30
|
-
*/
|
|
31
|
-
executor?:
|
|
32
|
-
| undefined
|
|
33
|
-
| Partial<IMicroAgenticaExecutor>;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* System prompt messages.
|
|
37
|
-
*
|
|
38
|
-
* System prompt messages if you want to customize the system prompt
|
|
39
|
-
* messages for each situation.
|
|
40
|
-
*/
|
|
41
|
-
systemPrompt?: IMicroAgenticaSystemPrompt;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Whether to throw an exception when execution fails.
|
|
45
|
-
*
|
|
46
|
-
* If you set this property to `true` or define nothing, the A.I. chatbot
|
|
47
|
-
* will throw an exception when {@link AgenticaExecuteHistory.success} is
|
|
48
|
-
* `false`.
|
|
49
|
-
*
|
|
50
|
-
* Otherwise, the execution failure will be handled silently without
|
|
51
|
-
* throwing an exception.
|
|
52
|
-
*
|
|
53
|
-
* @default true
|
|
54
|
-
*/
|
|
55
|
-
throw?: boolean;
|
|
56
|
-
}
|
|
1
|
+
import type { IAgenticaConfigBase } from "./IAgenticaConfigBase";
|
|
2
|
+
import type { IMicroAgenticaExecutor } from "./IMicroAgenticaExecutor";
|
|
3
|
+
import type { IMicroAgenticaSystemPrompt } from "./IMicroAgenticaSystemPrompt";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for Micro Agentic Agent.
|
|
7
|
+
*
|
|
8
|
+
* `INicroAgenticaConfig` is an interface that defines the configuration
|
|
9
|
+
* properties of the {@link MicroAgentica}. With this configuration, you
|
|
10
|
+
* can set the user's {@link locale}, {@link timezone}, and some of
|
|
11
|
+
* {@link systemPrompt system prompts}.
|
|
12
|
+
*
|
|
13
|
+
* @author Samchon
|
|
14
|
+
*/
|
|
15
|
+
export interface IMicroAgenticaConfig extends IAgenticaConfigBase {
|
|
16
|
+
/**
|
|
17
|
+
* Agent executor.
|
|
18
|
+
*
|
|
19
|
+
* Executor function of Agentic AI's iteration plan to internal agents
|
|
20
|
+
* running by the {@link Agentica.conversate} function.
|
|
21
|
+
*
|
|
22
|
+
* If you want to customize the agent execution plan, you can do it
|
|
23
|
+
* by assigning you logic function of entire or partial to this property.
|
|
24
|
+
* When customizing it, it would better to reference the
|
|
25
|
+
* {@link ChatGptAgent.execute} function.
|
|
26
|
+
*
|
|
27
|
+
* @param ctx Context of the agent
|
|
28
|
+
* @returns Lit of prompts generated by the executor
|
|
29
|
+
* @default ChatGptAgent.execute
|
|
30
|
+
*/
|
|
31
|
+
executor?:
|
|
32
|
+
| undefined
|
|
33
|
+
| Partial<IMicroAgenticaExecutor>;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* System prompt messages.
|
|
37
|
+
*
|
|
38
|
+
* System prompt messages if you want to customize the system prompt
|
|
39
|
+
* messages for each situation.
|
|
40
|
+
*/
|
|
41
|
+
systemPrompt?: IMicroAgenticaSystemPrompt;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Whether to throw an exception when execution fails.
|
|
45
|
+
*
|
|
46
|
+
* If you set this property to `true` or define nothing, the A.I. chatbot
|
|
47
|
+
* will throw an exception when {@link AgenticaExecuteHistory.success} is
|
|
48
|
+
* `false`.
|
|
49
|
+
*
|
|
50
|
+
* Otherwise, the execution failure will be handled silently without
|
|
51
|
+
* throwing an exception.
|
|
52
|
+
*
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
throw?: boolean;
|
|
56
|
+
}
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import type { MicroAgenticaContext } from "../context/MicroAgenticaContext";
|
|
2
|
-
import type { AgenticaExecuteHistory } from "../histories/AgenticaExecuteHistory";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Executor of the Micro Agentic AI.
|
|
6
|
-
*
|
|
7
|
-
* `IMicroAgenticaExecutor` represents an executor of the
|
|
8
|
-
* {@link MicroAgentica}, composing its internal agents to accomplish
|
|
9
|
-
* the Agentic AI through the LLM (Large Language Model) function
|
|
10
|
-
* calling.
|
|
11
|
-
*
|
|
12
|
-
* You can customize one of these intnernal agents by configuring
|
|
13
|
-
* properties of the `IMicroAgenticaExecutor` type, and assigning
|
|
14
|
-
* it to the {@link IMicroAgenticaConfig.executor} property.
|
|
15
|
-
*
|
|
16
|
-
* @author Samchon
|
|
17
|
-
*/
|
|
18
|
-
export interface IMicroAgenticaExecutor {
|
|
19
|
-
/**
|
|
20
|
-
* Function caller agent.
|
|
21
|
-
*
|
|
22
|
-
* `Call` agent performs the LLM (Large Language Model) function
|
|
23
|
-
* calling from the candidate functions enrolled in the
|
|
24
|
-
* {@link AgenticaContext.stack}. And the scope of function calling
|
|
25
|
-
* is, not only just arguments filling, but also actual executing
|
|
26
|
-
* the function and returning the result.
|
|
27
|
-
*
|
|
28
|
-
* By the way, conversation context with user can be not enough to
|
|
29
|
-
* filling the arguments of the candidate functions. In that case,
|
|
30
|
-
* the `call` agent will ask the user to fill the missing arguments.
|
|
31
|
-
*
|
|
32
|
-
* Otherwise the cpnversation context is enough, so that succeeded
|
|
33
|
-
* to call some candidate functions, the `call` agent will step to
|
|
34
|
-
* the {@link describe} agent to explain the result of the function
|
|
35
|
-
* calling to the user as markdown content.
|
|
36
|
-
*
|
|
37
|
-
* @param ctx Context of the agent
|
|
38
|
-
* @returns List of prompts generated by the caller
|
|
39
|
-
* @warning Recommend not to customize, due to its validation
|
|
40
|
-
* feedback strategy is working very well, and the `call`
|
|
41
|
-
* agent is the most general topic which can be universally
|
|
42
|
-
* applied to all domain fields.
|
|
43
|
-
*/
|
|
44
|
-
call: (ctx: MicroAgenticaContext) => Promise<AgenticaExecuteHistory[]>;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Describer agent of the function calling result.
|
|
48
|
-
*
|
|
49
|
-
* `Describe` agent explains the results of the function callings
|
|
50
|
-
* to the user as markdown content.
|
|
51
|
-
*
|
|
52
|
-
* If you configure this property as `false` or `null`, the describer
|
|
53
|
-
* agent never be used.
|
|
54
|
-
*
|
|
55
|
-
* @param ctx Context of the agent
|
|
56
|
-
* @param executes List of function calling results
|
|
57
|
-
* @returns List of prompts generated by the describer
|
|
58
|
-
* @default false
|
|
59
|
-
*/
|
|
60
|
-
describe:
|
|
61
|
-
| boolean
|
|
62
|
-
| null
|
|
63
|
-
| ((
|
|
64
|
-
ctx: MicroAgenticaContext,
|
|
65
|
-
executes: AgenticaExecuteHistory[],
|
|
66
|
-
) => Promise<void>);
|
|
67
|
-
}
|
|
1
|
+
import type { MicroAgenticaContext } from "../context/MicroAgenticaContext";
|
|
2
|
+
import type { AgenticaExecuteHistory } from "../histories/AgenticaExecuteHistory";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Executor of the Micro Agentic AI.
|
|
6
|
+
*
|
|
7
|
+
* `IMicroAgenticaExecutor` represents an executor of the
|
|
8
|
+
* {@link MicroAgentica}, composing its internal agents to accomplish
|
|
9
|
+
* the Agentic AI through the LLM (Large Language Model) function
|
|
10
|
+
* calling.
|
|
11
|
+
*
|
|
12
|
+
* You can customize one of these intnernal agents by configuring
|
|
13
|
+
* properties of the `IMicroAgenticaExecutor` type, and assigning
|
|
14
|
+
* it to the {@link IMicroAgenticaConfig.executor} property.
|
|
15
|
+
*
|
|
16
|
+
* @author Samchon
|
|
17
|
+
*/
|
|
18
|
+
export interface IMicroAgenticaExecutor {
|
|
19
|
+
/**
|
|
20
|
+
* Function caller agent.
|
|
21
|
+
*
|
|
22
|
+
* `Call` agent performs the LLM (Large Language Model) function
|
|
23
|
+
* calling from the candidate functions enrolled in the
|
|
24
|
+
* {@link AgenticaContext.stack}. And the scope of function calling
|
|
25
|
+
* is, not only just arguments filling, but also actual executing
|
|
26
|
+
* the function and returning the result.
|
|
27
|
+
*
|
|
28
|
+
* By the way, conversation context with user can be not enough to
|
|
29
|
+
* filling the arguments of the candidate functions. In that case,
|
|
30
|
+
* the `call` agent will ask the user to fill the missing arguments.
|
|
31
|
+
*
|
|
32
|
+
* Otherwise the cpnversation context is enough, so that succeeded
|
|
33
|
+
* to call some candidate functions, the `call` agent will step to
|
|
34
|
+
* the {@link describe} agent to explain the result of the function
|
|
35
|
+
* calling to the user as markdown content.
|
|
36
|
+
*
|
|
37
|
+
* @param ctx Context of the agent
|
|
38
|
+
* @returns List of prompts generated by the caller
|
|
39
|
+
* @warning Recommend not to customize, due to its validation
|
|
40
|
+
* feedback strategy is working very well, and the `call`
|
|
41
|
+
* agent is the most general topic which can be universally
|
|
42
|
+
* applied to all domain fields.
|
|
43
|
+
*/
|
|
44
|
+
call: (ctx: MicroAgenticaContext) => Promise<AgenticaExecuteHistory[]>;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Describer agent of the function calling result.
|
|
48
|
+
*
|
|
49
|
+
* `Describe` agent explains the results of the function callings
|
|
50
|
+
* to the user as markdown content.
|
|
51
|
+
*
|
|
52
|
+
* If you configure this property as `false` or `null`, the describer
|
|
53
|
+
* agent never be used.
|
|
54
|
+
*
|
|
55
|
+
* @param ctx Context of the agent
|
|
56
|
+
* @param executes List of function calling results
|
|
57
|
+
* @returns List of prompts generated by the describer
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
describe:
|
|
61
|
+
| boolean
|
|
62
|
+
| null
|
|
63
|
+
| ((
|
|
64
|
+
ctx: MicroAgenticaContext,
|
|
65
|
+
executes: AgenticaExecuteHistory[],
|
|
66
|
+
) => Promise<void>);
|
|
67
|
+
}
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import type { AgenticaTokenUsage } from "../context/AgenticaTokenUsage";
|
|
2
|
-
import type { IAgenticaTokenUsageJson } from "../json/IAgenticaTokenUsageJson";
|
|
3
|
-
import type { IMicroAgenticaHistoryJson } from "../json/IMicroAgenticaHistoryJson";
|
|
4
|
-
|
|
5
|
-
import type { IAgenticaController } from "./IAgenticaController";
|
|
6
|
-
import type { IAgenticaVendor } from "./IAgenticaVendor";
|
|
7
|
-
import type { IMicroAgenticaConfig } from "./IMicroAgenticaConfig";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Properties of the Micro Agentica Agent.
|
|
11
|
-
*
|
|
12
|
-
* `IMicroAgenticaProps` is an interface that defines the properties
|
|
13
|
-
* of the {@link MicroAgentica.constructor}. In the `IMicroAgenticaProps`,
|
|
14
|
-
* there're everything to prepare to create a Micro A.I. chatbot
|
|
15
|
-
* performing the LLM (Large Language Model) function calling.
|
|
16
|
-
*
|
|
17
|
-
* At first, you have to specify the LLM service {@link vendor} like
|
|
18
|
-
* OpenAI with its API key and client API. And then, you have to define
|
|
19
|
-
* the {@link controllers} serving the functions to call. The controllers
|
|
20
|
-
* are separated by two protocols; HTTP API and TypeScript class. At last,
|
|
21
|
-
* you can {@link config configure} the agent by setting the locale,
|
|
22
|
-
* timezone, and some of system prompts.
|
|
23
|
-
*
|
|
24
|
-
* Additionally, if you want to start from the previous A.I. chatbot
|
|
25
|
-
* session, you can accomplish it by assigning the previous prompt
|
|
26
|
-
* histories to the {@link histories} property.
|
|
27
|
-
*
|
|
28
|
-
* @author Samchon
|
|
29
|
-
*/
|
|
30
|
-
export interface IMicroAgenticaProps {
|
|
31
|
-
/**
|
|
32
|
-
* LLM service vendor.
|
|
33
|
-
*/
|
|
34
|
-
vendor: IAgenticaVendor;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Controllers serving functions to call.
|
|
38
|
-
*/
|
|
39
|
-
controllers: IAgenticaController[];
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Configuration of agent.
|
|
43
|
-
*
|
|
44
|
-
* Configuration of A.I. chatbot agent including the user's locale,
|
|
45
|
-
* timezone, and some of system prompts. Also, you can affect to the
|
|
46
|
-
* LLM function selecting/calling logic by configuring additional
|
|
47
|
-
* properties.
|
|
48
|
-
*
|
|
49
|
-
* If you don't configure this property, these values would be default.
|
|
50
|
-
*
|
|
51
|
-
* - `locale`: your system's locale and timezone
|
|
52
|
-
* - `timezone`: your system's timezone
|
|
53
|
-
* - `systemPrompt`: default prompts written in markdown
|
|
54
|
-
* - https://github.com/wrtnlabs/agentica/tree/main/packages/core/prompts
|
|
55
|
-
*/
|
|
56
|
-
config?: IMicroAgenticaConfig;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Prompt histories.
|
|
60
|
-
*
|
|
61
|
-
* If you're starting the conversation from an existing session,
|
|
62
|
-
* assign the previouis prompt histories to this property.
|
|
63
|
-
*/
|
|
64
|
-
histories?: IMicroAgenticaHistoryJson[];
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Token usage information.
|
|
68
|
-
*
|
|
69
|
-
* You can start token usage tracing by assigning this property.
|
|
70
|
-
*
|
|
71
|
-
* If you assign {@link IAgenticaTokenUsageJson} value, the
|
|
72
|
-
* token usage tracing would be from the value. Otherwise you
|
|
73
|
-
* assign the {@link AgenticaTokenUsage} typed instance, the
|
|
74
|
-
* tracing would be binded to the instance.
|
|
75
|
-
*/
|
|
76
|
-
tokenUsage?: IAgenticaTokenUsageJson | AgenticaTokenUsage | undefined;
|
|
77
|
-
}
|
|
1
|
+
import type { AgenticaTokenUsage } from "../context/AgenticaTokenUsage";
|
|
2
|
+
import type { IAgenticaTokenUsageJson } from "../json/IAgenticaTokenUsageJson";
|
|
3
|
+
import type { IMicroAgenticaHistoryJson } from "../json/IMicroAgenticaHistoryJson";
|
|
4
|
+
|
|
5
|
+
import type { IAgenticaController } from "./IAgenticaController";
|
|
6
|
+
import type { IAgenticaVendor } from "./IAgenticaVendor";
|
|
7
|
+
import type { IMicroAgenticaConfig } from "./IMicroAgenticaConfig";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Properties of the Micro Agentica Agent.
|
|
11
|
+
*
|
|
12
|
+
* `IMicroAgenticaProps` is an interface that defines the properties
|
|
13
|
+
* of the {@link MicroAgentica.constructor}. In the `IMicroAgenticaProps`,
|
|
14
|
+
* there're everything to prepare to create a Micro A.I. chatbot
|
|
15
|
+
* performing the LLM (Large Language Model) function calling.
|
|
16
|
+
*
|
|
17
|
+
* At first, you have to specify the LLM service {@link vendor} like
|
|
18
|
+
* OpenAI with its API key and client API. And then, you have to define
|
|
19
|
+
* the {@link controllers} serving the functions to call. The controllers
|
|
20
|
+
* are separated by two protocols; HTTP API and TypeScript class. At last,
|
|
21
|
+
* you can {@link config configure} the agent by setting the locale,
|
|
22
|
+
* timezone, and some of system prompts.
|
|
23
|
+
*
|
|
24
|
+
* Additionally, if you want to start from the previous A.I. chatbot
|
|
25
|
+
* session, you can accomplish it by assigning the previous prompt
|
|
26
|
+
* histories to the {@link histories} property.
|
|
27
|
+
*
|
|
28
|
+
* @author Samchon
|
|
29
|
+
*/
|
|
30
|
+
export interface IMicroAgenticaProps {
|
|
31
|
+
/**
|
|
32
|
+
* LLM service vendor.
|
|
33
|
+
*/
|
|
34
|
+
vendor: IAgenticaVendor;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Controllers serving functions to call.
|
|
38
|
+
*/
|
|
39
|
+
controllers: IAgenticaController[];
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Configuration of agent.
|
|
43
|
+
*
|
|
44
|
+
* Configuration of A.I. chatbot agent including the user's locale,
|
|
45
|
+
* timezone, and some of system prompts. Also, you can affect to the
|
|
46
|
+
* LLM function selecting/calling logic by configuring additional
|
|
47
|
+
* properties.
|
|
48
|
+
*
|
|
49
|
+
* If you don't configure this property, these values would be default.
|
|
50
|
+
*
|
|
51
|
+
* - `locale`: your system's locale and timezone
|
|
52
|
+
* - `timezone`: your system's timezone
|
|
53
|
+
* - `systemPrompt`: default prompts written in markdown
|
|
54
|
+
* - https://github.com/wrtnlabs/agentica/tree/main/packages/core/prompts
|
|
55
|
+
*/
|
|
56
|
+
config?: IMicroAgenticaConfig;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Prompt histories.
|
|
60
|
+
*
|
|
61
|
+
* If you're starting the conversation from an existing session,
|
|
62
|
+
* assign the previouis prompt histories to this property.
|
|
63
|
+
*/
|
|
64
|
+
histories?: IMicroAgenticaHistoryJson[];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Token usage information.
|
|
68
|
+
*
|
|
69
|
+
* You can start token usage tracing by assigning this property.
|
|
70
|
+
*
|
|
71
|
+
* If you assign {@link IAgenticaTokenUsageJson} value, the
|
|
72
|
+
* token usage tracing would be from the value. Otherwise you
|
|
73
|
+
* assign the {@link AgenticaTokenUsage} typed instance, the
|
|
74
|
+
* tracing would be binded to the instance.
|
|
75
|
+
*/
|
|
76
|
+
tokenUsage?: IAgenticaTokenUsageJson | AgenticaTokenUsage | undefined;
|
|
77
|
+
}
|