@botonic/plugin-ai-agents 0.45.0 → 0.46.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.
Files changed (90) hide show
  1. package/lib/cjs/agent-builder.d.ts +5 -0
  2. package/lib/cjs/agent-builder.js +7 -15
  3. package/lib/cjs/agent-builder.js.map +1 -1
  4. package/lib/cjs/bot-config-tools.d.ts +7 -0
  5. package/lib/cjs/bot-config-tools.js +19 -0
  6. package/lib/cjs/bot-config-tools.js.map +1 -0
  7. package/lib/cjs/constants.d.ts +2 -1
  8. package/lib/cjs/constants.js +3 -2
  9. package/lib/cjs/constants.js.map +1 -1
  10. package/lib/cjs/debug-logger.d.ts +2 -1
  11. package/lib/cjs/debug-logger.js +4 -14
  12. package/lib/cjs/debug-logger.js.map +1 -1
  13. package/lib/cjs/guardrails/input.d.ts +8 -1
  14. package/lib/cjs/guardrails/input.js +48 -2
  15. package/lib/cjs/guardrails/input.js.map +1 -1
  16. package/lib/cjs/index.d.ts +4 -1
  17. package/lib/cjs/index.js +34 -13
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/llm-config.d.ts +15 -0
  20. package/lib/cjs/llm-config.js +66 -0
  21. package/lib/cjs/llm-config.js.map +1 -0
  22. package/lib/cjs/runner.d.ts +5 -1
  23. package/lib/cjs/runner.js +54 -3
  24. package/lib/cjs/runner.js.map +1 -1
  25. package/lib/cjs/services/hubtype-api-client.d.ts +14 -0
  26. package/lib/{esm → cjs/services}/hubtype-api-client.js +19 -5
  27. package/lib/cjs/services/hubtype-api-client.js.map +1 -0
  28. package/lib/cjs/services/types.d.ts +85 -0
  29. package/lib/cjs/services/types.js +13 -0
  30. package/lib/cjs/services/types.js.map +1 -0
  31. package/lib/cjs/tools/retrieve-knowledge.js +1 -1
  32. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -1
  33. package/lib/cjs/types.d.ts +7 -0
  34. package/lib/esm/agent-builder.d.ts +5 -0
  35. package/lib/esm/agent-builder.js +7 -15
  36. package/lib/esm/agent-builder.js.map +1 -1
  37. package/lib/esm/bot-config-tools.d.ts +7 -0
  38. package/lib/esm/bot-config-tools.js +19 -0
  39. package/lib/esm/bot-config-tools.js.map +1 -0
  40. package/lib/esm/constants.d.ts +2 -1
  41. package/lib/esm/constants.js +3 -2
  42. package/lib/esm/constants.js.map +1 -1
  43. package/lib/esm/debug-logger.d.ts +2 -1
  44. package/lib/esm/debug-logger.js +4 -14
  45. package/lib/esm/debug-logger.js.map +1 -1
  46. package/lib/esm/guardrails/input.d.ts +8 -1
  47. package/lib/esm/guardrails/input.js +48 -2
  48. package/lib/esm/guardrails/input.js.map +1 -1
  49. package/lib/esm/index.d.ts +4 -1
  50. package/lib/esm/index.js +34 -13
  51. package/lib/esm/index.js.map +1 -1
  52. package/lib/esm/llm-config.d.ts +15 -0
  53. package/lib/esm/llm-config.js +66 -0
  54. package/lib/esm/llm-config.js.map +1 -0
  55. package/lib/esm/runner.d.ts +5 -1
  56. package/lib/esm/runner.js +54 -3
  57. package/lib/esm/runner.js.map +1 -1
  58. package/lib/esm/services/hubtype-api-client.d.ts +14 -0
  59. package/lib/{cjs → esm/services}/hubtype-api-client.js +19 -5
  60. package/lib/esm/services/hubtype-api-client.js.map +1 -0
  61. package/lib/esm/services/types.d.ts +85 -0
  62. package/lib/esm/services/types.js +13 -0
  63. package/lib/esm/services/types.js.map +1 -0
  64. package/lib/esm/tools/retrieve-knowledge.js +1 -1
  65. package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
  66. package/lib/esm/types.d.ts +7 -0
  67. package/package.json +4 -3
  68. package/src/agent-builder.ts +22 -19
  69. package/src/bot-config-tools.ts +21 -0
  70. package/src/constants.ts +3 -2
  71. package/src/debug-logger.ts +7 -27
  72. package/src/guardrails/input.ts +82 -4
  73. package/src/index.ts +56 -16
  74. package/src/llm-config.ts +96 -0
  75. package/src/runner.ts +85 -4
  76. package/src/{hubtype-api-client.ts → services/hubtype-api-client.ts} +31 -83
  77. package/src/services/types.ts +106 -0
  78. package/src/tools/retrieve-knowledge.ts +1 -1
  79. package/src/types.ts +8 -0
  80. package/lib/cjs/hubtype-api-client.d.ts +0 -23
  81. package/lib/cjs/hubtype-api-client.js.map +0 -1
  82. package/lib/cjs/openai.d.ts +0 -1
  83. package/lib/cjs/openai.js +0 -39
  84. package/lib/cjs/openai.js.map +0 -1
  85. package/lib/esm/hubtype-api-client.d.ts +0 -23
  86. package/lib/esm/hubtype-api-client.js.map +0 -1
  87. package/lib/esm/openai.d.ts +0 -1
  88. package/lib/esm/openai.js +0 -39
  89. package/lib/esm/openai.js.map +0 -1
  90. package/src/openai.ts +0 -49
