@botonic/plugin-ai-agents 0.51.0 → 0.51.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/index.js +7 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/llm-config.d.ts +4 -2
- package/lib/cjs/llm-config.js +6 -4
- package/lib/cjs/llm-config.js.map +1 -1
- package/lib/esm/index.js +7 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/llm-config.d.ts +4 -2
- package/lib/esm/llm-config.js +6 -4
- package/lib/esm/llm-config.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +13 -4
- package/src/llm-config.ts +8 -4
package/lib/cjs/index.js
CHANGED
|
@@ -45,13 +45,14 @@ class BotonicPluginAiAgents {
|
|
|
45
45
|
if (!authToken) {
|
|
46
46
|
throw new Error('Auth token is required');
|
|
47
47
|
}
|
|
48
|
+
const reasoningEffort = aiAgentArgs.reasoningEffort;
|
|
48
49
|
const inferenceId = (0, uuid_1.v7)();
|
|
49
50
|
try {
|
|
50
51
|
if (aiAgentArgs.type === core_1.AiAgentType.Specialist) {
|
|
51
|
-
return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
52
|
+
return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort);
|
|
52
53
|
}
|
|
53
54
|
if (aiAgentArgs.type === core_1.AiAgentType.Router) {
|
|
54
|
-
return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
55
|
+
return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort);
|
|
55
56
|
}
|
|
56
57
|
throw new Error('Invalid agent type');
|
|
57
58
|
}
|
|
@@ -72,13 +73,14 @@ class BotonicPluginAiAgents {
|
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
76
|
+
async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort) {
|
|
76
77
|
const llmConfig = new llm_config_1.LLMConfig({
|
|
77
78
|
maxRetries: this.maxRetries,
|
|
78
79
|
timeout: this.timeout,
|
|
79
80
|
modelName: aiAgentArgs.model,
|
|
80
81
|
verbosity: aiAgentArgs.verbosity,
|
|
81
82
|
botContext,
|
|
83
|
+
reasoningEffort,
|
|
82
84
|
});
|
|
83
85
|
// Get LLM config, tools and agent
|
|
84
86
|
const { tools, agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
|
|
@@ -101,7 +103,7 @@ class BotonicPluginAiAgents {
|
|
|
101
103
|
const runner = new runners_1.SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
|
|
102
104
|
return await runner.run(messages, context);
|
|
103
105
|
}
|
|
104
|
-
async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
106
|
+
async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort) {
|
|
105
107
|
const { specialists, name, instructions } = aiAgentArgs;
|
|
106
108
|
const llmConfig = new llm_config_1.LLMConfig({
|
|
107
109
|
maxRetries: this.maxRetries,
|
|
@@ -109,6 +111,7 @@ class BotonicPluginAiAgents {
|
|
|
109
111
|
modelName: aiAgentArgs.model,
|
|
110
112
|
verbosity: aiAgentArgs.verbosity,
|
|
111
113
|
botContext,
|
|
114
|
+
reasoningEffort,
|
|
112
115
|
});
|
|
113
116
|
const specialistsAgents = await Promise.all(specialists.map(async (specialistData) => {
|
|
114
117
|
// If the forceToolNameOverride is set, we force this override for all specialists
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/llm-config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BotContext, ReasoningEffort, VerbosityLevel } from '@botonic/core';
|
|
2
2
|
import { type Model, type ModelProvider, type ModelSettings } from '@openai/agents';
|
|
3
3
|
import { type LLMProviderType } from './constants';
|
|
4
4
|
export interface LLMConfigParams {
|
|
@@ -7,6 +7,7 @@ export interface LLMConfigParams {
|
|
|
7
7
|
modelName: string;
|
|
8
8
|
verbosity: VerbosityLevel;
|
|
9
9
|
botContext: BotContext;
|
|
10
|
+
reasoningEffort?: ReasoningEffort;
|
|
10
11
|
}
|
|
11
12
|
export declare class LLMConfig {
|
|
12
13
|
private readonly maxRetries;
|
|
@@ -15,7 +16,8 @@ export declare class LLMConfig {
|
|
|
15
16
|
readonly modelName: string;
|
|
16
17
|
readonly modelSettings: ModelSettings;
|
|
17
18
|
readonly modelProvider: ModelProvider;
|
|
18
|
-
|
|
19
|
+
readonly reasoningEffort?: ReasoningEffort;
|
|
20
|
+
constructor({ maxRetries, timeout, modelName, verbosity, botContext, reasoningEffort, }: LLMConfigParams);
|
|
19
21
|
getModel(): Promise<Model>;
|
|
20
22
|
private getModelProvider;
|
|
21
23
|
getProviderName(): LLMProviderType;
|
package/lib/cjs/llm-config.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LLMConfig = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
5
6
|
const agents_1 = require("@openai/agents");
|
|
6
7
|
const openai_1 = tslib_1.__importStar(require("openai"));
|
|
7
8
|
const constants_1 = require("./constants");
|
|
8
9
|
class LLMConfig {
|
|
9
|
-
constructor({ maxRetries, timeout, modelName, verbosity, botContext, }) {
|
|
10
|
+
constructor({ maxRetries, timeout, modelName, verbosity, botContext, reasoningEffort, }) {
|
|
10
11
|
this.maxRetries = maxRetries;
|
|
11
12
|
this.timeout = timeout;
|
|
12
13
|
this.botContext = botContext;
|
|
@@ -14,6 +15,7 @@ class LLMConfig {
|
|
|
14
15
|
constants_1.LLM_PROVIDER === constants_1.LLM_PROVIDERS.OPENAI ? constants_1.LLM_OPENAI_MODEL : modelName;
|
|
15
16
|
this.modelProvider = this.getModelProvider();
|
|
16
17
|
this.modelSettings = this.getModelSettings(modelName, verbosity);
|
|
18
|
+
this.reasoningEffort = reasoningEffort;
|
|
17
19
|
}
|
|
18
20
|
async getModel() {
|
|
19
21
|
return await this.modelProvider.getModel(this.modelName);
|
|
@@ -90,7 +92,7 @@ class LLMConfig {
|
|
|
90
92
|
getModelSettings(model, verbosity) {
|
|
91
93
|
if (model.includes('gpt-5')) {
|
|
92
94
|
return {
|
|
93
|
-
reasoning: { effort:
|
|
95
|
+
reasoning: { effort: this.reasoningEffort ?? core_1.ReasoningEffort.Medium },
|
|
94
96
|
temperature: 1,
|
|
95
97
|
text: { verbosity },
|
|
96
98
|
};
|
|
@@ -98,12 +100,12 @@ class LLMConfig {
|
|
|
98
100
|
if (model.includes('gpt-4')) {
|
|
99
101
|
return {
|
|
100
102
|
temperature: 0,
|
|
101
|
-
text: { verbosity:
|
|
103
|
+
text: { verbosity: core_1.VerbosityLevel.Medium },
|
|
102
104
|
};
|
|
103
105
|
}
|
|
104
106
|
// LiteLLM can proxy any model — fall back to reasoning settings
|
|
105
107
|
return {
|
|
106
|
-
reasoning: { effort:
|
|
108
|
+
reasoning: { effort: core_1.ReasoningEffort.None },
|
|
107
109
|
temperature: 1,
|
|
108
110
|
text: { verbosity },
|
|
109
111
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -45,13 +45,14 @@ class BotonicPluginAiAgents {
|
|
|
45
45
|
if (!authToken) {
|
|
46
46
|
throw new Error('Auth token is required');
|
|
47
47
|
}
|
|
48
|
+
const reasoningEffort = aiAgentArgs.reasoningEffort;
|
|
48
49
|
const inferenceId = (0, uuid_1.v7)();
|
|
49
50
|
try {
|
|
50
51
|
if (aiAgentArgs.type === core_1.AiAgentType.Specialist) {
|
|
51
|
-
return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
52
|
+
return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort);
|
|
52
53
|
}
|
|
53
54
|
if (aiAgentArgs.type === core_1.AiAgentType.Router) {
|
|
54
|
-
return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
55
|
+
return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort);
|
|
55
56
|
}
|
|
56
57
|
throw new Error('Invalid agent type');
|
|
57
58
|
}
|
|
@@ -72,13 +73,14 @@ class BotonicPluginAiAgents {
|
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
76
|
+
async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort) {
|
|
76
77
|
const llmConfig = new llm_config_1.LLMConfig({
|
|
77
78
|
maxRetries: this.maxRetries,
|
|
78
79
|
timeout: this.timeout,
|
|
79
80
|
modelName: aiAgentArgs.model,
|
|
80
81
|
verbosity: aiAgentArgs.verbosity,
|
|
81
82
|
botContext,
|
|
83
|
+
reasoningEffort,
|
|
82
84
|
});
|
|
83
85
|
// Get LLM config, tools and agent
|
|
84
86
|
const { tools, agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
|
|
@@ -101,7 +103,7 @@ class BotonicPluginAiAgents {
|
|
|
101
103
|
const runner = new runners_1.SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
|
|
102
104
|
return await runner.run(messages, context);
|
|
103
105
|
}
|
|
104
|
-
async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
106
|
+
async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId, reasoningEffort) {
|
|
105
107
|
const { specialists, name, instructions } = aiAgentArgs;
|
|
106
108
|
const llmConfig = new llm_config_1.LLMConfig({
|
|
107
109
|
maxRetries: this.maxRetries,
|
|
@@ -109,6 +111,7 @@ class BotonicPluginAiAgents {
|
|
|
109
111
|
modelName: aiAgentArgs.model,
|
|
110
112
|
verbosity: aiAgentArgs.verbosity,
|
|
111
113
|
botContext,
|
|
114
|
+
reasoningEffort,
|
|
112
115
|
});
|
|
113
116
|
const specialistsAgents = await Promise.all(specialists.map(async (specialistData) => {
|
|
114
117
|
// If the forceToolNameOverride is set, we force this override for all specialists
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wCAUsB;AACtB,2CAAkE;AAClE,+BAAmC;AAEnC,qCAAuD;AACvD,2CAKoB;AACpB,iDAAoE;AACpE,6CAAwC;AACxC,uCAA0D;AAC1D,sEAAgE;AAWhE,MAAqB,qBAAqB;IAaxC,YAAY,OAAoD;QAHzD,oBAAe,GAAuC,EAAE,CAAA;QAI7D,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,sCAA0B,CAAA;QAC7D,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,+BAAmB,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAA,gCAAiB,EAAC,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC,CAAA;QAC9D,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,cAAc,CAAA;QACjE,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAA;QAExB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC3B,wBAAwB,EAAE,IAAI;YAC9B,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,+BAAmB;YACtD,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,sCAA0B;YACvD,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CAAC,MAA+B;QACtD,OAAO;YACL,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,6BAAiB;YACrD,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI;YAClD,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,IAAI,CAAC;YACnD,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK;SACtC,CAAA;IACH,CAAC;IAED,GAAG;QACD,OAAM;IACR,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAA4C,EAC5C,WAAwB;QAExB,MAAM,SAAS,GAAG,kBAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAC5E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC3C,CAAC;QAED,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAA;QAEnD,MAAM,WAAW,GAAG,IAAA,SAAM,GAAE,CAAA;QAE5B,IAAI,CAAC;YACH,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAW,CAAC,UAAU,EAAE,CAAC;gBAChD,OAAO,MAAM,IAAI,CAAC,wBAAwB,CACxC,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,CAChB,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAW,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO,MAAM,IAAI,CAAC,oBAAoB,CACpC,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,CAChB,CAAA;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;YACtD,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,CAAC;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;gBACX,wBAAwB,EAAE,EAAE;gBAC5B,yBAAyB,EAAE,EAAE;gBAC7B,iBAAiB,EAAE,EAAE;gBACrB,aAAa,EAAE,EAAE;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,yBAAyB,EAAE,KAAK;aACjC,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,UAA4C,EAC5C,WAAkC,EAClC,SAAiB,EACjB,WAAmB,EACnB,eAAiC;QAEjC,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,WAAW,CAAC,KAAK;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,UAAU;YACV,eAAe;SAChB,CAAC,CAAA;QAEF,kCAAkC;QAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAC5D,UAAU,EACV,WAAW,EACX,WAAW,CAAC,qBAAqB,IAAI,EAAE,EACvC,SAAS,EACT,WAAW,EACX,SAAS,CACV,CAAA;QAED,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,UAAU,EACV,SAAS,EACT,WAAW,CAAC,uBAAuB,IAAI,EAAE,CAC1C,CAAA;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAkC;YAC7C,SAAS;YACT,aAAa,EAAE;gBACb,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,EAAE;aACf;YACD,OAAO,EAAE,UAAU;SACpB,CAAA;QAED,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC3B,WAAW,EACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACtB,QAAQ,CACT,CAAA;QAED,YAAY;QACZ,MAAM,MAAM,GAAG,IAAI,0BAAgB,CACjC,KAAK,EACL,SAAS,EACT,WAAW,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,UAA4C,EAC5C,WAA8B,EAC9B,SAAiB,EACjB,WAAmB,EACnB,eAAiC;QAEjC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,WAAW,CAAA;QAEvD,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,WAAW,CAAC,KAAK;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,UAAU;YACV,eAAe;SAChB,CAAC,CAAA;QAEF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,cAAc,EAAC,EAAE;YACrC,kFAAkF;YAClF,MAAM,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAA;YAC/D,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,cAAc;gBACjB,qBAAqB;aACtB,CAAA;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CACrD,UAAU,EACV,qBAAqB,EACrB,WAAW,CAAC,qBAAqB,IAAI,EAAE,EACvC,SAAS,EACT,WAAW,EACX,SAAS,CACV,CAAA;YAED,OAAO,IAAA,gBAAO,EAAC,KAAK,EAAE;gBACpB,gBAAgB,EAAE,cAAc,CAAC,IAAI;gBACrC,uBAAuB,EAAE,cAAc,CAAC,WAAW;aACpD,CAAC,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,oBAAW,CAAC,MAAM,CAAuB;YAC5D,IAAI;YACJ,YAAY;YACZ,SAAS;YACT,QAAQ,EAAE,iBAAiB;YAC3B,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,IAAI,EAAE;YAC1D,qBAAqB,EAAE,WAAW,CAAC,qBAAqB,IAAI,EAAE;YAC9D,wBAAwB,EAAE;gBACxB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAChC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,mBAAmB;gBAC9C,SAAS;gBACT,WAAW;aACZ;SACF,CAAC,CAAA;QAEF,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,UAAU,EACV,SAAS,EACT,WAAW,CAAC,uBAAuB,IAAI,EAAE,CAC1C,CAAA;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAkC;YAC7C,SAAS;YACT,aAAa,EAAE;gBACb,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,EAAE;aACf;YACD,OAAO,EAAE,UAAU;SACpB,CAAA;QAED,YAAY;QACZ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAI,sBAAY,CAC7B,WAAW,EACX,SAAS,EACT,WAAW,EACX,IAAI,CAAC,MAAM,CACZ,CAAA;QAED,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,UAAsB,EACtB,WAAwB,EACxB,qBAAuC,EACvC,SAAiB,EACjB,WAAmB,EACnB,SAAoB;QAEpB,cAAc;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAE1C,cAAc;QACd,MAAM,SAAS,GACb,WAAW,CAAC,IAAI,KAAK,kBAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QAE1E,MAAM,UAAU,GAAG,MAAM,wBAAe,CAAC,MAAM,CAAuB;YACpE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE;YACvD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,IAAI,EAAE;YAC1D,SAAS;YACT,qBAAqB,EAAE,qBAAqB,IAAI,EAAE;YAClD,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY;YACxD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS;YACT,wBAAwB,EAAE;gBACxB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAChC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,mBAAmB;gBAC9C,SAAS;gBACT,WAAW;aACZ;YACD,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;SACzD,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA;QAE7C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAA;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,UAAsB,EACtB,SAAiB,EACjB,uBAAkD;QAElD,MAAM,aAAa,GAAG,IAAI,qCAAgB,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,CAAC,kBAAM,EAAE,CAAC;YACZ,OAAO,MAAM,aAAa,CAAC,gBAAgB,CACzC,6BAAiB,EACjB,uBAAuB,EACvB,IAAI,CAAC,eAAe,CACrB,CAAA;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAC9C,UAAU,EACV,IAAI,CAAC,MAAM,EACX,uBAAuB,CACxB,CAAA;QACD,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEO,UAAU,CAAC,WAAwB;QACzC,MAAM,WAAW,GACf,WAAW,CAAC,IAAI,KAAK,kBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAA;QACxE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACxD,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACpC,CAAA;QACD,OAAO,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YACzC,OAAO,IAAA,aAAI,EAA0C;gBACnD,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,UAAU,EAAE,cAAc,CAAC,MAAM;gBACjC,OAAO,EAAE,cAAc,CAAC,IAAI;aAC7B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAtUD,wCAsUC;AAED,6DAAkC;AAClC,kDAAuB"}
|
package/lib/esm/llm-config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BotContext, ReasoningEffort, VerbosityLevel } from '@botonic/core';
|
|
2
2
|
import { type Model, type ModelProvider, type ModelSettings } from '@openai/agents';
|
|
3
3
|
import { type LLMProviderType } from './constants';
|
|
4
4
|
export interface LLMConfigParams {
|
|
@@ -7,6 +7,7 @@ export interface LLMConfigParams {
|
|
|
7
7
|
modelName: string;
|
|
8
8
|
verbosity: VerbosityLevel;
|
|
9
9
|
botContext: BotContext;
|
|
10
|
+
reasoningEffort?: ReasoningEffort;
|
|
10
11
|
}
|
|
11
12
|
export declare class LLMConfig {
|
|
12
13
|
private readonly maxRetries;
|
|
@@ -15,7 +16,8 @@ export declare class LLMConfig {
|
|
|
15
16
|
readonly modelName: string;
|
|
16
17
|
readonly modelSettings: ModelSettings;
|
|
17
18
|
readonly modelProvider: ModelProvider;
|
|
18
|
-
|
|
19
|
+
readonly reasoningEffort?: ReasoningEffort;
|
|
20
|
+
constructor({ maxRetries, timeout, modelName, verbosity, botContext, reasoningEffort, }: LLMConfigParams);
|
|
19
21
|
getModel(): Promise<Model>;
|
|
20
22
|
private getModelProvider;
|
|
21
23
|
getProviderName(): LLMProviderType;
|
package/lib/esm/llm-config.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LLMConfig = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
5
6
|
const agents_1 = require("@openai/agents");
|
|
6
7
|
const openai_1 = tslib_1.__importStar(require("openai"));
|
|
7
8
|
const constants_1 = require("./constants");
|
|
8
9
|
class LLMConfig {
|
|
9
|
-
constructor({ maxRetries, timeout, modelName, verbosity, botContext, }) {
|
|
10
|
+
constructor({ maxRetries, timeout, modelName, verbosity, botContext, reasoningEffort, }) {
|
|
10
11
|
this.maxRetries = maxRetries;
|
|
11
12
|
this.timeout = timeout;
|
|
12
13
|
this.botContext = botContext;
|
|
@@ -14,6 +15,7 @@ class LLMConfig {
|
|
|
14
15
|
constants_1.LLM_PROVIDER === constants_1.LLM_PROVIDERS.OPENAI ? constants_1.LLM_OPENAI_MODEL : modelName;
|
|
15
16
|
this.modelProvider = this.getModelProvider();
|
|
16
17
|
this.modelSettings = this.getModelSettings(modelName, verbosity);
|
|
18
|
+
this.reasoningEffort = reasoningEffort;
|
|
17
19
|
}
|
|
18
20
|
async getModel() {
|
|
19
21
|
return await this.modelProvider.getModel(this.modelName);
|
|
@@ -90,7 +92,7 @@ class LLMConfig {
|
|
|
90
92
|
getModelSettings(model, verbosity) {
|
|
91
93
|
if (model.includes('gpt-5')) {
|
|
92
94
|
return {
|
|
93
|
-
reasoning: { effort:
|
|
95
|
+
reasoning: { effort: this.reasoningEffort ?? core_1.ReasoningEffort.Medium },
|
|
94
96
|
temperature: 1,
|
|
95
97
|
text: { verbosity },
|
|
96
98
|
};
|
|
@@ -98,12 +100,12 @@ class LLMConfig {
|
|
|
98
100
|
if (model.includes('gpt-4')) {
|
|
99
101
|
return {
|
|
100
102
|
temperature: 0,
|
|
101
|
-
text: { verbosity:
|
|
103
|
+
text: { verbosity: core_1.VerbosityLevel.Medium },
|
|
102
104
|
};
|
|
103
105
|
}
|
|
104
106
|
// LiteLLM can proxy any model — fall back to reasoning settings
|
|
105
107
|
return {
|
|
106
|
-
reasoning: { effort:
|
|
108
|
+
reasoning: { effort: core_1.ReasoningEffort.None },
|
|
107
109
|
temperature: 1,
|
|
108
110
|
text: { verbosity },
|
|
109
111
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-ai-agents",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.1",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use AI Agents to generate your contents",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"format": "biome format --write src/ tests/"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@botonic/core": "^0.51.
|
|
17
|
+
"@botonic/core": "^0.51.1",
|
|
18
18
|
"@openai/agents": "^0.10.1",
|
|
19
19
|
"axios": "^1.15.2",
|
|
20
20
|
"openai": "^6.36.0",
|
package/src/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
type BotContext,
|
|
7
7
|
type HubtypeAssistantMessage,
|
|
8
8
|
type Plugin,
|
|
9
|
+
type ReasoningEffort,
|
|
9
10
|
type ResolvedPlugins,
|
|
10
11
|
} from '@botonic/core'
|
|
11
12
|
import { handoff, setTracingDisabled, tool } from '@openai/agents'
|
|
@@ -86,6 +87,8 @@ export default class BotonicPluginAiAgents<
|
|
|
86
87
|
throw new Error('Auth token is required')
|
|
87
88
|
}
|
|
88
89
|
|
|
90
|
+
const reasoningEffort = aiAgentArgs.reasoningEffort
|
|
91
|
+
|
|
89
92
|
const inferenceId = uuidv7()
|
|
90
93
|
|
|
91
94
|
try {
|
|
@@ -94,7 +97,8 @@ export default class BotonicPluginAiAgents<
|
|
|
94
97
|
botContext,
|
|
95
98
|
aiAgentArgs,
|
|
96
99
|
authToken,
|
|
97
|
-
inferenceId
|
|
100
|
+
inferenceId,
|
|
101
|
+
reasoningEffort
|
|
98
102
|
)
|
|
99
103
|
}
|
|
100
104
|
|
|
@@ -103,7 +107,8 @@ export default class BotonicPluginAiAgents<
|
|
|
103
107
|
botContext,
|
|
104
108
|
aiAgentArgs,
|
|
105
109
|
authToken,
|
|
106
|
-
inferenceId
|
|
110
|
+
inferenceId,
|
|
111
|
+
reasoningEffort
|
|
107
112
|
)
|
|
108
113
|
}
|
|
109
114
|
|
|
@@ -130,7 +135,8 @@ export default class BotonicPluginAiAgents<
|
|
|
130
135
|
botContext: BotContext<TPlugins, TExtraData>,
|
|
131
136
|
aiAgentArgs: AiAgentSpecialistArgs,
|
|
132
137
|
authToken: string,
|
|
133
|
-
inferenceId: string
|
|
138
|
+
inferenceId: string,
|
|
139
|
+
reasoningEffort?: ReasoningEffort
|
|
134
140
|
) {
|
|
135
141
|
const llmConfig = new LLMConfig({
|
|
136
142
|
maxRetries: this.maxRetries,
|
|
@@ -138,6 +144,7 @@ export default class BotonicPluginAiAgents<
|
|
|
138
144
|
modelName: aiAgentArgs.model,
|
|
139
145
|
verbosity: aiAgentArgs.verbosity,
|
|
140
146
|
botContext,
|
|
147
|
+
reasoningEffort,
|
|
141
148
|
})
|
|
142
149
|
|
|
143
150
|
// Get LLM config, tools and agent
|
|
@@ -190,7 +197,8 @@ export default class BotonicPluginAiAgents<
|
|
|
190
197
|
botContext: BotContext<TPlugins, TExtraData>,
|
|
191
198
|
aiAgentArgs: AIAgentRouterArgs,
|
|
192
199
|
authToken: string,
|
|
193
|
-
inferenceId: string
|
|
200
|
+
inferenceId: string,
|
|
201
|
+
reasoningEffort?: ReasoningEffort
|
|
194
202
|
) {
|
|
195
203
|
const { specialists, name, instructions } = aiAgentArgs
|
|
196
204
|
|
|
@@ -200,6 +208,7 @@ export default class BotonicPluginAiAgents<
|
|
|
200
208
|
modelName: aiAgentArgs.model,
|
|
201
209
|
verbosity: aiAgentArgs.verbosity,
|
|
202
210
|
botContext,
|
|
211
|
+
reasoningEffort,
|
|
203
212
|
})
|
|
204
213
|
|
|
205
214
|
const specialistsAgents = await Promise.all(
|
package/src/llm-config.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type BotContext, ReasoningEffort, VerbosityLevel } from '@botonic/core'
|
|
2
2
|
import {
|
|
3
3
|
type Model,
|
|
4
4
|
type ModelProvider,
|
|
@@ -24,6 +24,7 @@ export interface LLMConfigParams {
|
|
|
24
24
|
modelName: string
|
|
25
25
|
verbosity: VerbosityLevel
|
|
26
26
|
botContext: BotContext
|
|
27
|
+
reasoningEffort?: ReasoningEffort
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export class LLMConfig {
|
|
@@ -33,6 +34,7 @@ export class LLMConfig {
|
|
|
33
34
|
public readonly modelName: string
|
|
34
35
|
public readonly modelSettings: ModelSettings
|
|
35
36
|
public readonly modelProvider: ModelProvider
|
|
37
|
+
public readonly reasoningEffort?: ReasoningEffort
|
|
36
38
|
|
|
37
39
|
constructor({
|
|
38
40
|
maxRetries,
|
|
@@ -40,6 +42,7 @@ export class LLMConfig {
|
|
|
40
42
|
modelName,
|
|
41
43
|
verbosity,
|
|
42
44
|
botContext,
|
|
45
|
+
reasoningEffort,
|
|
43
46
|
}: LLMConfigParams) {
|
|
44
47
|
this.maxRetries = maxRetries
|
|
45
48
|
this.timeout = timeout
|
|
@@ -48,6 +51,7 @@ export class LLMConfig {
|
|
|
48
51
|
LLM_PROVIDER === LLM_PROVIDERS.OPENAI ? LLM_OPENAI_MODEL : modelName
|
|
49
52
|
this.modelProvider = this.getModelProvider()
|
|
50
53
|
this.modelSettings = this.getModelSettings(modelName, verbosity)
|
|
54
|
+
this.reasoningEffort = reasoningEffort
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
async getModel(): Promise<Model> {
|
|
@@ -141,7 +145,7 @@ export class LLMConfig {
|
|
|
141
145
|
): ModelSettings {
|
|
142
146
|
if (model.includes('gpt-5')) {
|
|
143
147
|
return {
|
|
144
|
-
reasoning: { effort:
|
|
148
|
+
reasoning: { effort: this.reasoningEffort ?? ReasoningEffort.Medium },
|
|
145
149
|
temperature: 1,
|
|
146
150
|
text: { verbosity },
|
|
147
151
|
}
|
|
@@ -150,13 +154,13 @@ export class LLMConfig {
|
|
|
150
154
|
if (model.includes('gpt-4')) {
|
|
151
155
|
return {
|
|
152
156
|
temperature: 0,
|
|
153
|
-
text: { verbosity:
|
|
157
|
+
text: { verbosity: VerbosityLevel.Medium },
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
|
|
157
161
|
// LiteLLM can proxy any model — fall back to reasoning settings
|
|
158
162
|
return {
|
|
159
|
-
reasoning: { effort:
|
|
163
|
+
reasoning: { effort: ReasoningEffort.None },
|
|
160
164
|
temperature: 1,
|
|
161
165
|
text: { verbosity },
|
|
162
166
|
}
|