@botonic/plugin-ai-agents 0.45.0 → 0.46.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 (90) hide show
  1. package/lib/cjs/agent-builder.d.ts +5 -0
  2. package/lib/cjs/agent-builder.js +7 -15
  3. package/lib/cjs/agent-builder.js.map +1 -1
  4. package/lib/cjs/bot-config-tools.d.ts +7 -0
  5. package/lib/cjs/bot-config-tools.js +19 -0
  6. package/lib/cjs/bot-config-tools.js.map +1 -0
  7. package/lib/cjs/constants.d.ts +2 -1
  8. package/lib/cjs/constants.js +3 -2
  9. package/lib/cjs/constants.js.map +1 -1
  10. package/lib/cjs/debug-logger.d.ts +2 -1
  11. package/lib/cjs/debug-logger.js +4 -14
  12. package/lib/cjs/debug-logger.js.map +1 -1
  13. package/lib/cjs/guardrails/input.d.ts +8 -1
  14. package/lib/cjs/guardrails/input.js +48 -2
  15. package/lib/cjs/guardrails/input.js.map +1 -1
  16. package/lib/cjs/index.d.ts +4 -1
  17. package/lib/cjs/index.js +34 -13
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/llm-config.d.ts +15 -0
  20. package/lib/cjs/llm-config.js +66 -0
  21. package/lib/cjs/llm-config.js.map +1 -0
  22. package/lib/cjs/runner.d.ts +5 -1
  23. package/lib/cjs/runner.js +54 -3
  24. package/lib/cjs/runner.js.map +1 -1
  25. package/lib/cjs/services/hubtype-api-client.d.ts +14 -0
  26. package/lib/{esm → cjs/services}/hubtype-api-client.js +19 -5
  27. package/lib/cjs/services/hubtype-api-client.js.map +1 -0
  28. package/lib/cjs/services/types.d.ts +85 -0
  29. package/lib/cjs/services/types.js +13 -0
  30. package/lib/cjs/services/types.js.map +1 -0
  31. package/lib/cjs/tools/retrieve-knowledge.js +1 -1
  32. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -1
  33. package/lib/cjs/types.d.ts +7 -0
  34. package/lib/esm/agent-builder.d.ts +5 -0
  35. package/lib/esm/agent-builder.js +7 -15
  36. package/lib/esm/agent-builder.js.map +1 -1
  37. package/lib/esm/bot-config-tools.d.ts +7 -0
  38. package/lib/esm/bot-config-tools.js +19 -0
  39. package/lib/esm/bot-config-tools.js.map +1 -0
  40. package/lib/esm/constants.d.ts +2 -1
  41. package/lib/esm/constants.js +3 -2
  42. package/lib/esm/constants.js.map +1 -1
  43. package/lib/esm/debug-logger.d.ts +2 -1
  44. package/lib/esm/debug-logger.js +4 -14
  45. package/lib/esm/debug-logger.js.map +1 -1
  46. package/lib/esm/guardrails/input.d.ts +8 -1
  47. package/lib/esm/guardrails/input.js +48 -2
  48. package/lib/esm/guardrails/input.js.map +1 -1
  49. package/lib/esm/index.d.ts +4 -1
  50. package/lib/esm/index.js +34 -13
  51. package/lib/esm/index.js.map +1 -1
  52. package/lib/esm/llm-config.d.ts +15 -0
  53. package/lib/esm/llm-config.js +66 -0
  54. package/lib/esm/llm-config.js.map +1 -0
  55. package/lib/esm/runner.d.ts +5 -1
  56. package/lib/esm/runner.js +54 -3
  57. package/lib/esm/runner.js.map +1 -1
  58. package/lib/esm/services/hubtype-api-client.d.ts +14 -0
  59. package/lib/{cjs → esm/services}/hubtype-api-client.js +19 -5
  60. package/lib/esm/services/hubtype-api-client.js.map +1 -0
  61. package/lib/esm/services/types.d.ts +85 -0
  62. package/lib/esm/services/types.js +13 -0
  63. package/lib/esm/services/types.js.map +1 -0
  64. package/lib/esm/tools/retrieve-knowledge.js +1 -1
  65. package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
  66. package/lib/esm/types.d.ts +7 -0
  67. package/package.json +4 -3
  68. package/src/agent-builder.ts +22 -19
  69. package/src/bot-config-tools.ts +21 -0
  70. package/src/constants.ts +3 -2
  71. package/src/debug-logger.ts +7 -27
  72. package/src/guardrails/input.ts +82 -4
  73. package/src/index.ts +56 -16
  74. package/src/llm-config.ts +96 -0
  75. package/src/runner.ts +85 -4
  76. package/src/{hubtype-api-client.ts → services/hubtype-api-client.ts} +31 -83
  77. package/src/services/types.ts +106 -0
  78. package/src/tools/retrieve-knowledge.ts +1 -1
  79. package/src/types.ts +8 -0
  80. package/lib/cjs/hubtype-api-client.d.ts +0 -23
  81. package/lib/cjs/hubtype-api-client.js.map +0 -1
  82. package/lib/cjs/openai.d.ts +0 -1
  83. package/lib/cjs/openai.js +0 -39
  84. package/lib/cjs/openai.js.map +0 -1
  85. package/lib/esm/hubtype-api-client.d.ts +0 -23
  86. package/lib/esm/hubtype-api-client.js.map +0 -1
  87. package/lib/esm/openai.d.ts +0 -1
  88. package/lib/esm/openai.js +0 -39
  89. package/lib/esm/openai.js.map +0 -1
  90. package/src/openai.ts +0 -49
