@botonic/plugin-ai-agents 0.57.0-rslib-esm.1 → 0.57.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 (224) hide show
  1. package/lib/{agents → cjs/agents}/base-agent.d.ts +4 -4
  2. package/lib/cjs/agents/base-agent.js +39 -0
  3. package/lib/cjs/agents/base-agent.js.map +1 -0
  4. package/lib/cjs/agents/index.d.ts +2 -0
  5. package/lib/cjs/agents/index.js +8 -0
  6. package/lib/cjs/agents/index.js.map +1 -0
  7. package/lib/{agents → cjs/agents}/router-agent.d.ts +5 -5
  8. package/lib/cjs/agents/router-agent.js +33 -0
  9. package/lib/cjs/agents/router-agent.js.map +1 -0
  10. package/lib/{agents → cjs/agents}/specialist-agent.d.ts +5 -5
  11. package/lib/{agents → cjs/agents}/specialist-agent.js +45 -65
  12. package/lib/cjs/agents/specialist-agent.js.map +1 -0
  13. package/lib/{bot-config-tools.d.ts → cjs/bot-config-tools.d.ts} +1 -1
  14. package/lib/cjs/bot-config-tools.js +18 -0
  15. package/lib/cjs/bot-config-tools.js.map +1 -0
  16. package/lib/cjs/constants.js +25 -0
  17. package/lib/cjs/constants.js.map +1 -0
  18. package/lib/{debug-logger.d.ts → cjs/debug-logger.d.ts} +1 -1
  19. package/lib/{debug-logger.js → cjs/debug-logger.js} +9 -14
  20. package/lib/cjs/debug-logger.js.map +1 -0
  21. package/lib/cjs/guardrails/index.d.ts +1 -0
  22. package/lib/cjs/guardrails/index.js +5 -0
  23. package/lib/cjs/guardrails/index.js.map +1 -0
  24. package/lib/{guardrails → cjs/guardrails}/input.d.ts +2 -2
  25. package/lib/cjs/guardrails/input.js +96 -0
  26. package/lib/cjs/guardrails/input.js.map +1 -0
  27. package/lib/{index.d.ts → cjs/index.d.ts} +3 -3
  28. package/lib/{index.js → cjs/index.js} +75 -114
  29. package/lib/cjs/index.js.map +1 -0
  30. package/lib/{llm-config.d.ts → cjs/llm-config.d.ts} +1 -1
  31. package/lib/cjs/llm-config.js +121 -0
  32. package/lib/cjs/llm-config.js.map +1 -0
  33. package/lib/{runners → cjs/runners}/base-runner.d.ts +4 -4
  34. package/lib/{runners → cjs/runners}/base-runner.js +74 -81
  35. package/lib/cjs/runners/base-runner.js.map +1 -0
  36. package/lib/cjs/runners/index.d.ts +2 -0
  37. package/lib/cjs/runners/index.js +8 -0
  38. package/lib/cjs/runners/index.js.map +1 -0
  39. package/lib/{runners → cjs/runners}/router-runner.d.ts +2 -2
  40. package/lib/{runners → cjs/runners}/router-runner.js +14 -19
  41. package/lib/cjs/runners/router-runner.js.map +1 -0
  42. package/lib/{runners → cjs/runners}/specialist-runner.d.ts +1 -1
  43. package/lib/cjs/runners/specialist-runner.js +8 -0
  44. package/lib/cjs/runners/specialist-runner.js.map +1 -0
  45. package/lib/{services → cjs/services}/hubtype-api-client.d.ts +2 -2
  46. package/lib/cjs/services/hubtype-api-client.js +176 -0
  47. package/lib/cjs/services/hubtype-api-client.js.map +1 -0
  48. package/lib/{services → cjs/services}/types.d.ts +1 -1
  49. package/lib/cjs/services/types.js +13 -0
  50. package/lib/cjs/services/types.js.map +1 -0
  51. package/lib/cjs/structured-output/bot-executor.js +18 -0
  52. package/lib/cjs/structured-output/bot-executor.js.map +1 -0
  53. package/lib/cjs/structured-output/carousel.js +23 -0
  54. package/lib/cjs/structured-output/carousel.js.map +1 -0
  55. package/lib/cjs/structured-output/do-nothing.d.ts +6 -0
  56. package/lib/cjs/structured-output/do-nothing.js +11 -0
  57. package/lib/cjs/structured-output/do-nothing.js.map +1 -0
  58. package/lib/cjs/structured-output/exit.js +11 -0
  59. package/lib/cjs/structured-output/exit.js.map +1 -0
  60. package/lib/{structured-output → cjs/structured-output}/index.d.ts +14 -0
  61. package/lib/cjs/structured-output/index.js +47 -0
  62. package/lib/cjs/structured-output/index.js.map +1 -0
  63. package/lib/cjs/structured-output/request-contact-info.d.ts +9 -0
  64. package/lib/cjs/structured-output/request-contact-info.js +14 -0
  65. package/lib/cjs/structured-output/request-contact-info.js.map +1 -0
  66. package/lib/cjs/structured-output/text-with-buttons.js +24 -0
  67. package/lib/cjs/structured-output/text-with-buttons.js.map +1 -0
  68. package/lib/cjs/structured-output/text.js +14 -0
  69. package/lib/cjs/structured-output/text.js.map +1 -0
  70. package/lib/{tools → cjs/tools}/index.d.ts +2 -2
  71. package/lib/cjs/tools/index.js +8 -0
  72. package/lib/cjs/tools/index.js.map +1 -0
  73. package/lib/{tools → cjs/tools}/retrieve-knowledge.d.ts +2 -2
  74. package/lib/cjs/tools/retrieve-knowledge.js +34 -0
  75. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -0
  76. package/lib/{types.d.ts → cjs/types.d.ts} +1 -1
  77. package/lib/cjs/types.js +3 -0
  78. package/lib/cjs/types.js.map +1 -0
  79. package/lib/esm/agents/base-agent.d.ts +28 -0
  80. package/lib/esm/agents/base-agent.js +39 -0
  81. package/lib/esm/agents/base-agent.js.map +1 -0
  82. package/lib/esm/agents/index.d.ts +2 -0
  83. package/lib/esm/agents/index.js +8 -0
  84. package/lib/esm/agents/index.js.map +1 -0
  85. package/lib/esm/agents/router-agent.d.ts +25 -0
  86. package/lib/esm/agents/router-agent.js +33 -0
  87. package/lib/esm/agents/router-agent.js.map +1 -0
  88. package/lib/esm/agents/specialist-agent.d.ts +39 -0
  89. package/lib/esm/agents/specialist-agent.js +108 -0
  90. package/lib/esm/agents/specialist-agent.js.map +1 -0
  91. package/lib/esm/bot-config-tools.d.ts +7 -0
  92. package/lib/esm/bot-config-tools.js +18 -0
  93. package/lib/esm/bot-config-tools.js.map +1 -0
  94. package/lib/esm/constants.d.ts +21 -0
  95. package/lib/esm/constants.js +25 -0
  96. package/lib/esm/constants.js.map +1 -0
  97. package/lib/esm/debug-logger.d.ts +33 -0
  98. package/lib/esm/debug-logger.js +116 -0
  99. package/lib/esm/debug-logger.js.map +1 -0
  100. package/lib/esm/guardrails/index.d.ts +1 -0
  101. package/lib/esm/guardrails/index.js +5 -0
  102. package/lib/esm/guardrails/index.js.map +1 -0
  103. package/lib/esm/guardrails/input.d.ts +10 -0
  104. package/lib/esm/guardrails/input.js +96 -0
  105. package/lib/esm/guardrails/input.js.map +1 -0
  106. package/lib/esm/index.d.ts +22 -0
  107. package/lib/esm/index.js +220 -0
  108. package/lib/esm/index.js.map +1 -0
  109. package/lib/esm/llm-config.d.ts +30 -0
  110. package/lib/esm/llm-config.js +121 -0
  111. package/lib/esm/llm-config.js.map +1 -0
  112. package/lib/esm/runners/base-runner.d.ts +31 -0
  113. package/lib/esm/runners/base-runner.js +194 -0
  114. package/lib/esm/runners/base-runner.js.map +1 -0
  115. package/lib/esm/runners/index.d.ts +2 -0
  116. package/lib/esm/runners/index.js +8 -0
  117. package/lib/esm/runners/index.js.map +1 -0
  118. package/lib/esm/runners/router-runner.d.ts +8 -0
  119. package/lib/esm/runners/router-runner.js +44 -0
  120. package/lib/esm/runners/router-runner.js.map +1 -0
  121. package/lib/esm/runners/specialist-runner.d.ts +4 -0
  122. package/lib/esm/runners/specialist-runner.js +8 -0
  123. package/lib/esm/runners/specialist-runner.js.map +1 -0
  124. package/lib/esm/services/hubtype-api-client.d.ts +13 -0
  125. package/lib/esm/services/hubtype-api-client.js +176 -0
  126. package/lib/esm/services/hubtype-api-client.js.map +1 -0
  127. package/lib/esm/services/types.d.ts +72 -0
  128. package/lib/esm/services/types.js +13 -0
  129. package/lib/esm/services/types.js.map +1 -0
  130. package/lib/esm/structured-output/bot-executor.d.ts +13 -0
  131. package/lib/esm/structured-output/bot-executor.js +18 -0
  132. package/lib/esm/structured-output/bot-executor.js.map +1 -0
  133. package/lib/esm/structured-output/carousel.d.ts +18 -0
  134. package/lib/esm/structured-output/carousel.js +23 -0
  135. package/lib/esm/structured-output/carousel.js.map +1 -0
  136. package/lib/esm/structured-output/do-nothing.d.ts +6 -0
  137. package/lib/esm/structured-output/do-nothing.js +11 -0
  138. package/lib/esm/structured-output/do-nothing.js.map +1 -0
  139. package/lib/esm/structured-output/exit.d.ts +6 -0
  140. package/lib/esm/structured-output/exit.js +11 -0
  141. package/lib/esm/structured-output/exit.js.map +1 -0
  142. package/lib/esm/structured-output/index.d.ts +112 -0
  143. package/lib/esm/structured-output/index.js +47 -0
  144. package/lib/esm/structured-output/index.js.map +1 -0
  145. package/lib/esm/structured-output/request-contact-info.d.ts +9 -0
  146. package/lib/esm/structured-output/request-contact-info.js +14 -0
  147. package/lib/esm/structured-output/request-contact-info.js.map +1 -0
  148. package/lib/esm/structured-output/text-with-buttons.d.ts +17 -0
  149. package/lib/esm/structured-output/text-with-buttons.js +24 -0
  150. package/lib/esm/structured-output/text-with-buttons.js.map +1 -0
  151. package/lib/esm/structured-output/text.d.ts +9 -0
  152. package/lib/esm/structured-output/text.js +14 -0
  153. package/lib/esm/structured-output/text.js.map +1 -0
  154. package/lib/esm/tools/index.d.ts +3 -0
  155. package/lib/esm/tools/index.js +8 -0
  156. package/lib/esm/tools/index.js.map +1 -0
  157. package/lib/esm/tools/retrieve-knowledge.d.ts +6 -0
  158. package/lib/esm/tools/retrieve-knowledge.js +34 -0
  159. package/lib/esm/tools/retrieve-knowledge.js.map +1 -0
  160. package/lib/esm/types.d.ts +53 -0
  161. package/lib/esm/types.js +3 -0
  162. package/lib/esm/types.js.map +1 -0
  163. package/package.json +9 -11
  164. package/src/index.ts +1 -0
  165. package/src/runners/base-runner.ts +20 -10
  166. package/src/structured-output/do-nothing.ts +12 -0
  167. package/src/structured-output/index.ts +4 -0
  168. package/src/structured-output/request-contact-info.ts +18 -0
  169. package/lib/agents/base-agent.js +0 -66
  170. package/lib/agents/base-agent.js.map +0 -1
  171. package/lib/agents/index.d.ts +0 -2
  172. package/lib/agents/index.js +0 -9
  173. package/lib/agents/index.js.map +0 -1
  174. package/lib/agents/router-agent.js +0 -50
  175. package/lib/agents/router-agent.js.map +0 -1
  176. package/lib/agents/specialist-agent.js.map +0 -1
  177. package/lib/bot-config-tools.js +0 -20
  178. package/lib/bot-config-tools.js.map +0 -1
  179. package/lib/constants.js +0 -26
  180. package/lib/constants.js.map +0 -1
  181. package/lib/debug-logger.js.map +0 -1
  182. package/lib/guardrails/index.d.ts +0 -1
  183. package/lib/guardrails/index.js +0 -6
  184. package/lib/guardrails/index.js.map +0 -1
  185. package/lib/guardrails/input.js +0 -119
  186. package/lib/guardrails/input.js.map +0 -1
  187. package/lib/index.js.map +0 -1
  188. package/lib/llm-config.js +0 -150
  189. package/lib/llm-config.js.map +0 -1
  190. package/lib/runners/base-runner.js.map +0 -1
  191. package/lib/runners/index.d.ts +0 -2
  192. package/lib/runners/index.js +0 -9
  193. package/lib/runners/index.js.map +0 -1
  194. package/lib/runners/router-runner.js.map +0 -1
  195. package/lib/runners/specialist-runner.js +0 -10
  196. package/lib/runners/specialist-runner.js.map +0 -1
  197. package/lib/services/hubtype-api-client.js +0 -191
  198. package/lib/services/hubtype-api-client.js.map +0 -1
  199. package/lib/services/types.js +0 -13
  200. package/lib/services/types.js.map +0 -1
  201. package/lib/structured-output/bot-executor.js +0 -21
  202. package/lib/structured-output/bot-executor.js.map +0 -1
  203. package/lib/structured-output/carousel.js +0 -26
  204. package/lib/structured-output/carousel.js.map +0 -1
  205. package/lib/structured-output/exit.js +0 -14
  206. package/lib/structured-output/exit.js.map +0 -1
  207. package/lib/structured-output/index.js +0 -55
  208. package/lib/structured-output/index.js.map +0 -1
  209. package/lib/structured-output/text-with-buttons.js +0 -25
  210. package/lib/structured-output/text-with-buttons.js.map +0 -1
  211. package/lib/structured-output/text.js +0 -17
  212. package/lib/structured-output/text.js.map +0 -1
  213. package/lib/tools/index.js +0 -8
  214. package/lib/tools/index.js.map +0 -1
  215. package/lib/tools/retrieve-knowledge.js +0 -40
  216. package/lib/tools/retrieve-knowledge.js.map +0 -1
  217. package/lib/types.js +0 -5
  218. package/lib/types.js.map +0 -1
  219. /package/lib/{constants.d.ts → cjs/constants.d.ts} +0 -0
  220. /package/lib/{structured-output → cjs/structured-output}/bot-executor.d.ts +0 -0
  221. /package/lib/{structured-output → cjs/structured-output}/carousel.d.ts +0 -0
  222. /package/lib/{structured-output → cjs/structured-output}/exit.d.ts +0 -0
  223. /package/lib/{structured-output → cjs/structured-output}/text-with-buttons.d.ts +0 -0
  224. /package/lib/{structured-output → cjs/structured-output}/text.d.ts +0 -0
