@botonic/plugin-ai-agents 2.28.0 → 2.30.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 (95) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.json +7 -5
  3. package/src/index.d.ts +2 -1
  4. package/src/index.js +2 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/agents/base-agent.d.ts +25 -0
  7. package/src/lib/agents/base-agent.js +39 -0
  8. package/src/lib/agents/base-agent.js.map +1 -0
  9. package/src/lib/agents/index.d.ts +2 -0
  10. package/src/lib/agents/index.js +3 -0
  11. package/src/lib/agents/index.js.map +1 -0
  12. package/src/lib/agents/router-agent.d.ts +23 -0
  13. package/src/lib/agents/router-agent.js +32 -0
  14. package/src/lib/agents/router-agent.js.map +1 -0
  15. package/src/lib/agents/specialist-agent.d.ts +33 -0
  16. package/src/lib/agents/specialist-agent.js +103 -0
  17. package/src/lib/agents/specialist-agent.js.map +1 -0
  18. package/src/lib/bot-config-tools.d.ts +7 -0
  19. package/src/lib/bot-config-tools.js +11 -0
  20. package/src/lib/bot-config-tools.js.map +1 -0
  21. package/src/lib/constants.d.ts +16 -6
  22. package/src/lib/constants.js +16 -8
  23. package/src/lib/constants.js.map +1 -1
  24. package/src/lib/debug-logger.d.ts +4 -2
  25. package/src/lib/debug-logger.js +20 -22
  26. package/src/lib/debug-logger.js.map +1 -1
  27. package/src/lib/guardrails/input.d.ts +9 -3
  28. package/src/lib/guardrails/input.js +100 -24
  29. package/src/lib/guardrails/input.js.map +1 -1
  30. package/src/lib/index.d.ts +9 -3
  31. package/src/lib/index.js +128 -36
  32. package/src/lib/index.js.map +1 -1
  33. package/src/lib/llm-config.d.ts +31 -0
  34. package/src/lib/llm-config.js +111 -0
  35. package/src/lib/llm-config.js.map +1 -0
  36. package/src/lib/runners/base-runner.d.ts +32 -0
  37. package/src/lib/runners/base-runner.js +182 -0
  38. package/src/lib/runners/base-runner.js.map +1 -0
  39. package/src/lib/runners/index.d.ts +2 -0
  40. package/src/lib/runners/index.js +3 -0
  41. package/src/lib/runners/index.js.map +1 -0
  42. package/src/lib/runners/router-runner.d.ts +8 -0
  43. package/src/lib/runners/router-runner.js +40 -0
  44. package/src/lib/runners/router-runner.js.map +1 -0
  45. package/src/lib/runners/specialist-runner.d.ts +4 -0
  46. package/src/lib/runners/specialist-runner.js +4 -0
  47. package/src/lib/runners/specialist-runner.js.map +1 -0
  48. package/src/lib/services/hubtype-api-client.d.ts +13 -0
  49. package/src/lib/{hubtype-api-client.js → services/hubtype-api-client.js} +32 -51
  50. package/src/lib/services/hubtype-api-client.js.map +1 -0
  51. package/src/lib/services/types.d.ts +71 -0
  52. package/src/lib/services/types.js +10 -0
  53. package/src/lib/services/types.js.map +1 -0
  54. package/src/lib/structured-output/bot-executor.d.ts +15 -0
  55. package/src/lib/structured-output/bot-executor.js +15 -0
  56. package/src/lib/structured-output/bot-executor.js.map +1 -0
  57. package/src/lib/structured-output/carousel.d.ts +8 -78
  58. package/src/lib/structured-output/carousel.js +2 -1
  59. package/src/lib/structured-output/carousel.js.map +1 -1
  60. package/src/lib/structured-output/exit.d.ts +5 -7
  61. package/src/lib/structured-output/exit.js +2 -1
  62. package/src/lib/structured-output/exit.js.map +1 -1
  63. package/src/lib/structured-output/flow-builder-content.d.ts +9 -0
  64. package/src/lib/structured-output/flow-builder-content.js +9 -0
  65. package/src/lib/structured-output/flow-builder-content.js.map +1 -0
  66. package/src/lib/structured-output/index.d.ts +103 -203
  67. package/src/lib/structured-output/index.js +30 -3
  68. package/src/lib/structured-output/index.js.map +1 -1
  69. package/src/lib/structured-output/text-with-buttons.d.ts +11 -41
  70. package/src/lib/structured-output/text-with-buttons.js +8 -1
  71. package/src/lib/structured-output/text-with-buttons.js.map +1 -1
  72. package/src/lib/structured-output/text.d.ts +6 -18
  73. package/src/lib/structured-output/text.js +2 -1
  74. package/src/lib/structured-output/text.js.map +1 -1
  75. package/src/lib/test-llm-config.d.ts +10 -0
  76. package/src/lib/test-llm-config.js +18 -0
  77. package/src/lib/test-llm-config.js.map +1 -0
  78. package/src/lib/tools/index.d.ts +1 -1
  79. package/src/lib/tools/index.js +1 -1
  80. package/src/lib/tools/index.js.map +1 -1
  81. package/src/lib/tools/retrieve-knowledge.d.ts +3 -6
  82. package/src/lib/tools/retrieve-knowledge.js +4 -4
  83. package/src/lib/tools/retrieve-knowledge.js.map +1 -1
  84. package/src/lib/types.d.ts +15 -9
  85. package/src/lib/agent-builder.d.ts +0 -30
  86. package/src/lib/agent-builder.js +0 -111
  87. package/src/lib/agent-builder.js.map +0 -1
  88. package/src/lib/hubtype-api-client.d.ts +0 -22
  89. package/src/lib/hubtype-api-client.js.map +0 -1
  90. package/src/lib/openai.d.ts +0 -1
  91. package/src/lib/openai.js +0 -21
  92. package/src/lib/openai.js.map +0 -1
  93. package/src/lib/runner.d.ts +0 -13
  94. package/src/lib/runner.js +0 -96
  95. package/src/lib/runner.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { tool } from '@openai/agents';