package/src/runner.ts CHANGED
@@ -9,14 +9,18 @@ import {
9
9
  RunToolCallItem,
10
10
  RunToolCallOutputItem,
11
11
  } from '@openai/agents'
12
-
12
+ import { AZURE_OPENAI_API_VERSION, isProd, OPENAI_PROVIDER } from './constants'
13
13
  import type { DebugLogger } from './debug-logger'
14
+ import type { LLMConfig } from './llm-config'
15
+ import { HubtypeApiClient } from './services/hubtype-api-client'
16
+ import { TrackFeature, TrackProductName } from './services/types'
14
17
  import { retrieveKnowledge } from './tools'
15
18
  import type {
16
19
  AgenticInputMessage,
17
20
  AgenticOutputMessage,
18
21
  AIAgent,
19
22
  Context,
23
+ ResultRawResponse,
20
24
  RunResult,
21
25
  } from './types'
22
26
 
@@ -27,6 +31,9 @@ interface AIAgentRunnerResult {
27
31
  messages?: OutputMessage[]
28
32
  }
29
33
  newItems?: RunToolCallItem[]
34
+ rawResponses?: ResultRawResponse[]
35
+ // biome-ignore lint/suspicious/noExplicitAny: state is a complex internal type
36
+ state?: any
30
37
  }
31
38
 
32
39
  export class AIAgentRunner<
@@ -34,10 +41,19 @@ export class AIAgentRunner<
34
41
  TExtraData = any,
