@botonic/plugin-ai-agents 0.58.0-alpha-new-stack.0 → 0.58.0-alpha.1

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 (223) 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} +74 -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 +3 -3
  34. package/lib/{runners → cjs/runners}/base-runner.js +72 -85
  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.js +11 -0
  56. package/lib/cjs/structured-output/do-nothing.js.map +1 -0
  57. package/lib/cjs/structured-output/exit.js +11 -0
  58. package/lib/cjs/structured-output/exit.js.map +1 -0
  59. package/lib/cjs/structured-output/index.js +47 -0
  60. package/lib/cjs/structured-output/index.js.map +1 -0
  61. package/lib/cjs/structured-output/request-contact-info.js +14 -0
  62. package/lib/cjs/structured-output/request-contact-info.js.map +1 -0
  63. package/lib/cjs/structured-output/text-with-buttons.js +24 -0
  64. package/lib/cjs/structured-output/text-with-buttons.js.map +1 -0
  65. package/lib/cjs/structured-output/text.js +14 -0
  66. package/lib/cjs/structured-output/text.js.map +1 -0
  67. package/lib/{tools → cjs/tools}/index.d.ts +2 -2
  68. package/lib/cjs/tools/index.js +8 -0
  69. package/lib/cjs/tools/index.js.map +1 -0
  70. package/lib/{tools → cjs/tools}/retrieve-knowledge.d.ts +2 -2
  71. package/lib/cjs/tools/retrieve-knowledge.js +34 -0
  72. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -0
  73. package/lib/{types.d.ts → cjs/types.d.ts} +1 -1
  74. package/lib/cjs/types.js +3 -0
  75. package/lib/cjs/types.js.map +1 -0
  76. package/lib/esm/agents/base-agent.d.ts +28 -0
  77. package/lib/esm/agents/base-agent.js +39 -0
  78. package/lib/esm/agents/base-agent.js.map +1 -0
  79. package/lib/esm/agents/index.d.ts +2 -0
  80. package/lib/esm/agents/index.js +8 -0
  81. package/lib/esm/agents/index.js.map +1 -0
  82. package/lib/esm/agents/router-agent.d.ts +25 -0
  83. package/lib/esm/agents/router-agent.js +33 -0
  84. package/lib/esm/agents/router-agent.js.map +1 -0
  85. package/lib/esm/agents/specialist-agent.d.ts +39 -0
  86. package/lib/esm/agents/specialist-agent.js +108 -0
  87. package/lib/esm/agents/specialist-agent.js.map +1 -0
  88. package/lib/esm/bot-config-tools.d.ts +7 -0
  89. package/lib/esm/bot-config-tools.js +18 -0
  90. package/lib/esm/bot-config-tools.js.map +1 -0
  91. package/lib/esm/constants.d.ts +21 -0
  92. package/lib/esm/constants.js +25 -0
  93. package/lib/esm/constants.js.map +1 -0
  94. package/lib/esm/debug-logger.d.ts +33 -0
  95. package/lib/esm/debug-logger.js +116 -0
  96. package/lib/esm/debug-logger.js.map +1 -0
  97. package/lib/esm/guardrails/index.d.ts +1 -0
  98. package/lib/esm/guardrails/index.js +5 -0
  99. package/lib/esm/guardrails/index.js.map +1 -0
  100. package/lib/esm/guardrails/input.d.ts +10 -0
  101. package/lib/esm/guardrails/input.js +96 -0
  102. package/lib/esm/guardrails/input.js.map +1 -0
  103. package/lib/esm/index.d.ts +22 -0
  104. package/lib/esm/index.js +220 -0
  105. package/lib/esm/index.js.map +1 -0
  106. package/lib/esm/llm-config.d.ts +30 -0
  107. package/lib/esm/llm-config.js +121 -0
  108. package/lib/esm/llm-config.js.map +1 -0
  109. package/lib/esm/runners/base-runner.d.ts +31 -0
  110. package/lib/esm/runners/base-runner.js +194 -0
  111. package/lib/esm/runners/base-runner.js.map +1 -0
  112. package/lib/esm/runners/index.d.ts +2 -0
  113. package/lib/esm/runners/index.js +8 -0
  114. package/lib/esm/runners/index.js.map +1 -0
  115. package/lib/esm/runners/router-runner.d.ts +8 -0
  116. package/lib/esm/runners/router-runner.js +44 -0
  117. package/lib/esm/runners/router-runner.js.map +1 -0
  118. package/lib/esm/runners/specialist-runner.d.ts +4 -0
  119. package/lib/esm/runners/specialist-runner.js +8 -0
  120. package/lib/esm/runners/specialist-runner.js.map +1 -0
  121. package/lib/esm/services/hubtype-api-client.d.ts +13 -0
  122. package/lib/esm/services/hubtype-api-client.js +176 -0
  123. package/lib/esm/services/hubtype-api-client.js.map +1 -0
  124. package/lib/esm/services/types.d.ts +72 -0
  125. package/lib/esm/services/types.js +13 -0
  126. package/lib/esm/services/types.js.map +1 -0
  127. package/lib/esm/structured-output/bot-executor.d.ts +13 -0
  128. package/lib/esm/structured-output/bot-executor.js +18 -0
  129. package/lib/esm/structured-output/bot-executor.js.map +1 -0
  130. package/lib/esm/structured-output/carousel.d.ts +18 -0
  131. package/lib/esm/structured-output/carousel.js +23 -0
  132. package/lib/esm/structured-output/carousel.js.map +1 -0
  133. package/lib/esm/structured-output/do-nothing.d.ts +6 -0
  134. package/lib/esm/structured-output/do-nothing.js +11 -0
  135. package/lib/esm/structured-output/do-nothing.js.map +1 -0
  136. package/lib/esm/structured-output/exit.d.ts +6 -0
  137. package/lib/esm/structured-output/exit.js +11 -0
  138. package/lib/esm/structured-output/exit.js.map +1 -0
  139. package/lib/esm/structured-output/index.d.ts +112 -0
  140. package/lib/esm/structured-output/index.js +47 -0
  141. package/lib/esm/structured-output/index.js.map +1 -0
  142. package/lib/esm/structured-output/request-contact-info.d.ts +9 -0
  143. package/lib/esm/structured-output/request-contact-info.js +14 -0
  144. package/lib/esm/structured-output/request-contact-info.js.map +1 -0
  145. package/lib/esm/structured-output/text-with-buttons.d.ts +17 -0
  146. package/lib/esm/structured-output/text-with-buttons.js +24 -0
  147. package/lib/esm/structured-output/text-with-buttons.js.map +1 -0
  148. package/lib/esm/structured-output/text.d.ts +9 -0
  149. package/lib/esm/structured-output/text.js +14 -0
  150. package/lib/esm/structured-output/text.js.map +1 -0
  151. package/lib/esm/tools/index.d.ts +3 -0
  152. package/lib/esm/tools/index.js +8 -0
  153. package/lib/esm/tools/index.js.map +1 -0
  154. package/lib/esm/tools/retrieve-knowledge.d.ts +6 -0
  155. package/lib/esm/tools/retrieve-knowledge.js +34 -0
  156. package/lib/esm/tools/retrieve-knowledge.js.map +1 -0
  157. package/lib/esm/types.d.ts +53 -0
  158. package/lib/esm/types.js +3 -0
  159. package/lib/esm/types.js.map +1 -0
  160. package/package.json +9 -11
  161. package/lib/agents/base-agent.js +0 -66
  162. package/lib/agents/base-agent.js.map +0 -1
  163. package/lib/agents/index.d.ts +0 -2
  164. package/lib/agents/index.js +0 -9
  165. package/lib/agents/index.js.map +0 -1
  166. package/lib/agents/router-agent.js +0 -50
  167. package/lib/agents/router-agent.js.map +0 -1
  168. package/lib/agents/specialist-agent.js.map +0 -1
  169. package/lib/bot-config-tools.js +0 -20
  170. package/lib/bot-config-tools.js.map +0 -1
  171. package/lib/constants.js +0 -26
  172. package/lib/constants.js.map +0 -1
  173. package/lib/debug-logger.js.map +0 -1
  174. package/lib/guardrails/index.d.ts +0 -1
  175. package/lib/guardrails/index.js +0 -6
  176. package/lib/guardrails/index.js.map +0 -1
  177. package/lib/guardrails/input.js +0 -119
  178. package/lib/guardrails/input.js.map +0 -1
  179. package/lib/index.js.map +0 -1
  180. package/lib/llm-config.js +0 -150
  181. package/lib/llm-config.js.map +0 -1
  182. package/lib/runners/base-runner.js.map +0 -1
  183. package/lib/runners/index.d.ts +0 -2
  184. package/lib/runners/index.js +0 -9
  185. package/lib/runners/index.js.map +0 -1
  186. package/lib/runners/router-runner.js.map +0 -1
  187. package/lib/runners/specialist-runner.js +0 -10
  188. package/lib/runners/specialist-runner.js.map +0 -1
  189. package/lib/services/hubtype-api-client.js +0 -191
  190. package/lib/services/hubtype-api-client.js.map +0 -1
  191. package/lib/services/types.js +0 -13
  192. package/lib/services/types.js.map +0 -1
  193. package/lib/structured-output/bot-executor.js +0 -21
  194. package/lib/structured-output/bot-executor.js.map +0 -1
  195. package/lib/structured-output/carousel.js +0 -26
  196. package/lib/structured-output/carousel.js.map +0 -1
  197. package/lib/structured-output/do-nothing.js +0 -14
  198. package/lib/structured-output/do-nothing.js.map +0 -1
  199. package/lib/structured-output/exit.js +0 -14
  200. package/lib/structured-output/exit.js.map +0 -1
  201. package/lib/structured-output/index.js +0 -63
  202. package/lib/structured-output/index.js.map +0 -1
  203. package/lib/structured-output/request-contact-info.js +0 -17
  204. package/lib/structured-output/request-contact-info.js.map +0 -1
  205. package/lib/structured-output/text-with-buttons.js +0 -25
  206. package/lib/structured-output/text-with-buttons.js.map +0 -1
  207. package/lib/structured-output/text.js +0 -17
  208. package/lib/structured-output/text.js.map +0 -1
  209. package/lib/tools/index.js +0 -8
  210. package/lib/tools/index.js.map +0 -1
  211. package/lib/tools/retrieve-knowledge.js +0 -40
  212. package/lib/tools/retrieve-knowledge.js.map +0 -1
  213. package/lib/types.js +0 -5
  214. package/lib/types.js.map +0 -1
  215. /package/lib/{constants.d.ts → cjs/constants.d.ts} +0 -0
  216. /package/lib/{structured-output → cjs/structured-output}/bot-executor.d.ts +0 -0
  217. /package/lib/{structured-output → cjs/structured-output}/carousel.d.ts +0 -0
  218. /package/lib/{structured-output → cjs/structured-output}/do-nothing.d.ts +0 -0
  219. /package/lib/{structured-output → cjs/structured-output}/exit.d.ts +0 -0
  220. /package/lib/{structured-output → cjs/structured-output}/index.d.ts +0 -0
  221. /package/lib/{structured-output → cjs/structured-output}/request-contact-info.d.ts +0 -0
  222. /package/lib/{structured-output → cjs/structured-output}/text-with-buttons.d.ts +0 -0
  223. /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: [],