3
3
  import { z } from 'zod';
4
- import { HubtypeApiClient } from '../hubtype-api-client';
5
- export const retrieveKnowledge = tool({
6
- name: 'retrieve_knowledge',
4
+ import { HubtypeApiClient } from '../services/hubtype-api-client';
5
+ export const RETRIEVE_KNOWLEDGE_TOOL_NAME = 'retrieve_knowledge';
6
+ export const createRetrieveKnowledge = (sourceIds) => tool({
7
+ name: RETRIEVE_KNOWLEDGE_TOOL_NAME,
7
8
  description: 'Consult the knowledge base for information before answering. Use this tool to make sure the information you provide is faithful.',
8
9
  parameters: z.object({
9
10
  query: z.string().describe('The query to search the knowledge base for'),
@@ -14,7 +15,6 @@ export const retrieveKnowledge = tool({
14
15
  if (!context) {
15
16
  throw new Error('Context is required');
16
17
  }
17
- const sourceIds = context.sourceIds;
18
18
  const client = new HubtypeApiClient(context.botonicContext);
19
19
  const chunks = yield client.retrieveSimilarChunks(query, sourceIds);
20
20
  const chunkTexts = chunks.map(chunk => chunk.text);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-knowledge.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/tools/retrieve-knowledge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,kIAAkI;IACpI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACzE,CAAC;IACF,OAAO,EAAE,CACP,KAAwB,EACxB,UAAuC,EACpB,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAElD,OAAO,CAAC,aAAa,GAAG;YACtB,KAAK;YACL,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,UAAU;SACX,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"retrieve-knowledge.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-ai-agents/src/lib/tools/retrieve-knowledge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAGjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAA;AAEhE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAmB,EAAE,EAAE,CAC7D,IAAI,CAAC;IACH,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,kIAAkI;IACpI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACzE,CAAC;IACF,OAAO,EAAE,CACP,KAAwB,EACxB,UAAuC,EACpB,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAElD,OAAO,CAAC,aAAa,GAAG;YACtB,KAAK;YACL,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,UAAU;SACX,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;CACF,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { BotonicContext, ResolvedPlugins } from '@botonic/core';
2
2
  import type { AgenticOutputMessage, AiAgentArgs, BotonicSessionUserContactInfoItem, GuardrailRule, InferenceResponse, RunResult, UserExtraData } from '@botonic/shared';
3
3
  import type { Agent, AgentInputItem, AgentOutputType, RunContext as OpenAIRunContext, Tool as OpenAITool } from '@openai/agents';
4
- import type { ZodSchema } from 'zod';
4
+ import type { ZodType } from 'zod';
5
5
  import type { OutputSchema } from './structured-output';
6
6
  export interface AiAgentContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
7
7
  sourceIds: string[];
@@ -17,7 +17,7 @@ export type RunContext<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtr
17
17
  export interface CustomTool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
18
18
  name: string;
19
19
  description: string;
20
- schema: ZodSchema;
20
+ schema: ZodType;
21
21
  func: (input?: any, runContext?: RunContext<TPlugins, TExtraData>) => Promise<any>;
22
22
  }
23
23
  export interface Chunk {
@@ -27,20 +27,26 @@ export interface Chunk {
27
27
  export type ContactInfo = BotonicSessionUserContactInfoItem;
28
28
  export type Tool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = OpenAITool<AiAgentContext<TPlugins, TExtraData>>;
29
29
  export type AIAgent<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> = Agent<AiAgentContext<TPlugins, TExtraData>, AgentOutputType<typeof OutputSchema>>;
30
- export type MessageHistoryApiVersion = 'v1' | 'v2';
31
30
  export interface MemoryOptions {
32
- maxMessages?: number;
33
- includeToolCalls?: boolean;
34
- maxFullToolResults?: number;
35
- debugMode?: boolean;
31
+ maxMessages: number;
32
+ includeToolCalls: boolean;
33
+ maxFullToolResults: number;
34
+ debugMode: boolean;
36
35
  }
37
36
  export interface PluginAiAgentOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
38
37
  customTools?: CustomTool<TPlugins, TExtraData>[];
39
38
  timeout?: number;
40
39
  maxRetries?: number;
41
- messageHistoryApiVersion?: MessageHistoryApiVersion;
42
- memory?: MemoryOptions;
40
+ memory?: Partial<MemoryOptions>;
43
41
  enableDebug?: boolean;
42
+ provider?: 'openai' | 'azure';
43
+ }
44
+ export interface ResultRawResponse {
45
+ usage: {
46
+ inputTokens: number;
47
+ outputTokens: number;
48
+ };
49
+ providerData?: Record<string, unknown>;
44
50
  }
45
51
  export type AgenticInputMessage = AgentInputItem;
46
52
  export type { AgenticOutputMessage, AiAgentArgs, GuardrailRule, InferenceResponse, RunResult, };
@@ -1,30 +0,0 @@
1
- import type { CampaignV2, ResolvedPlugins } from '@botonic/core';
2
- import type { UserExtraData } from '@botonic/shared';
3
- import { DebugLogger } from './debug-logger';
4
- import { AIAgent, type ContactInfo, GuardrailRule, Tool } from './types';
5
- interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
6
- name: string;
7
- instructions: string;
8
- tools: Tool<TPlugins, TExtraData>[];
9
- campaignsContext?: CampaignV2[];
10
- contactInfo: ContactInfo[];
11
- inputGuardrailRules: GuardrailRule[];
12
- sourceIds: string[];
13
- logger: DebugLogger;
14
- }
15
- export declare class AIAgentBuilder<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
16
- private name;
17
- private instructions;
18
- private tools;
19
- private inputGuardrails;
20
- private logger;
21
- constructor(options: AIAgentBuilderOptions<TPlugins, TExtraData>);
22
- build(): AIAgent<TPlugins, TExtraData>;
23
- private addExtraInstructions;
24
- private getContactInfoInstructions;
25
- private getMetadataInstructions;
26
- private getCampaignInstructions;
27
- private getOutputInstructions;
28
- private addHubtypeTools;
29
- }
30
- export {};
@@ -1,111 +0,0 @@
1
- import { Agent, } from '@openai/agents';
2
- import { OPENAI_MODEL, OPENAI_PROVIDER } from './constants';
3
- import { createInputGuardrail } from './guardrails';
4
- import { OutputSchema } from './structured-output';
5
- import { mandatoryTools, retrieveKnowledge } from './tools';
6
- export class AIAgentBuilder {
7
- constructor(options) {
8
- this.name = options.name;
9
- this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignsContext);
10
- this.tools = this.addHubtypeTools(options.tools, options.sourceIds);
11
- this.inputGuardrails = [];
12
- this.logger = options.logger;
13
- if (options.inputGuardrailRules.length > 0) {
14
- const inputGuardrail = createInputGuardrail(options.inputGuardrailRules);
15
- this.inputGuardrails.push(inputGuardrail);
16
- }
17
- }
18
- build() {
19
- const modelSettings = {};
20
- if (OPENAI_PROVIDER === 'openai') {
21
- modelSettings.reasoning = { effort: 'none' }; // Specific to OpenAI API
22
- modelSettings.text = { verbosity: 'medium' };
23
- }
24
- const hasRetrieveKnowledge = this.tools.some(t => t.name === retrieveKnowledge.name);
25
- if (hasRetrieveKnowledge && OPENAI_PROVIDER === 'azure') {
26
- modelSettings.toolChoice = retrieveKnowledge.name;
27
- }
28
- // When using standard OpenAI API, we need to specify the model
29
- // Azure OpenAI uses deployment name instead
30
- const model = OPENAI_PROVIDER === 'openai' ? OPENAI_MODEL : undefined;
31
- this.logger.logModelSettings({
32
- provider: OPENAI_PROVIDER,
33
- model,
34
- reasoning: modelSettings.reasoning,
35
- text: modelSettings.text,
36
- toolChoice: modelSettings.toolChoice,
37
- hasRetrieveKnowledge,
38
- });
39
- return new Agent({
40
- name: this.name,
41
- model,
42
- instructions: this.instructions,
43
- tools: this.tools,
44
- outputType: OutputSchema,
45
- inputGuardrails: this.inputGuardrails,
46
- outputGuardrails: [],
47
- modelSettings,
48
- });
49
- }
50
- addExtraInstructions(initialInstructions, contactInfo, campaignsContext) {
51
- const instructions = `<instructions>\n${initialInstructions.trim()}\n</instructions>`;
52
- const metadataInstructions = this.getMetadataInstructions();
53
- const contactInfoInstructions = this.getContactInfoInstructions(contactInfo);
54
- const campaignInstructions = this.getCampaignInstructions(campaignsContext);
55
- const outputInstructions = this.getOutputInstructions();
56
- return `${instructions}\n\n${metadataInstructions}\n\n${contactInfoInstructions}\n\n${campaignInstructions}\n\n${outputInstructions}`;
57
- }
58
- getContactInfoInstructions(contactInfo) {
59
- const structuredContactInfo = contactInfo
60
- .map(info => ` <contact_info>
61
- <name>${info.name}</name>
62
- <value>${info.value}</value>
63
- <type>${info.type}</type>
64
- ${info.description
65
- ? `<description>${info.description}</description>`
66
- : ''}
67
- </contact_info>`)
68
- .join('\n');
69
- return `<contact_info_fields>\n${structuredContactInfo}</contact_info_fields>`;
70
- }
71
- getMetadataInstructions() {
72
- const metadata = `Current Date: ${new Date().toISOString()}`;
73
- return `<metadata>\n${metadata}\n</metadata>`;
74
- }
75
- getCampaignInstructions(campaignsContext) {
76
- if (!campaignsContext || campaignsContext.length === 0) {
77
- return '';
78
- }
79
- const campaignsWithContext = campaignsContext.filter(campaign => campaign.agent_context);
80
- if (campaignsWithContext.length === 0) {
81
- return '';
82
- }
83
- return campaignsWithContext
84
- .map((campaign, index) => `<campaign_context_${index + 1}>\n${campaign.agent_context}\n</campaign_context_${index + 1}>`)
85
- .join('\n');
86
- }
87
- getOutputInstructions() {
88
- const example = {
89
- messages: [
90
- {
91
- type: 'text',
92
- content: {
93
- text: 'Hello, how can I help you today?',
94
- },
95
- },
96
- ],
97
- };
98
- const output = `Return a JSON that follows the output schema provided. Never return multiple output schemas concatenated by a line break.\n<example>\n${JSON.stringify(example)}\n</example>`;
99
- return `<output>\n${output}\n</output>`;
100
- }
101
- addHubtypeTools(tools, sourceIds) {
102
- // Cast needed: mandatoryTools/retrieveKnowledge are Tool<ResolvedPlugins, ExtraData> at runtime but compatible with Tool<TPlugins, TExtraData>
103
- const hubtypeTools = [
104
- ...mandatoryTools,
105
- ...(sourceIds.length > 0 ? [retrieveKnowledge] : []),
106
- ...tools,
107
- ];
108
- return hubtypeTools;
109
- }
110
- }
111
- //# sourceMappingURL=agent-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-builder.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-ai-agents/src/lib/agent-builder.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { BotonicContext } from '@botonic/core';
2
- import type { AgenticInputMessage, Chunk } from './types';
3
- export interface GetMessagesV2Options {
4
- maxMessages?: number;
5
- includeToolCalls?: boolean;
6
- maxFullToolResults?: number;
7
- debugMode?: boolean;
8
- }
9
- export interface GetMessagesV2Result {
10
- messages: AgenticInputMessage[];
11
- conversationId: string | null;
12
- truncated: boolean;
13
- }
14
- export declare class HubtypeApiClient {
15
- private readonly botonicContext;
16
- constructor(botonicContext: BotonicContext);
17
- retrieveSimilarChunks(query: string, sourceIds: string[]): Promise<Chunk[]>;
18
- getMessages(botonicContext: BotonicContext, maxMemoryLength: number): Promise<AgenticInputMessage[]>;
19
- getMessagesV2(botonicContext: BotonicContext, options?: GetMessagesV2Options): Promise<GetMessagesV2Result>;
20
- private formatMessageV2;
21
- private formatMessage;
22
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-ai-agents/src/lib/hubtype-api-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function setUpOpenAI(maxRetries?: number, timeout?: number): void;
package/src/lib/openai.js DELETED
@@ -1,21 +0,0 @@
1
- import { setDefaultOpenAIClient, setOpenAIAPI, setTracingDisabled, } from '@openai/agents';
2
- import { AzureOpenAI } from 'openai';
3
- import { AZURE_OPENAI_API_BASE, AZURE_OPENAI_API_DEPLOYMENT_NAME, AZURE_OPENAI_API_KEY, AZURE_OPENAI_API_VERSION, } from './constants';
4
- export function setUpOpenAI(maxRetries, timeout) {
5
- setAzureOpenAIClient(maxRetries, timeout);
6
- setOpenAIAPI('chat_completions');
7
- setTracingDisabled(true);
8
- }
9
- function setAzureOpenAIClient(maxRetries, timeout) {
10
- const client = new AzureOpenAI({
11
- apiKey: AZURE_OPENAI_API_KEY,
12
- apiVersion: AZURE_OPENAI_API_VERSION,
13
- deployment: AZURE_OPENAI_API_DEPLOYMENT_NAME,
14
- baseURL: AZURE_OPENAI_API_BASE,
15
- timeout: timeout || 8 * 1000, // 8 seconds
16
- maxRetries: maxRetries || 2,
17
- });
18
- // AzureOpenAI is runtime-compatible, but TypeScript can see a different OpenAI instance.
19
- setDefaultOpenAIClient(client);
20
- }
21
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-ai-agents/src/lib/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AAEpB,MAAM,UAAU,WAAW,CAAC,UAAmB,EAAE,OAAgB;IAC/D,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACzC,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAChC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmB,EAAE,OAAgB;IACjE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;QAC7B,MAAM,EAAE,oBAAoB;QAC5B,UAAU,EAAE,wBAAwB;QACpC,UAAU,EAAE,gCAAgC;QAC5C,OAAO,EAAE,qBAAqB;QAC9B,OAAO,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,YAAY;QAC1C,UAAU,EAAE,UAAU,IAAI,CAAC;KAC5B,CAAC,CAAA;IACF,yFAAyF;IACzF,sBAAsB,CACpB,MAAiE,CAClE,CAAA;AACH,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { ResolvedPlugins } from '@botonic/core';
2
- import type { UserExtraData } from '@botonic/shared';
3
- import { DebugLogger } from './debug-logger';
4
- import { AgenticInputMessage, AIAgent, AiAgentContext, RunResult } from './types';
5
- export declare class AIAgentRunner<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData extends UserExtraData = UserExtraData> {
6
- private agent;
7
- private logger;
8
- constructor(agent: AIAgent<TPlugins, TExtraData>, logger: DebugLogger);
9
- run(messages: AgenticInputMessage[], context: AiAgentContext<TPlugins, TExtraData>): Promise<RunResult>;
10
- private getToolsExecuted;
11
- private getToolExecutionInfo;
12
- private getSafeToolArguments;
13
- }
package/src/lib/runner.js DELETED
@@ -1,96 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { InputGuardrailTripwireTriggered, Runner, RunToolCallItem, } from '@openai/agents';
3
- import { retrieveKnowledge } from './tools';
4
- export class AIAgentRunner {
5
- constructor(agent, logger) {
6
- this.agent = agent;
7
- this.logger = logger;
8
- }
9
- run(messages, context) {
10
- return __awaiter(this, void 0, void 0, function* () {
11
- var _a;
12
- const startTime = Date.now();
13
- this.logger.logRunnerStart();
14
- try {
15
- const runner = new Runner({
16
- modelSettings: { temperature: 0 },
17
- });
18
- // Type assertion to bypass strict type checking - the actual return type from runner.run()
19
- // doesn't perfectly match our interface, but the properties we access are compatible
20
- const result = (yield runner.run(this.agent, messages, {
21
- context,
22
- }));
23
- const outputMessages = ((_a = result.finalOutput) === null || _a === void 0 ? void 0 : _a.messages) || [];
24
- const hasExit = outputMessages.length === 0 ||
25
- outputMessages.some(message => message.type === 'exit');
26
- const toolsExecuted = this.getToolsExecuted(result, context);
27
- const runResult = {
28
- messages: hasExit
29
- ? []
30
- : outputMessages.filter(message => message.type !== 'exit'),
31
- toolsExecuted,
32
- exit: hasExit,
33
- memoryLength: messages.length,
34
- error: false,
35
- inputGuardrailsTriggered: [],
36
- outputGuardrailsTriggered: [],
37
- };
38
- this.logger.logRunResult(runResult, startTime);
39
- return runResult;
40
- }
41
- catch (error) {
42
- if (error instanceof InputGuardrailTripwireTriggered) {
43
- const runResult = {
44
- messages: [],
45
- memoryLength: 0,
46
- toolsExecuted: [],
47
- exit: true,
48
- error: false,
49
- inputGuardrailsTriggered: error.result.output.outputInfo,
50
- outputGuardrailsTriggered: [],
51
- };
52
- this.logger.logGuardrailTriggered();
53
- this.logger.logRunResult(runResult, startTime);
54
- return runResult;
55
- }
56
- this.logger.logRunnerError(startTime, error);
57
- throw error;
58
- }
59
- });
60
- }
61
- getToolsExecuted(result, context) {
62
- var _a;
63
- return (((_a = result.newItems) === null || _a === void 0 ? void 0 : _a.filter((item) => item instanceof RunToolCallItem).map((item) => this.getToolExecutionInfo(item, context)).filter((toolExecution) => toolExecution.toolName !== '')) || []);
64
- }
65
- getToolExecutionInfo(item, context) {
66
- if (item.rawItem.type !== 'function_call') {
67
- return {
68
- toolName: '',
69
- toolArguments: {},
70
- };
71
- }
72
- const toolName = item.rawItem.name;
73
- const toolArguments = this.getSafeToolArguments(item.rawItem.arguments);
74
- if (toolName === retrieveKnowledge.name) {
75
- return {
76
- toolName,
77
- toolArguments,
78
- knowledgebaseSourcesIds: context.knowledgeUsed.sourceIds,
79
- knowledgebaseChunksIds: context.knowledgeUsed.chunksIds,
80
- };
81
- }
82
- return {
83
- toolName,
84
- toolArguments,
85
- };
86
- }
87
- getSafeToolArguments(rawToolArguments) {
88
- try {
89
- return JSON.parse(rawToolArguments);
90
- }
91
- catch (error) {
92
- return {};
93
- }
94
- }
95
- }
96
- //# sourceMappingURL=runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-ai-agents/src/lib/runner.ts"],"names":[],"mappings":";AAMA,OAAO,EACL,+BAA+B,EAE/B,MAAM,EACN,eAAe,GAChB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAkB3C,MAAM,OAAO,aAAa;IAOxB,YAAY,KAAoC,EAAE,MAAmB;QACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEK,GAAG,CACP,QAA+B,EAC/B,OAA6C;;;YAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAE5B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;oBACxB,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;iBAClC,CAAC,CAAA;gBACF,2FAA2F;gBAC3F,qFAAqF;gBACrF,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE;oBACrD,OAAO;iBACR,CAAC,CAAwB,CAAA;gBAE1B,MAAM,cAAc,GAAG,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,QAAQ,KAAI,EAAE,CAAA;gBACzD,MAAM,OAAO,GACX,cAAc,CAAC,MAAM,KAAK,CAAC;oBAC3B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;gBACzD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAE5D,MAAM,SAAS,GAAc;oBAC3B,QAAQ,EAAE,OAAO;wBACf,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAE,cAAc,CAAC,MAAM,CACpB,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CACR;oBAChC,aAAa;oBACb,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,QAAQ,CAAC,MAAM;oBAC7B,KAAK,EAAE,KAAK;oBACZ,wBAAwB,EAAE,EAAE;oBAC5B,yBAAyB,EAAE,EAAE;iBAC9B,CAAA;gBAED,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBAE9C,OAAO,SAAS,CAAA;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,+BAA+B,EAAE,CAAC;oBACrD,MAAM,SAAS,GAAc;wBAC3B,QAAQ,EAAE,EAAE;wBACZ,YAAY,EAAE,CAAC;wBACf,aAAa,EAAE,EAAE;wBACjB,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;wBACxD,yBAAyB,EAAE,EAAE;qBAC9B,CAAA;oBAED,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAA;oBACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;oBAE9C,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;gBAE5C,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KAAA;IAEO,gBAAgB,CACtB,MAAW,EACX,OAA6C;;QAE7C,OAAO,CACL,CAAA,MAAA,MAAM,CAAC,QAAQ,0CACX,MAAM,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,YAAY,eAAe,EAC1D,GAAG,CAAC,CAAC,IAAqB,EAAE,EAAE,CAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAuB,EAAE,OAAO,CAAC,EAE5D,MAAM,CACL,CAAC,aAA4B,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,KAAK,EAAE,CAChE,KAAI,EAAE,CACV,CAAA;IACH,CAAC;IAEO,oBAAoB,CAC1B,IAAqB,EACrB,OAA6C;QAE7C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE;aAClB,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAEvE,IAAI,QAAQ,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO;gBACL,QAAQ;gBACR,aAAa;gBACb,uBAAuB,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;gBACxD,sBAAsB,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;aACxD,CAAA;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,aAAa;SACd,CAAA;IACH,CAAC;IAEO,oBAAoB,CAAC,gBAAwB;QACnD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;CACF"}