@agentica/core 0.12.20 → 0.13.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 (205) hide show
  1. package/README.md +50 -47
  2. package/lib/Agentica.d.ts +9 -9
  3. package/lib/Agentica.js +23 -16
  4. package/lib/Agentica.js.map +1 -1
  5. package/lib/chatgpt/ChatGptAgent.d.ts +7 -7
  6. package/lib/chatgpt/ChatGptAgent.js +17 -12
  7. package/lib/chatgpt/ChatGptAgent.js.map +1 -1
  8. package/lib/chatgpt/ChatGptCallFunctionAgent.d.ts +7 -6
  9. package/lib/chatgpt/ChatGptCallFunctionAgent.js +121 -81
  10. package/lib/chatgpt/ChatGptCallFunctionAgent.js.map +1 -1
  11. package/lib/chatgpt/ChatGptCancelFunctionAgent.d.ts +9 -7
  12. package/lib/chatgpt/ChatGptCancelFunctionAgent.js +177 -145
  13. package/lib/chatgpt/ChatGptCancelFunctionAgent.js.map +1 -1
  14. package/lib/chatgpt/ChatGptCompletionMessageUtil.d.ts +13 -8
  15. package/lib/chatgpt/ChatGptCompletionMessageUtil.js +499 -489
  16. package/lib/chatgpt/ChatGptCompletionMessageUtil.js.map +1 -1
  17. package/lib/chatgpt/ChatGptDescribeFunctionAgent.d.ts +7 -6
  18. package/lib/chatgpt/ChatGptDescribeFunctionAgent.js +33 -32
  19. package/lib/chatgpt/ChatGptDescribeFunctionAgent.js.map +1 -1
  20. package/lib/chatgpt/ChatGptHistoryDecoder.d.ts +7 -6
  21. package/lib/chatgpt/ChatGptHistoryDecoder.js +60 -56
  22. package/lib/chatgpt/ChatGptHistoryDecoder.js.map +1 -1
  23. package/lib/chatgpt/ChatGptInitializeFunctionAgent.d.ts +7 -6
  24. package/lib/chatgpt/ChatGptInitializeFunctionAgent.js +121 -116
  25. package/lib/chatgpt/ChatGptInitializeFunctionAgent.js.map +1 -1
  26. package/lib/chatgpt/ChatGptSelectFunctionAgent.d.ts +20 -5
  27. package/lib/chatgpt/ChatGptSelectFunctionAgent.js +183 -150
  28. package/lib/chatgpt/ChatGptSelectFunctionAgent.js.map +1 -1
  29. package/lib/chatgpt/ChatGptUsageAggregator.d.ts +9 -6
  30. package/lib/chatgpt/ChatGptUsageAggregator.js +46 -41
  31. package/lib/chatgpt/ChatGptUsageAggregator.js.map +1 -1
  32. package/lib/context/AgenticaCancelPrompt.d.ts +3 -3
  33. package/lib/context/AgenticaCancelPrompt.js +1 -1
  34. package/lib/context/AgenticaCancelPrompt.js.map +1 -1
  35. package/lib/context/AgenticaClassOperation.d.ts +1 -1
  36. package/lib/context/AgenticaClassOperation.js.map +1 -1
  37. package/lib/context/AgenticaContext.d.ts +9 -9
  38. package/lib/context/AgenticaHttpOperation.d.ts +1 -1
  39. package/lib/context/AgenticaHttpOperation.js.map +1 -1
  40. package/lib/context/AgenticaOperation.d.ts +4 -4
  41. package/lib/context/AgenticaOperationBase.d.ts +1 -1
  42. package/lib/context/AgenticaOperationCollection.d.ts +2 -2
  43. package/lib/context/AgenticaOperationSelection.d.ts +3 -3
  44. package/lib/context/AgenticaTokenUsage.d.ts +1 -1
  45. package/lib/context/AgenticaTokenUsage.js.map +1 -1
  46. package/lib/context/internal/AgenticaTokenUsageAggregator.d.ts +11 -10
  47. package/lib/context/internal/AgenticaTokenUsageAggregator.js +42 -43
  48. package/lib/context/internal/AgenticaTokenUsageAggregator.js.map +1 -1
  49. package/lib/context/internal/__IChatCancelFunctionsApplication.d.ts +2 -2
  50. package/lib/context/internal/__IChatInitialApplication.d.ts +2 -2
  51. package/lib/context/internal/__IChatSelectFunctionsApplication.d.ts +2 -2
  52. package/lib/events/AgenticaCallEvent.d.ts +3 -3
  53. package/lib/events/AgenticaCancelEvent.d.ts +3 -3
  54. package/lib/events/AgenticaDescribeEvent.d.ts +3 -3
  55. package/lib/events/AgenticaDescribeEvent.js +13 -2
  56. package/lib/events/AgenticaDescribeEvent.js.map +1 -1
  57. package/lib/events/AgenticaEvent.d.ts +12 -12
  58. package/lib/events/AgenticaExecuteEvent.d.ts +7 -7
  59. package/lib/events/AgenticaInitializeEvent.d.ts +1 -1
  60. package/lib/events/AgenticaRequestEvent.d.ts +3 -3
  61. package/lib/events/AgenticaRequestEvent.js.map +1 -1
  62. package/lib/events/AgenticaResponseEvent.d.ts +2 -2
  63. package/lib/events/AgenticaResponseEvent.js.map +1 -1
  64. package/lib/events/AgenticaSelectEvent.d.ts +3 -3
  65. package/lib/events/AgenticaSelectEvent.js.map +1 -1
  66. package/lib/events/AgenticaTextEvent.d.ts +1 -1
  67. package/lib/events/AgenticaTextEvent.js +12 -1
  68. package/lib/events/AgenticaTextEvent.js.map +1 -1
  69. package/lib/functional/assertHttpLlmApplication.d.ts +4 -3
  70. package/lib/functional/assertHttpLlmApplication.js +9339 -9338
  71. package/lib/functional/assertHttpLlmApplication.js.map +1 -1
  72. package/lib/functional/validateHttpLlmApplication.d.ts +5 -4
  73. package/lib/functional/validateHttpLlmApplication.js +19 -19
  74. package/lib/functional/validateHttpLlmApplication.js.map +1 -1
  75. package/lib/index.d.ts +19 -19
  76. package/lib/index.js +21 -21
  77. package/lib/index.js.map +1 -1
  78. package/lib/index.mjs +19211 -18997
  79. package/lib/index.mjs.map +1 -1
  80. package/lib/internal/AgenticaDefaultPrompt.d.ts +6 -5
  81. package/lib/internal/AgenticaDefaultPrompt.js +39 -19
  82. package/lib/internal/AgenticaDefaultPrompt.js.map +1 -1
  83. package/lib/internal/AgenticaOperationComposer.d.ts +11 -10
  84. package/lib/internal/AgenticaOperationComposer.js +60 -59
  85. package/lib/internal/AgenticaOperationComposer.js.map +1 -1
  86. package/lib/internal/AgenticaSystemPrompt.d.ts +8 -8
  87. package/lib/internal/AgenticaSystemPrompt.js +9 -9
  88. package/lib/internal/AgenticaSystemPrompt.js.map +1 -1
  89. package/lib/internal/AsyncQueue.d.ts +15 -0
  90. package/lib/internal/AsyncQueue.js +82 -0
  91. package/lib/internal/AsyncQueue.js.map +1 -0
  92. package/lib/internal/ByteArrayUtil.d.ts +1 -1
  93. package/lib/internal/ByteArrayUtil.js +3 -2
  94. package/lib/internal/ByteArrayUtil.js.map +1 -1
  95. package/lib/internal/MPSC.d.ts +10 -0
  96. package/lib/internal/MPSC.js +49 -0
  97. package/lib/internal/MPSC.js.map +1 -0
  98. package/lib/internal/Singleton.js +6 -5
  99. package/lib/internal/Singleton.js.map +1 -1
  100. package/lib/internal/StreamUtil.d.ts +16 -6
  101. package/lib/internal/StreamUtil.js +43 -29
  102. package/lib/internal/StreamUtil.js.map +1 -1
  103. package/lib/internal/__map_take.js +5 -5
  104. package/lib/internal/__map_take.js.map +1 -1
  105. package/lib/json/IAgenticaEventJson.d.ts +7 -7
  106. package/lib/json/IAgenticaOperationSelectionJson.d.ts +1 -1
  107. package/lib/json/IAgenticaPromptJson.d.ts +2 -2
  108. package/lib/prompts/AgenticaCancelPrompt.d.ts +3 -3
  109. package/lib/prompts/AgenticaCancelPrompt.js +1 -1
  110. package/lib/prompts/AgenticaCancelPrompt.js.map +1 -1
  111. package/lib/prompts/AgenticaDescribePrompt.d.ts +3 -3
  112. package/lib/prompts/AgenticaDescribePrompt.js +1 -1
  113. package/lib/prompts/AgenticaDescribePrompt.js.map +1 -1
  114. package/lib/prompts/AgenticaExecutePrompt.d.ts +5 -5
  115. package/lib/prompts/AgenticaExecutePrompt.js.map +1 -1
  116. package/lib/prompts/AgenticaPrompt.d.ts +6 -6
  117. package/lib/prompts/AgenticaSelectPrompt.d.ts +3 -3
  118. package/lib/prompts/AgenticaSelectPrompt.js +1 -1
  119. package/lib/prompts/AgenticaSelectPrompt.js.map +1 -1
  120. package/lib/prompts/AgenticaTextPrompt.d.ts +1 -1
  121. package/lib/structures/IAgenticaConfig.d.ts +5 -5
  122. package/lib/structures/IAgenticaController.d.ts +1 -1
  123. package/lib/structures/IAgenticaExecutor.d.ts +4 -4
  124. package/lib/structures/IAgenticaProps.d.ts +5 -5
  125. package/lib/structures/IAgenticaSystemPrompt.d.ts +4 -4
  126. package/lib/structures/IAgenticaVendor.d.ts +1 -1
  127. package/lib/transformers/AgenticaEventTransformer.d.ts +55 -37
  128. package/lib/transformers/AgenticaEventTransformer.js +105 -58
  129. package/lib/transformers/AgenticaEventTransformer.js.map +1 -1
  130. package/lib/transformers/AgenticaPromptTransformer.d.ts +35 -29
  131. package/lib/transformers/AgenticaPromptTransformer.js +74 -45
  132. package/lib/transformers/AgenticaPromptTransformer.js.map +1 -1
  133. package/package.json +20 -23
  134. package/prompts/cancel.md +1 -1
  135. package/prompts/common.md +1 -1
  136. package/prompts/describe.md +1 -1
  137. package/prompts/execute.md +1 -1
  138. package/prompts/initialize.md +1 -1
  139. package/prompts/select.md +1 -1
  140. package/src/Agentica.ts +41 -31
  141. package/src/chatgpt/ChatGptAgent.ts +63 -57
  142. package/src/chatgpt/ChatGptCallFunctionAgent.ts +363 -337
  143. package/src/chatgpt/ChatGptCancelFunctionAgent.ts +188 -164
  144. package/src/chatgpt/ChatGptCompletionMessageUtil.ts +136 -137
  145. package/src/chatgpt/ChatGptDescribeFunctionAgent.ts +105 -101
  146. package/src/chatgpt/ChatGptHistoryDecoder.ts +69 -65
  147. package/src/chatgpt/ChatGptInitializeFunctionAgent.ts +128 -123
  148. package/src/chatgpt/ChatGptSelectFunctionAgent.ts +215 -189
  149. package/src/chatgpt/ChatGptUsageAggregator.ts +49 -54
  150. package/src/context/AgenticaCancelPrompt.ts +4 -4
  151. package/src/context/AgenticaClassOperation.ts +5 -5
  152. package/src/context/AgenticaContext.ts +15 -15
  153. package/src/context/AgenticaHttpOperation.ts +5 -5
  154. package/src/context/AgenticaOperation.ts +4 -4
  155. package/src/context/AgenticaOperationBase.ts +1 -1
  156. package/src/context/AgenticaOperationCollection.ts +2 -2
  157. package/src/context/AgenticaOperationSelection.ts +3 -3
  158. package/src/context/AgenticaTokenUsage.ts +4 -3
  159. package/src/context/internal/AgenticaTokenUsageAggregator.ts +59 -59
  160. package/src/context/internal/__IChatCancelFunctionsApplication.ts +2 -2
  161. package/src/context/internal/__IChatInitialApplication.ts +2 -2
  162. package/src/context/internal/__IChatSelectFunctionsApplication.ts +2 -2
  163. package/src/events/AgenticaCallEvent.ts +3 -3
  164. package/src/events/AgenticaCancelEvent.ts +3 -3
  165. package/src/events/AgenticaDescribeEvent.ts +5 -5
  166. package/src/events/AgenticaEvent.ts +12 -12
  167. package/src/events/AgenticaExecuteEvent.ts +7 -7
  168. package/src/events/AgenticaInitializeEvent.ts +1 -1
  169. package/src/events/AgenticaRequestEvent.ts +3 -3
  170. package/src/events/AgenticaResponseEvent.ts +2 -2
  171. package/src/events/AgenticaSelectEvent.ts +4 -4
  172. package/src/events/AgenticaTextEvent.ts +2 -2
  173. package/src/functional/assertHttpLlmApplication.ts +9 -6
  174. package/src/functional/validateHttpLlmApplication.ts +14 -8
  175. package/src/index.ts +24 -24
  176. package/src/internal/AgenticaDefaultPrompt.ts +42 -28
  177. package/src/internal/AgenticaOperationComposer.ts +63 -61
  178. package/src/internal/AgenticaSystemPrompt.ts +15 -14
  179. package/src/internal/AsyncQueue.ts +67 -0
  180. package/src/internal/ByteArrayUtil.ts +2 -2
  181. package/src/internal/MPSC.ts +40 -0
  182. package/src/internal/Singleton.ts +8 -6
  183. package/src/internal/StreamUtil.ts +62 -53
  184. package/src/internal/__map_take.ts +5 -7
  185. package/src/json/IAgenticaEventJson.ts +7 -8
  186. package/src/json/IAgenticaOperationSelectionJson.ts +1 -1
  187. package/src/json/IAgenticaPromptJson.ts +2 -2
  188. package/src/prompts/AgenticaCancelPrompt.ts +4 -4
  189. package/src/prompts/AgenticaDescribePrompt.ts +4 -4
  190. package/src/prompts/AgenticaExecutePrompt.ts +6 -5
  191. package/src/prompts/AgenticaPrompt.ts +6 -6
  192. package/src/prompts/AgenticaSelectPrompt.ts +4 -4
  193. package/src/prompts/AgenticaTextPrompt.ts +1 -1
  194. package/src/structures/IAgenticaConfig.ts +5 -5
  195. package/src/structures/IAgenticaController.ts +14 -14
  196. package/src/structures/IAgenticaExecutor.ts +4 -4
  197. package/src/structures/IAgenticaProps.ts +5 -5
  198. package/src/structures/IAgenticaSystemPrompt.ts +4 -4
  199. package/src/structures/IAgenticaVendor.ts +1 -1
  200. package/src/transformers/AgenticaEventTransformer.ts +169 -136
  201. package/src/transformers/AgenticaPromptTransformer.ts +125 -103
  202. package/lib/internal/MPSCUtil.d.ts +0 -35
  203. package/lib/internal/MPSCUtil.js +0 -105
  204. package/lib/internal/MPSCUtil.js.map +0 -1
  205. package/src/internal/MPSCUtil.ts +0 -111