@@ -79,18 +69,18 @@ class BotonicPluginAiAgents {
79
69
  startingAgentName: '',
80
70
  lastAgentName: '',
81
71
  availableSpecialists: [],
82
- isTransferredToSpecialist: false
72
+ isTransferredToSpecialist: false,
83
73
  };
84
74
  }
85
75
  }
86
76
  async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
87
- const llmConfig = new LLMConfig({
77
+ const llmConfig = new llm_config_1.LLMConfig({
88
78
  maxRetries: this.maxRetries,
89
79
  timeout: this.timeout,
90
80
  modelName: aiAgentArgs.model,
91
81
  verbosity: aiAgentArgs.verbosity,
92
82
  botContext,
93
- reasoningEffort: aiAgentArgs.reasoningEffort
83
+ reasoningEffort: aiAgentArgs.reasoningEffort,
94
84
  });
95
85
  // Get LLM config, tools and agent
96
86
  const { tools, agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
@@ -103,27 +93,27 @@ class BotonicPluginAiAgents {
103
93
  query: '',
104
94
  sourceIds: [],
105
95
  chunksIds: [],
106
- chunkTexts: []
96
+ chunkTexts: [],
107
97
  },
108
- request: botContext
98
+ request: botContext,
109
99
  };
110
100
  // Log agent debug info
111
- this.logger.logAgentDebugInfo(aiAgentArgs, tools.map((t)=>t.name), messages);
101
+ this.logger.logAgentDebugInfo(aiAgentArgs, tools.map(t => t.name), messages);
112
102
  // Run agent
113
- const runner = new SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
103
+ const runner = new runners_1.SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
114
104
  return await runner.run(messages, context);
115
105
  }
116
106
  async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
117
107
  const { specialists, name, instructions } = aiAgentArgs;
118
- const llmConfig = new LLMConfig({
108
+ const llmConfig = new llm_config_1.LLMConfig({
119
109
  maxRetries: this.maxRetries,
120
110
  timeout: this.timeout,
121
111
  modelName: aiAgentArgs.model,
122
112
  verbosity: aiAgentArgs.verbosity,
123
113
  botContext,
124
- reasoningEffort: aiAgentArgs.reasoningEffort
114
+ reasoningEffort: aiAgentArgs.reasoningEffort,
125
115
  });
126
- const specialistsAgents = await Promise.all(specialists.map(async (specialistData)=>{
116
+ const specialistsAgents = await Promise.all(specialists.map(async (specialistData) => {
127
117
  // If the forceToolNameOverride is set, we force this override for all specialists
128
118
  const forceToolNameOverride = aiAgentArgs.forceToolNameOverride;
129
119
  const reasoningEffort = aiAgentArgs.reasoningEffort;
@@ -133,15 +123,15 @@ class BotonicPluginAiAgents {
133
123
  ...specialistData,
134
124
  forceToolNameOverride,
135
125
  reasoningEffort,
136
- disableForceRetrieveKnowledge
126
+ disableForceRetrieveKnowledge,
137
127
  };
138
128
  const { agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentSpecialistArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
139
- return handoff(agent, {
129
+ return (0, agents_1.handoff)(agent, {
140
130
  toolNameOverride: specialistData.name,
141
- toolDescriptionOverride: specialistData.description
131
+ toolDescriptionOverride: specialistData.description,
142
132
  });
143
133
  }));
144
- const router = await RouterAgent.create({
134
+ const router = await agents_2.RouterAgent.create({
145
135
  name,
146
136
  instructions,
147
137
  llmConfig,
@@ -152,8 +142,8 @@ class BotonicPluginAiAgents {
152
142
  botId: botContext.session.bot.id,
153
143
  isTest: botContext.session.is_test_integration,
154
144
  authToken,
155
- inferenceId
156
- }
145
+ inferenceId,
146
+ },
157
147
  });
158
148
  // Get messages
159
149
  const messages = await this.getMessages(botContext, authToken, aiAgentArgs.previousHubtypeMessages || []);
@@ -164,21 +154,21 @@ class BotonicPluginAiAgents {
164
154
  query: '',
165
155
  sourceIds: [],
166
156
  chunksIds: [],
167
- chunkTexts: []
157
+ chunkTexts: [],
168
158
  },
169
- request: botContext
159
+ request: botContext,
170
160
  };
171
161
  // Run agent
172
162
  const routerAgent = router.getAgent();
173
- const runner = new RouterRunner(routerAgent, llmConfig, inferenceId, this.logger);
163
+ const runner = new runners_1.RouterRunner(routerAgent, llmConfig, inferenceId, this.logger);
174
164
  return await runner.run(messages, context);
175
165
  }
176
166
  async getSpecialistAgentAndTools(botContext, aiAgentArgs, outputMessagesSchemas, authToken, inferenceId, llmConfig) {
177
167
  // Build tools
178
168
  const tools = this.buildTools(aiAgentArgs);
179
169
  // Build agent
180
- const sourceIds = aiAgentArgs.type === AiAgentType.Specialist ? aiAgentArgs.sourceIds : [];
181
- const specialist = await SpecialistAgent.create({
170
+ const sourceIds = aiAgentArgs.type === core_1.AiAgentType.Specialist ? aiAgentArgs.sourceIds : [];
171
+ const specialist = await agents_2.SpecialistAgent.create({
182
172
  name: aiAgentArgs.name,
183
173
  instructions: aiAgentArgs.instructions,
184
174
  tools: tools,
@@ -193,68 +183,38 @@ class BotonicPluginAiAgents {
193
183
  botId: botContext.session.bot.id,
194
184
  isTest: botContext.session.is_test_integration,
195
185
  authToken,
196
- inferenceId
186
+ inferenceId,
197
187
  },
198
188
  forceToolNameOverride: aiAgentArgs.forceToolNameOverride,
199
- disableForceRetrieveKnowledge: aiAgentArgs.disableForceRetrieveKnowledge
189
+ disableForceRetrieveKnowledge: aiAgentArgs.disableForceRetrieveKnowledge,
200
190
  });
201
191
  const specialistAgent = specialist.getAgent();
202
- return {
203
- agent: specialistAgent,
204
- tools
205
- };
192
+ return { agent: specialistAgent, tools };
206
193
  }
207
194
  async getMessages(botContext, authToken, previousHubtypeMessages) {
208
- const hubtypeClient = new HubtypeApiClient(authToken);
209
- if (!isProd) {
210
- 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);
211
198
  }
212
199
  // Default to V2
213
200
  const result = await hubtypeClient.getMessagesV2(botContext, this.memory, previousHubtypeMessages);
214
201
  return result.messages;
215
202
  }
216
203
  buildTools(aiAgentArgs) {
217
- const activeTools = aiAgentArgs.type === AiAgentType.Router ? [] : aiAgentArgs.activeTools;
218
- const activeToolNames = activeTools.map((tool)=>tool.name);
219
- const availableTools = this.toolDefinitions.filter((tool)=>activeToolNames.includes(tool.name));
220
- return availableTools.map((toolDefinition)=>{
221
- 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)({
222
209
  name: toolDefinition.name,
223
210
  description: toolDefinition.description,
224
211
  parameters: toolDefinition.schema,
225
- execute: toolDefinition.func
212
+ execute: toolDefinition.func,
226
213
  });
227
214
  });
228
215
  }
229
- constructor(options){
230
- _define_property(this, "authToken", void 0);
231
- _define_property(this, "memory", void 0);
232
- _define_property(this, "logger", void 0);
233
- _define_property(this, "timeout", void 0);
234
- _define_property(this, "maxRetries", void 0);
235
- _define_property(this, "toolDefinitions", []);
236
- _define_property(this, "localStorageKey", void 0);
237
- this.authToken = options?.authToken;
238
- this.toolDefinitions = options?.customTools || [];
239
- this.memory = this.getMemoryOptions(options?.memory);
240
- this.timeout = options?.timeout ?? DEFAULT_TIMEOUT_16_SECONDS;
241
- this.maxRetries = options?.maxRetries ?? DEFAULT_MAX_RETRIES;
242
- this.logger = createDebugLogger(options?.enableDebug ?? false);
243
- this.localStorageKey = options?.localStorageKey ?? 'botonicState';
244
- setTracingDisabled(true);
245
- this.logger.logInitialConfig({
246
- messageHistoryApiVersion: 'v2',
247
- maxRetries: options?.maxRetries ?? DEFAULT_MAX_RETRIES,
248
- timeout: options?.timeout ?? DEFAULT_TIMEOUT_16_SECONDS,
249
- customToolNames: this.toolDefinitions.map((t)=>t.name),
250
- memory: this.memory
251
- });
252
- }
253
216
  }
254
-
255
-
256
-
257
-
258
- export default BotonicPluginAiAgents;
259
-
217
+ exports.default = BotonicPluginAiAgents;
218
+ tslib_1.__exportStar(require("./bot-config-tools"), exports);
219
+ tslib_1.__exportStar(require("./types"), exports);
260
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
1
  import { type OutputMessage, type ResolvedPlugins, type 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';
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[];