@botonic/plugin-ai-agents 0.46.1 → 2.23.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 (182) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/README.md +13 -149
  3. package/package.json +23 -41
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +3 -0
  6. package/src/index.js.map +1 -0
  7. package/{lib/cjs → src/lib}/agent-builder.d.ts +5 -13
  8. package/{lib/cjs → src/lib}/agent-builder.js +31 -26
  9. package/src/lib/agent-builder.js.map +1 -0
  10. package/{lib/cjs → src/lib}/constants.d.ts +1 -3
  11. package/src/lib/constants.js +13 -0
  12. package/src/lib/constants.js.map +1 -0
  13. package/{lib/esm → src/lib}/debug-logger.d.ts +3 -5
  14. package/{lib/cjs → src/lib}/debug-logger.js +44 -29
  15. package/src/lib/debug-logger.js.map +1 -0
  16. package/src/lib/guardrails/index.js +2 -0
  17. package/src/lib/guardrails/index.js.map +1 -0
  18. package/src/lib/guardrails/input.d.ts +3 -0
  19. package/src/lib/guardrails/input.js +29 -0
  20. package/src/lib/guardrails/input.js.map +1 -0
  21. package/{lib/cjs/services → src/lib}/hubtype-api-client.d.ts +13 -5
  22. package/src/lib/hubtype-api-client.js +206 -0
  23. package/src/lib/hubtype-api-client.js.map +1 -0
  24. package/{lib/esm → src/lib}/index.d.ts +2 -7
  25. package/src/lib/index.js +111 -0
  26. package/src/lib/index.js.map +1 -0
  27. package/src/lib/openai.d.ts +1 -0
  28. package/src/lib/openai.js +21 -0
  29. package/src/lib/openai.js.map +1 -0
  30. package/src/lib/runner.d.ts +12 -0
  31. package/src/lib/runner.js +96 -0
  32. package/src/lib/runner.js.map +1 -0
  33. package/{lib/esm → src/lib}/structured-output/carousel.d.ts +1 -1
  34. package/src/lib/structured-output/carousel.js +19 -0
  35. package/src/lib/structured-output/carousel.js.map +1 -0
  36. package/{lib/cjs → src/lib}/structured-output/exit.d.ts +1 -1
  37. package/src/lib/structured-output/exit.js +7 -0
  38. package/src/lib/structured-output/exit.js.map +1 -0
  39. package/src/lib/structured-output/index.d.ts +228 -0
  40. package/src/lib/structured-output/index.js +11 -0
  41. package/src/lib/structured-output/index.js.map +1 -0
  42. package/{lib/esm/structured-output/bot-executor.d.ts → src/lib/structured-output/text-with-buttons.d.ts} +13 -13
  43. package/src/lib/structured-output/text-with-buttons.js +14 -0
  44. package/src/lib/structured-output/text-with-buttons.js.map +1 -0
  45. package/{lib/esm → src/lib}/structured-output/text.d.ts +1 -1
  46. package/src/lib/structured-output/text.js +10 -0
  47. package/src/lib/structured-output/text.js.map +1 -0
  48. package/{lib/esm → src/lib}/tools/index.d.ts +1 -1
  49. package/src/lib/tools/index.js +3 -0
  50. package/src/lib/tools/index.js.map +1 -0
  51. package/{lib/cjs → src/lib}/tools/retrieve-knowledge.d.ts +2 -2
  52. package/src/lib/tools/retrieve-knowledge.js +30 -0
  53. package/src/lib/tools/retrieve-knowledge.js.map +1 -0
  54. package/{lib/esm → src/lib}/types.d.ts +11 -21
  55. package/src/lib/types.js +2 -0
  56. package/src/lib/types.js.map +1 -0
  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.map +0 -1
  65. package/lib/cjs/guardrails/index.js +0 -5
  66. package/lib/cjs/guardrails/index.js.map +0 -1
  67. package/lib/cjs/guardrails/input.d.ts +0 -10
  68. package/lib/cjs/guardrails/input.js +0 -77
  69. package/lib/cjs/guardrails/input.js.map +0 -1
  70. package/lib/cjs/index.d.ts +0 -18
  71. package/lib/cjs/index.js +0 -134
  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.d.ts +0 -603
  93. package/lib/cjs/structured-output/index.js +0 -28
  94. package/lib/cjs/structured-output/index.js.map +0 -1
  95. package/lib/cjs/structured-output/text-with-buttons.d.ts +0 -56
  96. package/lib/cjs/structured-output/text-with-buttons.js +0 -24
  97. package/lib/cjs/structured-output/text-with-buttons.js.map +0 -1
  98. package/lib/cjs/structured-output/text.d.ts +0 -23
  99. package/lib/cjs/structured-output/text.js +0 -13
  100. package/lib/cjs/structured-output/text.js.map +0 -1
  101. package/lib/cjs/tools/index.d.ts +0 -3
  102. package/lib/cjs/tools/index.js +0 -7
  103. package/lib/cjs/tools/index.js.map +0 -1
  104. package/lib/cjs/tools/retrieve-knowledge.js +0 -32
  105. package/lib/cjs/tools/retrieve-knowledge.js.map +0 -1
  106. package/lib/cjs/types.d.ts +0 -56
  107. package/lib/cjs/types.js +0 -3
  108. package/lib/cjs/types.js.map +0 -1
  109. package/lib/esm/agent-builder.d.ts +0 -37
  110. package/lib/esm/agent-builder.js +0 -106
  111. package/lib/esm/agent-builder.js.map +0 -1
  112. package/lib/esm/bot-config-tools.d.ts +0 -7
  113. package/lib/esm/bot-config-tools.js +0 -19
  114. package/lib/esm/bot-config-tools.js.map +0 -1
  115. package/lib/esm/constants.d.ts +0 -11
  116. package/lib/esm/constants.js +0 -17
  117. package/lib/esm/constants.js.map +0 -1
  118. package/lib/esm/debug-logger.js +0 -97
  119. package/lib/esm/debug-logger.js.map +0 -1
  120. package/lib/esm/guardrails/index.d.ts +0 -1
  121. package/lib/esm/guardrails/index.js +0 -5
  122. package/lib/esm/guardrails/index.js.map +0 -1
  123. package/lib/esm/guardrails/input.d.ts +0 -10
  124. package/lib/esm/guardrails/input.js +0 -77
  125. package/lib/esm/guardrails/input.js.map +0 -1
  126. package/lib/esm/index.js +0 -134
  127. package/lib/esm/index.js.map +0 -1
  128. package/lib/esm/llm-config.d.ts +0 -15
  129. package/lib/esm/llm-config.js +0 -66
  130. package/lib/esm/llm-config.js.map +0 -1
  131. package/lib/esm/runner.d.ts +0 -18
  132. package/lib/esm/runner.js +0 -181
  133. package/lib/esm/runner.js.map +0 -1
  134. package/lib/esm/services/hubtype-api-client.d.ts +0 -14
  135. package/lib/esm/services/hubtype-api-client.js +0 -206
  136. package/lib/esm/services/hubtype-api-client.js.map +0 -1
  137. package/lib/esm/services/types.d.ts +0 -85
  138. package/lib/esm/services/types.js +0 -13
  139. package/lib/esm/services/types.js.map +0 -1
  140. package/lib/esm/structured-output/bot-executor.js +0 -18
  141. package/lib/esm/structured-output/bot-executor.js.map +0 -1
  142. package/lib/esm/structured-output/carousel.js +0 -22
  143. package/lib/esm/structured-output/carousel.js.map +0 -1
  144. package/lib/esm/structured-output/exit.d.ts +0 -10
  145. package/lib/esm/structured-output/exit.js +0 -11
  146. package/lib/esm/structured-output/exit.js.map +0 -1
  147. package/lib/esm/structured-output/index.d.ts +0 -603
  148. package/lib/esm/structured-output/index.js +0 -28
  149. package/lib/esm/structured-output/index.js.map +0 -1
  150. package/lib/esm/structured-output/text-with-buttons.d.ts +0 -56
  151. package/lib/esm/structured-output/text-with-buttons.js +0 -24
  152. package/lib/esm/structured-output/text-with-buttons.js.map +0 -1
  153. package/lib/esm/structured-output/text.js +0 -13
  154. package/lib/esm/structured-output/text.js.map +0 -1
  155. package/lib/esm/tools/index.js +0 -7
  156. package/lib/esm/tools/index.js.map +0 -1
  157. package/lib/esm/tools/retrieve-knowledge.d.ts +0 -9
  158. package/lib/esm/tools/retrieve-knowledge.js +0 -32
  159. package/lib/esm/tools/retrieve-knowledge.js.map +0 -1
  160. package/lib/esm/types.js +0 -3
  161. package/lib/esm/types.js.map +0 -1
  162. package/src/agent-builder.ts +0 -183
  163. package/src/bot-config-tools.ts +0 -21
  164. package/src/constants.ts +0 -21
  165. package/src/debug-logger.ts +0 -166
  166. package/src/guardrails/index.ts +0 -1
  167. package/src/guardrails/input.ts +0 -122
  168. package/src/index.ts +0 -210
  169. package/src/llm-config.ts +0 -96
  170. package/src/runner.ts +0 -287
  171. package/src/services/hubtype-api-client.ts +0 -240
  172. package/src/services/types.ts +0 -106
  173. package/src/structured-output/bot-executor.ts +0 -21
  174. package/src/structured-output/carousel.ts +0 -24
  175. package/src/structured-output/exit.ts +0 -12
  176. package/src/structured-output/index.ts +0 -34
  177. package/src/structured-output/text-with-buttons.ts +0 -29
  178. package/src/structured-output/text.ts +0 -13
  179. package/src/tools/index.ts +0 -5
  180. package/src/tools/retrieve-knowledge.ts +0 -37
  181. package/src/types.ts +0 -110
  182. /package/{lib/cjs → src/lib}/guardrails/index.d.ts +0 -0
