@botonic/plugin-ai-agents 0.46.0 → 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 (181) 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 -10
  7. package/{lib/cjs → src/lib}/agent-builder.js +31 -25
  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/cjs → 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/{lib/cjs → src/lib}/structured-output/index.d.ts +10 -73
  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 → src/lib}/structured-output/text-with-buttons.d.ts +8 -8
  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.js +0 -133
  72. package/lib/cjs/index.js.map +0 -1
  73. package/lib/cjs/llm-config.d.ts +0 -15
  74. package/lib/cjs/llm-config.js +0 -66
  75. package/lib/cjs/llm-config.js.map +0 -1
  76. package/lib/cjs/runner.d.ts +0 -18
  77. package/lib/cjs/runner.js +0 -181
  78. package/lib/cjs/runner.js.map +0 -1
  79. package/lib/cjs/services/hubtype-api-client.js +0 -206
  80. package/lib/cjs/services/hubtype-api-client.js.map +0 -1
  81. package/lib/cjs/services/types.d.ts +0 -85
  82. package/lib/cjs/services/types.js +0 -13
  83. package/lib/cjs/services/types.js.map +0 -1
  84. package/lib/cjs/structured-output/bot-executor.d.ts +0 -49
  85. package/lib/cjs/structured-output/bot-executor.js +0 -18
  86. package/lib/cjs/structured-output/bot-executor.js.map +0 -1
  87. package/lib/cjs/structured-output/carousel.d.ts +0 -90
  88. package/lib/cjs/structured-output/carousel.js +0 -22
  89. package/lib/cjs/structured-output/carousel.js.map +0 -1
  90. package/lib/cjs/structured-output/exit.js +0 -11
  91. package/lib/cjs/structured-output/exit.js.map +0 -1
  92. package/lib/cjs/structured-output/index.js +0 -21
  93. package/lib/cjs/structured-output/index.js.map +0 -1
  94. package/lib/cjs/structured-output/text-with-buttons.d.ts +0 -49
  95. package/lib/cjs/structured-output/text-with-buttons.js +0 -18
  96. package/lib/cjs/structured-output/text-with-buttons.js.map +0 -1
  97. package/lib/cjs/structured-output/text.d.ts +0 -23
  98. package/lib/cjs/structured-output/text.js +0 -13
  99. package/lib/cjs/structured-output/text.js.map +0 -1
  100. package/lib/cjs/tools/index.d.ts +0 -3
  101. package/lib/cjs/tools/index.js +0 -7
  102. package/lib/cjs/tools/index.js.map +0 -1
  103. package/lib/cjs/tools/retrieve-knowledge.js +0 -32
  104. package/lib/cjs/tools/retrieve-knowledge.js.map +0 -1
  105. package/lib/cjs/types.d.ts +0 -56
  106. package/lib/cjs/types.js +0 -3
  107. package/lib/cjs/types.js.map +0 -1
  108. package/lib/esm/agent-builder.d.ts +0 -34
  109. package/lib/esm/agent-builder.js +0 -105
  110. package/lib/esm/agent-builder.js.map +0 -1
  111. package/lib/esm/bot-config-tools.d.ts +0 -7
  112. package/lib/esm/bot-config-tools.js +0 -19
  113. package/lib/esm/bot-config-tools.js.map +0 -1
  114. package/lib/esm/constants.d.ts +0 -11
  115. package/lib/esm/constants.js +0 -17
  116. package/lib/esm/constants.js.map +0 -1
  117. package/lib/esm/debug-logger.js.map +0 -1
  118. package/lib/esm/guardrails/index.d.ts +0 -1
  119. package/lib/esm/guardrails/index.js +0 -5
  120. package/lib/esm/guardrails/index.js.map +0 -1
  121. package/lib/esm/guardrails/input.d.ts +0 -10
  122. package/lib/esm/guardrails/input.js +0 -77
  123. package/lib/esm/guardrails/input.js.map +0 -1
  124. package/lib/esm/index.d.ts +0 -18
  125. package/lib/esm/index.js +0 -133
  126. package/lib/esm/index.js.map +0 -1
  127. package/lib/esm/llm-config.d.ts +0 -15
  128. package/lib/esm/llm-config.js +0 -66
  129. package/lib/esm/llm-config.js.map +0 -1
  130. package/lib/esm/runner.d.ts +0 -18
  131. package/lib/esm/runner.js +0 -181
  132. package/lib/esm/runner.js.map +0 -1
  133. package/lib/esm/services/hubtype-api-client.d.ts +0 -14
  134. package/lib/esm/services/hubtype-api-client.js +0 -206
  135. package/lib/esm/services/hubtype-api-client.js.map +0 -1
  136. package/lib/esm/services/types.d.ts +0 -85
  137. package/lib/esm/services/types.js +0 -13
  138. package/lib/esm/services/types.js.map +0 -1
  139. package/lib/esm/structured-output/bot-executor.d.ts +0 -49
  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 -291
  148. package/lib/esm/structured-output/index.js +0 -21
  149. package/lib/esm/structured-output/index.js.map +0 -1
  150. package/lib/esm/structured-output/text-with-buttons.js +0 -18
  151. package/lib/esm/structured-output/text-with-buttons.js.map +0 -1
  152. package/lib/esm/structured-output/text.js +0 -13
  153. package/lib/esm/structured-output/text.js.map +0 -1
  154. package/lib/esm/tools/index.js +0 -7
  155. package/lib/esm/tools/index.js.map +0 -1
  156. package/lib/esm/tools/retrieve-knowledge.d.ts +0 -9
  157. package/lib/esm/tools/retrieve-knowledge.js +0 -32
  158. package/lib/esm/tools/retrieve-knowledge.js.map +0 -1
  159. package/lib/esm/types.js +0 -3
  160. package/lib/esm/types.js.map +0 -1
  161. package/src/agent-builder.ts +0 -179
  162. package/src/bot-config-tools.ts +0 -21
  163. package/src/constants.ts +0 -21
  164. package/src/debug-logger.ts +0 -166
  165. package/src/guardrails/index.ts +0 -1
  166. package/src/guardrails/input.ts +0 -122
  167. package/src/index.ts +0 -209
  168. package/src/llm-config.ts +0 -96
  169. package/src/runner.ts +0 -287
  170. package/src/services/hubtype-api-client.ts +0 -240
  171. package/src/services/types.ts +0 -106
  172. package/src/structured-output/bot-executor.ts +0 -21
  173. package/src/structured-output/carousel.ts +0 -24
  174. package/src/structured-output/exit.ts +0 -12
  175. package/src/structured-output/index.ts +0 -25
  176. package/src/structured-output/text-with-buttons.ts +0 -21
  177. package/src/structured-output/text.ts +0 -13
  178. package/src/tools/index.ts +0 -5
  179. package/src/tools/retrieve-knowledge.ts +0 -37
  180. package/src/types.ts +0 -110
  181. /package/{lib/cjs → src/lib}/guardrails/index.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { OutputMessage } from '@botonic/core';