35
42
  > {
36
43
  private agent: AIAgent<TPlugins, TExtraData>
44
+ private llmConfig: LLMConfig
45
+ private inferenceId: string
37
46
  private logger: DebugLogger
38
47
 
39
- constructor(agent: AIAgent<TPlugins, TExtraData>, logger: DebugLogger) {
48
+ constructor(
49
+ agent: AIAgent<TPlugins, TExtraData>,
50
+ openAiClient: LLMConfig,
51
+ inferenceId: string,
52
+ logger: DebugLogger
53
+ ) {
40
54
  this.agent = agent
55
+ this.llmConfig = openAiClient
56
+ this.inferenceId = inferenceId
41
57
  this.logger = logger
42
58
  }
43
59
 
@@ -47,11 +63,24 @@ export class AIAgentRunner<
47
63
  ): Promise<RunResult> {
48
64
  const startTime = Date.now()
49
65
 
50
- this.logger.logRunnerStart()
66
+ this.logger.logRunnerStart(
67
+ this.llmConfig.modelName,
68
+ this.llmConfig.modelSettings
69
+ )
51
70
 
52
71
  try {
72
+ const modelProvider = this.llmConfig.modelProvider
73
+ const modelSettings = this.llmConfig.modelSettings
74
+
75
+ const hasRetrieveKnowledge = this.agent.tools.includes(retrieveKnowledge)
76
+ if (hasRetrieveKnowledge && OPENAI_PROVIDER === 'azure') {
77
+ modelSettings.toolChoice = retrieveKnowledge.name
78
+ }
79
+
53
80
  const runner = new Runner({
54
- modelSettings: { temperature: 0 },
81
+ modelSettings,
82
+ modelProvider,
83
+ tracingDisabled: true,
55
84
  })
56
85
  // Type assertion to bypass strict type checking - the actual return type from runner.run()
57
86
  // doesn't perfectly match our interface, but the properties we access are compatible
@@ -59,6 +88,13 @@ export class AIAgentRunner<
59
88
  context,
60
89
  })) as AIAgentRunnerResult
61
90
 
91
+ const endTime = Date.now()
92
+
93
+ void this.sendLlmRunTracking(result, context, startTime, endTime)
94
+
95
+ const { _context, ...restResult } = result.state
96
+ console.log('Runner result:', restResult)
97
+
62
98
  const outputMessages = result.finalOutput?.messages || []
63
99
  const hasExit =
64
100
  outputMessages.length === 0 ||
@@ -106,6 +142,51 @@ export class AIAgentRunner<
106
142
  }
107
143
  }
108
144
 