@@ -1,71 +1,61 @@
1
- import { AiAgentType } from "@botonic/core";
2
- import { handoff, setTracingDisabled, tool as agents_tool } from "@openai/agents";
3
- import { v7 } from "uuid";
4
- import { RouterAgent, SpecialistAgent } from "./agents/index.js";
5
- import { DEFAULT_MAX_RETRIES, DEFAULT_TIMEOUT_16_SECONDS, MAX_MEMORY_LENGTH, isProd } from "./constants.js";
6
- import { createDebugLogger } from "./debug-logger.js";
7
- import { LLMConfig } from "./llm-config.js";
8
- import { RouterRunner, SpecialistRunner } from "./runners/index.js";
9
- import { HubtypeApiClient } from "./services/hubtype-api-client.js";
10
-
11
- export * from "./bot-config-tools.js";
12
- export * from "./types.js";
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
- function _define_property(obj, key, value) {
23
- if (key in obj) {
24
- Object.defineProperty(obj, key, {
25
- value: value,
26
- enumerable: true,
27
- configurable: true,
28
- writable: true
29
- });
30
- } else obj[key] = value;
31
- return obj;
32
- }
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const core_1 = require("@botonic/core");
5
+ const agents_1 = require("@openai/agents");
6
+ const uuid_1 = require("uuid");
7
+ const agents_2 = require("./agents");
8
+ const constants_1 = require("./constants");
9
+ const debug_logger_1 = require("./debug-logger");
10
+ const llm_config_1 = require("./llm-config");
11
+ const runners_1 = require("./runners");
12
+ const hubtype_api_client_1 = require("./services/hubtype-api-client");
42
13
  class BotonicPluginAiAgents {
14
+ constructor(options) {
15
+ this.toolDefinitions = [];
16
+ this.authToken = options?.authToken;
17
+ this.toolDefinitions = options?.customTools || [];
18
+ this.memory = this.getMemoryOptions(options?.memory);
19
+ this.timeout = options?.timeout ?? constants_1.DEFAULT_TIMEOUT_16_SECONDS;
20
+ this.maxRetries = options?.maxRetries ?? constants_1.DEFAULT_MAX_RETRIES;
21
+ this.logger = (0, debug_logger_1.createDebugLogger)(options?.enableDebug ?? false);
22
+ this.localStorageKey = options?.localStorageKey ?? 'botonicState';
23
+ (0, agents_1.setTracingDisabled)(true);
24
+ this.logger.logInitialConfig({
25
+ messageHistoryApiVersion: 'v2',
26
+ maxRetries: options?.maxRetries ?? constants_1.DEFAULT_MAX_RETRIES,
27
+ timeout: options?.timeout ?? constants_1.DEFAULT_TIMEOUT_16_SECONDS,
28
+ customToolNames: this.toolDefinitions.map(t => t.name),
29
+ memory: this.memory,
30
+ });
31
+ }
43
32
  getMemoryOptions(memory) {
44
33
  return {
45
- maxMessages: memory?.maxMessages ?? MAX_MEMORY_LENGTH,
34
+ maxMessages: memory?.maxMessages ?? constants_1.MAX_MEMORY_LENGTH,
46
35
  includeToolCalls: memory?.includeToolCalls ?? true,
47
36
  maxFullToolResults: memory?.maxFullToolResults ?? 1,
48
- debugMode: memory?.debugMode ?? false
37
+ debugMode: memory?.debugMode ?? false,
49
38
  };
50
39
  }
51
40
  pre() {
52
41
  return;
53
42
  }
54
43
  async getInference(botContext, aiAgentArgs) {
55
- const authToken = isProd ? botContext.session._access_token : this.authToken;
44
+ const authToken = constants_1.isProd ? botContext.session._access_token : this.authToken;
56
45
  if (!authToken) {
57
46
  throw new Error('Auth token is required');
58
47
  }
59
- const inferenceId = v7();
48
+ const inferenceId = (0, uuid_1.v7)();
60
49
  try {
61
- if (aiAgentArgs.type === AiAgentType.Specialist) {
50
+ if (aiAgentArgs.type === core_1.AiAgentType.Specialist) {
62
51
  return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
63
52
  }
64
- if (aiAgentArgs.type === AiAgentType.Router) {
53
+ if (aiAgentArgs.type === core_1.AiAgentType.Router) {
65
54
  return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
66
55
  }
67
56
  throw new Error('Invalid agent type');
68
- } catch (error) {
57
+ }
58
+ catch (error) {
69
59
  console.error('error plugin returns undefined', error);
70
60
  return {
71
61
  messages: [],
@@ -73,23 +63,24 @@ class BotonicPluginAiAgents {
73
63
  memoryLength: 0,
74
64
  exit: true,
75
65
  error: true,
66
+ doNothing: false,
76
67
  inputGuardrailsTriggered: [],
77
68
  outputGuardrailsTriggered: [],
78
69
  startingAgentName: '',
79
70
  lastAgentName: '',
80
71
  availableSpecialists: [],
81
- isTransferredToSpecialist: false
72
+ isTransferredToSpecialist: false,
82
73
  };
83
74
  }
84
75
  }
85
76
  async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
86
- const llmConfig = new LLMConfig({
77
+ const llmConfig = new llm_config_1.LLMConfig({
87
78
  maxRetries: this.maxRetries,
88
79
  timeout: this.timeout,
89
80
  modelName: aiAgentArgs.model,
90
81
  verbosity: aiAgentArgs.verbosity,
91
82
  botContext,
92
- reasoningEffort: aiAgentArgs.reasoningEffort
83
+ reasoningEffort: aiAgentArgs.reasoningEffort,
93
84
  });
94
85
  // Get LLM config, tools and agent
95
86
  const { tools, agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
@@ -102,27 +93,27 @@ class BotonicPluginAiAgents {
102
93
  query: '',
103
94
  sourceIds: [],
104
95
  chunksIds: [],
105
- chunkTexts: []
96
+ chunkTexts: [],
106
97
  },
107
- request: botContext
98
+ request: botContext,
108
99
  };
109
100
  // Log agent debug info
110
- this.logger.logAgentDebugInfo(aiAgentArgs, tools.map((t)=>t.name), messages);
101
+ this.logger.logAgentDebugInfo(aiAgentArgs, tools.map(t => t.name), messages);
111
102
  // Run agent
112
- const runner = new SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
103
+ const runner = new runners_1.SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
113
104
  return await runner.run(messages, context);
114
105
  }
115
106
  async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
116
107
  const { specialists, name, instructions } = aiAgentArgs;
117
- const llmConfig = new LLMConfig({
108
+ const llmConfig = new llm_config_1.LLMConfig({
118
109
  maxRetries: this.maxRetries,
119
110
  timeout: this.timeout,
120
111
  modelName: aiAgentArgs.model,
121
112
  verbosity: aiAgentArgs.verbosity,
122
113
  botContext,
123
- reasoningEffort: aiAgentArgs.reasoningEffort
114
+ reasoningEffort: aiAgentArgs.reasoningEffort,
124
115
  });
125
- const specialistsAgents = await Promise.all(specialists.map(async (specialistData)=>{
116
+ const specialistsAgents = await Promise.all(specialists.map(async (specialistData) => {
126
117
  // If the forceToolNameOverride is set, we force this override for all specialists
127
118
  const forceToolNameOverride = aiAgentArgs.forceToolNameOverride;
128
119
  const reasoningEffort = aiAgentArgs.reasoningEffort;
@@ -132,15 +123,15 @@ class BotonicPluginAiAgents {
132
123
  ...specialistData,
133
124
  forceToolNameOverride,
134
125
  reasoningEffort,
135
- disableForceRetrieveKnowledge
126
+ disableForceRetrieveKnowledge,
136
127
  };
137
128
  const { agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentSpecialistArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
138
- return handoff(agent, {
129
+ return (0, agents_1.handoff)(agent, {
139
130
  toolNameOverride: specialistData.name,
140
- toolDescriptionOverride: specialistData.description
131
+ toolDescriptionOverride: specialistData.description,
141
132
  });
142
133
  }));
143
- const router = await RouterAgent.create({
134
+ const router = await agents_2.RouterAgent.create({
144
135
  name,
145
136
  instructions,
146
137
  llmConfig,
@@ -151,8 +142,8 @@ class BotonicPluginAiAgents {
151
142
  botId: botContext.session.bot.id,
152
143
  isTest: botContext.session.is_test_integration,
153
144
  authToken,
154
- inferenceId
155
- }
145
+ inferenceId,
146
+ },
156
147
  });
157
148
  // Get messages
158
149
  const messages = await this.getMessages(botContext, authToken, aiAgentArgs.previousHubtypeMessages || []);
@@ -163,21 +154,21 @@ class BotonicPluginAiAgents {
163
154
  query: '',
164
155
  sourceIds: [],
165
156
  chunksIds: [],
166
- chunkTexts: []
157
+ chunkTexts: [],
167
158
  },
168
- request: botContext
159
+ request: botContext,
169
160
  };
170
161
  // Run agent
171
162
  const routerAgent = router.getAgent();
172
- const runner = new RouterRunner(routerAgent, llmConfig, inferenceId, this.logger);
163
+ const runner = new runners_1.RouterRunner(routerAgent, llmConfig, inferenceId, this.logger);
173
164
  return await runner.run(messages, context);
174
165
  }
175
166
  async getSpecialistAgentAndTools(botContext, aiAgentArgs, outputMessagesSchemas, authToken, inferenceId, llmConfig) {
176
167
  // Build tools
177
168
  const tools = this.buildTools(aiAgentArgs);
178
169
  // Build agent
179
- const sourceIds = aiAgentArgs.type === AiAgentType.Specialist ? aiAgentArgs.sourceIds : [];
180
- const specialist = await SpecialistAgent.create({
170
+ const sourceIds = aiAgentArgs.type === core_1.AiAgentType.Specialist ? aiAgentArgs.sourceIds : [];
171
+ const specialist = await agents_2.SpecialistAgent.create({
181
172
  name: aiAgentArgs.name,
182
173
  instructions: aiAgentArgs.instructions,
183
174
  tools: tools,
@@ -192,68 +183,38 @@ class BotonicPluginAiAgents {
192
183
  botId: botContext.session.bot.id,
193
184
  isTest: botContext.session.is_test_integration,
194
185
  authToken,
195
- inferenceId
186
+ inferenceId,
196
187
  },
197
188
  forceToolNameOverride: aiAgentArgs.forceToolNameOverride,
198
- disableForceRetrieveKnowledge: aiAgentArgs.disableForceRetrieveKnowledge
189
+ disableForceRetrieveKnowledge: aiAgentArgs.disableForceRetrieveKnowledge,
199
190
  });
200
191
  const specialistAgent = specialist.getAgent();
201
- return {
202
- agent: specialistAgent,
203
- tools
204
- };
192
+ return { agent: specialistAgent, tools };
205
193
  }
206
194
  async getMessages(botContext, authToken, previousHubtypeMessages) {
207
- const hubtypeClient = new HubtypeApiClient(authToken);
208
- if (!isProd) {
209
- return await hubtypeClient.getLocalMessages(MAX_MEMORY_LENGTH, previousHubtypeMessages, this.localStorageKey);
195
+ const hubtypeClient = new hubtype_api_client_1.HubtypeApiClient(authToken);
196
+ if (!constants_1.isProd) {
197
+ return await hubtypeClient.getLocalMessages(constants_1.MAX_MEMORY_LENGTH, previousHubtypeMessages, this.localStorageKey);
210
198
  }
211
199
  // Default to V2
212
200
  const result = await hubtypeClient.getMessagesV2(botContext, this.memory, previousHubtypeMessages);
213
201
  return result.messages;
214
202
  }
215
203
  buildTools(aiAgentArgs) {
216
- const activeTools = aiAgentArgs.type === AiAgentType.Router ? [] : aiAgentArgs.activeTools;
217
- const activeToolNames = activeTools.map((tool)=>tool.name);
218
- const availableTools = this.toolDefinitions.filter((tool)=>activeToolNames.includes(tool.name));
219
- return availableTools.map((toolDefinition)=>{
220
- return agents_tool({
204
+ const activeTools = aiAgentArgs.type === core_1.AiAgentType.Router ? [] : aiAgentArgs.activeTools;
205
+ const activeToolNames = activeTools.map(tool => tool.name);
206
+ const availableTools = this.toolDefinitions.filter(tool => activeToolNames.includes(tool.name));
207
+ return availableTools.map(toolDefinition => {
208
+ return (0, agents_1.tool)({
221
209
  name: toolDefinition.name,
222
210
  description: toolDefinition.description,
223
211
  parameters: toolDefinition.schema,
224
- execute: toolDefinition.func
212
+ execute: toolDefinition.func,
225
213
  });
226
214
  });
227
215
  }
228
- constructor(options){
229
- _define_property(this, "authToken", void 0);
230
- _define_property(this, "memory", void 0);
231
- _define_property(this, "logger", void 0);
232
- _define_property(this, "timeout", void 0);
233
- _define_property(this, "maxRetries", void 0);
234
- _define_property(this, "toolDefinitions", []);
235
- _define_property(this, "localStorageKey", void 0);
236
- this.authToken = options?.authToken;
237
- this.toolDefinitions = options?.customTools || [];
238
- this.memory = this.getMemoryOptions(options?.memory);
239
- this.timeout = options?.timeout ?? DEFAULT_TIMEOUT_16_SECONDS;
240
- this.maxRetries = options?.maxRetries ?? DEFAULT_MAX_RETRIES;
241
- this.logger = createDebugLogger(options?.enableDebug ?? false);
242
- this.localStorageKey = options?.localStorageKey ?? 'botonicState';
243
- setTracingDisabled(true);
244
- this.logger.logInitialConfig({
245
- messageHistoryApiVersion: 'v2',
246
- maxRetries: options?.maxRetries ?? DEFAULT_MAX_RETRIES,
247
- timeout: options?.timeout ?? DEFAULT_TIMEOUT_16_SECONDS,
248
- customToolNames: this.toolDefinitions.map((t)=>t.name),
249
- memory: this.memory
250
- });
251
- }
252
216
  }
253
-
254
-
255
-
256
-
257
- export default BotonicPluginAiAgents;
258
-
217
+ exports.default = BotonicPluginAiAgents;
218
+ tslib_1.__exportStar(require("./bot-config-tools"), exports);
219
+ tslib_1.__exportStar(require("./types"), exports);
259
220
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type BotContext, type ReasoningEffort, VerbosityLevel } from '@botonic/core';
2
2
  import { type Model, type ModelProvider, type ModelSettings } from '@openai/agents';
3
- import { type LLMProviderType } from './constants.js';
3
+ import { type LLMProviderType } from './constants';
4
4
  export interface LLMConfigParams {
5
5
  maxRetries: number;
6
6
  timeout: number;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMConfig = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@botonic/core");
6
+ const agents_1 = require("@openai/agents");
7
+ const openai_1 = tslib_1.__importStar(require("openai"));
8
+ const constants_1 = require("./constants");
9
+ class LLMConfig {
10
+ constructor({ maxRetries, timeout, modelName, verbosity, botContext, reasoningEffort, }) {
11
+ this.maxRetries = maxRetries;
12
+ this.timeout = timeout;
13
+ this.botContext = botContext;
14
+ this.modelName =
15
+ constants_1.LLM_PROVIDER === constants_1.LLM_PROVIDERS.OPENAI ? constants_1.LLM_OPENAI_MODEL : modelName;
16
+ this.modelProvider = this.getModelProvider();
17
+ this.modelSettings = this.getModelSettings(modelName, verbosity, reasoningEffort);
18
+ }
19
+ async getModel() {
20
+ return await this.modelProvider.getModel(this.modelName);
21
+ }
22
+ getModelProvider() {
23
+ const client = this.getClient();
24
+ return new agents_1.OpenAIProvider({
25
+ openAIClient: client,
26
+ useResponses: false,
27
+ });
28
+ }
29
+ getProviderName() {
30
+ if (this.botContext.settings.LITELLM_API_URL ||
31
+ constants_1.LLM_PROVIDER === constants_1.LLM_PROVIDERS.LITELLM) {
32
+ return constants_1.LLM_PROVIDERS.LITELLM;
33
+ }
34
+ return constants_1.LLM_PROVIDER;
35
+ }
36
+ getClient() {
37
+ if (this.getProviderName() === constants_1.LLM_PROVIDERS.LITELLM) {
38
+ const litellmUrl = this.botContext.settings.LITELLM_API_URL || constants_1.LLM_API_URL || '';
39
+ return this.getLiteLLMClient(litellmUrl);
40
+ }
41
+ if (constants_1.LLM_PROVIDER === constants_1.LLM_PROVIDERS.OPENAI) {
42
+ return this.getOpenAIClient();
43
+ }
44
+ return this.getAzureOpenAiClient();
45
+ }
46
+ buildLiteLLMTags() {
47
+ const botId = this.botContext.session.bot.id;
48
+ const orgId = this.botContext.session.organization_id;
49
+ const parts = [];
50
+ if (botId) {
51
+ parts.push(`${constants_1.LITELLM_TAG_KEYS.BOT_ID}:${botId}`);
52
+ }
53
+ if (orgId) {
54
+ parts.push(`${constants_1.LITELLM_TAG_KEYS.ORG_ID}:${orgId}`);
55
+ }
56
+ return parts.length > 0
57
+ ? { 'x-litellm-tags': parts.join(constants_1.LITELLM_TAG_KEYS.SEPARATOR) }
58
+ : undefined;
59
+ }
60
+ getLiteLLMClient(litellmUrl) {
61
+ return new openai_1.default({
62
+ apiKey: this.botContext.secrets.LITELLM_API_KEY || constants_1.LLM_API_KEY,
63
+ baseURL: litellmUrl,
64
+ timeout: this.timeout,
65
+ maxRetries: this.maxRetries,
66
+ dangerouslyAllowBrowser: !constants_1.isProd,
67
+ defaultHeaders: this.buildLiteLLMTags(),
68
+ });
69
+ }
70
+ getOpenAIClient() {
71
+ return new openai_1.default({
72
+ apiKey: this.botContext.secrets.AZURE_OPENAI_API_KEY || constants_1.LLM_API_KEY,
73
+ timeout: this.timeout,
74
+ maxRetries: this.maxRetries,
75
+ dangerouslyAllowBrowser: !constants_1.isProd,
76
+ });
77
+ }
78
+ getAzureOpenAiClient() {
79
+ const baseURL = `${this.botContext.settings.AZURE_OPENAI_API_BASE || constants_1.LLM_API_URL}openai/`;
80
+ return new openai_1.AzureOpenAI({
81
+ apiKey: this.botContext.secrets.AZURE_OPENAI_API_KEY || constants_1.LLM_API_KEY,
82
+ apiVersion: this.botContext.settings.AZURE_OPENAI_API_VERSION ||
83
+ constants_1.LLM_AZURE_API_VERSION,
84
+ deployment: this.modelName,
85
+ baseURL,
86
+ timeout: this.timeout,
87
+ maxRetries: this.maxRetries,
88
+ dangerouslyAllowBrowser: !constants_1.isProd,
89
+ });
90
+ }
91
+ getModelSettings(model, verbosity, reasoningEffort) {
92
+ if (model.includes('gpt-4')) {
93
+ return {
94
+ temperature: 0,
95
+ text: { verbosity: core_1.VerbosityLevel.Medium },
96
+ };
97
+ }
98
+ if (reasoningEffort) {
99
+ return {
100
+ reasoning: { effort: reasoningEffort },
101
+ temperature: 1,
102
+ text: { verbosity },
103
+ };
104
+ }
105
+ return {
106
+ temperature: 1,
107
+ text: { verbosity },
108
+ };
109
+ }
110
+ getApiVersion() {
111
+ if (this.getProviderName() === constants_1.LLM_PROVIDERS.LITELLM) {
112
+ return undefined;
113
+ }
114
+ if (constants_1.LLM_PROVIDER !== constants_1.LLM_PROVIDERS.AZURE) {
115
+ return 'NOT_API_VERSION_FOR_OPENAI_PROVIDER';
116
+ }
117
+ return (this.botContext.settings.AZURE_OPENAI_API_VERSION || constants_1.LLM_AZURE_API_VERSION);
118
+ }
119
+ }
120
+ exports.LLMConfig = LLMConfig;
121
+ //# sourceMappingURL=llm-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { OutputMessage, ResolvedPlugins, ToolExecution } from '@botonic/core';
2
- import type { DebugLogger } from '../debug-logger.js';
3
- import type { LLMConfig } from '../llm-config.js';
4
- import type { AgenticInputMessage, AIAgent, Context, ResultRawResponse, RunResult } from '../types.js';
1
+ import { type OutputMessage, type ResolvedPlugins, type ToolExecution } from '@botonic/core';
2
+ import type { DebugLogger } from '../debug-logger';
3
+ import type { LLMConfig } from '../llm-config';
4
+ import type { AgenticInputMessage, AIAgent, Context, ResultRawResponse, RunResult } from '../types';
5
5
  export interface RunnerResult {
6
6
  finalOutput?: {
7
7
  messages?: OutputMessage[];