1
+ import { OutputMessage } from '@botonic/shared';
2
2
  import { z } from 'zod';
3
3
  export interface Output {
4
4
  messages: OutputMessage[];
@@ -29,25 +29,25 @@ export declare const OutputSchema: z.ZodObject<{
29
29
  text: z.ZodString;
30
30
  buttons: z.ZodArray<z.ZodObject<{
31
31
  text: z.ZodString;
32
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ url: z.ZodOptional<z.ZodString>;
33
33
  }, "strip", z.ZodTypeAny, {
34
34
  text: string;
35
- url?: string | null | undefined;
35
+ url?: string | undefined;
36
36
  }, {
37
37
  text: string;
38
- url?: string | null | undefined;
38
+ url?: string | undefined;
39
39
  }>, "many">;
40
40
  }, "strip", z.ZodTypeAny, {
41
41
  text: string;
42
42
  buttons: {
43
43
  text: string;
44
- url?: string | null | undefined;
44
+ url?: string | undefined;
45
45
  }[];
46
46
  }, {
47
47
  text: string;
48
48
  buttons: {
49
49
  text: string;
50
- url?: string | null | undefined;
50
+ url?: string | undefined;
51
51
  }[];
52
52
  }>;
53
53
  }, "strip", z.ZodTypeAny, {
@@ -56,7 +56,7 @@ export declare const OutputSchema: z.ZodObject<{
56
56
  text: string;
57
57
  buttons: {
58
58
  text: string;
59
- url?: string | null | undefined;
59
+ url?: string | undefined;
60
60
  }[];
61
61
  };
62
62
  }, {
@@ -65,7 +65,7 @@ export declare const OutputSchema: z.ZodObject<{
65
65
  text: string;
66
66
  buttons: {
67
67
  text: string;
68
- url?: string | null | undefined;
68
+ url?: string | undefined;
69
69
  }[];
70
70
  };
71
71
  }>, z.ZodObject<{
@@ -160,63 +160,9 @@ export declare const OutputSchema: z.ZodObject<{
160
160
  type: "exit";
161
161
  }, {
162
162
  type: "exit";
163
- }>, z.ZodObject<{
164
- type: z.ZodEnum<["botExecutor"]>;
165
- content: z.ZodObject<{
166
- text: z.ZodString;
167
- buttons: z.ZodArray<z.ZodObject<{
168
- text: z.ZodString;
169
- payload: z.ZodString;
170
- }, "strip", z.ZodTypeAny, {
171
- text: string;
172
- payload: string;
173
- }, {
174
- text: string;
175
- payload: string;
176
- }>, "many">;
177
- }, "strip", z.ZodTypeAny, {
178
- text: string;
179
- buttons: {
180
- text: string;
181
- payload: string;
182
- }[];
183
- }, {
184
- text: string;
185
- buttons: {
186
- text: string;
187
- payload: string;
188
- }[];
189
- }>;
190
- }, "strip", z.ZodTypeAny, {
191
- type: "botExecutor";
192
- content: {
193
- text: string;
194
- buttons: {
195
- text: string;
196
- payload: string;
197
- }[];
198
- };
199
- }, {
200
- type: "botExecutor";
201
- content: {
202
- text: string;
203
- buttons: {
204
- text: string;
205
- payload: string;
206
- }[];
207
- };
208
163
  }>]>, "many">;
