@botonic/plugin-ai-agents 0.56.0-alpha.0 → 0.57.0-rslib-esm.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/lib/esm/agents/base-agent.d.ts +4 -4
  2. package/lib/esm/agents/base-agent.js +47 -20
  3. package/lib/esm/agents/base-agent.js.map +1 -1
  4. package/lib/esm/agents/index.d.ts +2 -2
  5. package/lib/esm/agents/index.js +8 -7
  6. package/lib/esm/agents/index.js.map +1 -1
  7. package/lib/esm/agents/router-agent.d.ts +5 -5
  8. package/lib/esm/agents/router-agent.js +32 -15
  9. package/lib/esm/agents/router-agent.js.map +1 -1
  10. package/lib/esm/agents/specialist-agent.d.ts +5 -5
  11. package/lib/esm/agents/specialist-agent.js +65 -45
  12. package/lib/esm/agents/specialist-agent.js.map +1 -1
  13. package/lib/esm/bot-config-tools.d.ts +1 -1
  14. package/lib/esm/bot-config-tools.js +15 -13
  15. package/lib/esm/bot-config-tools.js.map +1 -1
  16. package/lib/esm/constants.js +18 -17
  17. package/lib/esm/constants.js.map +1 -1
  18. package/lib/esm/debug-logger.d.ts +1 -1
  19. package/lib/esm/debug-logger.js +14 -9
  20. package/lib/esm/debug-logger.js.map +1 -1
  21. package/lib/esm/guardrails/index.d.ts +1 -1
  22. package/lib/esm/guardrails/index.js +5 -4
  23. package/lib/esm/guardrails/index.js.map +1 -1
  24. package/lib/esm/guardrails/input.d.ts +2 -2
  25. package/lib/esm/guardrails/input.js +65 -42
  26. package/lib/esm/guardrails/input.js.map +1 -1
  27. package/lib/esm/index.d.ts +3 -3
  28. package/lib/esm/index.js +114 -74
  29. package/lib/esm/index.js.map +1 -1
  30. package/lib/esm/llm-config.d.ts +1 -1
  31. package/lib/esm/llm-config.js +81 -52
  32. package/lib/esm/llm-config.js.map +1 -1
  33. package/lib/esm/package.json +3 -0
  34. package/lib/esm/runners/base-runner.d.ts +3 -3
  35. package/lib/esm/runners/base-runner.js +81 -69
  36. package/lib/esm/runners/base-runner.js.map +1 -1
  37. package/lib/esm/runners/index.d.ts +2 -2
  38. package/lib/esm/runners/index.js +8 -7
  39. package/lib/esm/runners/index.js.map +1 -1
  40. package/lib/esm/runners/router-runner.d.ts +2 -2
  41. package/lib/esm/runners/router-runner.js +19 -14
  42. package/lib/esm/runners/router-runner.js.map +1 -1
  43. package/lib/esm/runners/specialist-runner.d.ts +1 -1
  44. package/lib/esm/runners/specialist-runner.js +8 -6
  45. package/lib/esm/runners/specialist-runner.js.map +1 -1
  46. package/lib/esm/services/hubtype-api-client.d.ts +2 -2
  47. package/lib/esm/services/hubtype-api-client.js +110 -95
  48. package/lib/esm/services/hubtype-api-client.js.map +1 -1
  49. package/lib/esm/services/types.d.ts +1 -1
  50. package/lib/esm/services/types.js +9 -9
  51. package/lib/esm/services/types.js.map +1 -1
  52. package/lib/esm/structured-output/bot-executor.js +20 -17
  53. package/lib/esm/structured-output/bot-executor.js.map +1 -1
  54. package/lib/esm/structured-output/carousel.js +25 -22
  55. package/lib/esm/structured-output/carousel.js.map +1 -1
  56. package/lib/esm/structured-output/exit.js +13 -10
  57. package/lib/esm/structured-output/exit.js.map +1 -1
  58. package/lib/esm/structured-output/index.d.ts +0 -10
  59. package/lib/esm/structured-output/index.js +39 -29
  60. package/lib/esm/structured-output/index.js.map +1 -1
  61. package/lib/esm/structured-output/text-with-buttons.js +24 -23
  62. package/lib/esm/structured-output/text-with-buttons.js.map +1 -1
  63. package/lib/esm/structured-output/text.js +16 -13
  64. package/lib/esm/structured-output/text.js.map +1 -1
  65. package/lib/esm/tools/index.d.ts +2 -2
  66. package/lib/esm/tools/index.js +7 -7
  67. package/lib/esm/tools/index.js.map +1 -1
  68. package/lib/esm/tools/retrieve-knowledge.d.ts +2 -2
  69. package/lib/esm/tools/retrieve-knowledge.js +38 -32
  70. package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
  71. package/lib/esm/types.d.ts +3 -3
  72. package/lib/esm/types.js +4 -2
  73. package/lib/esm/types.js.map +1 -1
  74. package/package.json +8 -7
  75. package/src/structured-output/index.ts +0 -2
  76. package/src/types.ts +4 -4
  77. package/lib/cjs/agents/base-agent.d.ts +0 -28
  78. package/lib/cjs/agents/base-agent.js +0 -39
  79. package/lib/cjs/agents/base-agent.js.map +0 -1
  80. package/lib/cjs/agents/index.d.ts +0 -2
  81. package/lib/cjs/agents/index.js +0 -8
  82. package/lib/cjs/agents/index.js.map +0 -1
  83. package/lib/cjs/agents/router-agent.d.ts +0 -25
  84. package/lib/cjs/agents/router-agent.js +0 -33
  85. package/lib/cjs/agents/router-agent.js.map +0 -1
  86. package/lib/cjs/agents/specialist-agent.d.ts +0 -39
  87. package/lib/cjs/agents/specialist-agent.js +0 -108
  88. package/lib/cjs/agents/specialist-agent.js.map +0 -1
  89. package/lib/cjs/bot-config-tools.d.ts +0 -7
  90. package/lib/cjs/bot-config-tools.js +0 -18
  91. package/lib/cjs/bot-config-tools.js.map +0 -1
  92. package/lib/cjs/constants.d.ts +0 -21
  93. package/lib/cjs/constants.js +0 -25
  94. package/lib/cjs/constants.js.map +0 -1
  95. package/lib/cjs/debug-logger.d.ts +0 -33
  96. package/lib/cjs/debug-logger.js +0 -116
  97. package/lib/cjs/debug-logger.js.map +0 -1
  98. package/lib/cjs/guardrails/index.d.ts +0 -1
  99. package/lib/cjs/guardrails/index.js +0 -5
  100. package/lib/cjs/guardrails/index.js.map +0 -1
  101. package/lib/cjs/guardrails/input.d.ts +0 -10
  102. package/lib/cjs/guardrails/input.js +0 -96
  103. package/lib/cjs/guardrails/input.js.map +0 -1
  104. package/lib/cjs/index.d.ts +0 -22
  105. package/lib/cjs/index.js +0 -219
  106. package/lib/cjs/index.js.map +0 -1
  107. package/lib/cjs/llm-config.d.ts +0 -30
  108. package/lib/cjs/llm-config.js +0 -121
  109. package/lib/cjs/llm-config.js.map +0 -1
  110. package/lib/cjs/runners/base-runner.d.ts +0 -31
  111. package/lib/cjs/runners/base-runner.js +0 -189
  112. package/lib/cjs/runners/base-runner.js.map +0 -1
  113. package/lib/cjs/runners/index.d.ts +0 -2
  114. package/lib/cjs/runners/index.js +0 -8
  115. package/lib/cjs/runners/index.js.map +0 -1
  116. package/lib/cjs/runners/router-runner.d.ts +0 -8
  117. package/lib/cjs/runners/router-runner.js +0 -44
  118. package/lib/cjs/runners/router-runner.js.map +0 -1
  119. package/lib/cjs/runners/specialist-runner.d.ts +0 -4
  120. package/lib/cjs/runners/specialist-runner.js +0 -8
  121. package/lib/cjs/runners/specialist-runner.js.map +0 -1
  122. package/lib/cjs/services/hubtype-api-client.d.ts +0 -13
  123. package/lib/cjs/services/hubtype-api-client.js +0 -176
  124. package/lib/cjs/services/hubtype-api-client.js.map +0 -1
  125. package/lib/cjs/services/types.d.ts +0 -72
  126. package/lib/cjs/services/types.js +0 -13
  127. package/lib/cjs/services/types.js.map +0 -1
  128. package/lib/cjs/structured-output/bot-executor.d.ts +0 -13
  129. package/lib/cjs/structured-output/bot-executor.js +0 -18
  130. package/lib/cjs/structured-output/bot-executor.js.map +0 -1
  131. package/lib/cjs/structured-output/carousel.d.ts +0 -18
  132. package/lib/cjs/structured-output/carousel.js +0 -23
  133. package/lib/cjs/structured-output/carousel.js.map +0 -1
  134. package/lib/cjs/structured-output/exit.d.ts +0 -6
  135. package/lib/cjs/structured-output/exit.js +0 -11
  136. package/lib/cjs/structured-output/exit.js.map +0 -1
  137. package/lib/cjs/structured-output/index.d.ts +0 -108
  138. package/lib/cjs/structured-output/index.js +0 -45
  139. package/lib/cjs/structured-output/index.js.map +0 -1
  140. package/lib/cjs/structured-output/request-contact-info.d.ts +0 -9
  141. package/lib/cjs/structured-output/request-contact-info.js +0 -14
  142. package/lib/cjs/structured-output/request-contact-info.js.map +0 -1
  143. package/lib/cjs/structured-output/text-with-buttons.d.ts +0 -17
  144. package/lib/cjs/structured-output/text-with-buttons.js +0 -24
  145. package/lib/cjs/structured-output/text-with-buttons.js.map +0 -1
  146. package/lib/cjs/structured-output/text.d.ts +0 -9
  147. package/lib/cjs/structured-output/text.js +0 -14
  148. package/lib/cjs/structured-output/text.js.map +0 -1
  149. package/lib/cjs/tools/index.d.ts +0 -3
  150. package/lib/cjs/tools/index.js +0 -8
  151. package/lib/cjs/tools/index.js.map +0 -1
  152. package/lib/cjs/tools/retrieve-knowledge.d.ts +0 -6
  153. package/lib/cjs/tools/retrieve-knowledge.js +0 -34
  154. package/lib/cjs/tools/retrieve-knowledge.js.map +0 -1
  155. package/lib/cjs/types.d.ts +0 -53
  156. package/lib/cjs/types.js +0 -3
  157. package/lib/cjs/types.js.map +0 -1
  158. package/lib/esm/structured-output/request-contact-info.d.ts +0 -9
  159. package/lib/esm/structured-output/request-contact-info.js +0 -14
  160. package/lib/esm/structured-output/request-contact-info.js.map +0 -1
  161. package/src/structured-output/request-contact-info.ts +0 -18
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpecialistAgent = void 0;
4
- const agents_1 = require("@openai/agents");
5
- const constants_1 = require("../constants");
6
- const tools_1 = require("../tools");
7
- const base_agent_1 = require("./base-agent");
8
- class SpecialistAgent extends base_agent_1.BaseAgent {
9
- constructor(options) {
10
- super({
11
- name: options.name,
12
- instructions: options.instructions,
13
- llmConfig: options.llmConfig,
14
- inputGuardrailRules: options.inputGuardrailRules,
15
- outputMessagesSchemas: options.outputMessagesSchemas,
16
- guardrailTrackingContext: options.guardrailTrackingContext,
17
- });
18
- this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignsContext);
19
- this.tools = this.addHubtypeTools(options.tools, options.sourceIds);
20
- this.logger = options.logger;
21
- this.forceToolNameOverride = options.forceToolNameOverride;
22
- this.disableForceRetrieveKnowledge = options.disableForceRetrieveKnowledge;
23
- }
24
- static async create(options) {
25
- const specialistAgent = new SpecialistAgent(options);
26
- const model = specialistAgent.llmConfig.modelName;
27
- const resolvedModel = await specialistAgent.getModel();
28
- const hasRetrieveKnowledge = specialistAgent.tools.some(tool => tool.name === tools_1.RETRIEVE_KNOWLEDGE_TOOL_NAME);
29
- const modelSettings = specialistAgent.getSpecialistModelSettings(hasRetrieveKnowledge);
30
- const inputGuardrails = await specialistAgent.getInputGuardrails();
31
- specialistAgent.logger.logModelSettings({
32
- provider: constants_1.LLM_PROVIDER,
33
- model,
34
- reasoning: modelSettings.reasoning,
35
- text: modelSettings.text,
36
- toolChoice: modelSettings.toolChoice,
37
- hasRetrieveKnowledge,
38
- });
39
- const agent = new agents_1.Agent({
40
- name: specialistAgent.name,
41
- model: resolvedModel,
42
- modelSettings,
43
- instructions: specialistAgent.instructions,
44
- tools: specialistAgent.tools,
45
- outputType: specialistAgent.getOutputType(),
46
- inputGuardrails,
47
- outputGuardrails: [],
48
- });
49
- specialistAgent.agent = agent;
50
- return specialistAgent;
51
- }
52
- getAgent() {
53
- return this.agent;
54
- }
55
- getSpecialistModelSettings(hasRetrieveKnowledge) {
56
- const modelSettings = this.getAgentModelSettings();
57
- const forceRetrieveKnowledge = hasRetrieveKnowledge &&
58
- !this.forceToolNameOverride &&
59
- !this.disableForceRetrieveKnowledge;
60
- if (forceRetrieveKnowledge) {
61
- modelSettings.toolChoice = tools_1.RETRIEVE_KNOWLEDGE_TOOL_NAME;
62
- }
63
- if (this.forceToolNameOverride) {
64
- modelSettings.toolChoice = this.forceToolNameOverride;
65
- }
66
- return modelSettings;
67
- }
68
- addExtraInstructions(initialInstructions, contactInfo, campaignsContext) {
69
- const sections = [
70
- `<instructions>\n${initialInstructions.trim()}\n</instructions>`,
71
- this.getMetadataInstructions(),
72
- this.getContactInfoInstructions(contactInfo),
73
- this.getCampaignInstructions(campaignsContext),
74
- ].filter(section => section.length > 0);
75
- return this.addOutputInstructions(sections.join('\n\n'));
76
- }
77
- getContactInfoInstructions(contactInfo) {
78
- return `<contact_info_fields>${JSON.stringify(contactInfo.map(info => ({
79
- name: info.name,
80
- value: info.value,
81
- })), null, 0)}</contact_info_fields>`;
82
- }
83
- getMetadataInstructions() {
84
- const metadata = `Current Date: ${new Date().toISOString()}`;
85
- return `<metadata>\n${metadata}\n</metadata>`;
86
- }
87
- getCampaignInstructions(campaignsContext) {
88
- if (!campaignsContext || campaignsContext.length === 0) {
89
- return '';
90
- }
91
- const campaignsWithContext = campaignsContext.filter(campaign => campaign.agent_context);
92
- if (campaignsWithContext.length === 0) {
93
- return '';
94
- }
95
- return campaignsWithContext
96
- .map((campaign, index) => `<campaign_context_${index + 1}>\n${campaign.agent_context}\n</campaign_context_${index + 1}>`)
97
- .join('\n');
98
- }
99
- addHubtypeTools(tools, sourceIds) {
100
- const hubtypeTools = [...tools_1.mandatoryTools];
101
- if (sourceIds.length > 0) {
102
- hubtypeTools.push((0, tools_1.createRetrieveKnowledge)(sourceIds));
103
- }
104
- return [...hubtypeTools, ...tools];
105
- }
106
- }
107
- exports.SpecialistAgent = SpecialistAgent;
108
- //# sourceMappingURL=specialist-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"specialist-agent.js","sourceRoot":"","sources":["../../../src/agents/specialist-agent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
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[];
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getToolsForBotConfig = getToolsForBotConfig;
4
- const zod_1 = require("zod");
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
- schema: zod_1.z.toJSONSchema(tool.schema, {
14
- target: 'draft-07',
15
- }),
16
- }));
17
- }
18
- //# sourceMappingURL=bot-config-tools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bot-config-tools.js","sourceRoot":"","sources":["../../src/bot-config-tools.ts"],"names":[],"mappings":";;AASA,oDAUC;AAlBD,6BAAuB;AAIvB;;;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,MAAM,EAAE,OAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE;YAClC,MAAM,EAAE,UAAU;SACnB,CAA6B;KAC/B,CAAC,CAAC,CAAA;AACL,CAAC"}
@@ -1,21 +0,0 @@
1
- export declare const HUBTYPE_API_URL: string;
2
- export declare const LLM_PROVIDERS: {
3
- readonly AZURE: "azure";
4
- readonly OPENAI: "openai";
5
- readonly LITELLM: "litellm";
6
- };
7
- export type LLMProviderType = (typeof LLM_PROVIDERS)[keyof typeof LLM_PROVIDERS];
8
- export declare const LITELLM_TAG_KEYS: {
9
- readonly BOT_ID: "bot_id";
10
- readonly ORG_ID: "org_id";
11
- readonly SEPARATOR: ",";
12
- };
13
- export declare const LLM_PROVIDER: LLMProviderType;
14
- export declare const LLM_API_KEY: string | undefined;
15
- export declare const LLM_API_URL: string | undefined;
16
- export declare const LLM_AZURE_API_VERSION: string;
17
- export declare const LLM_OPENAI_MODEL: string;
18
- export declare const isProd: boolean;
19
- export declare const MAX_MEMORY_LENGTH = 25;
20
- export declare const DEFAULT_TIMEOUT_16_SECONDS = 16000;
21
- export declare const DEFAULT_MAX_RETRIES = 2;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_TIMEOUT_16_SECONDS = exports.MAX_MEMORY_LENGTH = exports.isProd = exports.LLM_OPENAI_MODEL = exports.LLM_AZURE_API_VERSION = exports.LLM_API_URL = exports.LLM_API_KEY = exports.LLM_PROVIDER = exports.LITELLM_TAG_KEYS = exports.LLM_PROVIDERS = exports.HUBTYPE_API_URL = void 0;
4
- exports.HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
5
- // LLM Configuration (provider-agnostic; set LLM_PROVIDER=azure|openai)
6
- exports.LLM_PROVIDERS = {
7
- AZURE: 'azure',
8
- OPENAI: 'openai',
9
- LITELLM: 'litellm',
10
- };
11
- exports.LITELLM_TAG_KEYS = {
12
- BOT_ID: 'bot_id',
13
- ORG_ID: 'org_id',
14
- SEPARATOR: ',',
15
- };
16
- exports.LLM_PROVIDER = process.env.LLM_PROVIDER || exports.LLM_PROVIDERS.AZURE;
17
- exports.LLM_API_KEY = process.env.LLM_API_KEY; // pragma: allowlist secret
18
- exports.LLM_API_URL = process.env.LLM_API_URL;
19
- exports.LLM_AZURE_API_VERSION = process.env.LLM_AZURE_API_VERSION || '2025-01-01-preview';
20
- exports.LLM_OPENAI_MODEL = process.env.LLM_OPENAI_MODEL || 'gpt-4.1-mini';
21
- exports.isProd = process.env.NODE_ENV === 'production';
22
- exports.MAX_MEMORY_LENGTH = 25;
23
- exports.DEFAULT_TIMEOUT_16_SECONDS = 16000;
24
- exports.DEFAULT_MAX_RETRIES = 2;
25
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
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,uEAAuE;AAC1D,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAA;AAIG,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,GAAG;CACN,CAAA;AAEG,QAAA,YAAY,GACtB,OAAO,CAAC,GAAG,CAAC,YAAgC,IAAI,qBAAa,CAAC,KAAK,CAAA;AACzD,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA,CAAC,2BAA2B;AACjE,QAAA,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;AACrC,QAAA,qBAAqB,GAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,oBAAoB,CAAA;AAC9C,QAAA,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAA;AAEjE,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,33 +0,0 @@
1
- import { type AiAgentArgs, type ToolExecution } from '@botonic/core';
2
- import type { ModelSettings } from '@openai/agents';
3
- import type { AgenticInputMessage, MemoryOptions, RunResult } from './types';
4
- export interface DebugLoggerConfig {
5
- messageHistoryApiVersion: string;
6
- maxRetries: number;
7
- timeout: number;
8
- customToolNames: string[];
9
- memory: MemoryOptions;
10
- }
11
- export interface ModelSettingsInfo {
12
- provider: string;
13
- model: string | undefined;
14
- reasoning?: {
15
- effort: string;
16
- };
17
- text?: {
18
- verbosity: string;
19
- };
20
- toolChoice?: string;
21
- hasRetrieveKnowledge: boolean;
22
- }
23
- export interface DebugLogger {
24
- logInitialConfig(config: DebugLoggerConfig): void;
25
- logAgentDebugInfo(aiAgentArgs: AiAgentArgs, toolNames: string[], messages: AgenticInputMessage[]): void;
26
- logModelSettings(settings: ModelSettingsInfo): void;
27
- logRunnerStart(model: string, modelSettings: ModelSettings, prompt: string): void;
28
- logRunResult(runResult: RunResult, startTime: number): void;
29
- logGuardrailTriggered(): void;
30
- logRunnerError(startTime: number, error: unknown): void;
31
- logToolExecution(toolExecution: ToolExecution): void;
32
- }
33
- export declare function createDebugLogger(enableDebug: boolean): DebugLogger;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDebugLogger = createDebugLogger;
4
- const core_1 = require("@botonic/core");
5
- const constants_1 = require("./constants");
6
- const PREFIX = '[BotonicPluginAiAgents]';
7
- class EnabledDebugLogger {
8
- logInitialConfig(config) {
9
- console.log(`${PREFIX} === Plugin Initialization ===`);
10
- console.log(`${PREFIX} Provider: ${constants_1.LLM_PROVIDER}`);
11
- console.log(`${PREFIX} Message History API Version: ${config.messageHistoryApiVersion}`);
12
- console.log(`${PREFIX} Max Retries: ${config.maxRetries}`);
13
- console.log(`${PREFIX} Timeout: ${config.timeout}ms`);
14
- console.log(`${PREFIX} Custom Tools Registered: ${config.customToolNames.join(', ') || 'none'}`);
15
- console.log(`${PREFIX} Memory Options:`, {
16
- maxMessages: config.memory.maxMessages,
17
- includeToolCalls: config.memory.includeToolCalls,
18
- maxFullToolResults: config.memory.maxFullToolResults,
19
- debugMode: config.memory.debugMode,
20
- });
21
- console.log(`${PREFIX} === End Plugin Initialization ===`);
22
- }
23
- logAgentDebugInfo(aiAgentArgs, toolNames, messages) {
24
- console.log(`${PREFIX} === AI Agent Debug Info ===`);
25
- console.log(`${PREFIX} Agent Name: ${aiAgentArgs.name}`);
26
- console.log(`${PREFIX} Active Tools: ${JSON.stringify(toolNames)}`);
27
- if (aiAgentArgs.type === core_1.AiAgentType.Specialist) {
28
- console.log(`${PREFIX} Source IDs: ${JSON.stringify(aiAgentArgs.sourceIds || [])}`);
29
- }
30
- console.log(`${PREFIX} Message History Count: ${messages.length}`);
31
- console.log(`${PREFIX} Messages: ${JSON.stringify(messages, null, 2)}`);
32
- console.log(`${PREFIX} Input Guardrail Rules: ${aiAgentArgs.inputGuardrailRules?.length || 0}`);
33
- console.log(`${PREFIX} === End Debug Info ===`);
34
- }
35
- logModelSettings(settings) {
36
- console.log(`${PREFIX} === Agent Model Settings ===`);
37
- console.log(`${PREFIX} Has Retrieve Knowledge Tool: ${settings.hasRetrieveKnowledge}`);
38
- if (settings.reasoning) {
39
- console.log(`${PREFIX} Reasoning Effort: ${settings.reasoning.effort}`);
40
- }
41
- if (settings.text) {
42
- console.log(`${PREFIX} Text Verbosity: ${settings.text.verbosity}`);
43
- }
44
- if (settings.toolChoice) {
45
- console.log(`${PREFIX} Tool Choice: ${settings.toolChoice}`);
46
- }
47
- console.log(`${PREFIX} === End Model Settings ===`);
48
- }
49
- logRunnerStart(model, modelSettings, prompt) {
50
- console.log(`${PREFIX} === Runner Execution Start ===`);
51
- console.log(`${PREFIX} Model: ${model}`);
52
- console.log(`${PREFIX} Model Settings: ${JSON.stringify(modelSettings)}`);
53
- console.log(`${PREFIX} Prompt: ${prompt}`);
54
- }
55
- logRunResult(runResult, startTime) {
56
- const elapsedMs = Date.now() - startTime;
57
- console.log(`${PREFIX} === Runner Execution Complete ===`);
58
- console.log(`${PREFIX} Execution Time: ${elapsedMs}ms`);
59
- console.log(`${PREFIX} Output Messages Count: ${runResult.messages.length}`);
60
- console.log(`${PREFIX} Exit: ${runResult.exit}`);
61
- console.log(`${PREFIX} Error: ${runResult.error}`);
62
- console.log(`${PREFIX} Tools Executed: ${JSON.stringify(runResult.toolsExecuted.map(t => t.toolName))}`);
63
- if (runResult.inputGuardrailsTriggered.length > 0) {
64
- console.log(`${PREFIX} Input Guardrails Triggered: ${runResult.inputGuardrailsTriggered.length}`);
65
- }
66
- if (runResult.outputGuardrailsTriggered.length > 0) {
67
- console.log(`${PREFIX} Output Guardrails Triggered: ${runResult.outputGuardrailsTriggered.length}`);
68
- }
69
- console.log(`${PREFIX} === End Runner Execution ===`);
70
- }
71
- logGuardrailTriggered() {
72
- console.log(`${PREFIX} Input guardrail triggered`);
73
- }
74
- logRunnerError(startTime, error) {
75
- const elapsedMs = Date.now() - startTime;
76
- console.log(`${PREFIX} Runner execution failed after ${elapsedMs}ms`);
77
- console.log(`${PREFIX} Error:`, error);
78
- }
79
- logToolExecution(toolExecution) {
80
- console.log(`${PREFIX} Tool Execution: ${toolExecution.toolName}`);
81
- console.log(`${PREFIX} Tool Arguments: ${JSON.stringify(toolExecution.toolArguments)}`);
82
- console.log(`${PREFIX} Tool Results: ${toolExecution.toolResults}`);
83
- console.log(`${PREFIX} Knowledgebase Sources IDs: ${JSON.stringify(toolExecution.knowledgebaseSourcesIds)}`);
84
- console.log(`${PREFIX} Knowledgebase Chunks IDs: ${JSON.stringify(toolExecution.knowledgebaseChunksIds)}`);
85
- }
86
- }
87
- class DisabledDebugLogger {
88
- logInitialConfig() {
89
- return;
90
- }
91
- logAgentDebugInfo() {
92
- return;
93
- }
94
- logModelSettings() {
95
- return;
96
- }
97
- logRunnerStart(_model, _modelSettings, _prompt) {
98
- return;
99
- }
100
- logRunResult() {
101
- return;
102
- }
103
- logGuardrailTriggered() {
104
- return;
105
- }
106
- logRunnerError() {
107
- return;
108
- }
109
- logToolExecution() {
110
- return;
111
- }
112
- }
113
- function createDebugLogger(enableDebug) {
114
- return enableDebug ? new EnabledDebugLogger() : new DisabledDebugLogger();
115
- }
116
- //# sourceMappingURL=debug-logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/debug-logger.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './input';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./input"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guardrails/index.ts"],"names":[],"mappings":";;;AAAA,kDAAuB"}
@@ -1,10 +0,0 @@
1
- import { type InputGuardrail } from '@openai/agents';
2
- import type { LLMConfig } from '../llm-config';
3
- import type { GuardrailRule } from '../types';
4
- export interface GuardrailTrackingContext {
5
- botId: string;
6
- isTest: boolean;
7
- authToken: string;
8
- inferenceId: string;
9
- }
10
- export declare function createInputGuardrails(rules: GuardrailRule[], llmConfig: LLMConfig, trackingContext: GuardrailTrackingContext): Promise<InputGuardrail[]>;
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createInputGuardrails = createInputGuardrails;
4
- const agents_1 = require("@openai/agents");
5
- const zod_1 = require("zod");
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
- async function createInputGuardrails(rules, llmConfig, trackingContext) {
10
- if (rules.length === 0) {
11
- return [];
12
- }
13
- return [await buildInputGuardrail(rules, llmConfig, trackingContext)];
14
- }
15
- async function buildInputGuardrail(rules, llmConfig, trackingContext) {
16
- const outputType = zod_1.z.object(Object.fromEntries(rules.map(rule => [rule.name, zod_1.z.boolean().describe(rule.description)])));
17
- const modelSettings = createInputGuardrailModelSettings(llmConfig);
18
- const agent = new agents_1.Agent({
19
- name: 'InputGuardrail',
20
- model: await llmConfig.getModel(),
21
- modelSettings,
22
- instructions: 'Check if the user triggers some of the following guardrails.',
23
- outputType,
24
- });
25
- return {
26
- name: 'InputGuardrail',
27
- execute: async ({ input, context }) => {
28
- const lastMessage = input[input.length - 1];
29
- const runner = new agents_1.Runner({
30
- tracingDisabled: true,
31
- });
32
- const startTime = Date.now();
33
- const result = await runner.run(agent, [lastMessage], { context });
34
- const endTime = Date.now();
35
- await sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, startTime, endTime);
36
- const finalOutput = result.finalOutput;
37
- if (finalOutput === undefined) {
38
- throw new Error('Guardrail agent failed to produce output');
39
- }
40
- const triggered = Object.values(finalOutput).some(value => value === true);
41
- const triggeredGuardrails = Object.keys(finalOutput).filter(key => finalOutput[key] === true);
42
- return {
43
- outputInfo: triggeredGuardrails,
44
- tripwireTriggered: triggered,
45
- };
46
- },
47
- };
48
- }
49
- function createInputGuardrailModelSettings(llmConfig) {
50
- const modelSettings = {
51
- ...llmConfig.modelSettings,
52
- toolChoice: undefined,
53
- };
54
- if (llmConfig.modelSettings.reasoning) {
55
- modelSettings.reasoning = { ...llmConfig.modelSettings.reasoning };
56
- }
57
- if (llmConfig.modelSettings.text) {
58
- modelSettings.text = { ...llmConfig.modelSettings.text };
59
- }
60
- return modelSettings;
61
- }
62
- async function sendGuardrailLlmRunTracking(result, trackingContext, llmConfig, startTime, endTime) {
63
- if (!constants_1.isProd) {
64
- return;
65
- }
66
- if (llmConfig.getProviderName() === constants_1.LLM_PROVIDERS.LITELLM) {
67
- return;
68
- }
69
- const rawResponses = result.rawResponses ?? [];
70
- if (rawResponses.length === 0) {
71
- return;
72
- }
73
- const totalDuration = endTime - startTime;
74
- const durationPerCall = Math.round(totalDuration / rawResponses.length);
75
- const temperature = llmConfig.modelSettings.temperature ?? 0;
76
- const llmRuns = rawResponses.map(response => ({
77
- inference_id: trackingContext.inferenceId,
78
- is_test: trackingContext.isTest,
79
- product_name: types_1.TrackProductName.AI_AGENT,
80
- deployment_name: llmConfig.modelName,
81
- model_name: response.providerData?.model ??
82
- llmConfig.modelName,
83
- feature: types_1.TrackFeature.AI_AGENT_GUARDRAIL,
84
- api_version: llmConfig.getApiVersion(),
85
- num_prompt_tokens: response.usage.inputTokens,
86
- num_completion_tokens: response.usage.outputTokens,
87
- duration_in_milliseconds: durationPerCall,
88
- temperature,
89
- error: null,
90
- }));
91
- const client = new hubtype_api_client_1.HubtypeApiClient(trackingContext.authToken);
92
- await client.trackLlmRuns(trackingContext.botId, {
93
- llm_runs: llmRuns,
94
- });
95
- }
96
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { type AiAgentArgs, type BotContext, type Plugin, type ResolvedPlugins } from '@botonic/core';
2
- import type { CustomTool, InferenceResponse, PluginAiAgentOptions } from './types';
3
- export default class BotonicPluginAiAgents<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> implements Plugin {
4
- private readonly authToken?;
5
- private readonly memory;
6
- private readonly logger;
7
- private readonly timeout;
8
- private readonly maxRetries;
9
- toolDefinitions: CustomTool<TPlugins, TExtraData>[];
10
- private readonly localStorageKey;
11
- constructor(options?: PluginAiAgentOptions<TPlugins, TExtraData>);
12
- private getMemoryOptions;
13
- pre(): void;
14
- getInference(botContext: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs): Promise<InferenceResponse>;
15
- private executeSpecialistAIAgent;
16
- private executeRouterAIAgent;
17
- private getSpecialistAgentAndTools;
18
- private getMessages;
19
- private buildTools;
20
- }
21
- export * from './bot-config-tools';
22
- export * from './types';