package/lib/cjs/runner.js DELETED
@@ -1,181 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIAgentRunner = void 0;
4
- const agents_1 = require("@openai/agents");
5
- const constants_1 = require("./constants");
6
- const hubtype_api_client_1 = require("./services/hubtype-api-client");
7
- const types_1 = require("./services/types");
8
- const tools_1 = require("./tools");
9
- class AIAgentRunner {
10
- constructor(agent, openAiClient, inferenceId, logger) {
11
- this.agent = agent;
12
- this.llmConfig = openAiClient;
13
- this.inferenceId = inferenceId;
14
- this.logger = logger;
15
- }
16
- async run(messages, context) {
17
- const startTime = Date.now();
18
- this.logger.logRunnerStart(this.llmConfig.modelName, this.llmConfig.modelSettings);
19
- try {
20
- const modelProvider = this.llmConfig.modelProvider;
21
- const modelSettings = this.llmConfig.modelSettings;
22
- const hasRetrieveKnowledge = this.agent.tools.includes(tools_1.retrieveKnowledge);
23
- if (hasRetrieveKnowledge && constants_1.OPENAI_PROVIDER === 'azure') {
24
- modelSettings.toolChoice = tools_1.retrieveKnowledge.name;
25
- }
26
- const runner = new agents_1.Runner({
27
- modelSettings,
28
- modelProvider,
29
- tracingDisabled: true,
30
- });
31
- // Type assertion to bypass strict type checking - the actual return type from runner.run()
32
- // doesn't perfectly match our interface, but the properties we access are compatible
33
- const result = (await runner.run(this.agent, messages, {
34
- context,
35
- }));
36
- const endTime = Date.now();
37
- void this.sendLlmRunTracking(result, context, startTime, endTime);
38
- const { _context, ...restResult } = result.state;
39
- console.log('Runner result:', restResult);
40
- const outputMessages = result.finalOutput?.messages || [];
41
- const hasExit = outputMessages.length === 0 ||
42
- outputMessages.some(message => message.type === 'exit');
43
- const toolsExecuted = this.getToolsExecuted(result, context);
44
- const runResult = {
45
- messages: hasExit
46
- ? []
47
- : outputMessages.filter(message => message.type !== 'exit'),
48
- toolsExecuted,
49
- exit: hasExit,
50
- memoryLength: messages.length,
51
- error: false,
52
- inputGuardrailsTriggered: [],
53
- outputGuardrailsTriggered: [],
54
- };
55
- this.logger.logRunResult(runResult, startTime);
56
- return runResult;
57
- }
58
- catch (error) {
59
- if (error instanceof agents_1.InputGuardrailTripwireTriggered) {
60
- const runResult = {
61
- messages: [],
62
- memoryLength: 0,
63
- toolsExecuted: [],
64
- exit: true,
65
- error: false,
66
- inputGuardrailsTriggered: error.result.output.outputInfo,
67
- outputGuardrailsTriggered: [],
68
- };
69
- this.logger.logGuardrailTriggered();
70
- this.logger.logRunResult(runResult, startTime);
71
- return runResult;
72
- }
73
- this.logger.logRunnerError(startTime, error);
74
- throw error;
75
- }
76
- }
77
- async sendLlmRunTracking(result, context, startTime, endTime) {
78
- if (!constants_1.isProd) {
79
- return;
80
- }
81
- const rawResponses = result.rawResponses ?? [];
82
- if (rawResponses.length === 0) {
83
- return;
84
- }
85
- const botId = context.request.session.bot.id;
86
- const isTest = context.request.session.is_test_integration;
87
- const totalDuration = endTime - startTime;
88
- const durationPerCall = Math.round(totalDuration / rawResponses.length);
89
- const temperature = this.llmConfig.modelSettings.temperature ?? 0;
90
- const apiVersion = constants_1.OPENAI_PROVIDER === 'azure' ? constants_1.AZURE_OPENAI_API_VERSION : '';
91
- const llmRuns = rawResponses.map(response => ({
92
- inference_id: this.inferenceId,
93
- is_test: isTest,
94
- product_name: types_1.TrackProductName.AI_AGENT,
95
- deployment_name: this.llmConfig.modelName,
96
- model_name: response.providerData?.['model'] ??
97
- this.llmConfig.modelName,
98
- feature: types_1.TrackFeature.AI_AGENT_RUN,
99
- api_version: apiVersion,
100
- num_prompt_tokens: response.usage.inputTokens,
101
- num_completion_tokens: response.usage.outputTokens,
102
- duration_in_milliseconds: durationPerCall,
103
- temperature,
104
- error: null,
105
- }));
106
- const client = new hubtype_api_client_1.HubtypeApiClient(context.authToken);
107
- await client.trackLlmRuns(botId, {
108
- llm_runs: llmRuns,
109
- });
110
- }
111
- getToolsExecuted(result, context) {
112
- const toolResultsByCallId = this.getToolResultsByCallId(result.newItems);
113
- return (result.newItems
114
- ?.filter(item => item instanceof agents_1.RunToolCallItem)
115
- .map((item) => this.getToolExecutionInfo(item, context, toolResultsByCallId))
116
- .filter((toolExecution) => toolExecution.toolName !== '') || []);
117
- }
118
- getToolResultsByCallId(newItems) {
119
- const map = new Map();
120
- for (const item of newItems || []) {
121
- if (!(item instanceof agents_1.RunToolCallOutputItem)) {
122
- continue;
123
- }
124
- const rawItem = item.rawItem;
125
- const callId = rawItem?.callId;
126
- const output = rawItem?.output;
127
- if (callId == null || output == null) {
128
- continue;
129
- }
130
- const text = this.extractToolResult(output);
131
- if (text != null) {
132
- map.set(callId, text);
133
- }
134
- }
135
- return map;
136
- }
137
- extractToolResult(output) {
138
- if (typeof output === 'string') {
139
- return output;
140
- }
141
- return output?.type === 'text' && typeof output?.text === 'string'
142
- ? output.text
143
- : undefined;
144
- }
145
- getToolExecutionInfo(item, context, toolResultsByCallId) {
146
- if (item.rawItem.type !== 'function_call') {
147
- return {
148
- toolName: '',
149
- toolArguments: {},
150
- };
151
- }
152
- const toolName = item.rawItem.name;
153
- const toolArguments = this.getSafeToolArguments(item.rawItem.arguments);
154
- const toolResults = item.rawItem.callId
155
- ? toolResultsByCallId.get(item.rawItem.callId)
156
- : undefined;
157
- const toolExecution = {
158
- toolName,
159
- toolArguments,
160
- toolResults,
161
- };
162
- if (toolName === tools_1.retrieveKnowledge.name) {
163
- return {
164
- ...toolExecution,
165
- knowledgebaseSourcesIds: context.knowledgeUsed.sourceIds,
166
- knowledgebaseChunksIds: context.knowledgeUsed.chunksIds,
167
- };
168
- }
169
- return toolExecution;
170
- }
171
- getSafeToolArguments(rawToolArguments) {
172
- try {
173
- return JSON.parse(rawToolArguments);
174
- }
175
- catch (_error) {
176
- return {};
177
- }
178
- }
179
- }
180
- exports.AIAgentRunner = AIAgentRunner;
181
- //# sourceMappingURL=runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"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"}
@@ -1,206 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HubtypeApiClient = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const constants_1 = require("../constants");
7
- class HubtypeApiClient {
8
- constructor(authToken) {
9
- this.authToken = authToken;
10
- }
11
- async retrieveSimilarChunks(query, sourceIds) {
12
- const url = `${constants_1.HUBTYPE_API_URL}/external/v1/ai/knowledge_base/similar_chunks/`;
13
- const headers = {
14
- 'Content-Type': 'application/json',
15
- Authorization: `Bearer ${this.authToken}`,
16
- };
17
- const params = {
18
- query,
19
- source_ids: sourceIds,
20
- num_chunks: 5,
21
- };
22
- const response = await axios_1.default.post(url, params, { headers });
23
- const chunks = response.data.chunks.map((chunk) => ({
24
- id: chunk.id,
25
- text: chunk.text,
26
- }));
27
- return chunks;
28
- }
29
- async getLocalMessages(maxMemoryLength) {
30
- const localBotonicState = typeof globalThis !== 'undefined' && globalThis.localStorage
31
- ? globalThis.localStorage.getItem('botonicState')
32
- : null;
33
- const botonicState = JSON.parse(localBotonicState || '{}');
34
- const messages = botonicState.messages;
35
- const filteredMessages = messages
36
- .filter(message => message.data.text)
37
- .map(message => ({
38
- role: message.sentBy === 'user' ? 'user' : 'assistant',
39
- content: message.data.text,
40
- }))
41
- .map(message => this.formatMessage(message));
42
- return filteredMessages.slice(-maxMemoryLength);
43
- }
44
- async getMessages(botContext, maxMemoryLength) {
45
- const url = `${constants_1.HUBTYPE_API_URL}/external/v1/ai/agent/message_history/`;
46
- const headers = {
47
- 'Content-Type': 'application/json',
48
- Authorization: `Bearer ${this.authToken}`,
49
- };
50
- const params = {
51
- last_message_id: botContext.input.message_id,
52
- num_messages: maxMemoryLength,
53
- };
54
- try {
55
- const response = await axios_1.default.get(url, {
56
- headers,
57
- params,
58
- });
59
- const messages = response.data.messages;
60
- return messages.map(message => this.formatMessage(message));
61
- }
62
- catch (error) {
63
- console.error(error);
64
- throw new Error('Failed to get messages from Hubtype');
65
- }
66
- }
67
- async getMessagesV2(botContext, options = {}) {
68
- const url = `${constants_1.HUBTYPE_API_URL}/external/v2/ai/agent/message_history/`;
69
- const headers = {
70
- 'Content-Type': 'application/json',
71
- Authorization: `Bearer ${this.authToken}`,
72
- };
73
- const params = {
74
- last_message_id: botContext.input.message_id,
75
- ...(options.maxMessages !== undefined && {
76
- max_messages: options.maxMessages,
77
- }),
78
- ...(options.includeToolCalls !== undefined && {
79
- include_tool_calls: options.includeToolCalls,
80
- }),
81
- ...(options.maxFullToolResults !== undefined && {
82
- max_full_tool_results: options.maxFullToolResults,
83
- }),
84
- ...(options.debugMode !== undefined && {
85
- debug_mode: options.debugMode,
86
- }),
87
- };
88
- try {
89
- const response = await axios_1.default.get(url, {
90
- headers,
91
- params,
92
- });
93
- const { messages, conversation_id, truncated } = response.data;
94
- const formattedMessages = messages
95
- .map(message => this.formatMessageV2(message))
96
- .filter((message) => message !== null);
97
- return {
98
- messages: formattedMessages,
99
- conversationId: conversation_id,
100
- truncated,
101
- };
102
- }
103
- catch (error) {
104
- console.error(error);
105
- throw new Error('Failed to get messages from Hubtype V2 API');
106
- }
107
- }
108
- formatMessageV2(message) {
109
- switch (message.role) {
110
- case 'user':
111
- return {
112
- role: 'user',
113
- content: message.content ?? '',
114
- };
115
- case 'assistant': {
116
- const assistantMessage = message;
117
- // If assistant message has tool_calls, include them for context
118
- // Using double assertion as the OpenAI API supports this format,
119
- // but the agents SDK types are more restrictive
120
- if (assistantMessage.tool_calls &&
121
- assistantMessage.tool_calls.length > 0) {
122
- return {
123
- role: 'assistant',
124
- content: assistantMessage.content ?? '',
125
- tool_calls: assistantMessage.tool_calls.map(tc => ({
126
- id: tc.id,
127
- type: tc.type,
128
- function: {
129
- name: tc.function.name,
130
- arguments: tc.function.arguments,
131
- },
132
- })),
133
- };
134
- }
135
- // Regular assistant message without tool_calls
136
- return {
137
- role: 'assistant',
138
- content: [
139
- {
140
- type: 'output_text',
141
- text: assistantMessage.content ?? '',
142
- },
143
- ],
144
- status: 'completed',
145
- };
146
- }
147
- case 'tool': {
148
- // Tool messages provide context about previous tool executions
149
- // Using double assertion as the OpenAI API supports this format,
150
- // but the agents SDK types are more restrictive
151
- const toolMessage = message;
152
- return {
153
- role: 'tool',
154
- tool_call_id: toolMessage.tool_call_id,
155
- content: toolMessage.content ?? '',
156
- };
157
- }
158
- case 'system':
159
- return {
160
- role: 'system',
161
- content: message.content ?? '',
162
- };
163
- default:
164
- throw new Error(`Invalid message role: ${message.role}`);
165
- }
166
- }
167
- async trackLlmRuns(botId, data) {
168
- // Not stop the bot execution if the tracking fails, just log the error
169
- try {
170
- const url = `${constants_1.HUBTYPE_API_URL}/external/v2/conversational_apps/${botId}/track_llm_runs/`;
171
- const headers = {
172
- 'Content-Type': 'application/json',
173
- Authorization: `Bearer ${this.authToken}`,
174
- };
175
- await axios_1.default.post(url, data, { headers });
176
- }
177
- catch (error) {
178
- console.error('Failed to track LLM runs:', error);
179
- }
180
- }
181
- formatMessage(message) {
182
- if (message.role === 'user') {
183
- return {
184
- content: message.content,
185
- role: 'user',
186
- };
187
- }
188
- else if (message.role === 'assistant') {
189
- return {
190
- role: 'assistant',
191
- content: [
192
- {
193
- type: 'output_text',
194
- text: message.content,
195
- },
196
- ],
197
- status: 'completed',
198
- };
199
- }
200
- else {
201
- throw new Error('Invalid message role');
202
- }
203
- }
204
- }
205
- exports.HubtypeApiClient = HubtypeApiClient;
206
- //# sourceMappingURL=hubtype-api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../../src/services/hubtype-api-client.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- import type { AgenticInputMessage } from '../types';
2
- export declare enum TrackProductName {
3
- AI_AGENT = "ai_agent"
4
- }
5
- export declare enum TrackFeature {
6
- AI_AGENT_RUN = "ai_agent_run",
7
- AI_AGENT_GUARDRAIL = "ai_agent_guardrail"
8
- }
9
- export interface LlmRunData {
10
- inference_id: string;
11
- is_test: boolean;
12
- product_name: string;
13
- deployment_name: string;
14
- model_name: string;
15
- feature: string;
16
- api_version: string;
17
- num_prompt_tokens: number;
18
- num_completion_tokens: number;
19
- duration_in_milliseconds: number;
20
- temperature: number;
21
- error: string | null;
22
- }
23
- export interface TrackLlmRunsData {
24
- llm_runs: LlmRunData[];
25
- }
26
- interface HubtypeAssistantMessage {
27
- role: 'assistant';
28
- content: string;
29
- }
30
- interface HubtypeUserMessage {
31
- role: 'user';
32
- content: string;
33
- }
34
- export type HubtypeMessage = HubtypeAssistantMessage | HubtypeUserMessage;
35
- interface HubtypeToolCall {
36
- id: string;
37
- type: 'function';
38
- function: {
39
- name: string;
40
- arguments: string;
41
- };
42
- }
43
- interface HubtypeUserMessageV2 {
44
- role: 'user';
45
- content: string | null;
46
- }
47
- export interface HubtypeAssistantMessageV2 {
48
- role: 'assistant';
49
- content: string | null;
50
- tool_calls?: HubtypeToolCall[] | null;
51
- }
52
- export interface HubtypeToolMessageV2 {
53
- role: 'tool';
54
- content: string | null;
55
- tool_call_id: string;
56
- }
57
- interface HubtypeSystemMessageV2 {
58
- role: 'system';
59
- content: string | null;
60
- }
61
- export type HubtypeMessageV2 = HubtypeUserMessageV2 | HubtypeAssistantMessageV2 | HubtypeToolMessageV2 | HubtypeSystemMessageV2;
62
- export interface MessageHistoryResponseV2 {
63
- messages: HubtypeMessageV2[];
64
- conversation_id: string | null;
65
- truncated: boolean;
66
- }
67
- export interface GetMessagesV2Options {
68
- maxMessages?: number;
69
- includeToolCalls?: boolean;
70
- maxFullToolResults?: number;
71
- debugMode?: boolean;
72
- }
73
- export interface GetMessagesV2Result {
74
- messages: AgenticInputMessage[];
75
- conversationId: string | null;
76
- truncated: boolean;
77
- }
78
- export interface MessageHistoryV2Params {
79
- last_message_id: string;
80
- max_messages?: number;
81
- include_tool_calls?: boolean;
82
- max_full_tool_results?: number;
83
- debug_mode?: boolean;
84
- }
85
- export {};
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TrackFeature = exports.TrackProductName = void 0;
4
- var TrackProductName;
5
- (function (TrackProductName) {
6
- TrackProductName["AI_AGENT"] = "ai_agent";
7
- })(TrackProductName || (exports.TrackProductName = TrackProductName = {}));
8
- var TrackFeature;
9
- (function (TrackFeature) {
10
- TrackFeature["AI_AGENT_RUN"] = "ai_agent_run";
11
- TrackFeature["AI_AGENT_GUARDRAIL"] = "ai_agent_guardrail";
12
- })(TrackFeature || (exports.TrackFeature = TrackFeature = {}));
13
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,gBAEX;AAFD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;AACvB,CAAC,EAFW,gBAAgB,gCAAhB,gBAAgB,QAE3B;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,yDAAyC,CAAA;AAC3C,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -1,49 +0,0 @@
1
- import type { BotExecutorMessage } from '@botonic/core';
2
- import z from 'zod';
3
- export type { BotExecutorMessage };
4
- export declare const BotExecutorSchema: z.ZodObject<{
5
- type: z.ZodEnum<["botExecutor"]>;
6
- content: z.ZodObject<{
7
- text: z.ZodString;
8
- buttons: z.ZodArray<z.ZodObject<{
9
- text: z.ZodString;
10
- payload: z.ZodString;
11
- }, "strip", z.ZodTypeAny, {
12
- text: string;
13
- payload: string;
14
- }, {
15
- text: string;
16
- payload: string;
17
- }>, "many">;
18
- }, "strip", z.ZodTypeAny, {
19
- text: string;
20
- buttons: {
21
- text: string;
22
- payload: string;
23
- }[];
24
- }, {
25
- text: string;
26
- buttons: {
27
- text: string;
28
- payload: string;
29
- }[];
30
- }>;
31
- }, "strip", z.ZodTypeAny, {
32
- type: "botExecutor";
33
- content: {
34
- text: string;
35
- buttons: {
36
- text: string;
37
- payload: string;
38
- }[];
39
- };
40
- }, {
41
- type: "botExecutor";
42
- content: {
43
- text: string;
44
- buttons: {
45
- text: string;
46
- payload: string;
47
- }[];
48
- };
49
- }>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BotExecutorSchema = void 0;
4
- const tslib_1 = require("tslib");
5
- const zod_1 = tslib_1.__importDefault(require("zod"));
6
- exports.BotExecutorSchema = zod_1.default
7
- .object({
8
- type: zod_1.default.enum(['botExecutor']),
9
- content: zod_1.default.object({
10
- text: zod_1.default.string(),
11
- buttons: zod_1.default.array(zod_1.default.object({
12
- text: zod_1.default.string(),
13
- payload: zod_1.default.string(),
14
- })),
15
- }),
16
- })
17
- .describe('A text message with buttons to allow the bot to execute a specific action. Use it only when asked explicitly in the prompt');
18
- //# sourceMappingURL=bot-executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-executor.js","sourceRoot":"","sources":["../../../src/structured-output/bot-executor.ts"],"names":[],"mappings":";;;;AACA,sDAAmB;AAIN,QAAA,iBAAiB,GAAG,aAAC;KAC/B,MAAM,CAAC;IACN,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IAC7B,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,aAAC,CAAC,KAAK,CACd,aAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;SACpB,CAAC,CACH;KACF,CAAC;CACH,CAAC;KACD,QAAQ,CACP,4HAA4H,CAC7H,CAAA"}
@@ -1,90 +0,0 @@
1
- import type { CarouselMessage } from '@botonic/core';
2
- import { z } from 'zod';
3
- export type { CarouselMessage };
4
- export declare const CarouselSchema: z.ZodObject<{
5
- type: z.ZodEnum<["carousel"]>;
6
- content: z.ZodObject<{
7
- text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
- elements: z.ZodArray<z.ZodObject<{
9
- title: z.ZodString;
10
- subtitle: z.ZodString;
11
- image: z.ZodString;
12
- button: z.ZodObject<{
13
- text: z.ZodString;
14
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
- }, "strip", z.ZodTypeAny, {
16
- text: string;
17
- url?: string | null | undefined;
18
- }, {
19
- text: string;
20
- url?: string | null | undefined;
21
- }>;
22
- }, "strip", z.ZodTypeAny, {
23
- title: string;
24
- subtitle: string;
25
- image: string;
26
- button: {
27
- text: string;
28
- url?: string | null | undefined;
29
- };
30
- }, {
31
- title: string;
32
- subtitle: string;
33
- image: string;
34
- button: {
35
- text: string;
36
- url?: string | null | undefined;
37
- };
38
- }>, "many">;
39
- }, "strip", z.ZodTypeAny, {
40
- elements: {
41
- title: string;
42
- subtitle: string;
43
- image: string;
44
- button: {
45
- text: string;
46
- url?: string | null | undefined;
47
- };
48
- }[];
49
- text?: string | null | undefined;
50
- }, {
51
- elements: {
52
- title: string;
53
- subtitle: string;
54
- image: string;
55
- button: {
56
- text: string;
57
- url?: string | null | undefined;
58
- };
59
- }[];
60
- text?: string | null | undefined;
61
- }>;
62
- }, "strip", z.ZodTypeAny, {
63
- type: "carousel";
64
- content: {
65
- elements: {
66
- title: string;
67
- subtitle: string;
68
- image: string;
69
- button: {
70
- text: string;
71
- url?: string | null | undefined;
72
- };
73
- }[];
74
- text?: string | null | undefined;
75
- };
76
- }, {
77
- type: "carousel";
78
- content: {
79
- elements: {
80
- title: string;
81
- subtitle: string;
82
- image: string;
83
- button: {
84
- text: string;
85
- url?: string | null | undefined;
86
- };
87
- }[];
88
- text?: string | null | undefined;
89
- };
90
- }>;