209
164
  }, "strip", z.ZodTypeAny, {
210
165
  messages: ({
211
- type: "botExecutor";
212
- content: {
213
- text: string;
214
- buttons: {
215
- text: string;
216
- payload: string;
217
- }[];
218
- };
219
- } | {
220
166
  type: "carousel";
221
167
  content: {
222
168
  elements: {
@@ -243,21 +189,12 @@ export declare const OutputSchema: z.ZodObject<{
243
189
  text: string;
244
190
  buttons: {
245
191
  text: string;
246
- url?: string | null | undefined;
192
+ url?: string | undefined;
247
193
  }[];
248
194
  };
249
195
  })[];
250
196
  }, {
251
197
  messages: ({
252
- type: "botExecutor";
253
- content: {
254
- text: string;
255
- buttons: {
256
- text: string;
257
- payload: string;
258
- }[];
259
- };
260
- } | {
261
198
  type: "carousel";
262
199
  content: {
263
200
  elements: {
@@ -284,7 +221,7 @@ export declare const OutputSchema: z.ZodObject<{
284
221
  text: string;
285
222
  buttons: {
286
223
  text: string;
287
- url?: string | null | undefined;
224
+ url?: string | undefined;
288
225
  }[];
289
226
  };
290
227
  })[];
@@ -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,4 +1,4 @@
1
- import type { TextWithButtonsMessage } from '@botonic/core';
1
+ import { TextWithButtonsMessage } from '@botonic/shared';
2
2
  import z from 'zod';
3
3
  export type { TextWithButtonsMessage };
4
4
  export declare const TextWithButtonsSchema: z.ZodObject<{
@@ -7,25 +7,25 @@ export declare const TextWithButtonsSchema: z.ZodObject<{
7
7
  text: z.ZodString;
8
8
  buttons: z.ZodArray<z.ZodObject<{
9
9
  text: z.ZodString;
10
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
+ url: z.ZodOptional<z.ZodString>;
11
11
  }, "strip", z.ZodTypeAny, {
12
12
  text: string;
13
- url?: string | null | undefined;
13
+ url?: string | undefined;
14
14
  }, {
15
15
  text: string;
16
- url?: string | null | undefined;
16
+ url?: string | undefined;
17
17
  }>, "many">;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  text: string;
20
20
  buttons: {
21
21
  text: string;
22
- url?: string | null | undefined;
22
+ url?: string | undefined;
23
23
  }[];
24
24
  }, {
25
25
  text: string;
26
26
  buttons: {
27
27
  text: string;
28
- url?: string | null | undefined;
28
+ url?: string | undefined;
29
29
  }[];
30
30
  }>;
31
31
  }, "strip", z.ZodTypeAny, {
@@ -34,7 +34,7 @@ export declare const TextWithButtonsSchema: z.ZodObject<{
34
34
  text: string;
35
35
  buttons: {
36
36
  text: string;
37
- url?: string | null | undefined;
37
+ url?: string | undefined;
38
38
  }[];
39
39
  };
40
40
  }, {
@@ -43,7 +43,7 @@ export declare const TextWithButtonsSchema: z.ZodObject<{
43
43
  text: string;
44
44
  buttons: {
45
45
  text: string;
46
- url?: string | null | undefined;
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":"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"}
@@ -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[];
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getToolsForBotConfig = getToolsForBotConfig;
4
- const zod_to_json_schema_1 = require("zod-to-json-schema");
5
- /**
6
- * Maps custom AI agent tools to the format expected by bot config (e.g. for flow-builder).
7
- * Converts each tool's Zod schema to JSON Schema so it can be serialized in the config.
8
- */
9
- function getToolsForBotConfig(customTools) {
10
- return customTools.map(tool => ({
11
- name: tool.name,
12
- description: tool.description,
13
- // Cast to avoid TS "Type instantiation is excessively deep" with zodToJsonSchema + ZodSchema
14
- schema: (0, zod_to_json_schema_1.zodToJsonSchema)(tool.schema, {
15
- $refStrategy: 'none',
16
- }),
17
- }));
18
- }
19
- //# sourceMappingURL=bot-config-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-config-tools.js","sourceRoot":"","sources":["../../src/bot-config-tools.ts"],"names":[],"mappings":";;AASA,oDAWC;AAnBD,2DAAoD;AAIpD;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,WAAyB;IAEzB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,6FAA6F;QAC7F,MAAM,EAAE,IAAA,oCAAe,EAAC,IAAI,CAAC,MAAe,EAAE;YAC5C,YAAY,EAAE,MAAM;SACrB,CAA6B;KAC/B,CAAC,CAAC,CAAA;AACL,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT_16_SECONDS = exports.MAX_MEMORY_LENGTH = exports.isProd = exports.AZURE_OPENAI_API_VERSION = exports.AZURE_OPENAI_API_BASE = exports.AZURE_OPENAI_API_KEY = exports.OPENAI_PROVIDER = exports.OPENAI_MODEL = exports.OPENAI_API_KEY = exports.HUBTYPE_API_URL = void 0;
4
- exports.HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
5
- // OpenAI Provider Configuration
6
- exports.OPENAI_API_KEY = process.env.OPENAI_API_KEY; // pragma: allowlist secret
7
- exports.OPENAI_MODEL = process.env.OPENAI_MODEL || 'gpt-4.1-mini';
8
- exports.OPENAI_PROVIDER = process.env.OPENAI_PROVIDER || 'azure';
9
- // Azure OpenAI Configuration
10
- exports.AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
11
- exports.AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
12
- exports.AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION || '2025-01-01-preview';
13
- exports.isProd = process.env.NODE_ENV === 'production';
14
- exports.MAX_MEMORY_LENGTH = 25;
15
- exports.DEFAULT_TIMEOUT_16_SECONDS = 16000;
16
- exports.DEFAULT_MAX_RETRIES = 2;
17
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,gCAAgC;AACnB,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAC,2BAA2B;AACvE,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAA;AACzD,QAAA,eAAe,GACzB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,OAAO,CAAA;AAEhE,6BAA6B;AAChB,QAAA,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AACnF,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACzD,QAAA,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB,CAAA;AAEjD,QAAA,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAE9C,QAAA,iBAAiB,GAAG,EAAE,CAAA;AAEtB,QAAA,0BAA0B,GAAG,KAAK,CAAA;AAClC,QAAA,mBAAmB,GAAG,CAAC,CAAA"}
@@ -1,33 +0,0 @@
1
- import type { AiAgentArgs, ToolExecution } from '@botonic/core';
2
- import type { ModelSettings } from '@openai/agents';
3
- import type { AgenticInputMessage, MemoryOptions, RunResult } from './types';
4
- export interface DebugLoggerConfig {
5
- messageHistoryApiVersion: string;
6
- maxRetries: number;
7
- timeout: number;
8
- customToolNames: string[];
9
- memory: MemoryOptions;
10
- }
11
- export interface ModelSettingsInfo {
12
- provider: string;
13
- model: string | undefined;
14
- reasoning?: {
15
- effort: string;
16
- };
17
- text?: {
18
- verbosity: string;
19
- };
20
- toolChoice?: string;
21
- hasRetrieveKnowledge: boolean;
22
- }
23
- export interface DebugLogger {
24
- logInitialConfig(config: DebugLoggerConfig): void;
25
- logAgentDebugInfo(aiAgentArgs: AiAgentArgs, toolNames: string[], messages: AgenticInputMessage[]): void;
26
- logModelSettings(settings: ModelSettingsInfo): void;
27
- logRunnerStart(model: string, modelSettings: ModelSettings): void;
28
- logRunResult(runResult: RunResult, startTime: number): void;
29
- logGuardrailTriggered(): void;
30
- logRunnerError(startTime: number, error: unknown): void;
31
- logToolExecution(toolExecution: ToolExecution): void;
32
- }
33
- export declare function createDebugLogger(enableDebug: boolean): DebugLogger;