@@ -1,134 +1,156 @@
1
- import { ILlmSchema } from "@samchon/openapi";
1
+ import type { ILlmSchema } from "@samchon/openapi";
2
2
 
3
- import { AgenticaOperation } from "../context/AgenticaOperation";
3
+ import type { AgenticaOperation } from "../context/AgenticaOperation";
4
+ import type { IAgenticaPromptJson } from "../json/IAgenticaPromptJson";
5
+ import type { AgenticaPrompt } from "../prompts/AgenticaPrompt";
4
6
  import { AgenticaOperationSelection } from "../context/AgenticaOperationSelection";
5
- import { IAgenticaPromptJson } from "../json/IAgenticaPromptJson";
6
7
  import { AgenticaCancelPrompt } from "../prompts/AgenticaCancelPrompt";
7
8
  import { AgenticaDescribePrompt } from "../prompts/AgenticaDescribePrompt";
8
9
  import { AgenticaExecutePrompt } from "../prompts/AgenticaExecutePrompt";
9
- import { AgenticaPrompt } from "../prompts/AgenticaPrompt";
10
10
  import { AgenticaSelectPrompt } from "../prompts/AgenticaSelectPrompt";
11
11
  import { AgenticaTextPrompt } from "../prompts/AgenticaTextPrompt";