@@ -1,5 +1,7 @@
1
1
  import type { CampaignV2, ContactInfo, ResolvedPlugins } from '@botonic/core';
2
2
  import type { DebugLogger } from './debug-logger';
3
+ import type { GuardrailTrackingContext } from './guardrails/input';
4
+ import type { LLMConfig } from './llm-config';
3
5
  import type { AIAgent, GuardrailRule, Tool } from './types';
4
6
  interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
5
7
  name: string;
@@ -9,13 +11,16 @@ interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugi
9
11
  contactInfo: ContactInfo[];
10
12
  inputGuardrailRules: GuardrailRule[];
11
13
  sourceIds: string[];
14
+ llmConfig: LLMConfig;
12
15
  logger: DebugLogger;
16
+ guardrailTrackingContext: GuardrailTrackingContext;
13
17
  }
14
18
  export declare class AIAgentBuilder<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
15
19
  private name;
16
20
  private instructions;
17
21
  private tools;
18
22
  private inputGuardrails;
23
+ llmConfig: LLMConfig;
19
24
  private logger;
20
25
  constructor(options: AIAgentBuilderOptions<TPlugins, TExtraData>);
21
26
  build(): AIAgent<TPlugins, TExtraData>;
@@ -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, options.guardrailTrackingContext);
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 = constants_1.OPENAI_PROVIDER === 'openai' ? constants_1.OPENAI_MODEL : undefined;
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":"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"}
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"}
@@ -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;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_MEMORY_LENGTH = exports.isProd = exports.AZURE_OPENAI_API_VERSION = exports.AZURE_OPENAI_API_DEPLOYMENT_NAME = 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;
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
@@ -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,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,gBAAgB,CAAA;AACrD,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"}
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
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,7 +24,7 @@ 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;
@@ -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;
@@ -95,7 +85,7 @@ class DisabledDebugLogger {
95
85
  logInitialConfig() { }
96
86
  logAgentDebugInfo() { }
97
87
  logModelSettings() { }
98
- logRunnerStart() { }
88
+ logRunnerStart(_model, _modelSettings) { }
99
89
  logRunResult() { }
100
90
  logGuardrailTriggered() { }
101
91
  logRunnerError() { }
@@ -1 +1 @@
1
- {"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/debug-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/debug-logger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,10 @@
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 interface GuardrailTrackingContext {
5
+ botId: string;
6
+ isTest: boolean;
7
+ authToken: string;
8
+ inferenceId: string;
9
+ }
10
+ export declare function createInputGuardrail(rules: GuardrailRule[], llmConfig: LLMConfig, trackingContext: GuardrailTrackingContext): InputGuardrail;
@@ -3,7 +3,10 @@ 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
+ const constants_1 = require("../constants");
7
+ const hubtype_api_client_1 = require("../services/hubtype-api-client");
8
+ const types_1 = require("../services/types");
9
+ function createInputGuardrail(rules, llmConfig, trackingContext) {
7
10
  const outputType = zod_1.z.object(Object.fromEntries(rules.map(rule => [rule.name, zod_1.z.boolean().describe(rule.description)])));
8
11
  const agent = new agents_1.Agent({
9
12
  name: 'InputGuardrail',
@@ -14,7 +17,18 @@ function createInputGuardrail(rules) {
14
17
  name: 'InputGuardrail',
15
18
  execute: async ({ input, context }) => {
16
19
  const lastMessage = input[input.length - 1];
17
- const result = await (0, agents_1.run)(agent, [lastMessage], { context });
20
+ const modelProvider = llmConfig.modelProvider;
21
+ const modelSettings = llmConfig.modelSettings;
22
+ modelSettings.toolChoice = undefined;
23
+ const runner = new agents_1.Runner({
24
+ modelSettings,
25
+ modelProvider,
26
+ tracingDisabled: true,
27
+ });
28
+ const startTime = Date.now();
29
+ const result = await runner.run(agent, [lastMessage], { context });
30
+ const endTime = Date.now();
31
+ void sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, startTime, endTime);
18
32
  const finalOutput = result.finalOutput;
19
33
  if (finalOutput === undefined) {
20
34
  throw new Error('Guardrail agent failed to produce output');
@@ -28,4 +42,36 @@ function createInputGuardrail(rules) {
28
42
  },
29
43
  };
30
44
  }
45
+ async function sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, startTime, endTime) {
46
+ if (!constants_1.isProd) {
47
+ return;
48
+ }
49
+ const rawResponses = result.rawResponses ?? [];
50
+ if (rawResponses.length === 0) {
51
+ return;
52
+ }
53
+ const totalDuration = endTime - startTime;
54
+ const durationPerCall = Math.round(totalDuration / rawResponses.length);
55
+ const temperature = llmConfig.modelSettings.temperature ?? 0;
56
+ const apiVersion = constants_1.OPENAI_PROVIDER === 'azure' ? constants_1.AZURE_OPENAI_API_VERSION : '';
57
+ const llmRuns = rawResponses.map(response => ({
58
+ inference_id: trackingContext.inferenceId,
59
+ is_test: trackingContext.isTest,
60
+ product_name: types_1.TrackProductName.AI_AGENT,
61
+ deployment_name: llmConfig.modelName,
62
+ model_name: response.providerData?.['model'] ??
63
+ llmConfig.modelName,
64
+ feature: types_1.TrackFeature.AI_AGENT_GUARDRAIL,
65
+ api_version: apiVersion,
66
+ num_prompt_tokens: response.usage.inputTokens,
67
+ num_completion_tokens: response.usage.outputTokens,
68
+ duration_in_milliseconds: durationPerCall,
69
+ temperature,
70
+ error: null,
71
+ }));
72
+ const client = new hubtype_api_client_1.HubtypeApiClient(trackingContext.authToken);
73
+ await client.trackLlmRuns(trackingContext.botId, {
74
+ llm_runs: llmRuns,
75
+ });
76
+ }
31
77
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAUA,oDAiCC;AA3CD,2CAKuB;AACvB,6BAAuB;AAIvB,SAAgB,oBAAoB,CAAC,KAAsB;IACzD,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,MAAM,IAAA,YAAG,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3D,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"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAoBA,oDAwDC;AA5ED,2CAKuB;AACvB,6BAAuB;AACvB,4CAAgF;AAEhF,uEAAiE;AACjE,6CAAkE;AAUlE,SAAgB,oBAAoB,CAClC,KAAsB,EACtB,SAAoB,EACpB,eAAyC;IAEzC,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,aAAa,GAAG,SAAS,CAAC,aAAa,CAAA;YAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAA;YAC7C,aAAa,CAAC,UAAU,GAAG,SAAS,CAAA;YACpC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC;gBACxB,aAAa;gBACb,aAAa;gBACb,eAAe,EAAE,IAAI;aACtB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAE1B,KAAK,2BAA2B,CAC9B,MAAM,EACN,eAAe,EACf,SAAS,EACT,SAAS,EACT,OAAO,CACR,CAAA;YAED,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;AAED,KAAK,UAAU,2BAA2B,CACxC,MAEC,EACD,eAAyC,EACzC,SAAoB,EACpB,SAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,kBAAM,EAAE,CAAC;QACZ,OAAM;IACR,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAA;IAC9C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAA;IACzC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACvE,MAAM,WAAW,GACd,SAAS,CAAC,aAAa,CAAC,WAAkC,IAAI,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,2BAAe,KAAK,OAAO,CAAC,CAAC,CAAC,oCAAwB,CAAC,CAAC,CAAC,EAAE,CAAA;IAE9E,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,YAAY,EAAE,eAAe,CAAC,WAAW;QACzC,OAAO,EAAE,eAAe,CAAC,MAAM;QAC/B,YAAY,EAAE,wBAAgB,CAAC,QAAQ;QACvC,eAAe,EAAE,SAAS,CAAC,SAAS;QACpC,UAAU,EACP,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,CAAwB;YACxD,SAAS,CAAC,SAAS;QACrB,OAAO,EAAE,oBAAY,CAAC,kBAAkB;QACxC,WAAW,EAAE,UAAU;QACvB,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;QAC7C,qBAAqB,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;QAClD,wBAAwB,EAAE,eAAe;QACzC,WAAW;QACX,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,IAAI,qCAAgB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC9D,MAAM,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,EAAE;QAC/C,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;AACJ,CAAC"}
@@ -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(request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs): Promise<InferenceResponse>;
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';
package/lib/cjs/index.js CHANGED
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const agents_1 = require("@openai/agents");
5
+ const uuid_1 = require("uuid");
5
6
  const agent_builder_1 = require("./agent-builder");
6
7
  const constants_1 = require("./constants");
7
8
  const debug_logger_1 = require("./debug-logger");
8
- const hubtype_api_client_1 = require("./hubtype-api-client");
9
- const openai_1 = require("./openai");
9
+ const llm_config_1 = require("./llm-config");
10
10
  const runner_1 = require("./runner");
11
+ const hubtype_api_client_1 = require("./services/hubtype-api-client");
11
12
  class BotonicPluginAiAgents {
12
13
  constructor(options) {
13
14
  this.toolDefinitions = [];
14
- (0, openai_1.setUpOpenAI)(options?.maxRetries, options?.timeout);
15
15
  if (options?.messageHistoryApiVersion === 'v1' && options?.memory) {
16
16
  throw new Error('Cannot use memory when messageHistoryApiVersion is "v1". ' +
17
17
  'Either set messageHistoryApiVersion to "v2" or remove memory.');
@@ -20,6 +20,8 @@ class BotonicPluginAiAgents {
20
20
  this.toolDefinitions = options?.customTools || [];
21
21
  this.messageHistoryApiVersion = options?.messageHistoryApiVersion ?? 'v2';
22
22
  this.memory = options?.memory ?? {};
23
+ this.timeout = options?.timeout ?? constants_1.DEFAULT_TIMEOUT_16_SECONDS;
24
+ this.maxRetries = options?.maxRetries ?? constants_1.DEFAULT_MAX_RETRIES;
23
25
  this.logger = (0, debug_logger_1.createDebugLogger)(options?.enableDebug ?? false);
24
26
  this.logger.logInitialConfig({
25
27
  messageHistoryApiVersion: this.messageHistoryApiVersion,
@@ -32,24 +34,40 @@ class BotonicPluginAiAgents {
32
34
  pre() {
33
35
  return;
34
36
  }
35
- async getInference(request, aiAgentArgs) {
37
+ async getInference(botContext, aiAgentArgs) {
36
38
  try {
37
- const authToken = constants_1.isProd ? request.session._access_token : this.authToken;
39
+ const authToken = constants_1.isProd
40
+ ? botContext.session._access_token
41
+ : this.authToken;
38
42
  if (!authToken) {
39
43
  throw new Error('Auth token is required');
40
44
  }
45
+ const inferenceId = (0, uuid_1.v7)();
46
+ // Create client for OpenAI/Azure OpenAI
47
+ const llmConfig = new llm_config_1.LLMConfig(this.maxRetries, this.timeout, aiAgentArgs.model, aiAgentArgs.verbosity);
48
+ // Build tools
41
49
  const tools = this.buildTools(aiAgentArgs.activeTools?.map(tool => tool.name) || []);
50
+ // Build agent
42
51
  const agent = new agent_builder_1.AIAgentBuilder({
43
52
  name: aiAgentArgs.name,
44
53
  instructions: aiAgentArgs.instructions,
45
54
  tools: tools,
46
- contactInfo: request.session.user.contact_info || [],
55
+ contactInfo: botContext.session.user.contact_info || [],
47
56
  inputGuardrailRules: aiAgentArgs.inputGuardrailRules || [],
48
57
  sourceIds: aiAgentArgs.sourceIds || [],
49
- campaignsContext: request.input.context?.campaigns_v2,
58
+ campaignsContext: botContext.input.context?.campaigns_v2,
50
59
  logger: this.logger,
60
+ llmConfig,
61
+ guardrailTrackingContext: {
62
+ botId: botContext.session.bot.id,
63
+ isTest: botContext.session.is_test_integration,
64
+ authToken,
65
+ inferenceId,
66
+ },
51
67
  }).build();
52
- const messages = await this.getMessages(request, authToken, constants_1.MAX_MEMORY_LENGTH);
68
+ // Get messages
69
+ const messages = await this.getMessages(botContext, authToken, constants_1.MAX_MEMORY_LENGTH);
70
+ // Build context
53
71
  const context = {
54
72
  authToken,
55
73
  sourceIds: aiAgentArgs.sourceIds || [],
@@ -59,10 +77,12 @@ class BotonicPluginAiAgents {
59
77
  chunksIds: [],
60
78
  chunkTexts: [],
61
79
  },
62
- request,
80
+ request: botContext,
63
81
  };
82
+ // Log agent debug info
64
83
  this.logger.logAgentDebugInfo(aiAgentArgs, tools.map(t => t.name), messages);
65
- const runner = new runner_1.AIAgentRunner(agent, this.logger);
84
+ // Run agent
85
+ const runner = new runner_1.AIAgentRunner(agent, llmConfig, inferenceId, this.logger);
66
86
  return await runner.run(messages, context);
67
87
  }
68
88
  catch (error) {
@@ -78,16 +98,16 @@ class BotonicPluginAiAgents {
78
98
  };
79
99
  }
80
100
  }
81
- async getMessages(request, authToken, memoryLength) {
101
+ async getMessages(botContext, authToken, memoryLength) {
82
102
  const hubtypeClient = new hubtype_api_client_1.HubtypeApiClient(authToken);
83
103
  if (!constants_1.isProd) {
84
104
  return await hubtypeClient.getLocalMessages(memoryLength);
85
105
  }
86
106
  if (this.messageHistoryApiVersion === 'v1') {
87
- return await hubtypeClient.getMessages(request, memoryLength);
107
+ return await hubtypeClient.getMessages(botContext, memoryLength);
88
108
  }
89
109
  // Default to V2
90
- const result = await hubtypeClient.getMessagesV2(request, {
110
+ const result = await hubtypeClient.getMessagesV2(botContext, {
91
111
  maxMessages: this.memory.maxMessages ?? memoryLength,
92
112
  includeToolCalls: this.memory.includeToolCalls ?? true,
93
113
  maxFullToolResults: this.memory.maxFullToolResults ?? 1,
@@ -108,5 +128,6 @@ class BotonicPluginAiAgents {
108
128
  }
109
129
  }
110
130
  exports.default = BotonicPluginAiAgents;
131
+ tslib_1.__exportStar(require("./bot-config-tools"), exports);
111
132
  tslib_1.__exportStar(require("./types"), exports);
112
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAMA,2CAAqC;AAErC,mDAAgD;AAChD,2CAAuD;AACvD,iDAAoE;AACpE,6DAAuD;AACvD,qCAAsC;AACtC,qCAAwC;AAYxC,MAAqB,qBAAqB;IAWxC,YAAY,OAAoD;QAFzD,oBAAe,GAAuC,EAAE,CAAA;QAG7D,IAAA,oBAAW,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAElD,IAAI,OAAO,EAAE,wBAAwB,KAAK,IAAI,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACb,2DAA2D;gBACzD,+DAA+D,CAClE,CAAA;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;QACjD,IAAI,CAAC,wBAAwB,GAAG,OAAO,EAAE,wBAAwB,IAAI,IAAI,CAAA;QACzE,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAA,gCAAiB,EAAC,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;YAClC,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;IAED,GAAG;QACD,OAAM;IACR,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAyC,EACzC,WAAwB;QAExB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,kBAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;YACzE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAC3B,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CACtD,CAAA;YACD,MAAM,KAAK,GAAG,IAAI,8BAAc,CAAuB;gBACrD,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE;gBACpD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB,IAAI,EAAE;gBAC1D,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;gBACtC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY;gBACrD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,KAAK,EAAE,CAAA;YAEV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,OAAO,EACP,SAAS,EACT,6BAAiB,CAClB,CAAA;YACD,MAAM,OAAO,GAAkC;gBAC7C,SAAS;gBACT,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;gBACtC,aAAa,EAAE;oBACb,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,EAAE;oBACb,UAAU,EAAE,EAAE;iBACf;gBACD,OAAO;aACR,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC3B,WAAW,EACX,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACtB,QAAQ,CACT,CAAA;YAED,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAuB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1E,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5C,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;aAC9B,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAmB,EACnB,SAAiB,EACjB,YAAoB;QAEpB,MAAM,aAAa,GAAG,IAAI,qCAAgB,CAAC,SAAS,CAAC,CAAA;QAErD,IAAI,CAAC,kBAAM,EAAE,CAAC;YACZ,OAAO,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC/D,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,OAAO,EAAE;YACxD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,YAAY;YACpD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI;YACtD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC;YACvD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK;SAC1C,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;IAEO,UAAU,CAAC,eAAyB;QAC1C,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;AA7ID,wCA6IC;AAED,kDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { VerbosityLevel } from '@botonic/core';
2
+ import { type ModelProvider, type ModelSettings } from '@openai/agents';
3
+ export declare class LLMConfig {
4
+ private readonly maxRetries;
5
+ private readonly timeout;
6
+ readonly modelName: string;
7
+ readonly modelSettings: ModelSettings;
8
+ readonly modelProvider: ModelProvider;
9
+ constructor(maxRetries: number, timeout: number, modelName: string, verbosity: VerbosityLevel);
10
+ private getModelProvider;
11
+ private getClient;
12
+ private getOpenAIClient;
13
+ private getAzureClient;
14
+ private getModelSettings;
15
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LLMConfig = void 0;
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
+ class LLMConfig {
9
+ constructor(maxRetries, timeout, modelName, verbosity) {
10
+ this.maxRetries = maxRetries;
11
+ this.timeout = timeout;
12
+ this.modelName = constants_1.OPENAI_PROVIDER === 'openai' ? constants_1.OPENAI_MODEL : modelName;
13
+ this.modelProvider = this.getModelProvider();
14
+ this.modelSettings = this.getModelSettings(modelName, verbosity);
15
+ }
16
+ getModelProvider() {
17
+ const client = this.getClient();
18
+ return new agents_1.OpenAIProvider({
19
+ openAIClient: client,
20
+ useResponses: false,
21
+ });
22
+ }
23
+ getClient() {
24
+ if (constants_1.OPENAI_PROVIDER === 'openai') {
25
+ return this.getOpenAIClient();
26
+ }
27
+ return this.getAzureClient();
28
+ }
29
+ getOpenAIClient() {
30
+ return new openai_1.default({
31
+ apiKey: constants_1.OPENAI_API_KEY,
32
+ timeout: this.timeout,
33
+ maxRetries: this.maxRetries,
34
+ dangerouslyAllowBrowser: !constants_1.isProd,
35
+ });
36
+ }
37
+ getAzureClient() {
38
+ return new openai_1.AzureOpenAI({
39
+ apiKey: constants_1.AZURE_OPENAI_API_KEY,
40
+ apiVersion: constants_1.AZURE_OPENAI_API_VERSION,
41
+ deployment: this.modelName,
42
+ baseURL: constants_1.AZURE_OPENAI_API_BASE,
43
+ timeout: this.timeout,
44
+ maxRetries: this.maxRetries,
45
+ dangerouslyAllowBrowser: !constants_1.isProd,
46
+ });
47
+ }
48
+ getModelSettings(model, verbosity) {
49
+ if (model.includes('gpt-5')) {
50
+ return {
51
+ reasoning: { effort: 'none' },
52
+ temperature: 1,
53
+ text: { verbosity },
54
+ };
55
+ }
56
+ if (model.includes('gpt-4')) {
57
+ return {
58
+ temperature: 0,
59
+ text: { verbosity: 'medium' },
60
+ };
61
+ }
62
+ throw new Error(`Unsupported model: ${model}`);
63
+ }
64
+ }
65
+ exports.LLMConfig = LLMConfig;
66
+ //# sourceMappingURL=llm-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../../src/llm-config.ts"],"names":[],"mappings":";;;;AACA,2CAIuB;AACvB,yDAA4C;AAC5C,2CAQoB;AAEpB,MAAa,SAAS;IAOpB,YACE,UAAkB,EAClB,OAAe,EACf,SAAiB,EACjB,SAAyB;QAEzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,2BAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAClE,CAAC;IAEO,gBAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC/B,OAAO,IAAI,uBAAc,CAAC;YACxB,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;IAEO,SAAS;QACf,IAAI,2BAAe,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,gBAAM,CAAC;YAChB,MAAM,EAAE,0BAAc;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,uBAAuB,EAAE,CAAC,kBAAM;SACjC,CAAC,CAAA;IACJ,CAAC;IAEO,cAAc;QACpB,OAAO,IAAI,oBAAW,CAAC;YACrB,MAAM,EAAE,gCAAoB;YAC5B,UAAU,EAAE,oCAAwB;YACpC,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,iCAAqB;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,uBAAuB,EAAE,CAAC,kBAAM;SACjC,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CACtB,KAAa,EACb,SAAyB;QAEzB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC7B,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB,CAAA;QACH,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;aAC9B,CAAA;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;CACF;AA9ED,8BA8EC"}
@@ -1,11 +1,15 @@
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;
7
+ private llmConfig;
8
+ private inferenceId;
6
9
  private logger;
7
- constructor(agent: AIAgent<TPlugins, TExtraData>, logger: DebugLogger);
10
+ constructor(agent: AIAgent<TPlugins, TExtraData>, openAiClient: LLMConfig, inferenceId: string, logger: DebugLogger);
8
11
  run(messages: AgenticInputMessage[], context: Context<TPlugins, TExtraData>): Promise<RunResult>;
12
+ private sendLlmRunTracking;
9
13
  private getToolsExecuted;
10
14
  private getToolResultsByCallId;
11
15
  private extractToolResult;