145
+ private async sendLlmRunTracking(
146
+ result: AIAgentRunnerResult,
147
+ context: Context<TPlugins, TExtraData>,
148
+ startTime: number,
149
+ endTime: number
150
+ ): Promise<void> {
151
+ if (!isProd) {
152
+ return
153
+ }
154
+ const rawResponses = result.rawResponses ?? []
155
+ if (rawResponses.length === 0) {
156
+ return
157
+ }
158
+ const botId = context.request.session.bot.id
159
+ const isTest = context.request.session.is_test_integration
160
+ const totalDuration = endTime - startTime
161
+ const durationPerCall = Math.round(totalDuration / rawResponses.length)
162
+ const temperature =
163
+ (this.llmConfig.modelSettings.temperature as number | undefined) ?? 0
164
+ const apiVersion =
165
+ OPENAI_PROVIDER === 'azure' ? AZURE_OPENAI_API_VERSION : ''
166
+
167
+ const llmRuns = rawResponses.map(response => ({
168
+ inference_id: this.inferenceId,
169
+ is_test: isTest,
170
+ product_name: TrackProductName.AI_AGENT,
171
+ deployment_name: this.llmConfig.modelName,
172
+ model_name:
173
+ (response.providerData?.['model'] as string | undefined) ??
174
+ this.llmConfig.modelName,
175
+ feature: TrackFeature.AI_AGENT_RUN,
176
+ api_version: apiVersion,
177
+ num_prompt_tokens: response.usage.inputTokens,
178
+ num_completion_tokens: response.usage.outputTokens,
179
+ duration_in_milliseconds: durationPerCall,
180
+ temperature,
181
+ error: null,
182
+ }))
183
+
184
+ const client = new HubtypeApiClient(context.authToken)
185
+ await client.trackLlmRuns(botId, {
186
+ llm_runs: llmRuns,
187
+ })
188
+ }
189
+
109
190
  private getToolsExecuted(
110
191
  result,
111
192
  context: Context<TPlugins, TExtraData>
@@ -2,85 +2,19 @@
2
2
  import type { BotContext } from '@botonic/core'
3
3
  import axios from 'axios'
4
4
 
5
- import { HUBTYPE_API_URL } from './constants'
6
- import type { AgenticInputMessage, Chunk } from './types'
7
-
8
- interface HubtypeAssistantMessage {
9
- role: 'assistant'
10
- content: string
11
- }
12
-
13
- interface HubtypeUserMessage {
14
- role: 'user'
15
- content: string
16
- }
17
-
18
- type HubtypeMessage = HubtypeAssistantMessage | HubtypeUserMessage
19
-
20
- // V2 API Types
21
- interface HubtypeToolCall {
22
- id: string
23
- type: 'function'
24
- function: {
25
- name: string
26
- arguments: string
27
- }
28
- }
29
-
30
- interface HubtypeUserMessageV2 {
31
- role: 'user'
32
- content: string | null
33
- }
34
-
35
- interface HubtypeAssistantMessageV2 {
36
- role: 'assistant'
37
- content: string | null
38
- tool_calls?: HubtypeToolCall[] | null
39
- }
40
-
41
- interface HubtypeToolMessageV2 {
42
- role: 'tool'
43
- content: string | null
44
- tool_call_id: string
45
- }
46
-
47
- interface HubtypeSystemMessageV2 {
48
- role: 'system'
49
- content: string | null
50
- }
51
-
52
- type HubtypeMessageV2 =
53
- | HubtypeUserMessageV2
54
- | HubtypeAssistantMessageV2
55
- | HubtypeToolMessageV2
56
- | HubtypeSystemMessageV2
57
-
58
- interface MessageHistoryResponseV2 {
59
- messages: HubtypeMessageV2[]
60
- conversation_id: string | null
61
- truncated: boolean
62
- }
63
-
64
- export interface GetMessagesV2Options {
65
- maxMessages?: number
66
- includeToolCalls?: boolean
67
- maxFullToolResults?: number
68
- debugMode?: boolean
69
- }
70
-
71
- export interface GetMessagesV2Result {
72
- messages: AgenticInputMessage[]
73
- conversationId: string | null
74
- truncated: boolean
75
- }
76
-
77
- interface MessageHistoryV2Params {
78
- last_message_id: string
79
- max_messages?: number
80
- include_tool_calls?: boolean
81
- max_full_tool_results?: number
82
- debug_mode?: boolean
83
- }
5
+ import { HUBTYPE_API_URL } from '../constants'
6
+ import type { AgenticInputMessage, Chunk } from '../types'
7
+ import type {
8
+ GetMessagesV2Options,
9
+ GetMessagesV2Result,
10
+ HubtypeAssistantMessageV2,
11
+ HubtypeMessage,
12
+ HubtypeMessageV2,
13
+ HubtypeToolMessageV2,
14
+ MessageHistoryResponseV2,
15
+ MessageHistoryV2Params,
16
+ TrackLlmRunsData,
17
+ } from './types'
84
18
 
85
19
  export class HubtypeApiClient {
86
20
  private readonly authToken: string
@@ -131,7 +65,7 @@ export class HubtypeApiClient {
131
65
  }
132
66
 
133
67
  async getMessages(
134
- request: BotContext,
68
+ botContext: BotContext,
135
69
  maxMemoryLength: number
136
70
  ): Promise<AgenticInputMessage[]> {
137
71
  const url = `${HUBTYPE_API_URL}/external/v1/ai/agent/message_history/`
@@ -140,7 +74,7 @@ export class HubtypeApiClient {
140
74
  Authorization: `Bearer ${this.authToken}`,
141
75
  }
142
76
  const params = {
143
- last_message_id: request.input.message_id,
77
+ last_message_id: botContext.input.message_id,
144
78
  num_messages: maxMemoryLength,
145
79
  }
146
80
 
@@ -158,7 +92,7 @@ export class HubtypeApiClient {
158
92
  }
159
93
 
160
94
  async getMessagesV2(
161
- request: BotContext,
95
+ botContext: BotContext,
162
96
  options: GetMessagesV2Options = {}
163
97
  ): Promise<GetMessagesV2Result> {
164
98
  const url = `${HUBTYPE_API_URL}/external/v2/ai/agent/message_history/`
@@ -167,7 +101,7 @@ export class HubtypeApiClient {
167
101
  Authorization: `Bearer ${this.authToken}`,
168
102
  }
169
103
  const params: MessageHistoryV2Params = {
170
- last_message_id: request.input.message_id,
104
+ last_message_id: botContext.input.message_id,
171
105
  ...(options.maxMessages !== undefined && {
172
106
  max_messages: options.maxMessages,
173
107
  }),
@@ -268,6 +202,20 @@ export class HubtypeApiClient {
268
202
  }
269
203
  }
270
204
 
205
+ async trackLlmRuns(botId: string, data: TrackLlmRunsData): Promise<void> {
206
+ // Not stop the bot execution if the tracking fails, just log the error
207
+ try {
208
+ const url = `${HUBTYPE_API_URL}/external/v2/conversational_apps/${botId}/track_llm_runs/`
209
+ const headers = {
210
+ 'Content-Type': 'application/json',
211
+ Authorization: `Bearer ${this.authToken}`,
212
+ }
213
+ await axios.post(url, data, { headers })
214
+ } catch (error) {
215
+ console.error('Failed to track LLM runs:', error)
216
+ }
217
+ }
218
+
271
219
  private formatMessage(message: HubtypeMessage): AgenticInputMessage {
272
220
  if (message.role === 'user') {
273
221
  return {
@@ -0,0 +1,106 @@
1
+ import type { AgenticInputMessage } from '../types'
2
+
3
+ export enum TrackProductName {
4
+ AI_AGENT = 'ai_agent',
5
+ }
6
+
7
+ export enum TrackFeature {
8
+ AI_AGENT_RUN = 'ai_agent_run',
9
+ AI_AGENT_GUARDRAIL = 'ai_agent_guardrail',
10
+ }
11
+
12
+ export interface LlmRunData {
13
+ inference_id: string
14
+ is_test: boolean
15
+ product_name: string
16
+ deployment_name: string
17
+ model_name: string
18
+ feature: string
19
+ api_version: string
20
+ num_prompt_tokens: number
21
+ num_completion_tokens: number
22
+ duration_in_milliseconds: number
23
+ temperature: number
24
+ error: string | null
25
+ }
26
+
27
+ export interface TrackLlmRunsData {
28
+ llm_runs: LlmRunData[]
29
+ }
30
+
31
+ interface HubtypeAssistantMessage {
32
+ role: 'assistant'
33
+ content: string
34
+ }
35
+
36
+ interface HubtypeUserMessage {
37
+ role: 'user'
38
+ content: string
39
+ }
40
+
41
+ export type HubtypeMessage = HubtypeAssistantMessage | HubtypeUserMessage
42
+
43
+ // V2 API Types
44
+ interface HubtypeToolCall {
45
+ id: string
46
+ type: 'function'
47
+ function: {
48
+ name: string
49
+ arguments: string
50
+ }
51
+ }
52
+
53
+ interface HubtypeUserMessageV2 {
54
+ role: 'user'
55
+ content: string | null
56
+ }
57
+
58
+ export interface HubtypeAssistantMessageV2 {
59
+ role: 'assistant'
60
+ content: string | null
61
+ tool_calls?: HubtypeToolCall[] | null
62
+ }
63
+
64
+ export interface HubtypeToolMessageV2 {
65
+ role: 'tool'
66
+ content: string | null
67
+ tool_call_id: string
68
+ }
69
+
70
+ interface HubtypeSystemMessageV2 {
71
+ role: 'system'
72
+ content: string | null
73
+ }
74
+
75
+ export type HubtypeMessageV2 =
76
+ | HubtypeUserMessageV2
77
+ | HubtypeAssistantMessageV2
78
+ | HubtypeToolMessageV2
79
+ | HubtypeSystemMessageV2
80
+
81
+ export interface MessageHistoryResponseV2 {
82
+ messages: HubtypeMessageV2[]
83
+ conversation_id: string | null
84
+ truncated: boolean
85
+ }
86
+
87
+ export interface GetMessagesV2Options {
88
+ maxMessages?: number
89
+ includeToolCalls?: boolean
90
+ maxFullToolResults?: number
91
+ debugMode?: boolean
92
+ }
93
+
94
+ export interface GetMessagesV2Result {
95
+ messages: AgenticInputMessage[]
96
+ conversationId: string | null
97
+ truncated: boolean
98
+ }
99
+
100
+ export interface MessageHistoryV2Params {
101
+ last_message_id: string
102
+ max_messages?: number
103
+ include_tool_calls?: boolean
104
+ max_full_tool_results?: number
105
+ debug_mode?: boolean
106
+ }
@@ -1,7 +1,7 @@
1
1
  import { type RunContext, tool } from '@openai/agents'
2
2
  import { z } from 'zod'
3
3
 
4
- import { HubtypeApiClient } from '../hubtype-api-client'
4
+ import { HubtypeApiClient } from '../services/hubtype-api-client'
5
5
  import type { Context } from '../types'
6
6
 
7
7
  export const retrieveKnowledge = tool({
package/src/types.ts CHANGED
@@ -91,6 +91,14 @@ export interface PluginAiAgentOptions<
91
91
  enableDebug?: boolean
92
92
  }
93
93
 
94
+ export interface ResultRawResponse {
95
+ usage: {
96
+ inputTokens: number
97
+ outputTokens: number
98
+ }
99
+ providerData?: Record<string, unknown>
100
+ }
101
+
94
102
  export type AgenticInputMessage = AgentInputItem
95
103
 
96
104
  export {
@@ -1,23 +0,0 @@
1
- import type { BotContext } from '@botonic/core';
2
- import type { AgenticInputMessage, Chunk } from './types';
3
- export interface GetMessagesV2Options {
4
- maxMessages?: number;
5
- includeToolCalls?: boolean;
6
- maxFullToolResults?: number;
7
- debugMode?: boolean;
8
- }
9
- export interface GetMessagesV2Result {
10
- messages: AgenticInputMessage[];
11
- conversationId: string | null;
12
- truncated: boolean;
13
- }
14
- export declare class HubtypeApiClient {
15
- private readonly authToken;
16
- constructor(authToken: string);
17
- retrieveSimilarChunks(query: string, sourceIds: string[]): Promise<Chunk[]>;
18
- getLocalMessages(maxMemoryLength: number): Promise<AgenticInputMessage[]>;
19
- getMessages(request: BotContext, maxMemoryLength: number): Promise<AgenticInputMessage[]>;
20
- getMessagesV2(request: BotContext, options?: GetMessagesV2Options): Promise<GetMessagesV2Result>;
21
- private formatMessageV2;
22
- private formatMessage;
23
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function setUpOpenAI(maxRetries?: number, timeout?: number): void;
package/lib/cjs/openai.js DELETED
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setUpOpenAI = setUpOpenAI;
4
- const tslib_1 = require("tslib");
5
- const agents_1 = require("@openai/agents");
6
- const openai_1 = tslib_1.__importStar(require("openai"));
7
- const constants_1 = require("./constants");
8
- function setUpOpenAI(maxRetries, timeout) {
9
- if (constants_1.OPENAI_PROVIDER === 'azure') {
10
- setAzureOpenAIClient(maxRetries, timeout);
11
- }
12
- else {
13
- setOpenAIClient(maxRetries, timeout);
14
- }
15
- (0, agents_1.setOpenAIAPI)('chat_completions');
16
- (0, agents_1.setTracingDisabled)(true);
17
- }
18
- function setOpenAIClient(maxRetries, timeout) {
19
- const client = new openai_1.default({
20
- apiKey: constants_1.OPENAI_API_KEY,
21
- timeout: timeout || 16000, // 16 seconds
22
- maxRetries: maxRetries || 2,
23
- dangerouslyAllowBrowser: !constants_1.isProd,
24
- });
25
- (0, agents_1.setDefaultOpenAIClient)(client);
26
- }
27
- function setAzureOpenAIClient(maxRetries, timeout) {
28
- const client = new openai_1.AzureOpenAI({
29
- apiKey: constants_1.AZURE_OPENAI_API_KEY,
30
- apiVersion: constants_1.AZURE_OPENAI_API_VERSION,
31
- deployment: constants_1.AZURE_OPENAI_API_DEPLOYMENT_NAME,
32
- baseURL: constants_1.AZURE_OPENAI_API_BASE,
33
- timeout: timeout || 16000, // 16 seconds
34
- maxRetries: maxRetries || 2,
35
- dangerouslyAllowBrowser: !constants_1.isProd,
36
- });
37
- (0, agents_1.setDefaultOpenAIClient)(client);
38
- }
39
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":";;AAiBA,kCAQC;;AAzBD,2CAIuB;AACvB,yDAA4C;AAE5C,2CAQoB;AAEpB,SAAgB,WAAW,CAAC,UAAmB,EAAE,OAAgB;IAC/D,IAAI,2BAAe,KAAK,OAAO,EAAE,CAAC;QAChC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IACD,IAAA,qBAAY,EAAC,kBAAkB,CAAC,CAAA;IAChC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACxB,MAAM,EAAE,0BAAc;QACtB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa;QACxC,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,kBAAM;KACjC,CAAC,CAAA;IACF,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmB,EAAE,OAAgB;IACjE,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC;QAC7B,MAAM,EAAE,gCAAoB;QAC5B,UAAU,EAAE,oCAAwB;QACpC,UAAU,EAAE,4CAAgC;QAC5C,OAAO,EAAE,iCAAqB;QAC9B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa;QACxC,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,kBAAM;KACjC,CAAC,CAAA;IACF,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { BotContext } from '@botonic/core';
2
- import type { AgenticInputMessage, Chunk } from './types';
3
- export interface GetMessagesV2Options {
4
- maxMessages?: number;
5
- includeToolCalls?: boolean;
6
- maxFullToolResults?: number;
7
- debugMode?: boolean;
8
- }
9
- export interface GetMessagesV2Result {
10
- messages: AgenticInputMessage[];
11
- conversationId: string | null;
12
- truncated: boolean;
13
- }
14
- export declare class HubtypeApiClient {
15
- private readonly authToken;
16
- constructor(authToken: string);
17
- retrieveSimilarChunks(query: string, sourceIds: string[]): Promise<Chunk[]>;
18
- getLocalMessages(maxMemoryLength: number): Promise<AgenticInputMessage[]>;
19
- getMessages(request: BotContext, maxMemoryLength: number): Promise<AgenticInputMessage[]>;
20
- getMessagesV2(request: BotContext, options?: GetMessagesV2Options): Promise<GetMessagesV2Result>;
21
- private formatMessageV2;
22
- private formatMessage;
23
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function setUpOpenAI(maxRetries?: number, timeout?: number): void;
package/lib/esm/openai.js DELETED
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setUpOpenAI = setUpOpenAI;
4
- const tslib_1 = require("tslib");
5
- const agents_1 = require("@openai/agents");
6
- const openai_1 = tslib_1.__importStar(require("openai"));
7
- const constants_1 = require("./constants");
8
- function setUpOpenAI(maxRetries, timeout) {
9
- if (constants_1.OPENAI_PROVIDER === 'azure') {
10
- setAzureOpenAIClient(maxRetries, timeout);
11
- }
12
- else {
13
- setOpenAIClient(maxRetries, timeout);
14
- }
15
- (0, agents_1.setOpenAIAPI)('chat_completions');
16
- (0, agents_1.setTracingDisabled)(true);
17
- }
18
- function setOpenAIClient(maxRetries, timeout) {
19
- const client = new openai_1.default({
20
- apiKey: constants_1.OPENAI_API_KEY,
21
- timeout: timeout || 16000, // 16 seconds
22
- maxRetries: maxRetries || 2,
23
- dangerouslyAllowBrowser: !constants_1.isProd,
24
- });
25
- (0, agents_1.setDefaultOpenAIClient)(client);
26
- }
27
- function setAzureOpenAIClient(maxRetries, timeout) {
28
- const client = new openai_1.AzureOpenAI({
29
- apiKey: constants_1.AZURE_OPENAI_API_KEY,
30
- apiVersion: constants_1.AZURE_OPENAI_API_VERSION,
31
- deployment: constants_1.AZURE_OPENAI_API_DEPLOYMENT_NAME,
32
- baseURL: constants_1.AZURE_OPENAI_API_BASE,
33
- timeout: timeout || 16000, // 16 seconds
34
- maxRetries: maxRetries || 2,
35
- dangerouslyAllowBrowser: !constants_1.isProd,
36
- });
37
- (0, agents_1.setDefaultOpenAIClient)(client);
38
- }
39
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":";;AAiBA,kCAQC;;AAzBD,2CAIuB;AACvB,yDAA4C;AAE5C,2CAQoB;AAEpB,SAAgB,WAAW,CAAC,UAAmB,EAAE,OAAgB;IAC/D,IAAI,2BAAe,KAAK,OAAO,EAAE,CAAC;QAChC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IACD,IAAA,qBAAY,EAAC,kBAAkB,CAAC,CAAA;IAChC,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACxB,MAAM,EAAE,0BAAc;QACtB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa;QACxC,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,kBAAM;KACjC,CAAC,CAAA;IACF,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmB,EAAE,OAAgB;IACjE,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC;QAC7B,MAAM,EAAE,gCAAoB;QAC5B,UAAU,EAAE,oCAAwB;QACpC,UAAU,EAAE,4CAAgC;QAC5C,OAAO,EAAE,iCAAqB;QAC9B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa;QACxC,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,kBAAM;KACjC,CAAC,CAAA;IACF,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
package/src/openai.ts DELETED
@@ -1,49 +0,0 @@
1
- import {
2
- setDefaultOpenAIClient,
3
- setOpenAIAPI,
4
- setTracingDisabled,
5
- } from '@openai/agents'
6
- import OpenAI, { AzureOpenAI } from 'openai'
7
-
8
- import {
9
- AZURE_OPENAI_API_BASE,
10
- AZURE_OPENAI_API_DEPLOYMENT_NAME,
11
- AZURE_OPENAI_API_KEY,
12
- AZURE_OPENAI_API_VERSION,
13
- isProd,
14
- OPENAI_API_KEY,
15
- OPENAI_PROVIDER,
16
- } from './constants'
17
-
18
- export function setUpOpenAI(maxRetries?: number, timeout?: number) {
19
- if (OPENAI_PROVIDER === 'azure') {
20
- setAzureOpenAIClient(maxRetries, timeout)
21
- } else {
22
- setOpenAIClient(maxRetries, timeout)
23
- }
24
- setOpenAIAPI('chat_completions')
25
- setTracingDisabled(true)
26
- }
27
-
28
- function setOpenAIClient(maxRetries?: number, timeout?: number) {
29
- const client = new OpenAI({
30
- apiKey: OPENAI_API_KEY,
31
- timeout: timeout || 16000, // 16 seconds
32
- maxRetries: maxRetries || 2,
33
- dangerouslyAllowBrowser: !isProd,
34
- })
35
- setDefaultOpenAIClient(client)
36
- }
37
-
38
- function setAzureOpenAIClient(maxRetries?: number, timeout?: number) {
39
- const client = new AzureOpenAI({
40
- apiKey: AZURE_OPENAI_API_KEY,
41
- apiVersion: AZURE_OPENAI_API_VERSION,
42
- deployment: AZURE_OPENAI_API_DEPLOYMENT_NAME,
43
- baseURL: AZURE_OPENAI_API_BASE,
44
- timeout: timeout || 16000, // 16 seconds
45
- maxRetries: maxRetries || 2,
46
- dangerouslyAllowBrowser: !isProd,
47
- })
48
- setDefaultOpenAIClient(client)
49
- }