@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.
- package/lib/cjs/agent-builder.d.ts +5 -0
- package/lib/cjs/agent-builder.js +7 -15
- package/lib/cjs/agent-builder.js.map +1 -1
- package/lib/cjs/bot-config-tools.d.ts +7 -0
- package/lib/cjs/bot-config-tools.js +19 -0
- package/lib/cjs/bot-config-tools.js.map +1 -0
- package/lib/cjs/constants.d.ts +2 -1
- package/lib/cjs/constants.js +3 -2
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/debug-logger.d.ts +2 -1
- package/lib/cjs/debug-logger.js +4 -14
- package/lib/cjs/debug-logger.js.map +1 -1
- package/lib/cjs/guardrails/input.d.ts +8 -1
- package/lib/cjs/guardrails/input.js +48 -2
- package/lib/cjs/guardrails/input.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -1
- package/lib/cjs/index.js +34 -13
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/llm-config.d.ts +15 -0
- package/lib/cjs/llm-config.js +66 -0
- package/lib/cjs/llm-config.js.map +1 -0
- package/lib/cjs/runner.d.ts +5 -1
- package/lib/cjs/runner.js +54 -3
- package/lib/cjs/runner.js.map +1 -1
- package/lib/cjs/services/hubtype-api-client.d.ts +14 -0
- package/lib/{esm → cjs/services}/hubtype-api-client.js +19 -5
- package/lib/cjs/services/hubtype-api-client.js.map +1 -0
- package/lib/cjs/services/types.d.ts +85 -0
- package/lib/cjs/services/types.js +13 -0
- package/lib/cjs/services/types.js.map +1 -0
- package/lib/cjs/tools/retrieve-knowledge.js +1 -1
- package/lib/cjs/tools/retrieve-knowledge.js.map +1 -1
- package/lib/cjs/types.d.ts +7 -0
- package/lib/esm/agent-builder.d.ts +5 -0
- package/lib/esm/agent-builder.js +7 -15
- package/lib/esm/agent-builder.js.map +1 -1
- package/lib/esm/bot-config-tools.d.ts +7 -0
- package/lib/esm/bot-config-tools.js +19 -0
- package/lib/esm/bot-config-tools.js.map +1 -0
- package/lib/esm/constants.d.ts +2 -1
- package/lib/esm/constants.js +3 -2
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/debug-logger.d.ts +2 -1
- package/lib/esm/debug-logger.js +4 -14
- package/lib/esm/debug-logger.js.map +1 -1
- package/lib/esm/guardrails/input.d.ts +8 -1
- package/lib/esm/guardrails/input.js +48 -2
- package/lib/esm/guardrails/input.js.map +1 -1
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.js +34 -13
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/llm-config.d.ts +15 -0
- package/lib/esm/llm-config.js +66 -0
- package/lib/esm/llm-config.js.map +1 -0
- package/lib/esm/runner.d.ts +5 -1
- package/lib/esm/runner.js +54 -3
- package/lib/esm/runner.js.map +1 -1
- package/lib/esm/services/hubtype-api-client.d.ts +14 -0
- package/lib/{cjs → esm/services}/hubtype-api-client.js +19 -5
- package/lib/esm/services/hubtype-api-client.js.map +1 -0
- package/lib/esm/services/types.d.ts +85 -0
- package/lib/esm/services/types.js +13 -0
- package/lib/esm/services/types.js.map +1 -0
- package/lib/esm/tools/retrieve-knowledge.js +1 -1
- package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
- package/lib/esm/types.d.ts +7 -0
- package/package.json +4 -3
- package/src/agent-builder.ts +22 -19
- package/src/bot-config-tools.ts +21 -0
- package/src/constants.ts +3 -2
- package/src/debug-logger.ts +7 -27
- package/src/guardrails/input.ts +82 -4
- package/src/index.ts +56 -16
- package/src/llm-config.ts +96 -0
- package/src/runner.ts +85 -4
- package/src/{hubtype-api-client.ts → services/hubtype-api-client.ts} +31 -83
- package/src/services/types.ts +106 -0
- package/src/tools/retrieve-knowledge.ts +1 -1
- package/src/types.ts +8 -0
- package/lib/cjs/hubtype-api-client.d.ts +0 -23
- package/lib/cjs/hubtype-api-client.js.map +0 -1
- package/lib/cjs/openai.d.ts +0 -1
- package/lib/cjs/openai.js +0 -39
- package/lib/cjs/openai.js.map +0 -1
- package/lib/esm/hubtype-api-client.d.ts +0 -23
- package/lib/esm/hubtype-api-client.js.map +0 -1
- package/lib/esm/openai.d.ts +0 -1
- package/lib/esm/openai.js +0 -39
- package/lib/esm/openai.js.map +0 -1
- 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(
|
|
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
|
|
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 '
|
|
6
|
-
import type { AgenticInputMessage, Chunk } from '
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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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"}
|
package/lib/cjs/openai.d.ts
DELETED
|
@@ -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
|
package/lib/cjs/openai.js.map
DELETED
|
@@ -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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"}
|
package/lib/esm/openai.d.ts
DELETED
|
@@ -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
|
package/lib/esm/openai.js.map
DELETED
|
@@ -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
|
-
}
|