@botonic/plugin-ai-agents 0.46.1 → 2.23.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 (182) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/package.json +23 -41
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +3 -0
  5. package/src/index.js.map +1 -0
  6. package/{lib/cjs → src/lib}/agent-builder.d.ts +5 -13
  7. package/{lib/cjs → src/lib}/agent-builder.js +31 -26
  8. package/src/lib/agent-builder.js.map +1 -0
  9. package/{lib/cjs → src/lib}/constants.d.ts +1 -3
  10. package/src/lib/constants.js +13 -0
  11. package/src/lib/constants.js.map +1 -0
  12. package/{lib/esm → src/lib}/debug-logger.d.ts +3 -5
  13. package/{lib/esm → src/lib}/debug-logger.js +44 -29
  14. package/src/lib/debug-logger.js.map +1 -0
  15. package/src/lib/guardrails/index.js +2 -0
  16. package/src/lib/guardrails/index.js.map +1 -0
  17. package/src/lib/guardrails/input.d.ts +3 -0
  18. package/src/lib/guardrails/input.js +29 -0
  19. package/src/lib/guardrails/input.js.map +1 -0
  20. package/{lib/cjs/services → src/lib}/hubtype-api-client.d.ts +13 -5
  21. package/src/lib/hubtype-api-client.js +206 -0
  22. package/src/lib/hubtype-api-client.js.map +1 -0
  23. package/{lib/esm → src/lib}/index.d.ts +2 -7
  24. package/src/lib/index.js +111 -0
  25. package/src/lib/index.js.map +1 -0
  26. package/src/lib/openai.d.ts +1 -0
  27. package/src/lib/openai.js +21 -0
  28. package/src/lib/openai.js.map +1 -0
  29. package/src/lib/runner.d.ts +12 -0
  30. package/src/lib/runner.js +96 -0
  31. package/src/lib/runner.js.map +1 -0
  32. package/{lib/esm → src/lib}/structured-output/carousel.d.ts +1 -1
  33. package/src/lib/structured-output/carousel.js +19 -0
  34. package/src/lib/structured-output/carousel.js.map +1 -0
  35. package/{lib/cjs → src/lib}/structured-output/exit.d.ts +1 -1
  36. package/src/lib/structured-output/exit.js +7 -0
  37. package/src/lib/structured-output/exit.js.map +1 -0
  38. package/src/lib/structured-output/index.d.ts +228 -0
  39. package/src/lib/structured-output/index.js +11 -0
  40. package/src/lib/structured-output/index.js.map +1 -0
  41. package/{lib/esm/structured-output/bot-executor.d.ts → src/lib/structured-output/text-with-buttons.d.ts} +13 -13
  42. package/src/lib/structured-output/text-with-buttons.js +14 -0
  43. package/src/lib/structured-output/text-with-buttons.js.map +1 -0
  44. package/{lib/esm → src/lib}/structured-output/text.d.ts +1 -1
  45. package/src/lib/structured-output/text.js +10 -0
  46. package/src/lib/structured-output/text.js.map +1 -0
  47. package/{lib/esm → src/lib}/tools/index.d.ts +1 -1
  48. package/src/lib/tools/index.js +3 -0
  49. package/src/lib/tools/index.js.map +1 -0
  50. package/{lib/cjs → src/lib}/tools/retrieve-knowledge.d.ts +2 -2
  51. package/src/lib/tools/retrieve-knowledge.js +30 -0
  52. package/src/lib/tools/retrieve-knowledge.js.map +1 -0
  53. package/{lib/esm → src/lib}/types.d.ts +11 -21
  54. package/src/lib/types.js +2 -0
  55. package/src/lib/types.js.map +1 -0
  56. package/README.md +0 -156
  57. package/lib/cjs/agent-builder.js.map +0 -1
  58. package/lib/cjs/bot-config-tools.d.ts +0 -7
  59. package/lib/cjs/bot-config-tools.js +0 -19
  60. package/lib/cjs/bot-config-tools.js.map +0 -1
  61. package/lib/cjs/constants.js +0 -17
  62. package/lib/cjs/constants.js.map +0 -1
  63. package/lib/cjs/debug-logger.d.ts +0 -33
  64. package/lib/cjs/debug-logger.js +0 -97
  65. package/lib/cjs/debug-logger.js.map +0 -1
  66. package/lib/cjs/guardrails/index.js +0 -5
  67. package/lib/cjs/guardrails/index.js.map +0 -1
  68. package/lib/cjs/guardrails/input.d.ts +0 -10
  69. package/lib/cjs/guardrails/input.js +0 -77
  70. package/lib/cjs/guardrails/input.js.map +0 -1
  71. package/lib/cjs/index.d.ts +0 -18
  72. package/lib/cjs/index.js +0 -134
  73. package/lib/cjs/index.js.map +0 -1
  74. package/lib/cjs/llm-config.d.ts +0 -15
  75. package/lib/cjs/llm-config.js +0 -66
  76. package/lib/cjs/llm-config.js.map +0 -1
  77. package/lib/cjs/runner.d.ts +0 -18
  78. package/lib/cjs/runner.js +0 -181
  79. package/lib/cjs/runner.js.map +0 -1
  80. package/lib/cjs/services/hubtype-api-client.js +0 -206
  81. package/lib/cjs/services/hubtype-api-client.js.map +0 -1
  82. package/lib/cjs/services/types.d.ts +0 -85
  83. package/lib/cjs/services/types.js +0 -13
  84. package/lib/cjs/services/types.js.map +0 -1
  85. package/lib/cjs/structured-output/bot-executor.d.ts +0 -49
  86. package/lib/cjs/structured-output/bot-executor.js +0 -18
  87. package/lib/cjs/structured-output/bot-executor.js.map +0 -1
  88. package/lib/cjs/structured-output/carousel.d.ts +0 -90
  89. package/lib/cjs/structured-output/carousel.js +0 -22
  90. package/lib/cjs/structured-output/carousel.js.map +0 -1
  91. package/lib/cjs/structured-output/exit.js +0 -11
  92. package/lib/cjs/structured-output/exit.js.map +0 -1
  93. package/lib/cjs/structured-output/index.d.ts +0 -603
  94. package/lib/cjs/structured-output/index.js +0 -28
  95. package/lib/cjs/structured-output/index.js.map +0 -1
  96. package/lib/cjs/structured-output/text-with-buttons.d.ts +0 -56
  97. package/lib/cjs/structured-output/text-with-buttons.js +0 -24
  98. package/lib/cjs/structured-output/text-with-buttons.js.map +0 -1
  99. package/lib/cjs/structured-output/text.d.ts +0 -23
  100. package/lib/cjs/structured-output/text.js +0 -13
  101. package/lib/cjs/structured-output/text.js.map +0 -1
  102. package/lib/cjs/tools/index.d.ts +0 -3
  103. package/lib/cjs/tools/index.js +0 -7
  104. package/lib/cjs/tools/index.js.map +0 -1
  105. package/lib/cjs/tools/retrieve-knowledge.js +0 -32
  106. package/lib/cjs/tools/retrieve-knowledge.js.map +0 -1
  107. package/lib/cjs/types.d.ts +0 -56
  108. package/lib/cjs/types.js +0 -3
  109. package/lib/cjs/types.js.map +0 -1
  110. package/lib/esm/agent-builder.d.ts +0 -37
  111. package/lib/esm/agent-builder.js +0 -106
  112. package/lib/esm/agent-builder.js.map +0 -1
  113. package/lib/esm/bot-config-tools.d.ts +0 -7
  114. package/lib/esm/bot-config-tools.js +0 -19
  115. package/lib/esm/bot-config-tools.js.map +0 -1
  116. package/lib/esm/constants.d.ts +0 -11
  117. package/lib/esm/constants.js +0 -17
  118. package/lib/esm/constants.js.map +0 -1
  119. package/lib/esm/debug-logger.js.map +0 -1
  120. package/lib/esm/guardrails/index.d.ts +0 -1
  121. package/lib/esm/guardrails/index.js +0 -5
  122. package/lib/esm/guardrails/index.js.map +0 -1
  123. package/lib/esm/guardrails/input.d.ts +0 -10
  124. package/lib/esm/guardrails/input.js +0 -77
  125. package/lib/esm/guardrails/input.js.map +0 -1
  126. package/lib/esm/index.js +0 -134
  127. package/lib/esm/index.js.map +0 -1
  128. package/lib/esm/llm-config.d.ts +0 -15
  129. package/lib/esm/llm-config.js +0 -66
  130. package/lib/esm/llm-config.js.map +0 -1
  131. package/lib/esm/runner.d.ts +0 -18
  132. package/lib/esm/runner.js +0 -181
  133. package/lib/esm/runner.js.map +0 -1
  134. package/lib/esm/services/hubtype-api-client.d.ts +0 -14
  135. package/lib/esm/services/hubtype-api-client.js +0 -206
  136. package/lib/esm/services/hubtype-api-client.js.map +0 -1
  137. package/lib/esm/services/types.d.ts +0 -85
  138. package/lib/esm/services/types.js +0 -13
  139. package/lib/esm/services/types.js.map +0 -1
  140. package/lib/esm/structured-output/bot-executor.js +0 -18
  141. package/lib/esm/structured-output/bot-executor.js.map +0 -1
  142. package/lib/esm/structured-output/carousel.js +0 -22
  143. package/lib/esm/structured-output/carousel.js.map +0 -1
  144. package/lib/esm/structured-output/exit.d.ts +0 -10
  145. package/lib/esm/structured-output/exit.js +0 -11
  146. package/lib/esm/structured-output/exit.js.map +0 -1
  147. package/lib/esm/structured-output/index.d.ts +0 -603
  148. package/lib/esm/structured-output/index.js +0 -28
  149. package/lib/esm/structured-output/index.js.map +0 -1
  150. package/lib/esm/structured-output/text-with-buttons.d.ts +0 -56
  151. package/lib/esm/structured-output/text-with-buttons.js +0 -24
  152. package/lib/esm/structured-output/text-with-buttons.js.map +0 -1
  153. package/lib/esm/structured-output/text.js +0 -13
  154. package/lib/esm/structured-output/text.js.map +0 -1
  155. package/lib/esm/tools/index.js +0 -7
  156. package/lib/esm/tools/index.js.map +0 -1
  157. package/lib/esm/tools/retrieve-knowledge.d.ts +0 -9
  158. package/lib/esm/tools/retrieve-knowledge.js +0 -32
  159. package/lib/esm/tools/retrieve-knowledge.js.map +0 -1
  160. package/lib/esm/types.js +0 -3
  161. package/lib/esm/types.js.map +0 -1
  162. package/src/agent-builder.ts +0 -183
  163. package/src/bot-config-tools.ts +0 -21
  164. package/src/constants.ts +0 -21
  165. package/src/debug-logger.ts +0 -166
  166. package/src/guardrails/index.ts +0 -1
  167. package/src/guardrails/input.ts +0 -122
  168. package/src/index.ts +0 -210
  169. package/src/llm-config.ts +0 -96
  170. package/src/runner.ts +0 -287
  171. package/src/services/hubtype-api-client.ts +0 -240
  172. package/src/services/types.ts +0 -106
  173. package/src/structured-output/bot-executor.ts +0 -21
  174. package/src/structured-output/carousel.ts +0 -24
  175. package/src/structured-output/exit.ts +0 -12
  176. package/src/structured-output/index.ts +0 -34
  177. package/src/structured-output/text-with-buttons.ts +0 -29
  178. package/src/structured-output/text.ts +0 -13
  179. package/src/tools/index.ts +0 -5
  180. package/src/tools/retrieve-knowledge.ts +0 -37
  181. package/src/types.ts +0 -110
  182. /package/{lib/cjs → src/lib}/guardrails/index.d.ts +0 -0
