@agentica/core 0.8.3 → 0.9.0-dev.20250302

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 (91) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +419 -404
  3. package/lib/Agentica.d.ts +10 -9
  4. package/lib/Agentica.js.map +1 -1
  5. package/lib/chatgpt/ChatGptAgent.d.ts +2 -1
  6. package/lib/chatgpt/ChatGptAgent.js.map +1 -1
  7. package/lib/chatgpt/ChatGptCallFunctionAgent.d.ts +2 -1
  8. package/lib/chatgpt/ChatGptCallFunctionAgent.js +3 -1
  9. package/lib/chatgpt/ChatGptCallFunctionAgent.js.map +1 -1
  10. package/lib/chatgpt/ChatGptCancelFunctionAgent.d.ts +3 -2
  11. package/lib/chatgpt/ChatGptCancelFunctionAgent.js +55 -2
  12. package/lib/chatgpt/ChatGptCancelFunctionAgent.js.map +1 -1
  13. package/lib/chatgpt/ChatGptDescribeFunctionAgent.d.ts +2 -1
  14. package/lib/chatgpt/ChatGptDescribeFunctionAgent.js.map +1 -1
  15. package/lib/chatgpt/ChatGptHistoryDecoder.d.ts +2 -1
  16. package/lib/chatgpt/ChatGptHistoryDecoder.js.map +1 -1
  17. package/lib/chatgpt/ChatGptInitializeFunctionAgent.d.ts +2 -1
  18. package/lib/chatgpt/ChatGptInitializeFunctionAgent.js +63 -1
  19. package/lib/chatgpt/ChatGptInitializeFunctionAgent.js.map +1 -1
  20. package/lib/chatgpt/ChatGptSelectFunctionAgent.d.ts +2 -1
  21. package/lib/chatgpt/ChatGptSelectFunctionAgent.js +55 -2
  22. package/lib/chatgpt/ChatGptSelectFunctionAgent.js.map +1 -1
  23. package/lib/functional/createHttpLlmApplication.js +826 -798
  24. package/lib/functional/createHttpLlmApplication.js.map +1 -1
  25. package/lib/index.mjs +987 -804
  26. package/lib/index.mjs.map +1 -1
  27. package/lib/internal/AgenticaDefaultPrompt.d.ts +2 -1
  28. package/lib/internal/AgenticaDefaultPrompt.js.map +1 -1
  29. package/lib/internal/AgenticaOperationComposer.d.ts +5 -4
  30. package/lib/internal/AgenticaOperationComposer.js +1 -1
  31. package/lib/internal/AgenticaOperationComposer.js.map +1 -1
  32. package/lib/internal/AgenticaPromptFactory.d.ts +3 -2
  33. package/lib/internal/AgenticaPromptFactory.js.map +1 -1
  34. package/lib/internal/AgenticaPromptTransformer.d.ts +5 -4
  35. package/lib/internal/AgenticaPromptTransformer.js.map +1 -1
  36. package/lib/structures/IAgenticaConfig.d.ts +4 -3
  37. package/lib/structures/IAgenticaContext.d.ts +7 -6
  38. package/lib/structures/IAgenticaController.d.ts +8 -8
  39. package/lib/structures/IAgenticaEvent.d.ts +19 -18
  40. package/lib/structures/IAgenticaExecutor.d.ts +7 -6
  41. package/lib/structures/IAgenticaOperation.d.ts +4 -4
  42. package/lib/structures/IAgenticaOperationCollection.d.ts +6 -5
  43. package/lib/structures/IAgenticaOperationSelection.d.ts +4 -4
  44. package/lib/structures/IAgenticaPrompt.d.ts +11 -11
  45. package/lib/structures/IAgenticaProps.d.ts +9 -4
  46. package/lib/structures/IAgenticaProvider.d.ts +22 -27
  47. package/lib/structures/IAgenticaSystemPrompt.d.ts +8 -7
  48. package/package.json +6 -9
  49. package/prompts/cancel.md +4 -4
  50. package/prompts/common.md +2 -2
  51. package/prompts/describe.md +6 -6
  52. package/prompts/execute.md +6 -6
  53. package/prompts/initialize.md +2 -2
  54. package/prompts/select.md +6 -6
  55. package/src/Agentica.ts +323 -318
  56. package/src/chatgpt/ChatGptAgent.ts +75 -71
  57. package/src/chatgpt/ChatGptCallFunctionAgent.ts +448 -445
  58. package/src/chatgpt/ChatGptCancelFunctionAgent.ts +287 -283
  59. package/src/chatgpt/ChatGptDescribeFunctionAgent.ts +52 -51
  60. package/src/chatgpt/ChatGptHistoryDecoder.ts +88 -87
  61. package/src/chatgpt/ChatGptInitializeFunctionAgent.ts +88 -88
  62. package/src/chatgpt/ChatGptSelectFunctionAgent.ts +319 -318
  63. package/src/functional/createHttpLlmApplication.ts +63 -63
  64. package/src/index.ts +19 -19
  65. package/src/internal/AgenticaConstant.ts +4 -4
  66. package/src/internal/AgenticaDefaultPrompt.ts +43 -39
  67. package/src/internal/AgenticaOperationComposer.ts +87 -82
  68. package/src/internal/AgenticaPromptFactory.ts +32 -30
  69. package/src/internal/AgenticaPromptTransformer.ts +86 -83
  70. package/src/internal/AgenticaTokenUsageAggregator.ts +115 -115
  71. package/src/internal/MathUtil.ts +3 -3
  72. package/src/internal/Singleton.ts +22 -22
  73. package/src/internal/__map_take.ts +15 -15
  74. package/src/structures/IAgenticaConfig.ts +123 -121
  75. package/src/structures/IAgenticaContext.ts +129 -128
  76. package/src/structures/IAgenticaController.ts +132 -130
  77. package/src/structures/IAgenticaEvent.ts +229 -224
  78. package/src/structures/IAgenticaExecutor.ts +156 -152
  79. package/src/structures/IAgenticaOperation.ts +64 -64
  80. package/src/structures/IAgenticaOperationCollection.ts +52 -50
  81. package/src/structures/IAgenticaOperationSelection.ts +69 -69
  82. package/src/structures/IAgenticaPrompt.ts +178 -173
  83. package/src/structures/IAgenticaProps.ts +70 -64
  84. package/src/structures/IAgenticaProvider.ts +39 -45
  85. package/src/structures/IAgenticaSystemPrompt.ts +124 -122
  86. package/src/structures/IAgenticaTokenUsage.ts +107 -107
  87. package/src/structures/internal/__IChatCancelFunctionsApplication.ts +23 -23
  88. package/src/structures/internal/__IChatFunctionReference.ts +21 -21
  89. package/src/structures/internal/__IChatInitialApplication.ts +15 -15
  90. package/src/structures/internal/__IChatSelectFunctionsApplication.ts +24 -24
  91. package/src/typings/AgenticaSource.ts +6 -6
