@botonic/plugin-ai-agents 0.45.0-alpha.1 → 0.46.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/agent-builder.d.ts +3 -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 +4 -2
- package/lib/cjs/debug-logger.js +12 -14
- package/lib/cjs/debug-logger.js.map +1 -1
- package/lib/cjs/guardrails/input.d.ts +2 -1
- package/lib/cjs/guardrails/input.js +7 -2
- package/lib/cjs/guardrails/input.js.map +1 -1
- package/lib/cjs/hubtype-api-client.d.ts +2 -2
- package/lib/cjs/hubtype-api-client.js +4 -4
- package/lib/cjs/hubtype-api-client.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -1
- package/lib/cjs/index.js +25 -12
- 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 +53 -11
- package/lib/cjs/runner.js.map +1 -1
- package/lib/esm/agent-builder.d.ts +3 -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 +4 -2
- package/lib/esm/debug-logger.js +12 -14
- package/lib/esm/debug-logger.js.map +1 -1
- package/lib/esm/guardrails/input.d.ts +2 -1
- package/lib/esm/guardrails/input.js +7 -2
- package/lib/esm/guardrails/input.js.map +1 -1
- package/lib/esm/hubtype-api-client.d.ts +2 -2
- package/lib/esm/hubtype-api-client.js +4 -4
- package/lib/esm/hubtype-api-client.js.map +1 -1
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.js +25 -12
- 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 +53 -11
- package/lib/esm/runner.js.map +1 -1
- package/package.json +5 -4
- package/src/agent-builder.ts +19 -19
- package/src/bot-config-tools.ts +21 -0
- package/src/constants.ts +3 -2
- package/src/debug-logger.ts +24 -28
- package/src/guardrails/input.ts +13 -4
- package/src/hubtype-api-client.ts +4 -4
- package/src/index.ts +45 -14
- package/src/llm-config.ts +96 -0
- package/src/runner.ts +79 -12
- 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/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/lib/cjs/runner.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { ResolvedPlugins } from '@botonic/core';
|
|
2
2
|
import type { DebugLogger } from './debug-logger';
|
|
3
|
+
import type { LLMConfig } from './llm-config';
|
|
3
4
|
import type { AgenticInputMessage, AIAgent, Context, RunResult } from './types';
|
|
4
5
|
export declare class AIAgentRunner<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
|
|
5
6
|
private agent;
|
|
6
7
|
private logger;
|
|
7
|
-
|
|
8
|
+
private llmConfig;
|
|
9
|
+
constructor(agent: AIAgent<TPlugins, TExtraData>, openAiClient: LLMConfig, logger: DebugLogger);
|
|
8
10
|
run(messages: AgenticInputMessage[], context: Context<TPlugins, TExtraData>): Promise<RunResult>;
|
|
9
11
|
private getToolsExecuted;
|
|
12
|
+
private getToolResultsByCallId;
|
|
13
|
+
private extractToolResult;
|
|
10
14
|
private getToolExecutionInfo;
|
|
11
15
|
private getSafeToolArguments;
|
|
12
16
|
}
|
package/lib/cjs/runner.js
CHANGED
|
@@ -2,18 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AIAgentRunner = void 0;
|
|
4
4
|
const agents_1 = require("@openai/agents");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
5
6
|
const tools_1 = require("./tools");
|
|
6
7
|
class AIAgentRunner {
|
|
7
|
-
constructor(agent, logger) {
|
|
8
|
+
constructor(agent, openAiClient, logger) {
|
|
8
9
|
this.agent = agent;
|
|
10
|
+
this.llmConfig = openAiClient;
|
|
9
11
|
this.logger = logger;
|
|
10
12
|
}
|
|
11
13
|
async run(messages, context) {
|
|
12
14
|
const startTime = Date.now();
|
|
13
|
-
this.logger.logRunnerStart();
|
|
15
|
+
this.logger.logRunnerStart(this.llmConfig.modelName, this.llmConfig.modelSettings);
|
|
14
16
|
try {
|
|
17
|
+
const modelProvider = this.llmConfig.modelProvider;
|
|
18
|
+
const modelSettings = this.llmConfig.modelSettings;
|
|
19
|
+
const hasRetrieveKnowledge = this.agent.tools.includes(tools_1.retrieveKnowledge);
|
|
20
|
+
if (hasRetrieveKnowledge && constants_1.OPENAI_PROVIDER === 'azure') {
|
|
21
|
+
modelSettings.toolChoice = tools_1.retrieveKnowledge.name;
|
|
22
|
+
}
|
|
15
23
|
const runner = new agents_1.Runner({
|
|
16
|
-
modelSettings
|
|
24
|
+
modelSettings,
|
|
25
|
+
modelProvider,
|
|
26
|
+
tracingDisabled: true,
|
|
17
27
|
});
|
|
18
28
|
// Type assertion to bypass strict type checking - the actual return type from runner.run()
|
|
19
29
|
// doesn't perfectly match our interface, but the properties we access are compatible
|
|
@@ -58,12 +68,40 @@ class AIAgentRunner {
|
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
getToolsExecuted(result, context) {
|
|
71
|
+
const toolResultsByCallId = this.getToolResultsByCallId(result.newItems);
|
|
61
72
|
return (result.newItems
|
|
62
73
|
?.filter(item => item instanceof agents_1.RunToolCallItem)
|
|
63
|
-
.map((item) => this.getToolExecutionInfo(item, context))
|
|
74
|
+
.map((item) => this.getToolExecutionInfo(item, context, toolResultsByCallId))
|
|
64
75
|
.filter((toolExecution) => toolExecution.toolName !== '') || []);
|
|
65
76
|
}
|
|
66
|
-
|
|
77
|
+
getToolResultsByCallId(newItems) {
|
|
78
|
+
const map = new Map();
|
|
79
|
+
for (const item of newItems || []) {
|
|
80
|
+
if (!(item instanceof agents_1.RunToolCallOutputItem)) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const rawItem = item.rawItem;
|
|
84
|
+
const callId = rawItem?.callId;
|
|
85
|
+
const output = rawItem?.output;
|
|
86
|
+
if (callId == null || output == null) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const text = this.extractToolResult(output);
|
|
90
|
+
if (text != null) {
|
|
91
|
+
map.set(callId, text);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return map;
|
|
95
|
+
}
|
|
96
|
+
extractToolResult(output) {
|
|
97
|
+
if (typeof output === 'string') {
|
|
98
|
+
return output;
|
|
99
|
+
}
|
|
100
|
+
return output?.type === 'text' && typeof output?.text === 'string'
|
|
101
|
+
? output.text
|
|
102
|
+
: undefined;
|
|
103
|
+
}
|
|
104
|
+
getToolExecutionInfo(item, context, toolResultsByCallId) {
|
|
67
105
|
if (item.rawItem.type !== 'function_call') {
|
|
68
106
|
return {
|
|
69
107
|
toolName: '',
|
|
@@ -72,18 +110,22 @@ class AIAgentRunner {
|
|
|
72
110
|
}
|
|
73
111
|
const toolName = item.rawItem.name;
|
|
74
112
|
const toolArguments = this.getSafeToolArguments(item.rawItem.arguments);
|
|
113
|
+
const toolResults = item.rawItem.callId
|
|
114
|
+
? toolResultsByCallId.get(item.rawItem.callId)
|
|
115
|
+
: undefined;
|
|
116
|
+
const toolExecution = {
|
|
117
|
+
toolName,
|
|
118
|
+
toolArguments,
|
|
119
|
+
toolResults,
|
|
120
|
+
};
|
|
75
121
|
if (toolName === tools_1.retrieveKnowledge.name) {
|
|
76
122
|
return {
|
|
77
|
-
|
|
78
|
-
toolArguments,
|
|
123
|
+
...toolExecution,
|
|
79
124
|
knowledgebaseSourcesIds: context.knowledgeUsed.sourceIds,
|
|
80
125
|
knowledgebaseChunksIds: context.knowledgeUsed.chunksIds,
|
|
81
126
|
};
|
|
82
127
|
}
|
|
83
|
-
return
|
|
84
|
-
toolName,
|
|
85
|
-
toolArguments,
|
|
86
|
-
};
|
|
128
|
+
return toolExecution;
|
|
87
129
|
}
|
|
88
130
|
getSafeToolArguments(rawToolArguments) {
|
|
89
131
|
try {
|
package/lib/cjs/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":";;;AAKA,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CampaignV2, ContactInfo, ResolvedPlugins } from '@botonic/core';
|
|
2
2
|
import type { DebugLogger } from './debug-logger';
|
|
3
|
+
import type { LLMConfig } from './llm-config';
|
|
3
4
|
import type { AIAgent, GuardrailRule, Tool } from './types';
|
|
4
5
|
interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
|
|
5
6
|
name: string;
|
|
@@ -9,6 +10,7 @@ interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugi
|
|
|
9
10
|
contactInfo: ContactInfo[];
|
|
10
11
|
inputGuardrailRules: GuardrailRule[];
|
|
11
12
|
sourceIds: string[];
|
|
13
|
+
llmConfig: LLMConfig;
|
|
12
14
|
logger: DebugLogger;
|
|
13
15
|
}
|
|
14
16
|
export declare class AIAgentBuilder<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
|
|
@@ -16,6 +18,7 @@ export declare class AIAgentBuilder<TPlugins extends ResolvedPlugins = ResolvedP
|
|
|
16
18
|
private instructions;
|
|
17
19
|
private tools;
|
|
18
20
|
private inputGuardrails;
|
|
21
|
+
llmConfig: LLMConfig;
|
|
19
22
|
private logger;
|
|
20
23
|
constructor(options: AIAgentBuilderOptions<TPlugins, TExtraData>);
|
|
21
24
|
build(): AIAgent<TPlugins, TExtraData>;
|
package/lib/esm/agent-builder.js
CHANGED
|
@@ -12,31 +12,24 @@ class AIAgentBuilder {
|
|
|
12
12
|
this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignsContext);
|
|
13
13
|
this.tools = this.addHubtypeTools(options.tools, options.sourceIds);
|
|
14
14
|
this.inputGuardrails = [];
|
|
15
|
+
this.llmConfig = options.llmConfig;
|
|
15
16
|
this.logger = options.logger;
|
|
16
17
|
if (options.inputGuardrailRules.length > 0) {
|
|
17
|
-
const inputGuardrail = (0, guardrails_1.createInputGuardrail)(options.inputGuardrailRules);
|
|
18
|
+
const inputGuardrail = (0, guardrails_1.createInputGuardrail)(options.inputGuardrailRules, options.llmConfig);
|
|
18
19
|
this.inputGuardrails.push(inputGuardrail);
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
build() {
|
|
22
|
-
const modelSettings = {};
|
|
23
|
-
if (constants_1.OPENAI_PROVIDER === 'openai') {
|
|
24
|
-
modelSettings.reasoning = { effort: 'none' };
|
|
25
|
-
modelSettings.text = { verbosity: 'medium' };
|
|
26
|
-
}
|
|
27
|
-
const hasRetrieveKnowledge = this.tools.includes(tools_1.retrieveKnowledge);
|
|
28
|
-
if (hasRetrieveKnowledge && constants_1.OPENAI_PROVIDER === 'azure') {
|
|
29
|
-
modelSettings.toolChoice = tools_1.retrieveKnowledge.name;
|
|
30
|
-
}
|
|
31
23
|
// When using standard OpenAI API, we need to specify the model
|
|
32
24
|
// Azure OpenAI uses deployment name instead
|
|
33
|
-
const model =
|
|
25
|
+
const model = this.llmConfig.modelName;
|
|
26
|
+
const hasRetrieveKnowledge = this.tools.includes(tools_1.retrieveKnowledge);
|
|
34
27
|
this.logger.logModelSettings({
|
|
35
28
|
provider: constants_1.OPENAI_PROVIDER,
|
|
36
29
|
model,
|
|
37
|
-
reasoning: modelSettings.reasoning,
|
|
38
|
-
text: modelSettings.text,
|
|
39
|
-
toolChoice: modelSettings.toolChoice,
|
|
30
|
+
reasoning: this.llmConfig.modelSettings.reasoning,
|
|
31
|
+
text: this.llmConfig.modelSettings.text,
|
|
32
|
+
toolChoice: this.llmConfig.modelSettings.toolChoice,
|
|
40
33
|
hasRetrieveKnowledge,
|
|
41
34
|
});
|
|
42
35
|
return new agents_1.Agent({
|
|
@@ -47,7 +40,6 @@ class AIAgentBuilder {
|
|
|
47
40
|
outputType: structured_output_1.OutputSchema,
|
|
48
41
|
inputGuardrails: this.inputGuardrails,
|
|
49
42
|
outputGuardrails: [],
|
|
50
|
-
modelSettings,
|
|
51
43
|
});
|
|
52
44
|
}
|
|
53
45
|
addExtraInstructions(initialInstructions, contactInfo, campaignsContext) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../../src/agent-builder.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../../src/agent-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolConfigJSON } from '@botonic/core';
|
|
2
|
+
import type { CustomTool } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Maps custom AI agent tools to the format expected by bot config (e.g. for flow-builder).
|
|
5
|
+
* Converts each tool's Zod schema to JSON Schema so it can be serialized in the config.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getToolsForBotConfig(customTools: CustomTool[]): ToolConfigJSON[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getToolsForBotConfig = getToolsForBotConfig;
|
|
4
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
5
|
+
/**
|
|
6
|
+
* Maps custom AI agent tools to the format expected by bot config (e.g. for flow-builder).
|
|
7
|
+
* Converts each tool's Zod schema to JSON Schema so it can be serialized in the config.
|
|
8
|
+
*/
|
|
9
|
+
function getToolsForBotConfig(customTools) {
|
|
10
|
+
return customTools.map(tool => ({
|
|
11
|
+
name: tool.name,
|
|
12
|
+
description: tool.description,
|
|
13
|
+
// Cast to avoid TS "Type instantiation is excessively deep" with zodToJsonSchema + ZodSchema
|
|
14
|
+
schema: (0, zod_to_json_schema_1.zodToJsonSchema)(tool.schema, {
|
|
15
|
+
$refStrategy: 'none',
|
|
16
|
+
}),
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=bot-config-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-config-tools.js","sourceRoot":"","sources":["../../src/bot-config-tools.ts"],"names":[],"mappings":";;AASA,oDAWC;AAnBD,2DAAoD;AAIpD;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,WAAyB;IAEzB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,6FAA6F;QAC7F,MAAM,EAAE,IAAA,oCAAe,EAAC,IAAI,CAAC,MAAe,EAAE;YAC5C,YAAY,EAAE,MAAM;SACrB,CAA6B;KAC/B,CAAC,CAAC,CAAA;AACL,CAAC"}
|
package/lib/esm/constants.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export declare const OPENAI_MODEL: string;
|
|
|
4
4
|
export declare const OPENAI_PROVIDER: 'openai' | 'azure';
|
|
5
5
|
export declare const AZURE_OPENAI_API_KEY: string | undefined;
|
|
6
6
|
export declare const AZURE_OPENAI_API_BASE: string | undefined;
|
|
7
|
-
export declare const AZURE_OPENAI_API_DEPLOYMENT_NAME: string;
|
|
8
7
|
export declare const AZURE_OPENAI_API_VERSION: string;
|
|
9
8
|
export declare const isProd: boolean;
|
|
10
9
|
export declare const MAX_MEMORY_LENGTH = 25;
|
|
10
|
+
export declare const DEFAULT_TIMEOUT_16_SECONDS = 16000;
|
|
11
|
+
export declare const DEFAULT_MAX_RETRIES = 2;
|
package/lib/esm/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT_16_SECONDS = exports.MAX_MEMORY_LENGTH = exports.isProd = exports.AZURE_OPENAI_API_VERSION = exports.AZURE_OPENAI_API_BASE = exports.AZURE_OPENAI_API_KEY = exports.OPENAI_PROVIDER = exports.OPENAI_MODEL = exports.OPENAI_API_KEY = exports.HUBTYPE_API_URL = void 0;
|
|
4
4
|
exports.HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
5
5
|
// OpenAI Provider Configuration
|
|
6
6
|
exports.OPENAI_API_KEY = process.env.OPENAI_API_KEY; // pragma: allowlist secret
|
|
@@ -9,8 +9,9 @@ exports.OPENAI_PROVIDER = process.env.OPENAI_PROVIDER || 'azure';
|
|
|
9
9
|
// Azure OpenAI Configuration
|
|
10
10
|
exports.AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
|
|
11
11
|
exports.AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
|
|
12
|
-
exports.AZURE_OPENAI_API_DEPLOYMENT_NAME = process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME || 'gpt-41-mini_p1';
|
|
13
12
|
exports.AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION || '2025-01-01-preview';
|
|
14
13
|
exports.isProd = process.env.NODE_ENV === 'production';
|
|
15
14
|
exports.MAX_MEMORY_LENGTH = 25;
|
|
15
|
+
exports.DEFAULT_TIMEOUT_16_SECONDS = 16000;
|
|
16
|
+
exports.DEFAULT_MAX_RETRIES = 2;
|
|
16
17
|
//# sourceMappingURL=constants.js.map
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,gCAAgC;AACnB,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAC,2BAA2B;AACvE,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAA;AACzD,QAAA,eAAe,GACzB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,OAAO,CAAA;AAEhE,6BAA6B;AAChB,QAAA,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AACnF,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACzD,QAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,gCAAgC;AACnB,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAC,2BAA2B;AACvE,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAA;AACzD,QAAA,eAAe,GACzB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,OAAO,CAAA;AAEhE,6BAA6B;AAChB,QAAA,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AACnF,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACzD,QAAA,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB,CAAA;AAEjD,QAAA,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAE9C,QAAA,iBAAiB,GAAG,EAAE,CAAA;AAEtB,QAAA,0BAA0B,GAAG,KAAK,CAAA;AAClC,QAAA,mBAAmB,GAAG,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { AiAgentArgs } from '@botonic/core';
|
|
1
|
+
import type { AiAgentArgs, ToolExecution } from '@botonic/core';
|
|
2
|
+
import type { ModelSettings } from '@openai/agents';
|
|
2
3
|
import type { AgenticInputMessage, MemoryOptions, RunResult } from './types';
|
|
3
4
|
export interface DebugLoggerConfig {
|
|
4
5
|
messageHistoryApiVersion: string;
|
|
@@ -23,9 +24,10 @@ export interface DebugLogger {
|
|
|
23
24
|
logInitialConfig(config: DebugLoggerConfig): void;
|
|
24
25
|
logAgentDebugInfo(aiAgentArgs: AiAgentArgs, toolNames: string[], messages: AgenticInputMessage[]): void;
|
|
25
26
|
logModelSettings(settings: ModelSettingsInfo): void;
|
|
26
|
-
logRunnerStart(): void;
|
|
27
|
+
logRunnerStart(model: string, modelSettings: ModelSettings): void;
|
|
27
28
|
logRunResult(runResult: RunResult, startTime: number): void;
|
|
28
29
|
logGuardrailTriggered(): void;
|
|
29
30
|
logRunnerError(startTime: number, error: unknown): void;
|
|
31
|
+
logToolExecution(toolExecution: ToolExecution): void;
|
|
30
32
|
}
|
|
31
33
|
export declare function createDebugLogger(enableDebug: boolean): DebugLogger;
|
package/lib/esm/debug-logger.js
CHANGED
|
@@ -4,21 +4,9 @@ exports.createDebugLogger = createDebugLogger;
|
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
5
|
const PREFIX = '[BotonicPluginAiAgents]';
|
|
6
6
|
class EnabledDebugLogger {
|
|
7
|
-
getModelInfo() {
|
|
8
|
-
const model = constants_1.OPENAI_PROVIDER === 'azure'
|
|
9
|
-
? constants_1.AZURE_OPENAI_API_DEPLOYMENT_NAME
|
|
10
|
-
: constants_1.OPENAI_MODEL;
|
|
11
|
-
const apiBase = constants_1.OPENAI_PROVIDER === 'azure' && constants_1.AZURE_OPENAI_API_BASE
|
|
12
|
-
? constants_1.AZURE_OPENAI_API_BASE
|
|
13
|
-
: 'OpenAI API';
|
|
14
|
-
return { model, apiBase };
|
|
15
|
-
}
|
|
16
7
|
logInitialConfig(config) {
|
|
17
|
-
const { model, apiBase } = this.getModelInfo();
|
|
18
8
|
console.log(`${PREFIX} === Plugin Initialization ===`);
|
|
19
9
|
console.log(`${PREFIX} Provider: ${constants_1.OPENAI_PROVIDER}`);
|
|
20
|
-
console.log(`${PREFIX} Model/Deployment: ${model}`);
|
|
21
|
-
console.log(`${PREFIX} API Base: ${apiBase}`);
|
|
22
10
|
console.log(`${PREFIX} Message History API Version: ${config.messageHistoryApiVersion}`);
|
|
23
11
|
console.log(`${PREFIX} Max Retries: ${config.maxRetries}`);
|
|
24
12
|
console.log(`${PREFIX} Timeout: ${config.timeout}ms`);
|
|
@@ -56,8 +44,10 @@ class EnabledDebugLogger {
|
|
|
56
44
|
}
|
|
57
45
|
console.log(`${PREFIX} === End Model Settings ===`);
|
|
58
46
|
}
|
|
59
|
-
logRunnerStart() {
|
|
47
|
+
logRunnerStart(model, modelSettings) {
|
|
60
48
|
console.log(`${PREFIX} === Runner Execution Start ===`);
|
|
49
|
+
console.log(`${PREFIX} Model: ${model}`);
|
|
50
|
+
console.log(`${PREFIX} Model Settings: ${JSON.stringify(modelSettings)}`);
|
|
61
51
|
}
|
|
62
52
|
logRunResult(runResult, startTime) {
|
|
63
53
|
const elapsedMs = Date.now() - startTime;
|
|
@@ -83,15 +73,23 @@ class EnabledDebugLogger {
|
|
|
83
73
|
console.log(`${PREFIX} Runner execution failed after ${elapsedMs}ms`);
|
|
84
74
|
console.log(`${PREFIX} Error:`, error);
|
|
85
75
|
}
|
|
76
|
+
logToolExecution(toolExecution) {
|
|
77
|
+
console.log(`${PREFIX} Tool Execution: ${toolExecution.toolName}`);
|
|
78
|
+
console.log(`${PREFIX} Tool Arguments: ${JSON.stringify(toolExecution.toolArguments)}`);
|
|
79
|
+
console.log(`${PREFIX} Tool Results: ${toolExecution.toolResults}`);
|
|
80
|
+
console.log(`${PREFIX} Knowledgebase Sources IDs: ${JSON.stringify(toolExecution.knowledgebaseSourcesIds)}`);
|
|
81
|
+
console.log(`${PREFIX} Knowledgebase Chunks IDs: ${JSON.stringify(toolExecution.knowledgebaseChunksIds)}`);
|
|
82
|
+
}
|
|
86
83
|
}
|
|
87
84
|
class DisabledDebugLogger {
|
|
88
85
|
logInitialConfig() { }
|
|
89
86
|
logAgentDebugInfo() { }
|
|
90
87
|
logModelSettings() { }
|
|
91
|
-
logRunnerStart() { }
|
|
88
|
+
logRunnerStart(_model, _modelSettings) { }
|
|
92
89
|
logRunResult() { }
|
|
93
90
|
logGuardrailTriggered() { }
|
|
94
91
|
logRunnerError() { }
|
|
92
|
+
logToolExecution() { }
|
|
95
93
|
}
|
|
96
94
|
function createDebugLogger(enableDebug) {
|
|
97
95
|
return enableDebug ? new EnabledDebugLogger() : new DisabledDebugLogger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/debug-logger.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/debug-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type InputGuardrail } from '@openai/agents';
|
|
2
|
+
import type { LLMConfig } from '../llm-config';
|
|
2
3
|
import type { GuardrailRule } from '../types';
|
|
3
|
-
export declare function createInputGuardrail(rules: GuardrailRule[]): InputGuardrail;
|
|
4
|
+
export declare function createInputGuardrail(rules: GuardrailRule[], llmConfig: LLMConfig): InputGuardrail;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createInputGuardrail = createInputGuardrail;
|
|
4
4
|
const agents_1 = require("@openai/agents");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
|
-
function createInputGuardrail(rules) {
|
|
6
|
+
function createInputGuardrail(rules, llmConfig) {
|
|
7
7
|
const outputType = zod_1.z.object(Object.fromEntries(rules.map(rule => [rule.name, zod_1.z.boolean().describe(rule.description)])));
|
|
8
8
|
const agent = new agents_1.Agent({
|
|
9
9
|
name: 'InputGuardrail',
|
|
@@ -14,7 +14,12 @@ function createInputGuardrail(rules) {
|
|
|
14
14
|
name: 'InputGuardrail',
|
|
15
15
|
execute: async ({ input, context }) => {
|
|
16
16
|
const lastMessage = input[input.length - 1];
|
|
17
|
-
const
|
|
17
|
+
const runner = new agents_1.Runner({
|
|
18
|
+
modelSettings: llmConfig.modelSettings,
|
|
19
|
+
modelProvider: llmConfig.modelProvider,
|
|
20
|
+
tracingDisabled: true,
|
|
21
|
+
});
|
|
22
|
+
const result = await runner.run(agent, [lastMessage], { context });
|
|
18
23
|
const finalOutput = result.finalOutput;
|
|
19
24
|
if (finalOutput === undefined) {
|
|
20
25
|
throw new Error('Guardrail agent failed to produce output');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAUA,oDA0CC;AApDD,2CAKuB;AACvB,6BAAuB;AAIvB,SAAgB,oBAAoB,CAClC,KAAsB,EACtB,SAAoB;IAEpB,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CACzB,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CACF,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC;QACtB,IAAI,EAAE,gBAAgB;QACtB,YAAY,EACV,8DAA8D;QAChE,UAAU;KACX,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAA;YAC9D,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;gBACxB,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAElE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAsC,CAAA;YACjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC7D,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;YAC1E,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CACjC,CAAA;YACD,OAAO;gBACL,UAAU,EAAE,mBAAmB;gBAC/B,iBAAiB,EAAE,SAAS;aAC7B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -16,8 +16,8 @@ export declare class HubtypeApiClient {
|
|
|
16
16
|
constructor(authToken: string);
|
|
17
17
|
retrieveSimilarChunks(query: string, sourceIds: string[]): Promise<Chunk[]>;
|
|
18
18
|
getLocalMessages(maxMemoryLength: number): Promise<AgenticInputMessage[]>;
|
|
19
|
-
getMessages(
|
|
20
|
-
getMessagesV2(
|
|
19
|
+
getMessages(botContext: BotContext, maxMemoryLength: number): Promise<AgenticInputMessage[]>;
|
|
20
|
+
getMessagesV2(botContext: BotContext, options?: GetMessagesV2Options): Promise<GetMessagesV2Result>;
|
|
21
21
|
private formatMessageV2;
|
|
22
22
|
private formatMessage;
|
|
23
23
|
}
|
|
@@ -41,14 +41,14 @@ class HubtypeApiClient {
|
|
|
41
41
|
.map(message => this.formatMessage(message));
|
|
42
42
|
return filteredMessages.slice(-maxMemoryLength);
|
|
43
43
|
}
|
|
44
|
-
async getMessages(
|
|
44
|
+
async getMessages(botContext, maxMemoryLength) {
|
|
45
45
|
const url = `${constants_1.HUBTYPE_API_URL}/external/v1/ai/agent/message_history/`;
|
|
46
46
|
const headers = {
|
|
47
47
|
'Content-Type': 'application/json',
|
|
48
48
|
Authorization: `Bearer ${this.authToken}`,
|
|
49
49
|
};
|
|
50
50
|
const params = {
|
|
51
|
-
last_message_id:
|
|
51
|
+
last_message_id: botContext.input.message_id,
|
|
52
52
|
num_messages: maxMemoryLength,
|
|
53
53
|
};
|
|
54
54
|
try {
|
|
@@ -64,14 +64,14 @@ class HubtypeApiClient {
|
|
|
64
64
|
throw new Error('Failed to get messages from Hubtype');
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
async getMessagesV2(
|
|
67
|
+
async getMessagesV2(botContext, options = {}) {
|
|
68
68
|
const url = `${constants_1.HUBTYPE_API_URL}/external/v2/ai/agent/message_history/`;
|
|
69
69
|
const headers = {
|
|
70
70
|
'Content-Type': 'application/json',
|
|
71
71
|
Authorization: `Bearer ${this.authToken}`,
|
|
72
72
|
};
|
|
73
73
|
const params = {
|
|
74
|
-
last_message_id:
|
|
74
|
+
last_message_id: botContext.input.message_id,
|
|
75
75
|
...(options.maxMessages !== undefined && {
|
|
76
76
|
max_messages: options.maxMessages,
|
|
77
77
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":";;;;AAEA,0DAAyB;AAEzB,2CAA6C;AAgF7C,MAAa,gBAAgB;IAG3B,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,KAAa,EACb,SAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,2BAAe,gDAAgD,CAAA;QAC9E,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C,CAAA;QACD,MAAM,MAAM,GAAG;YACb,KAAK;YACL,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,CAAC;SACd,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;YACzD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC,CAAA;QACH,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,eAAuB;QAEvB,MAAM,iBAAiB,GACrB,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,YAAY;YAC1D,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC;YACjD,CAAC,CAAC,IAAI,CAAA;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QACtC,MAAM,gBAAgB,GAAG,QAAQ;aAC9B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACpC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;YACtD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SAC3B,CAAC,CAAC;aACF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;QAC9C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,
|
|
1
|
+
{"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -5,11 +5,14 @@ export default class BotonicPluginAiAgents<TPlugins extends ResolvedPlugins = Re
|
|
|
5
5
|
private readonly messageHistoryApiVersion;
|
|
6
6
|
private readonly memory;
|
|
7
7
|
private readonly logger;
|
|
8
|
+
private readonly timeout;
|
|
9
|
+
private readonly maxRetries;
|
|
8
10
|
toolDefinitions: CustomTool<TPlugins, TExtraData>[];
|
|
9
11
|
constructor(options?: PluginAiAgentOptions<TPlugins, TExtraData>);
|
|
10
12
|
pre(): void;
|
|
11
|
-
getInference(
|
|
13
|
+
getInference(botContext: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs): Promise<InferenceResponse>;
|
|
12
14
|
private getMessages;
|
|
13
15
|
private buildTools;
|
|
14
16
|
}
|
|
17
|
+
export * from './bot-config-tools';
|
|
15
18
|
export * from './types';
|