@@ -0,0 +1,228 @@
1
+ import { OutputMessage } from '@botonic/shared';
2
+ import { z } from 'zod';
3
+ export interface Output {
4
+ messages: OutputMessage[];
5
+ }
6
+ export declare const OutputSchema: z.ZodObject<{
7
+ messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
8
+ type: z.ZodEnum<["text"]>;
9
+ content: z.ZodObject<{
10
+ text: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ text: string;
13
+ }, {
14
+ text: string;
15
+ }>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ type: "text";
18
+ content: {
19
+ text: string;
20
+ };
21
+ }, {
22
+ type: "text";
23
+ content: {
24
+ text: string;
25
+ };
26
+ }>, z.ZodObject<{
27
+ type: z.ZodEnum<["textWithButtons"]>;
28
+ content: z.ZodObject<{
29
+ text: z.ZodString;
30
+ buttons: z.ZodArray<z.ZodObject<{
31
+ text: z.ZodString;
32
+ url: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ text: string;
35
+ url?: string | undefined;
36
+ }, {
37
+ text: string;
38
+ url?: string | undefined;
39
+ }>, "many">;
40
+ }, "strip", z.ZodTypeAny, {
41
+ text: string;
42
+ buttons: {
43
+ text: string;
44
+ url?: string | undefined;
45
+ }[];
46
+ }, {
47
+ text: string;
48
+ buttons: {
49
+ text: string;
50
+ url?: string | undefined;
51
+ }[];
52
+ }>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: "textWithButtons";
55
+ content: {
56
+ text: string;
57
+ buttons: {
58
+ text: string;
59
+ url?: string | undefined;
60
+ }[];
61
+ };
62
+ }, {
63
+ type: "textWithButtons";
64
+ content: {
65
+ text: string;
66
+ buttons: {
67
+ text: string;
68
+ url?: string | undefined;
69
+ }[];
70
+ };
71
+ }>, z.ZodObject<{
72
+ type: z.ZodEnum<["carousel"]>;
73
+ content: z.ZodObject<{
74
+ text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
75
+ elements: z.ZodArray<z.ZodObject<{
76
+ title: z.ZodString;
77
+ subtitle: z.ZodString;
78
+ image: z.ZodString;
79
+ button: z.ZodObject<{
80
+ text: z.ZodString;
81
+ url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ text: string;
84
+ url?: string | null | undefined;
85
+ }, {
86
+ text: string;
87
+ url?: string | null | undefined;
88
+ }>;
89
+ }, "strip", z.ZodTypeAny, {
90
+ title: string;
91
+ subtitle: string;
92
+ image: string;
93
+ button: {
94
+ text: string;
95
+ url?: string | null | undefined;
96
+ };
97
+ }, {
98
+ title: string;
99
+ subtitle: string;
100
+ image: string;
101
+ button: {
102
+ text: string;
103
+ url?: string | null | undefined;
104
+ };
105
+ }>, "many">;
106
+ }, "strip", z.ZodTypeAny, {
107
+ elements: {
108
+ title: string;
109
+ subtitle: string;
110
+ image: string;
111
+ button: {
112
+ text: string;
113
+ url?: string | null | undefined;
114
+ };
115
+ }[];
116
+ text?: string | null | undefined;
117
+ }, {
118
+ elements: {
119
+ title: string;
120
+ subtitle: string;
121
+ image: string;
122
+ button: {
123
+ text: string;
124
+ url?: string | null | undefined;
125
+ };
126
+ }[];
127
+ text?: string | null | undefined;
128
+ }>;
129
+ }, "strip", z.ZodTypeAny, {
130
+ type: "carousel";
131
+ content: {
132
+ elements: {
133
+ title: string;
134
+ subtitle: string;
135
+ image: string;
136
+ button: {
137
+ text: string;
138
+ url?: string | null | undefined;
139
+ };
140
+ }[];
141
+ text?: string | null | undefined;
142
+ };
143
+ }, {
144
+ type: "carousel";
145
+ content: {
146
+ elements: {
147
+ title: string;
148
+ subtitle: string;
149
+ image: string;
150
+ button: {
151
+ text: string;
152
+ url?: string | null | undefined;
153
+ };
154
+ }[];
155
+ text?: string | null | undefined;
156
+ };
157
+ }>, z.ZodObject<{
158
+ type: z.ZodEnum<["exit"]>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ type: "exit";
161
+ }, {
162
+ type: "exit";
163
+ }>]>, "many">;
164
+ }, "strip", z.ZodTypeAny, {
165
+ messages: ({
166
+ type: "carousel";
167
+ content: {
168
+ elements: {
169
+ title: string;
170
+ subtitle: string;
171
+ image: string;
172
+ button: {
173
+ text: string;
174
+ url?: string | null | undefined;
175
+ };
176
+ }[];
177
+ text?: string | null | undefined;
178
+ };
179
+ } | {
180
+ type: "exit";
181
+ } | {
182
+ type: "text";
183
+ content: {
184
+ text: string;
185
+ };
186
+ } | {
187
+ type: "textWithButtons";
188
+ content: {
189
+ text: string;
190
+ buttons: {
191
+ text: string;
192
+ url?: string | undefined;
193
+ }[];
194
+ };
195
+ })[];
196
+ }, {
197
+ messages: ({
198
+ type: "carousel";
199
+ content: {
200
+ elements: {
201
+ title: string;
202
+ subtitle: string;
203
+ image: string;
204
+ button: {
205
+ text: string;
206
+ url?: string | null | undefined;
207
+ };
208
+ }[];
209
+ text?: string | null | undefined;
210
+ };
211
+ } | {
212
+ type: "exit";
213
+ } | {
214
+ type: "text";
215
+ content: {
216
+ text: string;
217
+ };
218
+ } | {
219
+ type: "textWithButtons";
220
+ content: {
221
+ text: string;
222
+ buttons: {
223
+ text: string;
224
+ url?: string | undefined;
225
+ }[];
226
+ };
227
+ })[];
228
+ }>;
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { CarouselSchema } from './carousel';
3
+ import { ExitSchema } from './exit';
4
+ import { TextSchema } from './text';
5
+ import { TextWithButtonsSchema } from './text-with-buttons';
6
+ export const OutputSchema = z
7
+ .object({
8
+ messages: z.array(z.union([TextSchema, TextWithButtonsSchema, CarouselSchema, ExitSchema])),
9
+ })
10
+ .describe('The messages to be sent to the user');
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/structured-output/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAM3D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CACzE;CACF,CAAC;KACD,QAAQ,CAAC,qCAAqC,CAAC,CAAA"}
@@ -1,49 +1,49 @@
1
- import type { BotExecutorMessage } from '@botonic/core';
1
+ import { TextWithButtonsMessage } from '@botonic/shared';
2
2
  import z from 'zod';