12
12
 
13
- export namespace AgenticaPromptTransformer {
14
- export const transform = <Model extends ILlmSchema.Model>(props: {
15
- operations: Map<string, Map<string, AgenticaOperation<Model>>>;
16
- prompt: IAgenticaPromptJson;
17
- }): AgenticaPrompt<Model> => {
18
- // TEXT
19
- if (props.prompt.type === "text")
20
- return transformText({
21
- prompt: props.prompt,
22
- });
23
- // SELECT & CANCEL
24
- else if (props.prompt.type === "select")
25
- return transformSelect({
26
- operations: props.operations,
27
- prompt: props.prompt,
28
- });
29
- else if (props.prompt.type === "cancel")
30
- return transformCancel({
31
- operations: props.operations,
32
- prompt: props.prompt,
33
- });
34
- // EXECUTE
35
- else if (props.prompt.type === "execute")
36
- return transformExecute({
37
- operations: props.operations,
38
- prompt: props.prompt,
39
- });
40
- else if (props.prompt.type === "describe")
41
- return transformDescribe({
42
- operations: props.operations,
43
- prompt: props.prompt,
44
- });
45
- throw new Error("Invalid prompt type.");
46
- };
13
+ export function transform<Model extends ILlmSchema.Model>(props: {
14
+ operations: Map<string, Map<string, AgenticaOperation<Model>>>;
15
+ prompt: IAgenticaPromptJson;
16
+ }): AgenticaPrompt<Model> {
17
+ // TEXT
18
+ if (props.prompt.type === "text") {
19
+ return transformText({
20
+ prompt: props.prompt,
21
+ });
22
+ }
23
+ // SELECT & CANCEL
24
+ else if (props.prompt.type === "select") {
25
+ return transformSelect({
26
+ operations: props.operations,
27
+ prompt: props.prompt,
28
+ });
29
+ }
30
+ else if (props.prompt.type === "cancel") {
31
+ return transformCancel({
32
+ operations: props.operations,
33
+ prompt: props.prompt,
34
+ });
35
+ }
36
+ // EXECUTE
37
+ else if (props.prompt.type === "execute") {
38
+ return transformExecute({
39
+ operations: props.operations,
40
+ prompt: props.prompt,
41
+ });
42
+ }
43
+ else if (props.prompt.type === "describe") {
44
+ return transformDescribe({
45
+ operations: props.operations,
46
+ prompt: props.prompt,
47
+ });
48
+ }
47
49
 
48
- export const transformText = (props: {
49
- prompt: IAgenticaPromptJson.IText;
50
- }): AgenticaTextPrompt => {
51
- return new AgenticaTextPrompt(props.prompt);
52
- };
50
+ throw new Error("Invalid prompt type.");
51
+ }
53
52
 
54
- export const transformSelect = <Model extends ILlmSchema.Model>(props: {
55
- operations: Map<string, Map<string, AgenticaOperation<Model>>>;
56
- prompt: IAgenticaPromptJson.ISelect;
57
- }): AgenticaSelectPrompt<Model> =>
58
- new AgenticaSelectPrompt({
59
- id: props.prompt.id,
60
- selections: props.prompt.selections.map(
61
- (select) =>
62
- new AgenticaOperationSelection({
63
- operation: findOperation({
64
- operations: props.operations,
65
- input: select.operation,
66
- }),
67
- reason: select.reason,
53
+ export function transformText(props: {
54
+ prompt: IAgenticaPromptJson.IText;
55
+ }): AgenticaTextPrompt {
56
+ return new AgenticaTextPrompt(props.prompt);
57
+ }
58
+
59
+ export function transformSelect<Model extends ILlmSchema.Model>(props: {
60
+ operations: Map<string, Map<string, AgenticaOperation<Model>>>;
61
+ prompt: IAgenticaPromptJson.ISelect;
62
+ }): AgenticaSelectPrompt<Model> {
63
+ return new AgenticaSelectPrompt({
64
+ id: props.prompt.id,
65
+ selections: props.prompt.selections.map(
66
+ select =>
67
+ new AgenticaOperationSelection({
68
+ operation: findOperation({
69
+ operations: props.operations,
70
+ input: select.operation,
68
71
  }),
69
- ),
70
- });
72
+ reason: select.reason,
73
+ }),
74
+ ),
75
+ });
76
+ }
71
77
 
72
- export const transformCancel = <Model extends ILlmSchema.Model>(props: {
73
- operations: Map<string, Map<string, AgenticaOperation<Model>>>;
74
- prompt: IAgenticaPromptJson.ICancel;
75
- }): AgenticaCancelPrompt<Model> =>
76
- new AgenticaCancelPrompt({
77
- id: props.prompt.id,
78
- selections: props.prompt.selections.map(
79
- (select) =>
80
- new AgenticaOperationSelection({
81
- operation: findOperation({
82
- operations: props.operations,
83
- input: select.operation,
84
- }),
85
- reason: select.reason,
78
+ export function transformCancel<Model extends ILlmSchema.Model>(props: {
79
+ operations: Map<string, Map<string, AgenticaOperation<Model>>>;
80
+ prompt: IAgenticaPromptJson.ICancel;
81
+ }): AgenticaCancelPrompt<Model> {
82
+ return new AgenticaCancelPrompt({
83
+ id: props.prompt.id,
84
+ selections: props.prompt.selections.map(
85
+ select =>
86
+ new AgenticaOperationSelection({
87
+ operation: findOperation({
88
+ operations: props.operations,
89
+ input: select.operation,
86
90
  }),
87
- ),
88
- });
91
+ reason: select.reason,
92
+ }),
93
+ ),
94
+ });
95
+ }
96
+
97
+ export function transformExecute<Model extends ILlmSchema.Model>(props: {
98
+ operations: Map<string, Map<string, AgenticaOperation<Model>>>;
99
+ prompt: IAgenticaPromptJson.IExecute;
100
+ }): AgenticaExecutePrompt<Model> {
101
+ return new AgenticaExecutePrompt({
102
+ id: props.prompt.id,
103
+ operation: findOperation({
104
+ operations: props.operations,
105
+ input: props.prompt.operation,
106
+ }),
107
+ arguments: props.prompt.arguments,
108
+ /**
109
+ * @TODO fix it
110
+ * The property and value have a type mismatch, but it works.
111
+ */
112
+ value: props.prompt.value as unknown as Record<string, unknown>,
113
+ });
114
+ }
89
115
 
90
- export const transformExecute = <Model extends ILlmSchema.Model>(props: {
91
- operations: Map<string, Map<string, AgenticaOperation<Model>>>;
92
- prompt: IAgenticaPromptJson.IExecute;
93
- }): AgenticaExecutePrompt<Model> =>
94
- new AgenticaExecutePrompt({
95
- id: props.prompt.id,
96
- operation: findOperation({
116
+ export function transformDescribe<Model extends ILlmSchema.Model>(props: {
117
+ operations: Map<string, Map<string, AgenticaOperation<Model>>>;
118
+ prompt: IAgenticaPromptJson.IDescribe;
119
+ }): AgenticaDescribePrompt<Model> {
120
+ return new AgenticaDescribePrompt({
121
+ text: props.prompt.text,
122
+ executes: props.prompt.executes.map(next =>
123
+ transformExecute({
97
124
  operations: props.operations,
98
- input: props.prompt.operation,
125
+ prompt: next,
99
126
  }),
100
- arguments: props.prompt.arguments,
101
- value: props.prompt.value,
102
- });
103
-
104
- export const transformDescribe = <Model extends ILlmSchema.Model>(props: {
105
- operations: Map<string, Map<string, AgenticaOperation<Model>>>;
106
- prompt: IAgenticaPromptJson.IDescribe;
107
- }): AgenticaDescribePrompt<Model> =>
108
- new AgenticaDescribePrompt({
109
- text: props.prompt.text,
110
- executes: props.prompt.executes.map((next) =>
111
- transformExecute({
112
- operations: props.operations,
113
- prompt: next,
114
- }),
115
- ),
116
- });
127
+ ),
128
+ });
117
129
  }
118
130
 
119
- const findOperation = <Model extends ILlmSchema.Model>(props: {
131
+ function findOperation<Model extends ILlmSchema.Model>(props: {
120
132
  operations: Map<string, Map<string, AgenticaOperation<Model>>>;
121
133
  input: {
122
134
  controller: string;
123
135
  function: string;
124
136
  };
125
- }): AgenticaOperation<Model> => {
137
+ }): AgenticaOperation<Model> {
126
138
  const found: AgenticaOperation<Model> | undefined = props.operations
127
139
  .get(props.input.controller)
128
140
  ?.get(props.input.function);
129
- if (found === undefined)
141
+ if (found === undefined) {
130
142
  throw new Error(
131
143
  `No operation found: (controller: ${props.input.controller}, function: ${props.input.function})`,
132
144
  );
145
+ }
133
146
  return found;
147
+ }
148
+
149
+ export const AgenticaPromptTransformer = {
150
+ transform,
151
+ transformText,
152
+ transformSelect,
153
+ transformCancel,
154
+ transformExecute,
155
+ transformDescribe,
134
156
  };
@@ -1,35 +0,0 @@
1
- export declare namespace MPSCUtil {
2
- interface Output<T> {
3
- consumer: ReadableStream<T>;
4
- produce: (chunk: T) => void;
5
- close: () => void;
6
- /**
7
- * Wait until the producing is finished.
8
- */
9
- waitClosed: () => Promise<void>;
10
- /**
11
- * Wait until the consuming is finished.(finished producing and consuming)
12
- */
13
- waitUntilEmpty: () => Promise<void>;
14
- /**
15
- * Check if producing is done and consuming is finished.
16
- */
17
- done: () => boolean;
18
- }
19
- const create: <T>() => Output<T>;
20
- class AsyncQueue<T> {
21
- private queue;
22
- private resolvers;
23
- private closeResolvers;
24
- private emptyResolvers;
25
- private closed;
26
- enqueue(item: T): void;
27
- dequeue(): Promise<IteratorResult<T, undefined>>;
28
- isEmpty(): boolean;
29
- isClosed(): boolean;
30
- done(): boolean;
31
- close(): void;
32
- waitUntilEmpty(): Promise<void>;
33
- waitClosed(): Promise<void>;
34
- }
35
- }
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MPSCUtil = void 0;
13
- var MPSCUtil;
14
- (function (MPSCUtil) {
15
- MPSCUtil.create = () => {
16
- const queue = new AsyncQueue();
17
- const consumer = new ReadableStream({
18
- pull(controller) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const { value, done } = yield queue.dequeue();
21
- if (done) {
22
- controller.close();
23
- }
24
- else {
25
- controller.enqueue(value);
26
- }
27
- });
28
- },
29
- });
30
- return {
31
- consumer,
32
- produce: (chunk) => queue.enqueue(chunk),
33
- close: () => queue.close(),
34
- done: () => queue.done(),
35
- waitClosed: () => queue.waitClosed(),
36
- waitUntilEmpty: () => queue.waitUntilEmpty(),
37
- };
38
- };
39
- class AsyncQueue {
40
- constructor() {
41
- this.queue = [];
42
- this.resolvers = [];
43
- this.closeResolvers = [];
44
- this.emptyResolvers = [];
45
- this.closed = false;
46
- }
47
- enqueue(item) {
48
- var _a;
49
- this.queue.push(item);
50
- if (this.resolvers.length > 0) {
51
- (_a = this.resolvers.shift()) === null || _a === void 0 ? void 0 : _a({ value: this.queue.shift(), done: false });
52
- }
53
- }
54
- dequeue() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- if (this.queue.length > 0) {
57
- return { value: this.queue.shift(), done: false };
58
- }
59
- if (this.closed) {
60
- if (this.emptyResolvers.length > 0) {
61
- this.emptyResolvers.forEach((resolve) => resolve());
62
- this.emptyResolvers = [];
63
- }
64
- return { value: undefined, done: true };
65
- }
66
- return new Promise((resolve) => this.resolvers.push(resolve));
67
- });
68
- }
69
- isEmpty() {
70
- return this.queue.length === 0;
71
- }
72
- isClosed() {
73
- return this.closed;
74
- }
75
- done() {
76
- return this.isClosed() && this.isEmpty();
77
- }
78
- close() {
79
- var _a;
80
- this.closed = true;
81
- while (this.resolvers.length > 0) {
82
- (_a = this.resolvers.shift()) === null || _a === void 0 ? void 0 : _a({ value: undefined, done: true });
83
- }
84
- this.closeResolvers.forEach((resolve) => resolve());
85
- }
86
- waitUntilEmpty() {
87
- if (this.isEmpty()) {
88
- return Promise.resolve();
89
- }
90
- return new Promise((resolve) => {
91
- this.emptyResolvers.push(resolve);
92
- });
93
- }
94
- waitClosed() {
95
- if (this.isClosed()) {
96
- return Promise.resolve();
97
- }
98
- return new Promise((resolve) => {
99
- this.closeResolvers.push(resolve);
100
- });
101
- }
102
- }
103
- MPSCUtil.AsyncQueue = AsyncQueue;
104
- })(MPSCUtil || (exports.MPSCUtil = MPSCUtil = {}));
105
- //# sourceMappingURL=MPSCUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MPSCUtil.js","sourceRoot":"","sources":["../../src/internal/MPSCUtil.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- export namespace MPSCUtil {
2
- export interface Output<T> {
3
- consumer: ReadableStream<T>;
4
- produce: (chunk: T) => void;
5
- close: () => void;
6
- /**
7
- * Wait until the producing is finished.
8
- */
9
- waitClosed: () => Promise<void>;
10
- /**
11
- * Wait until the consuming is finished.(finished producing and consuming)
12
- */
13
- waitUntilEmpty: () => Promise<void>;
14
-
15
- /**
16
- * Check if producing is done and consuming is finished.
17
- */
18
- done: () => boolean;
19
- }
20
-
21
- export const create = <T>(): Output<T> => {
22
- const queue = new AsyncQueue<T>();
23
- const consumer = new ReadableStream<T>({
24
- async pull(controller) {
25
- const { value, done } = await queue.dequeue();
26
- if (done) {
27
- controller.close();
28
- } else {
29
- controller.enqueue(value);
30
- }
31
- },
32
- });
33
-
34
- return {
35
- consumer,
36
- produce: (chunk: T) => queue.enqueue(chunk),
37
- close: () => queue.close(),
38
- done: () => queue.done(),
39
- waitClosed: () => queue.waitClosed(),
40
- waitUntilEmpty: () => queue.waitUntilEmpty(),
41
- };
42
- };
43
-
44
- export class AsyncQueue<T> {
45
- private queue: T[] = [];
46
- private resolvers: ((value: IteratorResult<T, undefined>) => void)[] = [];
47
- private closeResolvers: (() => void)[] = [];
48
- private emptyResolvers: (() => void)[] = [];
49
- private closed = false;
50
-
51
- enqueue(item: T) {
52
- this.queue.push(item);
53
- if (this.resolvers.length > 0) {
54
- this.resolvers.shift()?.({ value: this.queue.shift()!, done: false });
55
- }
56
- }
57
-
58
- async dequeue(): Promise<IteratorResult<T, undefined>> {
59
- if (this.queue.length > 0) {
60
- return { value: this.queue.shift()!, done: false };
61
- }
62
- if (this.closed) {
63
- if (this.emptyResolvers.length > 0) {
64
- this.emptyResolvers.forEach((resolve) => resolve());
65
- this.emptyResolvers = [];
66
- }
67
- return { value: undefined, done: true };
68
- }
69
- return new Promise((resolve) => this.resolvers.push(resolve));
70
- }
71
-
72
- isEmpty() {
73
- return this.queue.length === 0;
74
- }
75
-
76
- isClosed() {
77
- return this.closed;
78
- }
79
-
80
- done() {
81
- return this.isClosed() && this.isEmpty();
82
- }
83
-
84
- close() {
85
- this.closed = true;
86
- while (this.resolvers.length > 0) {
87
- this.resolvers.shift()?.({ value: undefined, done: true });
88
- }
89
- this.closeResolvers.forEach((resolve) => resolve());
90
- }
91
-
92
- waitUntilEmpty() {
93
- if (this.isEmpty()) {
94
- return Promise.resolve();
95
- }
96
- return new Promise<void>((resolve) => {
97
- this.emptyResolvers.push(resolve);
98
- });
99
- }
100
-
101
- waitClosed() {
102
- if (this.isClosed()) {
103
- return Promise.resolve();
104
- }
105
-
106
- return new Promise<void>((resolve) => {
107
- this.closeResolvers.push(resolve);
108
- });
109
- }
110
- }
111
- }