@botonic/plugin-ai-agents 0.49.0-alpha.1 → 0.49.0-alpha.3
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/agents/specialist-agent.js +1 -2
- package/lib/cjs/agents/specialist-agent.js.map +1 -1
- package/lib/cjs/constants.d.ts +9 -3
- package/lib/cjs/constants.js +11 -6
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/debug-logger.js +8 -2
- package/lib/cjs/debug-logger.js.map +1 -1
- package/lib/cjs/guardrails/input.d.ts +1 -1
- package/lib/cjs/guardrails/input.js +1 -3
- package/lib/cjs/guardrails/input.js.map +1 -1
- package/lib/cjs/index.d.ts +2 -2
- package/lib/cjs/index.js +11 -11
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/llm-config.d.ts +9 -4
- package/lib/cjs/llm-config.js +43 -25
- package/lib/cjs/llm-config.js.map +1 -1
- package/lib/cjs/runners/base-runner.d.ts +6 -2
- package/lib/cjs/runners/base-runner.js +69 -5
- package/lib/cjs/runners/base-runner.js.map +1 -1
- package/lib/cjs/runners/index.d.ts +1 -1
- package/lib/cjs/runners/index.js +2 -2
- package/lib/cjs/runners/index.js.map +1 -1
- package/lib/cjs/runners/specialist-runner.d.ts +2 -8
- package/lib/cjs/runners/specialist-runner.js +0 -70
- package/lib/cjs/runners/specialist-runner.js.map +1 -1
- package/lib/cjs/services/types.d.ts +1 -1
- package/lib/esm/agents/specialist-agent.js +1 -2
- package/lib/esm/agents/specialist-agent.js.map +1 -1
- package/lib/esm/constants.d.ts +9 -3
- package/lib/esm/constants.js +11 -6
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/debug-logger.js +8 -2
- package/lib/esm/debug-logger.js.map +1 -1
- package/lib/esm/guardrails/input.d.ts +1 -1
- package/lib/esm/guardrails/input.js +1 -3
- package/lib/esm/guardrails/input.js.map +1 -1
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +11 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/llm-config.d.ts +9 -4
- package/lib/esm/llm-config.js +43 -25
- package/lib/esm/llm-config.js.map +1 -1
- package/lib/esm/runners/base-runner.d.ts +6 -2
- package/lib/esm/runners/base-runner.js +69 -5
- package/lib/esm/runners/base-runner.js.map +1 -1
- package/lib/esm/runners/index.d.ts +1 -1
- package/lib/esm/runners/index.js +2 -2
- package/lib/esm/runners/index.js.map +1 -1
- package/lib/esm/runners/specialist-runner.d.ts +2 -8
- package/lib/esm/runners/specialist-runner.js +0 -70
- package/lib/esm/runners/specialist-runner.js.map +1 -1
- package/lib/esm/services/types.d.ts +1 -1
- package/package.json +2 -2
- package/src/agents/specialist-agent.ts +1 -2
- package/src/constants.ts +12 -7
- package/src/debug-logger.ts +8 -2
- package/src/guardrails/input.ts +2 -3
- package/src/index.ts +15 -12
- package/src/llm-config.ts +56 -30
- package/src/runners/base-runner.ts +107 -8
- package/src/runners/index.ts +1 -1
- package/src/runners/specialist-runner.ts +3 -108
- package/src/services/types.ts +1 -1
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SpecialistAgent = void 0;
|
|
4
4
|
const agents_1 = require("@openai/agents");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
5
|
const tools_1 = require("../tools");
|
|
7
6
|
const base_agent_1 = require("./base-agent");
|
|
8
7
|
class SpecialistAgent extends base_agent_1.BaseAgent {
|
|
@@ -27,7 +26,7 @@ class SpecialistAgent extends base_agent_1.BaseAgent {
|
|
|
27
26
|
const modelSettings = specialistAgent.getSpecialistModelSettings(hasRetrieveKnowledge);
|
|
28
27
|
const inputGuardrails = await specialistAgent.getInputGuardrails();
|
|
29
28
|
specialistAgent.logger.logModelSettings({
|
|
30
|
-
provider:
|
|
29
|
+
provider: specialistAgent.llmConfig.getProviderName(),
|
|
31
30
|
model,
|
|
32
31
|
reasoning: modelSettings.reasoning,
|
|
33
32
|
text: modelSettings.text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specialist-agent.js","sourceRoot":"","sources":["../../../src/agents/specialist-agent.ts"],"names":[],"mappings":";;;AACA,2CAAgF;
|
|
1
|
+
{"version":3,"file":"specialist-agent.js","sourceRoot":"","sources":["../../../src/agents/specialist-agent.ts"],"names":[],"mappings":";;;AACA,2CAAgF;AAMhF,oCAIiB;AAEjB,6CAAwC;AAmBxC,MAAa,eAGX,SAAQ,sBAAS;IAKjB,YAAoB,OAAqD;QACvE,KAAK,CAAC;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;SAC3D,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC3C,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,CACzB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAIjB,OAAqD;QAErD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAuB,OAAO,CAAC,CAAA;QAC1E,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,SAAS,CAAA;QACjD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAA;QACtD,MAAM,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CACrD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oCAA4B,CACnD,CAAA;QACD,MAAM,aAAa,GACjB,eAAe,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAA;QAClE,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,kBAAkB,EAAE,CAAA;QAElE,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACtC,QAAQ,EAAE,eAAe,CAAC,SAAS,CAAC,eAAe,EAAE;YACrD,KAAK;YACL,SAAS,EAAE,aAAa,CAAC,SAA2C;YACpE,IAAI,EAAE,aAAa,CAAC,IAAyC;YAC7D,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,oBAAoB;SACrB,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,cAAK,CAGrB;YACA,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,KAAK,EAAE,aAAa;YACpB,aAAa;YACb,YAAY,EAAE,eAAe,CAAC,YAAY;YAC1C,KAAK,EAAE,eAAe,CAAC,KAAK;YAC5B,UAAU,EAAE,eAAe,CAAC,aAAa,EAAE;YAC3C,eAAe;YACf,gBAAgB,EAAE,EAAE;SACrB,CAAC,CAAA;QAEF,eAAe,CAAC,KAAK,GAAG,KAAK,CAAA;QAC7B,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAEO,0BAA0B,CAChC,oBAA6B;QAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAClD,IAAI,oBAAoB,EAAE,CAAC;YACzB,aAAa,CAAC,UAAU,GAAG,oCAA4B,CAAA;QACzD,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,oBAAoB,CAC1B,mBAA2B,EAC3B,WAA0B,EAC1B,gBAA+B;QAE/B,MAAM,YAAY,GAAG,mBAAmB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAA;QACrF,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC3D,MAAM,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,qBAAqB,CAC/B,GAAG,YAAY,OAAO,oBAAoB,OAAO,uBAAuB,OAAO,oBAAoB,EAAE,CACtG,CAAA;IACH,CAAC;IAEO,0BAA0B,CAAC,WAA0B;QAC3D,MAAM,qBAAqB,GAAG,WAAW;aACtC,GAAG,CACF,IAAI,CAAC,EAAE,CACL;sBACY,IAAI,CAAC,IAAI;uBACR,IAAI,CAAC,KAAK;sBACX,IAAI,CAAC,IAAI;gBAEf,IAAI,CAAC,WAAW;YACd,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,gBAAgB;YAClD,CAAC,CAAC,EACN;4BACc,CACrB;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,OAAO,0BAA0B,qBAAqB,wBAAwB,CAAA;IAChF,CAAC;IAEO,uBAAuB;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAC5D,OAAO,eAAe,QAAQ,eAAe,CAAA;IAC/C,CAAC;IAEO,uBAAuB,CAAC,gBAA+B;QAC7D,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAClD,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CACnC,CAAA;QACD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,oBAAoB;aACxB,GAAG,CACF,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,qBAAqB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,wBAAwB,KAAK,GAAG,CAAC,GAAG,CACjG;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAEO,eAAe,CACrB,KAAmC,EACnC,SAAmB;QAEnB,MAAM,YAAY,GAAW,CAAC,GAAG,sBAAc,CAAC,CAAA;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,IAAA,+BAAuB,EAAC,SAAS,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;CACF;AArJD,0CAqJC"}
|
package/lib/cjs/constants.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export declare const HUBTYPE_API_URL: string;
|
|
2
|
-
export declare const OPENAI_API_KEY: string | undefined;
|
|
3
|
-
export declare const OPENAI_MODEL: string;
|
|
4
|
-
export declare const OPENAI_PROVIDER: 'openai' | 'azure';
|
|
5
2
|
export declare const AZURE_OPENAI_API_KEY: string | undefined;
|
|
6
3
|
export declare const AZURE_OPENAI_API_BASE: string | undefined;
|
|
7
4
|
export declare const AZURE_OPENAI_API_VERSION: string;
|
|
@@ -9,3 +6,12 @@ export declare const isProd: boolean;
|
|
|
9
6
|
export declare const MAX_MEMORY_LENGTH = 25;
|
|
10
7
|
export declare const DEFAULT_TIMEOUT_16_SECONDS = 16000;
|
|
11
8
|
export declare const DEFAULT_MAX_RETRIES = 2;
|
|
9
|
+
export declare const LLM_PROVIDERS: {
|
|
10
|
+
readonly LITELLM: "litellm";
|
|
11
|
+
readonly AZURE: "azure";
|
|
12
|
+
};
|
|
13
|
+
export declare const LITELLM_TAG_KEYS: {
|
|
14
|
+
readonly BOT_ID: "bot_id";
|
|
15
|
+
readonly ORG_ID: "org_id";
|
|
16
|
+
readonly SEPARATOR: ",";
|
|
17
|
+
};
|
package/lib/cjs/constants.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.LITELLM_TAG_KEYS = exports.LLM_PROVIDERS = 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.HUBTYPE_API_URL = void 0;
|
|
4
4
|
exports.HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
5
|
-
// OpenAI
|
|
6
|
-
exports.OPENAI_API_KEY = process.env.OPENAI_API_KEY; // pragma: allowlist secret
|
|
7
|
-
exports.OPENAI_MODEL = process.env.OPENAI_MODEL || 'gpt-4.1-mini';
|
|
8
|
-
exports.OPENAI_PROVIDER = process.env.OPENAI_PROVIDER || 'azure';
|
|
9
|
-
// Azure OpenAI Configuration
|
|
5
|
+
// Azure OpenAI Configuration (used as local-dev fallback; production values come from BotSettings/BotSecrets)
|
|
10
6
|
exports.AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
|
|
11
7
|
exports.AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
|
|
12
8
|
exports.AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION || '2025-01-01-preview';
|
|
@@ -14,4 +10,13 @@ exports.isProd = process.env.NODE_ENV === 'production';
|
|
|
14
10
|
exports.MAX_MEMORY_LENGTH = 25;
|
|
15
11
|
exports.DEFAULT_TIMEOUT_16_SECONDS = 16000;
|
|
16
12
|
exports.DEFAULT_MAX_RETRIES = 2;
|
|
13
|
+
exports.LLM_PROVIDERS = {
|
|
14
|
+
LITELLM: 'litellm',
|
|
15
|
+
AZURE: 'azure',
|
|
16
|
+
};
|
|
17
|
+
exports.LITELLM_TAG_KEYS = {
|
|
18
|
+
BOT_ID: 'bot_id',
|
|
19
|
+
ORG_ID: 'org_id',
|
|
20
|
+
SEPARATOR: ',',
|
|
21
|
+
};
|
|
17
22
|
//# sourceMappingURL=constants.js.map
|
package/lib/cjs/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,
|
|
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,8GAA8G;AACjG,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;AAEvB,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAA;AAEG,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,GAAG;CACN,CAAA"}
|
package/lib/cjs/debug-logger.js
CHANGED
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createDebugLogger = createDebugLogger;
|
|
4
4
|
const core_1 = require("@botonic/core");
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
5
|
const PREFIX = '[BotonicPluginAiAgents]';
|
|
7
6
|
class EnabledDebugLogger {
|
|
8
7
|
logInitialConfig(config) {
|
|
9
8
|
console.log(`${PREFIX} === Plugin Initialization ===`);
|
|
10
|
-
console.log(`${PREFIX} Provider: ${constants_1.OPENAI_PROVIDER}`);
|
|
11
9
|
console.log(`${PREFIX} Message History API Version: ${config.messageHistoryApiVersion}`);
|
|
12
10
|
console.log(`${PREFIX} Max Retries: ${config.maxRetries}`);
|
|
13
11
|
console.log(`${PREFIX} Timeout: ${config.timeout}ms`);
|
|
@@ -85,13 +83,21 @@ class EnabledDebugLogger {
|
|
|
85
83
|
}
|
|
86
84
|
}
|
|
87
85
|
class DisabledDebugLogger {
|
|
86
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
88
87
|
logInitialConfig() { }
|
|
88
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
89
89
|
logAgentDebugInfo() { }
|
|
90
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
90
91
|
logModelSettings() { }
|
|
92
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
91
93
|
logRunnerStart(_model, _modelSettings) { }
|
|
94
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
92
95
|
logRunResult() { }
|
|
96
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
93
97
|
logGuardrailTriggered() { }
|
|
98
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
94
99
|
logRunnerError() { }
|
|
100
|
+
// biome-ignore lint/suspicious/noEmptyBlockStatements: intentional no-op implementation
|
|
95
101
|
logToolExecution() { }
|
|
96
102
|
}
|
|
97
103
|
function createDebugLogger(enableDebug) {
|
|
@@ -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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"}
|
|
@@ -4,7 +4,6 @@ exports.createInputGuardrails = createInputGuardrails;
|
|
|
4
4
|
const agents_1 = require("@openai/agents");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
|
-
const llm_config_1 = require("../llm-config");
|
|
8
7
|
const hubtype_api_client_1 = require("../services/hubtype-api-client");
|
|
9
8
|
const types_1 = require("../services/types");
|
|
10
9
|
async function createInputGuardrails(rules, llmConfig, trackingContext) {
|
|
@@ -71,7 +70,6 @@ async function sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, s
|
|
|
71
70
|
const totalDuration = endTime - startTime;
|
|
72
71
|
const durationPerCall = Math.round(totalDuration / rawResponses.length);
|
|
73
72
|
const temperature = llmConfig.modelSettings.temperature ?? 0;
|
|
74
|
-
const apiVersion = (0, llm_config_1.getApiVersion)();
|
|
75
73
|
const llmRuns = rawResponses.map(response => ({
|
|
76
74
|
inference_id: trackingContext.inferenceId,
|
|
77
75
|
is_test: trackingContext.isTest,
|
|
@@ -80,7 +78,7 @@ async function sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, s
|
|
|
80
78
|
model_name: response.providerData?.model ??
|
|
81
79
|
llmConfig.modelName,
|
|
82
80
|
feature: types_1.TrackFeature.AI_AGENT_GUARDRAIL,
|
|
83
|
-
api_version:
|
|
81
|
+
api_version: llmConfig.getApiVersion(),
|
|
84
82
|
num_prompt_tokens: response.usage.inputTokens,
|
|
85
83
|
num_completion_tokens: response.usage.outputTokens,
|
|
86
84
|
duration_in_milliseconds: durationPerCall,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAqBA,sDAUC;AA/BD,2CAMuB;AACvB,6BAAuB;AACvB,4CAAqC;
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ export default class BotonicPluginAiAgents<TPlugins extends ResolvedPlugins = Re
|
|
|
12
12
|
private getMemoryOptions;
|
|
13
13
|
pre(): void;
|
|
14
14
|
getInference(botContext: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs): Promise<InferenceResponse>;
|
|
15
|
-
private
|
|
15
|
+
private executeSpecialistAIAgent;
|
|
16
16
|
private executeRouterAIAgent;
|
|
17
|
-
private
|
|
17
|
+
private getSpecialistAgentAndTools;
|
|
18
18
|
private getMessages;
|
|
19
19
|
private buildTools;
|
|
20
20
|
}
|
package/lib/cjs/index.js
CHANGED
|
@@ -48,7 +48,7 @@ class BotonicPluginAiAgents {
|
|
|
48
48
|
const inferenceId = (0, uuid_1.v7)();
|
|
49
49
|
try {
|
|
50
50
|
if (aiAgentArgs.type === core_1.AiAgentType.Specialist) {
|
|
51
|
-
return await this.
|
|
51
|
+
return await this.executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
52
52
|
}
|
|
53
53
|
if (aiAgentArgs.type === core_1.AiAgentType.Router) {
|
|
54
54
|
return await this.executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId);
|
|
@@ -72,10 +72,10 @@ class BotonicPluginAiAgents {
|
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
async
|
|
76
|
-
const llmConfig = new llm_config_1.LLMConfig(this.maxRetries, this.timeout, aiAgentArgs.model, aiAgentArgs.verbosity);
|
|
75
|
+
async executeSpecialistAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
76
|
+
const llmConfig = new llm_config_1.LLMConfig(this.maxRetries, this.timeout, aiAgentArgs.model, aiAgentArgs.verbosity, botContext);
|
|
77
77
|
// Get LLM config, tools and agent
|
|
78
|
-
const { tools, agent } = await this.
|
|
78
|
+
const { tools, agent } = await this.getSpecialistAgentAndTools(botContext, aiAgentArgs, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
|
|
79
79
|
// Get messages
|
|
80
80
|
const messages = await this.getMessages(botContext, authToken, aiAgentArgs.previousHubtypeMessages || []);
|
|
81
81
|
// Build context
|
|
@@ -92,14 +92,14 @@ class BotonicPluginAiAgents {
|
|
|
92
92
|
// Log agent debug info
|
|
93
93
|
this.logger.logAgentDebugInfo(aiAgentArgs, tools.map(t => t.name), messages);
|
|
94
94
|
// Run agent
|
|
95
|
-
const runner = new runners_1.
|
|
95
|
+
const runner = new runners_1.SpecialistRunner(agent, llmConfig, inferenceId, this.logger);
|
|
96
96
|
return await runner.run(messages, context);
|
|
97
97
|
}
|
|
98
98
|
async executeRouterAIAgent(botContext, aiAgentArgs, authToken, inferenceId) {
|
|
99
99
|
const { specialists, name, instructions } = aiAgentArgs;
|
|
100
|
-
const llmConfig = new llm_config_1.LLMConfig(this.maxRetries, this.timeout, aiAgentArgs.model, aiAgentArgs.verbosity);
|
|
100
|
+
const llmConfig = new llm_config_1.LLMConfig(this.maxRetries, this.timeout, aiAgentArgs.model, aiAgentArgs.verbosity, botContext);
|
|
101
101
|
const specialistsAgents = await Promise.all(specialists.map(async (specialistData) => {
|
|
102
|
-
const { agent } = await this.
|
|
102
|
+
const { agent } = await this.getSpecialistAgentAndTools(botContext, specialistData, aiAgentArgs.outputMessagesSchemas || [], authToken, inferenceId, llmConfig);
|
|
103
103
|
return (0, agents_1.handoff)(agent, {
|
|
104
104
|
toolNameOverride: specialistData.name,
|
|
105
105
|
toolDescriptionOverride: specialistData.description,
|
|
@@ -137,12 +137,12 @@ class BotonicPluginAiAgents {
|
|
|
137
137
|
const runner = new runners_1.RouterRunner(routerAgent, llmConfig, inferenceId, this.logger);
|
|
138
138
|
return await runner.run(messages, context);
|
|
139
139
|
}
|
|
140
|
-
async
|
|
140
|
+
async getSpecialistAgentAndTools(botContext, aiAgentArgs, outputMessagesSchemas, authToken, inferenceId, llmConfig) {
|
|
141
141
|
// Build tools
|
|
142
142
|
const tools = this.buildTools(aiAgentArgs);
|
|
143
143
|
// Build agent
|
|
144
144
|
const sourceIds = aiAgentArgs.type === core_1.AiAgentType.Specialist ? aiAgentArgs.sourceIds : [];
|
|
145
|
-
const
|
|
145
|
+
const specialist = await agents_2.SpecialistAgent.create({
|
|
146
146
|
name: aiAgentArgs.name,
|
|
147
147
|
instructions: aiAgentArgs.instructions,
|
|
148
148
|
tools: tools,
|
|
@@ -160,8 +160,8 @@ class BotonicPluginAiAgents {
|
|
|
160
160
|
inferenceId,
|
|
161
161
|
},
|
|
162
162
|
});
|
|
163
|
-
const
|
|
164
|
-
return { agent:
|
|
163
|
+
const specialistAgent = specialist.getAgent();
|
|
164
|
+
return { agent: specialistAgent, tools };
|
|
165
165
|
}
|
|
166
166
|
async getMessages(botContext, authToken, previousHubtypeMessages) {
|
|
167
167
|
const hubtypeClient = new hubtype_api_client_1.HubtypeApiClient(authToken);
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wCASsB;AACtB,2CAAkE;AAClE,+BAAmC;AAEnC,qCAAuD;AACvD,2CAKoB;AACpB,iDAAoE;AACpE,6CAAwC;AACxC,
|
|
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,17 +1,22 @@
|
|
|
1
|
-
import type { VerbosityLevel } from '@botonic/core';
|
|
1
|
+
import type { BotContext, VerbosityLevel } from '@botonic/core';
|
|
2
2
|
import { type Model, type ModelProvider, type ModelSettings } from '@openai/agents';
|
|
3
|
+
import { LLM_PROVIDERS } from './constants';
|
|
4
|
+
export type LLMProvider = (typeof LLM_PROVIDERS)[keyof typeof LLM_PROVIDERS];
|
|
3
5
|
export declare class LLMConfig {
|
|
4
6
|
private readonly maxRetries;
|
|
5
7
|
private readonly timeout;
|
|
8
|
+
private readonly botContext;
|
|
6
9
|
readonly modelName: string;
|
|
7
10
|
readonly modelSettings: ModelSettings;
|
|
8
11
|
readonly modelProvider: ModelProvider;
|
|
9
|
-
constructor(maxRetries: number, timeout: number, modelName: string, verbosity: VerbosityLevel);
|
|
12
|
+
constructor(maxRetries: number, timeout: number, modelName: string, verbosity: VerbosityLevel, botContext: BotContext);
|
|
10
13
|
getModel(): Promise<Model>;
|
|
14
|
+
getProviderName(): LLMProvider;
|
|
15
|
+
getApiVersion(): string | undefined;
|
|
11
16
|
private getModelProvider;
|
|
12
17
|
private getClient;
|
|
13
|
-
private
|
|
18
|
+
private buildLiteLLMTags;
|
|
19
|
+
private getLiteLLMClient;
|
|
14
20
|
private getAzureClient;
|
|
15
21
|
private getModelSettings;
|
|
16
22
|
}
|
|
17
|
-
export declare function getApiVersion(): string;
|
package/lib/cjs/llm-config.js
CHANGED
|
@@ -1,22 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LLMConfig = void 0;
|
|
4
|
-
exports.getApiVersion = getApiVersion;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const agents_1 = require("@openai/agents");
|
|
7
6
|
const openai_1 = tslib_1.__importStar(require("openai"));
|
|
8
7
|
const constants_1 = require("./constants");
|
|
9
8
|
class LLMConfig {
|
|
10
|
-
constructor(maxRetries, timeout, modelName, verbosity) {
|
|
9
|
+
constructor(maxRetries, timeout, modelName, verbosity, botContext) {
|
|
11
10
|
this.maxRetries = maxRetries;
|
|
12
11
|
this.timeout = timeout;
|
|
13
|
-
this.
|
|
12
|
+
this.botContext = botContext;
|
|
13
|
+
this.modelName = modelName;
|
|
14
14
|
this.modelProvider = this.getModelProvider();
|
|
15
15
|
this.modelSettings = this.getModelSettings(modelName, verbosity);
|
|
16
16
|
}
|
|
17
17
|
async getModel() {
|
|
18
18
|
return await this.modelProvider.getModel(this.modelName);
|
|
19
19
|
}
|
|
20
|
+
getProviderName() {
|
|
21
|
+
return this.botContext.settings.LITELLM_API_URL
|
|
22
|
+
? constants_1.LLM_PROVIDERS.LITELLM
|
|
23
|
+
: constants_1.LLM_PROVIDERS.AZURE;
|
|
24
|
+
}
|
|
25
|
+
getApiVersion() {
|
|
26
|
+
return this.getProviderName() === constants_1.LLM_PROVIDERS.AZURE
|
|
27
|
+
? this.botContext.settings.AZURE_OPENAI_API_VERSION ||
|
|
28
|
+
constants_1.AZURE_OPENAI_API_VERSION
|
|
29
|
+
: undefined;
|
|
30
|
+
}
|
|
20
31
|
getModelProvider() {
|
|
21
32
|
const client = this.getClient();
|
|
22
33
|
return new agents_1.OpenAIProvider({
|
|
@@ -25,53 +36,60 @@ class LLMConfig {
|
|
|
25
36
|
});
|
|
26
37
|
}
|
|
27
38
|
getClient() {
|
|
28
|
-
if (
|
|
29
|
-
return this.
|
|
39
|
+
if (this.botContext.settings.LITELLM_API_URL) {
|
|
40
|
+
return this.getLiteLLMClient();
|
|
30
41
|
}
|
|
31
42
|
return this.getAzureClient();
|
|
32
43
|
}
|
|
33
|
-
|
|
44
|
+
buildLiteLLMTags() {
|
|
45
|
+
const botId = this.botContext.session.bot.id;
|
|
46
|
+
const orgId = this.botContext.session.organization_id;
|
|
47
|
+
const parts = [];
|
|
48
|
+
if (botId) {
|
|
49
|
+
parts.push(`${constants_1.LITELLM_TAG_KEYS.BOT_ID}:${botId}`);
|
|
50
|
+
}
|
|
51
|
+
if (orgId) {
|
|
52
|
+
parts.push(`${constants_1.LITELLM_TAG_KEYS.ORG_ID}:${orgId}`);
|
|
53
|
+
}
|
|
54
|
+
return parts.length > 0
|
|
55
|
+
? { 'x-litellm-tags': parts.join(constants_1.LITELLM_TAG_KEYS.SEPARATOR) }
|
|
56
|
+
: undefined;
|
|
57
|
+
}
|
|
58
|
+
getLiteLLMClient() {
|
|
34
59
|
return new openai_1.default({
|
|
35
|
-
apiKey:
|
|
60
|
+
apiKey: this.botContext.secrets.LITELLM_API_KEY,
|
|
61
|
+
baseURL: this.botContext.settings.LITELLM_API_URL,
|
|
36
62
|
timeout: this.timeout,
|
|
37
63
|
maxRetries: this.maxRetries,
|
|
38
64
|
dangerouslyAllowBrowser: !constants_1.isProd,
|
|
65
|
+
defaultHeaders: this.buildLiteLLMTags(),
|
|
39
66
|
});
|
|
40
67
|
}
|
|
41
68
|
getAzureClient() {
|
|
42
69
|
return new openai_1.AzureOpenAI({
|
|
43
|
-
apiKey: constants_1.AZURE_OPENAI_API_KEY,
|
|
44
|
-
apiVersion:
|
|
70
|
+
apiKey: this.botContext.secrets.AZURE_OPENAI_API_KEY || constants_1.AZURE_OPENAI_API_KEY,
|
|
71
|
+
apiVersion: this.botContext.settings.AZURE_OPENAI_API_VERSION ||
|
|
72
|
+
constants_1.AZURE_OPENAI_API_VERSION,
|
|
45
73
|
deployment: this.modelName,
|
|
46
|
-
baseURL: constants_1.AZURE_OPENAI_API_BASE,
|
|
74
|
+
baseURL: this.botContext.settings.AZURE_OPENAI_API_BASE || constants_1.AZURE_OPENAI_API_BASE,
|
|
47
75
|
timeout: this.timeout,
|
|
48
76
|
maxRetries: this.maxRetries,
|
|
49
77
|
dangerouslyAllowBrowser: !constants_1.isProd,
|
|
50
78
|
});
|
|
51
79
|
}
|
|
52
80
|
getModelSettings(model, verbosity) {
|
|
53
|
-
if (model.includes('gpt-5')) {
|
|
54
|
-
return {
|
|
55
|
-
reasoning: { effort: 'none' },
|
|
56
|
-
temperature: 1,
|
|
57
|
-
text: { verbosity },
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
81
|
if (model.includes('gpt-4')) {
|
|
61
82
|
return {
|
|
62
83
|
temperature: 0,
|
|
63
84
|
text: { verbosity: 'medium' },
|
|
64
85
|
};
|
|
65
86
|
}
|
|
66
|
-
|
|
87
|
+
return {
|
|
88
|
+
reasoning: { effort: 'none' },
|
|
89
|
+
temperature: 1,
|
|
90
|
+
text: { verbosity },
|
|
91
|
+
};
|
|
67
92
|
}
|
|
68
93
|
}
|
|
69
94
|
exports.LLMConfig = LLMConfig;
|
|
70
|
-
function getApiVersion() {
|
|
71
|
-
// Return NOT_API_VERSION_FOR_OPENAI_PROVIDER if OPENAI_PROVIDER
|
|
72
|
-
// is not azure to avoid error when tracking in llm_runs endpoint
|
|
73
|
-
return constants_1.OPENAI_PROVIDER === 'azure'
|
|
74
|
-
? constants_1.AZURE_OPENAI_API_VERSION
|
|
75
|
-
: 'NOT_API_VERSION_FOR_OPENAI_PROVIDER';
|
|
76
|
-
}
|
|
77
95
|
//# sourceMappingURL=llm-config.js.map
|
|
@@ -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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OutputMessage, ResolvedPlugins, ToolExecution } from '@botonic/core';
|
|
2
2
|
import type { DebugLogger } from '../debug-logger';
|
|
3
|
-
import {
|
|
3
|
+
import type { LLMConfig } from '../llm-config';
|
|
4
4
|
import type { AgenticInputMessage, AIAgent, Context, ResultRawResponse, RunResult } from '../types';
|
|
5
5
|
export interface RunnerResult {
|
|
6
6
|
finalOutput?: {
|
|
@@ -20,7 +20,11 @@ export declare abstract class BaseRunner<TPlugins extends ResolvedPlugins = Reso
|
|
|
20
20
|
protected logger: DebugLogger;
|
|
21
21
|
constructor(agent: AIAgent<TPlugins, TExtraData>, llmConfig: LLMConfig, inferenceId: string, logger: DebugLogger);
|
|
22
22
|
run(messages: AgenticInputMessage[], context: Context<TPlugins, TExtraData>): Promise<RunResult>;
|
|
23
|
-
protected getToolsExecuted(
|
|
23
|
+
protected getToolsExecuted(result: RunnerResult, context: Context<TPlugins, TExtraData>): ToolExecution[];
|
|
24
|
+
private getToolResultsByCallId;
|
|
25
|
+
private extractToolResult;
|
|
26
|
+
private getToolExecutionInfo;
|
|
27
|
+
private getSafeToolArguments;
|
|
24
28
|
protected buildRunResult(result: RunnerResult, context: Context<TPlugins, TExtraData>, memoryLength: number): RunResult;
|
|
25
29
|
private sendLlmRunTracking;
|
|
26
30
|
}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BaseRunner = void 0;
|
|
4
4
|
const agents_1 = require("@openai/agents");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
|
-
const llm_config_1 = require("../llm-config");
|
|
7
6
|
const hubtype_api_client_1 = require("../services/hubtype-api-client");
|
|
8
7
|
const types_1 = require("../services/types");
|
|
8
|
+
const tools_1 = require("../tools");
|
|
9
9
|
class BaseRunner {
|
|
10
10
|
constructor(agent, llmConfig, inferenceId, logger) {
|
|
11
11
|
this.agent = agent;
|
|
@@ -52,8 +52,73 @@ class BaseRunner {
|
|
|
52
52
|
throw error;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
getToolsExecuted(
|
|
56
|
-
|
|
55
|
+
getToolsExecuted(result, context) {
|
|
56
|
+
const toolResultsByCallId = this.getToolResultsByCallId(result.newItems);
|
|
57
|
+
return (result.newItems
|
|
58
|
+
?.filter(item => item instanceof agents_1.RunToolCallItem)
|
|
59
|
+
.map((item) => this.getToolExecutionInfo(item, context, toolResultsByCallId))
|
|
60
|
+
.filter((toolExecution) => toolExecution.toolName !== '') || []);
|
|
61
|
+
}
|
|
62
|
+
getToolResultsByCallId(newItems = []) {
|
|
63
|
+
const map = new Map();
|
|
64
|
+
for (const item of newItems) {
|
|
65
|
+
if (!(item instanceof agents_1.RunToolCallOutputItem)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const rawItem = item.rawItem;
|
|
69
|
+
const callId = rawItem?.callId;
|
|
70
|
+
const output = rawItem?.output;
|
|
71
|
+
if (callId == null || output == null) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const text = this.extractToolResult(output);
|
|
75
|
+
if (text != null) {
|
|
76
|
+
map.set(callId, text);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return map;
|
|
80
|
+
}
|
|
81
|
+
extractToolResult(output) {
|
|
82
|
+
if (typeof output === 'string') {
|
|
83
|
+
return output;
|
|
84
|
+
}
|
|
85
|
+
return output?.type === 'text' && typeof output?.text === 'string'
|
|
86
|
+
? output.text
|
|
87
|
+
: undefined;
|
|
88
|
+
}
|
|
89
|
+
getToolExecutionInfo(item, context, toolResultsByCallId) {
|
|
90
|
+
if (item.rawItem.type !== 'function_call') {
|
|
91
|
+
return {
|
|
92
|
+
toolName: '',
|
|
93
|
+
toolArguments: {},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const toolName = item.rawItem.name;
|
|
97
|
+
const toolArguments = this.getSafeToolArguments(item.rawItem.arguments);
|
|
98
|
+
const toolResults = item.rawItem.callId
|
|
99
|
+
? toolResultsByCallId.get(item.rawItem.callId)
|
|
100
|
+
: undefined;
|
|
101
|
+
const toolExecution = {
|
|
102
|
+
toolName,
|
|
103
|
+
toolArguments,
|
|
104
|
+
toolResults,
|
|
105
|
+
};
|
|
106
|
+
if (toolName === tools_1.RETRIEVE_KNOWLEDGE_TOOL_NAME) {
|
|
107
|
+
return {
|
|
108
|
+
...toolExecution,
|
|
109
|
+
knowledgebaseSourcesIds: context.knowledgeUsed.sourceIds,
|
|
110
|
+
knowledgebaseChunksIds: context.knowledgeUsed.chunksIds,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return toolExecution;
|
|
114
|
+
}
|
|
115
|
+
getSafeToolArguments(rawToolArguments) {
|
|
116
|
+
try {
|
|
117
|
+
return JSON.parse(rawToolArguments);
|
|
118
|
+
}
|
|
119
|
+
catch (_error) {
|
|
120
|
+
return {};
|
|
121
|
+
}
|
|
57
122
|
}
|
|
58
123
|
buildRunResult(result, context, memoryLength) {
|
|
59
124
|
const outputMessages = result.finalOutput?.messages || [];
|
|
@@ -88,7 +153,6 @@ class BaseRunner {
|
|
|
88
153
|
const totalDuration = endTime - startTime;
|
|
89
154
|
const durationPerCall = Math.round(totalDuration / rawResponses.length);
|
|
90
155
|
const temperature = this.llmConfig.modelSettings.temperature ?? 0;
|
|
91
|
-
const apiVersion = (0, llm_config_1.getApiVersion)();
|
|
92
156
|
const llmRuns = rawResponses.map(response => ({
|
|
93
157
|
inference_id: this.inferenceId,
|
|
94
158
|
is_test: isTest,
|
|
@@ -97,7 +161,7 @@ class BaseRunner {
|
|
|
97
161
|
model_name: response.providerData?.model ??
|
|
98
162
|
this.llmConfig.modelName,
|
|
99
163
|
feature: types_1.TrackFeature.AI_AGENT_RUN,
|
|
100
|
-
api_version:
|
|
164
|
+
api_version: this.llmConfig.getApiVersion(),
|
|
101
165
|
num_prompt_tokens: response.usage.inputTokens,
|
|
102
166
|
num_completion_tokens: response.usage.outputTokens,
|
|
103
167
|
duration_in_milliseconds: durationPerCall,
|