3
- export type { BotExecutorMessage };
4
- export declare const BotExecutorSchema: z.ZodObject<{
5
- type: z.ZodEnum<["botExecutor"]>;
3
+ export type { TextWithButtonsMessage };
4
+ export declare const TextWithButtonsSchema: z.ZodObject<{
5
+ type: z.ZodEnum<["textWithButtons"]>;
6
6
  content: z.ZodObject<{
7
7
  text: z.ZodString;
8
8
  buttons: z.ZodArray<z.ZodObject<{
9
9
  text: z.ZodString;
10
- payload: z.ZodString;
10
+ url: z.ZodOptional<z.ZodString>;
11
11
  }, "strip", z.ZodTypeAny, {
12
12
  text: string;
13
- payload: string;
13
+ url?: string | undefined;
14
14
  }, {
15
15
  text: string;
16
- payload: string;
16
+ url?: string | undefined;
17
17
  }>, "many">;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  text: string;
20
20
  buttons: {
21
21
  text: string;
22
- payload: string;
22
+ url?: string | undefined;
23
23
  }[];
24
24
  }, {
25
25
  text: string;
26
26
  buttons: {
27
27
  text: string;
28
- payload: string;
28
+ url?: string | undefined;
29
29
  }[];
30
30
  }>;
31
31
  }, "strip", z.ZodTypeAny, {
32
- type: "botExecutor";
32
+ type: "textWithButtons";
33
33
  content: {
34
34
  text: string;
35
35
  buttons: {
36
36
  text: string;
37
- payload: string;
37
+ url?: string | undefined;
38
38
  }[];
39
39
  };
40
40
  }, {
41
- type: "botExecutor";
41
+ type: "textWithButtons";
42
42
  content: {
43
43
  text: string;
44
44
  buttons: {
45
45
  text: string;
46
- payload: string;
46
+ url?: string | undefined;
47
47
  }[];
48
48
  };
49
49
  }>;
@@ -0,0 +1,14 @@
1
+ import z from 'zod';
2
+ export const TextWithButtonsSchema = z
3
+ .object({
4
+ type: z.enum(['textWithButtons']),
5
+ content: z.object({
6
+ text: z.string(),
7
+ buttons: z.array(z.object({
8
+ text: z.string(),
9
+ url: z.string().optional(),
10
+ })),
11
+ }),
12
+ })
13
+ .describe('A text message with buttons to allow the user to use quick replies');
14
+ //# sourceMappingURL=text-with-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-with-buttons.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/structured-output/text-with-buttons.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAA;AAInB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC,CACH;KACF,CAAC;CACH,CAAC;KACD,QAAQ,CACP,oEAAoE,CACrE,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { TextMessage } from '@botonic/core';
1
+ import { TextMessage } from '@botonic/shared';
2
2
  import { z } from 'zod';
3
3
  export type { TextMessage };
4
4
  export declare const TextSchema: z.ZodObject<{
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ export const TextSchema = z
3
+ .object({
4
+ type: z.enum(['text']),
5
+ content: z.object({
6
+ text: z.string(),
7
+ }),
8
+ })
9
+ .describe('A text message');
10
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/structured-output/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;CACH,CAAC;KACD,QAAQ,CAAC,gBAAgB,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- import type { Tool } from '../types';
1
+ import { Tool } from '../types';
2
2
  export { retrieveKnowledge } from './retrieve-knowledge';
3
3
  export declare const mandatoryTools: Tool[];
@@ -0,0 +1,3 @@
1
+ export { retrieveKnowledge } from './retrieve-knowledge';
2
+ export const mandatoryTools = [];
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,MAAM,CAAC,MAAM,cAAc,GAAW,EAAE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import type { Context } from '../types';
3
- export declare const retrieveKnowledge: import("@openai/agents").FunctionTool<Context<import("@botonic/core").ResolvedPlugins, any>, z.ZodObject<{
2
+ import { AiAgentContext } from '../types';
3
+ export declare const retrieveKnowledge: import("@openai/agents").FunctionTool<AiAgentContext<import("dist/libs/botonic/shared/src").ResolvedPlugins, import("dist/libs/botonic/shared/src").UserExtraData>, z.ZodObject<{
4
4
  query: z.ZodString;
5
5
  }, "strip", z.ZodTypeAny, {
6
6
  query: string;
@@ -0,0 +1,30 @@
1
+ import { __awaiter } from "tslib";
2
+ import { tool } from '@openai/agents';
3
+ import { z } from 'zod';
4
+ import { HubtypeApiClient } from '../hubtype-api-client';
5
+ export const retrieveKnowledge = tool({
6
+ name: 'retrieve_knowledge',
7
+ description: 'Consult the knowledge base for information before answering. Use this tool to make sure the information you provide is faithful.',
8
+ parameters: z.object({
9
+ query: z.string().describe('The query to search the knowledge base for'),
10
+ }),
11
+ execute: (input, runContext) => __awaiter(void 0, void 0, void 0, function* () {
12
+ const context = runContext === null || runContext === void 0 ? void 0 : runContext.context;
13
+ const query = input.query;
14
+ if (!context) {
15
+ throw new Error('Context is required');
16
+ }
17
+ const sourceIds = context.sourceIds;
18
+ const client = new HubtypeApiClient(context.authToken);
19
+ const chunks = yield client.retrieveSimilarChunks(query, sourceIds);
20
+ const chunkTexts = chunks.map(chunk => chunk.text);
21
+ context.knowledgeUsed = {
22
+ query,
23
+ sourceIds,
24
+ chunksIds: chunks.map(chunk => chunk.id),
25
+ chunkTexts,
26
+ };
27
+ return chunkTexts;
28
+ }),
29
+ });
30
+ //# sourceMappingURL=retrieve-knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-knowledge.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/tools/retrieve-knowledge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,kIAAkI;IACpI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACzE,CAAC;IACF,OAAO,EAAE,CACP,KAAwB,EACxB,UAAuC,EACpB,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAElD,OAAO,CAAC,aAAa,GAAG;YACtB,KAAK;YACL,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,UAAU;SACX,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;CACF,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
- import { AgenticOutputMessage, AiAgentArgs, type BotContext, GuardrailRule, InferenceResponse, type ResolvedPlugins, RunResult } from '@botonic/core';
1
+ import type { AgenticOutputMessage, AiAgentArgs, BotContext, GuardrailRule, InferenceResponse, ResolvedPlugins, RunResult, UserExtraData } from '@botonic/shared';
2
2
  import type { Agent, AgentInputItem, AgentOutputType, RunContext as OpenAIRunContext, Tool as OpenAITool } from '@openai/agents';
3
3
  import type { ZodSchema } from 'zod';
4
4
  import type { OutputSchema } from './structured-output';
5
- export interface Context<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
5
+ export interface AiAgentContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
6
6
  authToken: string;
7
7
  sourceIds: string[];
8
8
  knowledgeUsed: {
@@ -11,10 +11,10 @@ export interface Context<TPlugins extends ResolvedPlugins = ResolvedPlugins, TEx
11
11
  chunksIds: string[];
12
12
  chunkTexts: string[];
13
13
  };
14
- request: BotContext<TPlugins, TExtraData>;
14
+ botonicContext: BotContext<TPlugins, TExtraData>;
15
15
  }
16
- export type RunContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = OpenAIRunContext<Context<TPlugins, TExtraData>>;
17
- export interface CustomTool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
16
+ export type RunContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = OpenAIRunContext<AiAgentContext<TPlugins, TExtraData>>;
17
+ export interface CustomTool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
18
18
  name: string;
19
19
  description: string;
20
20
  schema: ZodSchema;
@@ -24,8 +24,9 @@ export interface Chunk {
24
24
  id: string;
25
25
  text: string;
26
26
  }
27
- export type Tool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = OpenAITool<Context<TPlugins, TExtraData>>;
28
- export type AIAgent<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = Agent<Context<TPlugins, TExtraData>, AgentOutputType<typeof OutputSchema>>;
27
+ export type ContactInfo = Record<string, string>;
28
+ export type Tool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = OpenAITool<AiAgentContext<TPlugins, TExtraData>>;
29
+ export type AIAgent<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = Agent<AiAgentContext<TPlugins, TExtraData>, AgentOutputType<typeof OutputSchema>>;
29
30
  export type MessageHistoryApiVersion = 'v1' | 'v2';
30
31
  export interface MemoryOptions {
31
32
  maxMessages?: number;
@@ -33,24 +34,13 @@ export interface MemoryOptions {
33
34
  maxFullToolResults?: number;
34
35
  debugMode?: boolean;
35
36
  }
36
- export interface PluginAiAgentOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
37
- authToken?: string;
37
+ export interface PluginAiAgentOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
38
38
  customTools?: CustomTool<TPlugins, TExtraData>[];
39
- maxRetries?: number;
40
39
  timeout?: number;
41
- /** API version for message history endpoint. Defaults to 'v2'. */
40
+ maxRetries?: number;
42
41
  messageHistoryApiVersion?: MessageHistoryApiVersion;
43
- /** Options for V2 message history API. Only used when messageHistoryApiVersion is 'v2'. */
44
42
  memory?: MemoryOptions;
45
- /** Enable debug logging for AI agent configuration and execution details. */
46
43
  enableDebug?: boolean;
47
44
  }
48
- export interface ResultRawResponse {
49
- usage: {
50
- inputTokens: number;
51
- outputTokens: number;
52
- };
53
- providerData?: Record<string, unknown>;
54
- }
55
45
  export type AgenticInputMessage = AgentInputItem;
56
- export { AgenticOutputMessage, AiAgentArgs, GuardrailRule, InferenceResponse, RunResult, };
46
+ export type { AgenticOutputMessage, AiAgentArgs, GuardrailRule, InferenceResponse, RunResult, };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-ai-agents/src/lib/types.ts"],"names":[],"mappings":""}
package/README.md DELETED
@@ -1,156 +0,0 @@
1
- # Botonic Plugin AI Agents
2
-
3
- ## env variables
4
-
5
- - It is necessary to add the following variables to an `.env` file:
6
- - `AZURE_OPENAI_API_KEY`
7
- - `AZURE_OPENAI_API_BASE`
8
- - `AZURE_OPENAI_API_DEPLOYMENT_NAME`
9
- - `AZURE_OPENAI_API_VERSION`
10
- - Add these env variables to build using rspack, for target NODE and DEV.
11
-
12
- ```ts
13
- ...
14
- import { config } from 'dotenv'
15
- config()
16
- ...
17
- const plugins = [
18
- new rspack.EnvironmentPlugin({
19
- NODE_ENV: process.env.NODE_ENV,
20
- HUBTYPE_API_URL: process.env.HUBTYPE_API_URL || HUBTYPE_DEFAULTS.API_URL,
21
- BOTONIC_TARGET: BotonicTarget.NODE,
22
- WEBCHAT_PUSHER_KEY:
23
- process.env.WEBCHAT_PUSHER_KEY || HUBTYPE_DEFAULTS.WEBCHAT_PUSHER_KEY,
24
- ENVIRONMENT: process.env.ENVIRONMENT,
25
- AZURE_OPENAI_API_KEY: isNodeOrDev
26
- ? process.env.AZURE_OPENAI_API_KEY
27
- : undefined,
28
- AZURE_OPENAI_API_DEPLOYMENT_NAME: isNodeOrDev
29
- ? process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME
30
- : undefined,
31
- AZURE_OPENAI_API_VERSION: isNodeOrDev
32
- ? process.env.AZURE_OPENAI_API_VERSION
33
- : undefined,
34
- AZURE_OPENAI_API_BASE: isNodeOrDev
35
- ? process.env.AZURE_OPENAI_API_BASE
36
- : undefined,
37
- }),
38
- new rspack.ProgressPlugin(),
39
- ]
40
- ```
41
-
42
- ## Custom Tools
43
-
44
- - It is possible to add tools from the bot code. To do this:
45
- - Add the `zod` dependency.
46
- - Create and export the definition of the tools in a file, for example: `src/server/tools.ts`.
47
-
48
- ```ts
49
- import { CustomTool } from '@botonic/plugin-ai-agents'
50
- import axios from 'axios'
51
- import z from 'zod'
52
-
53
- export const customTools: CustomTool[] = [
54
- {
55
- name: 'get_current_weather',
56
- description: 'Get current weather for a city',
57
- schema: z.object({
58
- cityName: z.string(),
59
- }),
60
- func: async (input: { cityName: string }) => {
61
- const baseURL = 'http://api.weatherapi.com/v1'
62
- const response = await axios.get(`${baseURL}/forecast.json`, {
63
- params: {
64
- key: 'WEATHER_API_TOKEN',
65
- q: input.cityName,
66
- },
67
- })
68
- const data = response.data
69
- console.log('get_current_weather', { data })
70
- return data
71
- },
72
- },
73
- ...
74
- ]
75
- ```
76
-
77
- - Add these tools to:
78
- - Update the `BotonicPluginFlowBuilderOptions`, as we did with the knowledge base, and add the `customTools`.
79
-
80
- src/server/config.ts
81
-
82
- ```ts
83
- import { PluginAiAgentOptions } from '@botonic/plugin-ai-agents'
84
- import { customTools } from './tools'
85
-
86
- ...
87
- function getFlowBuilderConfig(
88
- env: ENVIRONMENT
89
- ): BotonicPluginFlowBuilderOptions<BotPlugins, UserData> {
90
- return {
91
- ...
92
- getAiAgentResponse: async (
93
- request: BotRequest,
94
- aiAgentArgs: {
95
- name: string
96
- instructions: string
97
- }
98
- ) => {
99
- const aiAgentPlugin = request.plugins.aiAgents
100
- return await aiAgentPlugin.getInference(request, aiAgentArgs)
101
- },
102
- ...
103
- }
104
-
105
- function getAiAgentsConfig(): PluginAiAgentOptions {
106
- return {
107
- authToken: 'AUTH_TOKEN', // Used locally
108
- customTools: customTools,
109
- }
110
- }
111
- ...
112
-
113
- interface Config {
114
- // Use any for infer type for TPlugins and TExtraData
115
- // to avoid type errors with circular dependencies
116
- flowBuilder: BotonicPluginFlowBuilderOptions<any, any>
117
- aiAgents: PluginAiAgentOptions
118
- knowledgeBases: PluginKnowledgeBaseOptions
119
- }
120
-
121
- export const CONFIG: Record<ENVIRONMENT, Config> = {
122
- [ENVIRONMENT.LOCAL]: {
123
- flowBuilder: getFlowBuilderConfig(ENVIRONMENT.LOCAL),
124
- aiAgents: getAiAgentsConfig(),
125
- knowledgeBases: getKnowledgeBasesConfig(),
126
- },
127
- ...
128
- }
129
- ```
130
-
131
- ## Share customTools with flow builder frontend
132
-
133
- - Create new `src/bot-config.ts` file and add customTools. This file is used so that every time a bot is deployed, the Flow Builder frontend can know which tools are in the deployed bot and enable or disable tools for each AI Agent node.
134
-
135
- src/bot-config.ts
136
-
137
- ```ts
138
- import { BotConfigJSON } from '@botonic/core'
139
-
140
- import { customTools } from './server/tools'
141
-
142
- const aiAgentTools =
143
- customTools?.map(customTool => ({
144
- name: customTool.name,
145
- description: customTool.description,
146
- })) || []
147
-
148
- /**
149
- * This is the configuration is shared with flow-builder-frontend.
150
- */
151
- export const botConfig: BotConfigJSON = {
152
- tools: aiAgentTools,
153
- payloads: [],
154
- webviews: [],
155
- }
156
- ```
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../../src/agent-builder.ts"],"names":[],"mappings":";;;AACA,2CAIuB;AAGvB,2CAA6C;AAE7C,6CAAmD;AAGnD,2DAAwE;AACxE,mCAA2D;AAoB3D,MAAa,cAAc;IAYzB,YAAY,OAAoD;QAC9D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC3C,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,CACzB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,IAAA,iCAAoB,EACzC,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,wBAAwB,CACjC,CAAA;YACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,KAAK;QACH,+DAA+D;QAC/D,4CAA4C;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAA;QACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAiB,CAAC,CAAA;QAEnE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC3B,QAAQ,EAAE,2BAAe;YACzB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAE3B;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAEtB;YACb,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAgC;YACzE,oBAAoB;SACrB,CAAC,CAAA;QAEF,OAAO,IAAI,cAAK,CAGd;YACA,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAA,mCAAe,EAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,EAAE;SACrB,CAAC,CAAA;IACJ,CAAC;IAEO,oBAAoB,CAC1B,mBAA2B,EAC3B,WAA0B,EAC1B,gBAA+B;QAE/B,MAAM,YAAY,GAAG,mBAAmB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAA;QACrF,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC3D,MAAM,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;QAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACvD,OAAO,GAAG,YAAY,OAAO,oBAAoB,OAAO,uBAAuB,OAAO,oBAAoB,OAAO,kBAAkB,EAAE,CAAA;IACvI,CAAC;IAEO,0BAA0B,CAAC,WAA0B;QAC3D,MAAM,qBAAqB,GAAG,WAAW;aACtC,GAAG,CACF,IAAI,CAAC,EAAE,CACL;sBACY,IAAI,CAAC,IAAI;uBACR,IAAI,CAAC,KAAK;sBACX,IAAI,CAAC,IAAI;gBAEf,IAAI,CAAC,WAAW;YACd,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,gBAAgB;YAClD,CAAC,CAAC,EACN;4BACc,CACrB;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,OAAO,0BAA0B,qBAAqB,wBAAwB,CAAA;IAChF,CAAC;IAEO,uBAAuB;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAC5D,OAAO,eAAe,QAAQ,eAAe,CAAA;IAC/C,CAAC;IAEO,uBAAuB,CAAC,gBAA+B;QAC7D,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAClD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CACnC,CAAA;QACD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,oBAAoB;aACxB,GAAG,CACF,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,qBAAqB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,wBAAwB,KAAK,GAAG,CAAC,GAAG,CACjG;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAEO,qBAAqB;QAC3B,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,kCAAkC;qBACzC;iBACF;aACF;SACF,CAAA;QACD,MAAM,MAAM,GAAG,yIAAyI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAA;QAC7L,OAAO,aAAa,MAAM,aAAa,CAAA;IACzC,CAAC;IAEO,eAAe,CACrB,KAAmC,EACnC,SAAmB;QAEnB,MAAM,YAAY,GAAW,CAAC,GAAG,sBAAc,CAAC,CAAA;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;CACF;AApJD,wCAoJC"}
@@ -1,7 +0,0 @@
1
- import type { ToolConfigJSON } from '@botonic/core';
2
- import type { CustomTool } from './types';
3
- /**
4
- * Maps custom AI agent tools to the format expected by bot config (e.g. for flow-builder).
5
- * Converts each tool's Zod schema to JSON Schema so it can be serialized in the config.
6
- */
7
- export declare function getToolsForBotConfig(customTools: CustomTool[]): ToolConfigJSON[];