@@ -1,130 +1,132 @@
1
- import {
2
- IHttpConnection,
3
- IHttpLlmApplication,
4
- IHttpLlmFunction,
5
- IHttpResponse,
6
- } from "@samchon/openapi";
7
- import { ILlmApplicationOfValidate, ILlmFunctionOfValidate } from "typia";
8
-
9
- /**
10
- * Controller of the Nestia Agent.
11
- *
12
- * `IAgenticaController` is a type represents a controller of the
13
- * {@link Agentica}, which serves a set of functions to be called
14
- * by A.I. chatbot from LLM function calling.
15
- *
16
- * Also, `IAgenticaController` is an union type which can specify
17
- * a subtype by checking the {@link protocol} property.
18
- *
19
- * - HTTP server: {@link IAgenticaController..IHttp}
20
- * - TypeScript class: {@link IAgenticaController.IClass}
21
- *
22
- * @author Samchon
23
- */
24
- export type IAgenticaController =
25
- | IAgenticaController.IHttp
26
- | IAgenticaController.IClass;
27
- export namespace IAgenticaController {
28
- /**
29
- * HTTP controller.
30
- *
31
- * You can make it by {@link createHttpLlmApplication} function with
32
- * the Swagger or OpenAPI document.
33
- */
34
- export interface IHttp extends IBase<"http", IHttpLlmApplication<"chatgpt">> {
35
- /**
36
- * Connection to the server.
37
- *
38
- * Connection to the API server including the URL and headers.
39
- */
40
- connection: IHttpConnection;
41
-
42
- /**
43
- * Executor of the API function.
44
- *
45
- * @param props Properties of the API function call
46
- * @returns HTTP response of the API function call
47
- */
48
- execute?: (props: {
49
- /**
50
- * Connection to the server.
51
- */
52
- connection: IHttpConnection;
53
-
54
- /**
55
- * Application schema.
56
- */
57
- application: IHttpLlmApplication<"chatgpt">;
58
-
59
- /**
60
- * Function schema.
61
- */
62
- function: IHttpLlmFunction<"chatgpt">;
63
-
64
- /**
65
- * Arguments of the function calling.
66
- *
67
- * It is an object of key-value pairs of the API function's parameters.
68
- * The property keys are composed by below rules:
69
- *
70
- * - parameter names
71
- * - query parameter as an object type if exists
72
- * - body parameter if exists
73
- */
74
- arguments: object;
75
- }) => Promise<IHttpResponse>;
76
- }
77
-
78
- /**
79
- * TypeScript class controller.
80
- *
81
- * You can make it by `typia.llm.application<App, Model>()` function.
82
- *
83
- * - https://typia.io/docs/llm/application
84
- */
85
- export interface IClass
86
- extends IBase<"class", ILlmApplicationOfValidate<"chatgpt">> {
87
- /**
88
- * Executor of the class function.
89
- *
90
- * Executor of the class function, by target class instance
91
- * or callback function with given schema and arguments
92
- * information.
93
- */
94
- execute:
95
- | object
96
- | ((props: {
97
- /**
98
- * Target application schema.
99
- */
100
- application: ILlmApplicationOfValidate<"chatgpt">;
101
-
102
- /**
103
- * Target function schema.
104
- */
105
- function: ILlmFunctionOfValidate<"chatgpt">;
106
-
107
- /**
108
- * Arguments of the function calling.
109
- */
110
- arguments: object;
111
- }) => Promise<unknown>);
112
- }
113
-
114
- interface IBase<Protocol, Application> {
115
- /**
116
- * Protocol discrminator.
117
- */
118
- protocol: Protocol;
119
-
120
- /**
121
- * Name of the controller.
122
- */
123
- name: string;
124
-
125
- /**
126
- * Application schema of function calling.
127
- */
128
- application: Application;
129
- }
130
- }
1
+ import {
2
+ IHttpConnection,
3
+ IHttpLlmApplication,
4
+ IHttpLlmFunction,
5
+ IHttpResponse,
6
+ ILlmSchema,
7
+ } from "@samchon/openapi";
8
+ import { ILlmApplicationOfValidate, ILlmFunctionOfValidate } from "typia";
9
+
10
+ /**
11
+ * Controller of the Nestia Agent.
12
+ *
13
+ * `IAgenticaController` is a type represents a controller of the
14
+ * {@link Agentica}, which serves a set of functions to be called
15
+ * by A.I. chatbot from LLM function calling.
16
+ *
17
+ * Also, `IAgenticaController` is an union type which can specify
18
+ * a subtype by checking the {@link protocol} property.
19
+ *
20
+ * - HTTP server: {@link IAgenticaController..IHttp}
21
+ * - TypeScript class: {@link IAgenticaController.IClass}
22
+ *
23
+ * @author Samchon
24
+ */
25
+ export type IAgenticaController<Model extends ILlmSchema.Model> =
26
+ | IAgenticaController.IHttp<Model>
27
+ | IAgenticaController.IClass<Model>;
28
+ export namespace IAgenticaController {
29
+ /**
30
+ * HTTP controller.
31
+ *
32
+ * You can make it by {@link createHttpLlmApplication} function with
33
+ * the Swagger or OpenAPI document.
34
+ */
35
+ export interface IHttp<Model extends ILlmSchema.Model>
36
+ extends IBase<"http", IHttpLlmApplication<Model>> {
37
+ /**
38
+ * Connection to the server.
39
+ *
40
+ * Connection to the API server including the URL and headers.
41
+ */
42
+ connection: IHttpConnection;
43
+
44
+ /**
45
+ * Executor of the API function.
46
+ *
47
+ * @param props Properties of the API function call
48
+ * @returns HTTP response of the API function call
49
+ */
50
+ execute?: (props: {
51
+ /**
52
+ * Connection to the server.
53
+ */
54
+ connection: IHttpConnection;
55
+
56
+ /**
57
+ * Application schema.
58
+ */
59
+ application: IHttpLlmApplication<Model>;
60
+
61
+ /**
62
+ * Function schema.
63
+ */
64
+ function: IHttpLlmFunction<Model>;
65
+
66
+ /**
67
+ * Arguments of the function calling.
68
+ *
69
+ * It is an object of key-value pairs of the API function's parameters.
70
+ * The property keys are composed by below rules:
71
+ *
72
+ * - parameter names
73
+ * - query parameter as an object type if exists
74
+ * - body parameter if exists
75
+ */
76
+ arguments: object;
77
+ }) => Promise<IHttpResponse>;
78
+ }
79
+
80
+ /**
81
+ * TypeScript class controller.
82
+ *
83
+ * You can make it by `typia.llm.application<App, Model>()` function.
84
+ *
85
+ * - https://typia.io/docs/llm/application
86
+ */
87
+ export interface IClass<Model extends ILlmSchema.Model>
88
+ extends IBase<"class", ILlmApplicationOfValidate<Model>> {
89
+ /**
90
+ * Executor of the class function.
91
+ *
92
+ * Executor of the class function, by target class instance
93
+ * or callback function with given schema and arguments
94
+ * information.
95
+ */
96
+ execute:
97
+ | object
98
+ | ((props: {
99
+ /**
100
+ * Target application schema.
101
+ */
102
+ application: ILlmApplicationOfValidate<Model>;
103
+
104
+ /**
105
+ * Target function schema.
106
+ */
107
+ function: ILlmFunctionOfValidate<Model>;
108
+
109
+ /**
110
+ * Arguments of the function calling.
111
+ */
112
+ arguments: object;
113
+ }) => Promise<unknown>);
114
+ }
115
+
116
+ interface IBase<Protocol, Application> {
117
+ /**
118
+ * Protocol discrminator.
119
+ */
120
+ protocol: Protocol;
121
+
122
+ /**
123
+ * Name of the controller.
124
+ */
125
+ name: string;
126
+
127
+ /**
128
+ * Application schema of function calling.
129
+ */
130
+ application: Application;
131
+ }
132
+ }