@botonic/plugin-ai-agents 0.42.4 → 0.43.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/lib/cjs/agent-builder.d.ts +14 -3
  2. package/lib/cjs/agent-builder.js +44 -13
  3. package/lib/cjs/agent-builder.js.map +1 -1
  4. package/lib/cjs/constants.d.ts +3 -0
  5. package/lib/cjs/constants.js +6 -1
  6. package/lib/cjs/constants.js.map +1 -1
  7. package/lib/cjs/guardrails/input.js.map +1 -1
  8. package/lib/cjs/hubtype-api-client.d.ts +13 -0
  9. package/lib/cjs/hubtype-api-client.js +97 -0
  10. package/lib/cjs/hubtype-api-client.js.map +1 -1
  11. package/lib/cjs/index.d.ts +2 -0
  12. package/lib/cjs/index.js +31 -6
  13. package/lib/cjs/index.js.map +1 -1
  14. package/lib/cjs/openai.js +18 -3
  15. package/lib/cjs/openai.js.map +1 -1
  16. package/lib/cjs/runner.js +5 -1
  17. package/lib/cjs/runner.js.map +1 -1
  18. package/lib/cjs/tools/retrieve-knowledge.d.ts +8 -1
  19. package/lib/cjs/tools/retrieve-knowledge.js +2 -1
  20. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -1
  21. package/lib/cjs/types.d.ts +13 -3
  22. package/lib/esm/agent-builder.d.ts +14 -3
  23. package/lib/esm/agent-builder.js +45 -14
  24. package/lib/esm/agent-builder.js.map +1 -1
  25. package/lib/esm/constants.d.ts +3 -0
  26. package/lib/esm/constants.js +5 -0
  27. package/lib/esm/constants.js.map +1 -1
  28. package/lib/esm/guardrails/input.js.map +1 -1
  29. package/lib/esm/hubtype-api-client.d.ts +13 -0
  30. package/lib/esm/hubtype-api-client.js +97 -0
  31. package/lib/esm/hubtype-api-client.js.map +1 -1
  32. package/lib/esm/index.d.ts +2 -0
  33. package/lib/esm/index.js +31 -6
  34. package/lib/esm/index.js.map +1 -1
  35. package/lib/esm/openai.js +18 -4
  36. package/lib/esm/openai.js.map +1 -1
  37. package/lib/esm/runner.js +5 -1
  38. package/lib/esm/runner.js.map +1 -1
  39. package/lib/esm/tools/retrieve-knowledge.d.ts +8 -1
  40. package/lib/esm/tools/retrieve-knowledge.js +2 -1
  41. package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
  42. package/lib/esm/types.d.ts +13 -3
  43. package/package.json +3 -3
  44. package/src/agent-builder.ts +80 -26
  45. package/src/constants.ts +7 -0
  46. package/src/guardrails/input.ts +1 -1
  47. package/src/hubtype-api-client.ts +176 -0
  48. package/src/index.ts +39 -12
  49. package/src/openai.ts +19 -3
  50. package/src/runner.ts +15 -2
  51. package/src/tools/retrieve-knowledge.ts +3 -2
  52. package/src/types.ts +17 -3
@@ -1,25 +1,42 @@
1
- import { Agent } from '@openai/agents';
1
+ import { Agent, } from '@openai/agents';
2
+ import { OPENAI_MODEL, OPENAI_PROVIDER } from './constants';
2
3
  import { createInputGuardrail } from './guardrails';
3
4
  import { OutputSchema } from './structured-output';
4
5
  import { mandatoryTools, retrieveKnowledge } from './tools';
5
6
  export class AIAgentBuilder {
6
- constructor(name, instructions, tools, contactInfo, inputGuardrailRules, sourceIds) {
7
- this.name = name;
8
- this.instructions = this.addExtraInstructions(instructions, contactInfo);
9
- this.tools = this.addHubtypeTools(tools, sourceIds);
7
+ constructor(options) {
8
+ this.name = options.name;
9
+ this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignContext);
10
+ this.tools = this.addHubtypeTools(options.tools, options.sourceIds);
10
11
  this.inputGuardrails = [];
11
- if (inputGuardrailRules.length > 0) {
12
- const inputGuardrail = createInputGuardrail(inputGuardrailRules);
12
+ if (options.inputGuardrailRules.length > 0) {
13
+ const inputGuardrail = createInputGuardrail(options.inputGuardrailRules);
13
14
  this.inputGuardrails.push(inputGuardrail);
14
15
  }
15
16
  }
16
17
  build() {
17
18
  const modelSettings = {};
18
- if (this.tools.includes(retrieveKnowledge)) {
19
+ if (OPENAI_PROVIDER === 'openai') {
20
+ // @ts-expect-error - reasoning.effort is valid but we need to update openai and typescript dependencies
21
+ modelSettings.reasoning = { effort: 'none' };
22
+ modelSettings.text = { verbosity: 'medium' };
23
+ }
24
+ if (this.tools.includes(retrieveKnowledge) && OPENAI_PROVIDER === 'azure') {
19
25
  modelSettings.toolChoice = retrieveKnowledge.name;
20
26
  }
27
+ // When using standard OpenAI API, we need to specify the model
28
+ // Azure OpenAI uses deployment name instead
29
+ const model = OPENAI_PROVIDER === 'openai' ? OPENAI_MODEL : undefined;
30
+ // TODO: Improve type safety - replace AgentOutputType<any> with AgentOutputType<typeof OutputSchema>
31
+ // Currently using explicit type parameters to avoid type inference issues where Agent constructor
32
+ // infers ZodObject instead of AgentOutputType<typeof OutputSchema>. The explicit type parameters
33
+ // ensure compatibility with AIAgent type definition. Future improvements:
34
+ // 1. Update @openai/agents package to properly infer AgentOutputType from outputType parameter
35
+ // 2. Replace AgentOutputType<any> with AgentOutputType<typeof OutputSchema> once type system allows
36
+ // 3. Consider updating AIAgent type definition if @openai/agents types change significantly
21
37
  return new Agent({
22
38
  name: this.name,
39
+ model,
23
40
  instructions: this.instructions,
24
41
  tools: this.tools,
25
42
  outputType: OutputSchema,
@@ -28,23 +45,37 @@ export class AIAgentBuilder {
28
45
  modelSettings,
29
46
  });
30
47
  }
31
- addExtraInstructions(initialInstructions, contactInfo) {
32
- const instructions = `<instructions>\n${initialInstructions}\n</instructions>`;
48
+ addExtraInstructions(initialInstructions, contactInfo, campaignContext) {
49
+ const instructions = `<instructions>\n${initialInstructions.trim()}\n</instructions>`;
33
50
  const metadataInstructions = this.getMetadataInstructions();
34
51
  const contactInfoInstructions = this.getContactInfoInstructions(contactInfo);
52
+ const campaignInstructions = this.getCampaignInstructions(campaignContext);
35
53
  const outputInstructions = this.getOutputInstructions();
36
- return `${instructions}\n\n${metadataInstructions}\n\n${contactInfoInstructions}\n\n${outputInstructions}`;
54
+ return `${instructions}\n\n${metadataInstructions}\n\n${contactInfoInstructions}\n\n${campaignInstructions}\n\n${outputInstructions}`;
37
55
  }
38
56
  getContactInfoInstructions(contactInfo) {
39
- const structuredContactInfo = Object.entries(contactInfo)
40
- .map(([key, value]) => `${key}: ${value}`)
57
+ const structuredContactInfo = contactInfo
58
+ .map(info => ` <contact_info>
59
+ <name>${info.name}</name>
60
+ <value>${info.value}</value>
61
+ <type>${info.type}</type>
62
+ ${info.description
63
+ ? `<description>${info.description}</description>`
64
+ : ''}
65
+ </contact_info>`)
41
66
  .join('\n');
42
- return `<contact_info>\n${structuredContactInfo}\n</contact_info>`;
67
+ return `<contact_info_fields>\n${structuredContactInfo}</contact_info_fields>`;
43
68
  }
44
69
  getMetadataInstructions() {
45
70
  const metadata = `Current Date: ${new Date().toISOString()}`;
46
71
  return `<metadata>\n${metadata}\n</metadata>`;
47
72
  }
73
+ getCampaignInstructions(campaignContext) {
74
+ if (!campaignContext || !campaignContext.agent_context) {
75
+ return '';
76
+ }
77
+ return `<campaign_context>\n${campaignContext.agent_context}\n</campaign_context>`;
78
+ }
48
79
  getOutputInstructions() {
49
80
  const example = {
50
81
  messages: [
@@ -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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"}
@@ -1,4 +1,7 @@
1
1
  export declare const HUBTYPE_API_URL: string;
2
+ export declare const OPENAI_API_KEY: string | undefined;
3
+ export declare const OPENAI_MODEL: string;
4
+ export declare const OPENAI_PROVIDER: 'openai' | 'azure';
2
5
  export declare const AZURE_OPENAI_API_KEY: string | undefined;
3
6
  export declare const AZURE_OPENAI_API_BASE: string | undefined;
4
7
  export declare const AZURE_OPENAI_API_DEPLOYMENT_NAME: string;
@@ -1,4 +1,9 @@
1
1
  export const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
2
+ // OpenAI Provider Configuration
3
+ export const OPENAI_API_KEY = process.env.OPENAI_API_KEY; // pragma: allowlist secret
4
+ export const OPENAI_MODEL = process.env.OPENAI_MODEL || 'gpt-4.1-mini';
5
+ export const OPENAI_PROVIDER = process.env.OPENAI_PROVIDER || 'azure';
6
+ // Azure OpenAI Configuration
2
7
  export const AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
3
8
  export const AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
4
9
  export const AZURE_OPENAI_API_DEPLOYMENT_NAME = process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME || 'gpt-41-mini_p1';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,gBAAgB,CAAA;AAClE,MAAM,CAAC,MAAM,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB,CAAA;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,gCAAgC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAC,2BAA2B;AACpF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAA;AACtE,MAAM,CAAC,MAAM,eAAe,GACzB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,OAAO,CAAA;AAEhE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACtE,MAAM,CAAC,MAAM,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,gBAAgB,CAAA;AAClE,MAAM,CAAC,MAAM,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB,CAAA;AAE9D,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,GAAG,EAAmB,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CACzB,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CACF,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,gBAAgB;QACtB,YAAY,EACV,8DAA8D;QAChE,UAAU;KACX,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAO,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,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;YACtC,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;aAC5D;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,CAAA;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,GAAG,EAAmB,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CACzB,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CACF,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,gBAAgB;QACtB,YAAY,EACV,8DAA8D;QAChE,UAAU;KACX,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAO,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,GAAG,CAAC,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;gBAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;aAC5D;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,CAAA;KACF,CAAA;AACH,CAAC"}
@@ -1,10 +1,23 @@
1
1
  import { BotContext } from '@botonic/core';
2
2
  import { 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
+ }
3
14
  export declare class HubtypeApiClient {
4
15
  private readonly authToken;
5
16
  constructor(authToken: string);
6
17
  retrieveSimilarChunks(query: string, sourceIds: string[]): Promise<Chunk[]>;
7
18
  getLocalMessages(maxMemoryLength: number): Promise<AgenticInputMessage[]>;
8
19
  getMessages(request: BotContext, maxMemoryLength: number): Promise<AgenticInputMessage[]>;
20
+ getMessagesV2(request: BotContext, options?: GetMessagesV2Options): Promise<GetMessagesV2Result>;
21
+ private formatMessageV2;
9
22
  private formatMessage;
10
23
  }
@@ -67,6 +67,103 @@ export class HubtypeApiClient {
67
67
  }
68
68
  });
69
69
  }
70
+ getMessagesV2(request, options = {}) {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ const url = `${HUBTYPE_API_URL}/external/v2/ai/agent/message_history/`;
73
+ const headers = {
74
+ 'Content-Type': 'application/json',
75
+ Authorization: `Bearer ${this.authToken}`,
76
+ };
77
+ const params = Object.assign(Object.assign(Object.assign(Object.assign({ last_message_id: request.input.message_id }, (options.maxMessages !== undefined && {
78
+ max_messages: options.maxMessages,
79
+ })), (options.includeToolCalls !== undefined && {
80
+ include_tool_calls: options.includeToolCalls,
81
+ })), (options.maxFullToolResults !== undefined && {
82
+ max_full_tool_results: options.maxFullToolResults,
83
+ })), (options.debugMode !== undefined && {
84
+ debug_mode: options.debugMode,
85
+ }));
86
+ try {
87
+ const response = yield axios.get(url, {
88
+ headers,
89
+ params,
90
+ });
91
+ const { messages, conversation_id, truncated } = response.data;
92
+ const formattedMessages = messages
93
+ .map(message => this.formatMessageV2(message))
94
+ .filter((message) => message !== null);
95
+ return {
96
+ messages: formattedMessages,
97
+ conversationId: conversation_id,
98
+ truncated,
99
+ };
100
+ }
101
+ catch (error) {
102
+ console.error(error);
103
+ throw new Error('Failed to get messages from Hubtype V2 API');
104
+ }
105
+ });
106
+ }
107
+ formatMessageV2(message) {
108
+ var _a, _b, _c, _d, _e;
109
+ switch (message.role) {
110
+ case 'user':
111
+ return {
112
+ role: 'user',
113
+ content: (_a = message.content) !== null && _a !== void 0 ? _a : '',
114
+ };
115
+ case 'assistant': {
116
+ const assistantMessage = message;
117
+ // If assistant message has tool_calls, include them for context
118
+ // Using double assertion as the OpenAI API supports this format,
119
+ // but the agents SDK types are more restrictive
120
+ if (assistantMessage.tool_calls &&
121
+ assistantMessage.tool_calls.length > 0) {
122
+ return {
123
+ role: 'assistant',
124
+ content: (_b = assistantMessage.content) !== null && _b !== void 0 ? _b : '',
125
+ tool_calls: assistantMessage.tool_calls.map(tc => ({
126
+ id: tc.id,
127
+ type: tc.type,
128
+ function: {
129
+ name: tc.function.name,
130
+ arguments: tc.function.arguments,
131
+ },
132
+ })),
133
+ };
134
+ }
135
+ // Regular assistant message without tool_calls
136
+ return {
137
+ role: 'assistant',
138
+ content: [
139
+ {
140
+ type: 'output_text',
141
+ text: (_c = assistantMessage.content) !== null && _c !== void 0 ? _c : '',
142
+ },
143
+ ],
144
+ status: 'completed',
145
+ };
146
+ }
147
+ case 'tool': {
148
+ // Tool messages provide context about previous tool executions
149
+ // Using double assertion as the OpenAI API supports this format,
150
+ // but the agents SDK types are more restrictive
151
+ const toolMessage = message;
152
+ return {
153
+ role: 'tool',
154
+ tool_call_id: toolMessage.tool_call_id,
155
+ content: (_d = toolMessage.content) !== null && _d !== void 0 ? _d : '',
156
+ };
157
+ }
158
+ case 'system':
159
+ return {
160
+ role: 'system',
161
+ content: (_e = message.content) !== null && _e !== void 0 ? _e : '',
162
+ };
163
+ default:
164
+ throw new Error(`Invalid message role: ${message.role}`);
165
+ }
166
+ }
70
167
  formatMessage(message) {
71
168
  if (message.role === 'user') {
72
169
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hubtype-api-client.js","sourceRoot":"","sources":["../../src/hubtype-api-client.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { AiAgentArgs, BotContext, Plugin, ResolvedPlugins } from '@botonic/core'
2
2
  import { CustomTool, InferenceResponse, PluginAiAgentOptions } from './types';
3
3
  export default class BotonicPluginAiAgents<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> implements Plugin {
4
4
  private readonly authToken?;
5
+ private readonly messageHistoryApiVersion;
6
+ private readonly memory;
5
7
  toolDefinitions: CustomTool<TPlugins, TExtraData>[];
6
8
  constructor(options?: PluginAiAgentOptions<TPlugins, TExtraData>);
7
9
  pre(): void;
package/lib/esm/index.js CHANGED
@@ -7,16 +7,23 @@ import { setUpOpenAI } from './openai';
7
7
  import { AIAgentRunner } from './runner';
8
8
  export default class BotonicPluginAiAgents {
9
9
  constructor(options) {
10
+ var _a, _b;
10
11
  this.toolDefinitions = [];
11
12
  setUpOpenAI(options === null || options === void 0 ? void 0 : options.maxRetries, options === null || options === void 0 ? void 0 : options.timeout);
13
+ if ((options === null || options === void 0 ? void 0 : options.messageHistoryApiVersion) === 'v1' && (options === null || options === void 0 ? void 0 : options.memory)) {
14
+ throw new Error('Cannot use memory when messageHistoryApiVersion is "v1". ' +
15
+ 'Either set messageHistoryApiVersion to "v2" or remove memory.');
16
+ }
12
17
  this.authToken = options === null || options === void 0 ? void 0 : options.authToken;
13
18
  this.toolDefinitions = (options === null || options === void 0 ? void 0 : options.customTools) || [];
19
+ this.messageHistoryApiVersion = (_a = options === null || options === void 0 ? void 0 : options.messageHistoryApiVersion) !== null && _a !== void 0 ? _a : 'v2';
20
+ this.memory = (_b = options === null || options === void 0 ? void 0 : options.memory) !== null && _b !== void 0 ? _b : {};
14
21
  }
15
22
  pre() {
16
23
  return;
17
24
  }
18
25
  getInference(request, aiAgentArgs) {
19
- var _a;
26
+ var _a, _b;
20
27
  return __awaiter(this, void 0, void 0, function* () {
21
28
  try {
22
29
  const authToken = isProd ? request.session._access_token : this.authToken;
@@ -24,7 +31,15 @@ export default class BotonicPluginAiAgents {
24
31
  throw new Error('Auth token is required');
25
32
  }
26
33
  const tools = this.buildTools(((_a = aiAgentArgs.activeTools) === null || _a === void 0 ? void 0 : _a.map(tool => tool.name)) || []);
27
- const agent = new AIAgentBuilder(aiAgentArgs.name, aiAgentArgs.instructions, tools, request.session.user.contact_info || {}, aiAgentArgs.inputGuardrailRules || [], aiAgentArgs.sourceIds || []).build();
34
+ const agent = new AIAgentBuilder({
35
+ name: aiAgentArgs.name,
36
+ instructions: aiAgentArgs.instructions,
37
+ tools: tools,
38
+ contactInfo: request.session.user.contact_info || [],
39
+ inputGuardrailRules: aiAgentArgs.inputGuardrailRules || [],
40
+ sourceIds: aiAgentArgs.sourceIds || [],
41
+ campaignContext: (_b = request.input.context) === null || _b === void 0 ? void 0 : _b.campaign_v2,
42
+ }).build();
28
43
  const messages = yield this.getMessages(request, authToken, MAX_MEMORY_LENGTH);
29
44
  const context = {
30
45
  authToken,
@@ -55,13 +70,23 @@ export default class BotonicPluginAiAgents {
55
70
  });
56
71
  }
57
72
  getMessages(request, authToken, memoryLength) {
73
+ var _a, _b, _c, _d;
58
74
  return __awaiter(this, void 0, void 0, function* () {
59
- if (isProd) {
60
- const hubtypeClient = new HubtypeApiClient(authToken);
75
+ const hubtypeClient = new HubtypeApiClient(authToken);
76
+ if (!isProd) {
77
+ return yield hubtypeClient.getLocalMessages(memoryLength);
78
+ }
79
+ if (this.messageHistoryApiVersion === 'v1') {
61
80
  return yield hubtypeClient.getMessages(request, memoryLength);
62
81
  }
63
- const hubtypeClient = new HubtypeApiClient(authToken);
64
- return yield hubtypeClient.getLocalMessages(memoryLength);
82
+ // Default to V2
83
+ const result = yield hubtypeClient.getMessagesV2(request, {
84
+ maxMessages: (_a = this.memory.maxMessages) !== null && _a !== void 0 ? _a : memoryLength,
85
+ includeToolCalls: (_b = this.memory.includeToolCalls) !== null && _b !== void 0 ? _b : true,
86
+ maxFullToolResults: (_c = this.memory.maxFullToolResults) !== null && _c !== void 0 ? _c : 1,
87
+ debugMode: (_d = this.memory.debugMode) !== null && _d !== void 0 ? _d : false,
88
+ });
89
+ return result.messages;
65
90
  });
66
91
  }
67
92
  buildTools(activeToolNames) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/lib/esm/openai.js CHANGED
@@ -1,18 +1,32 @@
1
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, isProd, } from './constants';
2
+ import OpenAI, { AzureOpenAI } from 'openai';
3
+ import { AZURE_OPENAI_API_BASE, AZURE_OPENAI_API_DEPLOYMENT_NAME, AZURE_OPENAI_API_KEY, AZURE_OPENAI_API_VERSION, isProd, OPENAI_API_KEY, OPENAI_PROVIDER, } from './constants';
4
4
  export function setUpOpenAI(maxRetries, timeout) {
5
- setAzureOpenAIClient(maxRetries, timeout);
5
+ if (OPENAI_PROVIDER === 'azure') {
6
+ setAzureOpenAIClient(maxRetries, timeout);
7
+ }
8
+ else {
9
+ setOpenAIClient(maxRetries, timeout);
10
+ }
6
11
  setOpenAIAPI('chat_completions');
7
12
  setTracingDisabled(true);
8
13
  }
14
+ function setOpenAIClient(maxRetries, timeout) {
15
+ const client = new OpenAI({
16
+ apiKey: OPENAI_API_KEY,
17
+ timeout: timeout || 16000,
18
+ maxRetries: maxRetries || 2,
19
+ dangerouslyAllowBrowser: !isProd,
20
+ });
21
+ setDefaultOpenAIClient(client);
22
+ }
9
23
  function setAzureOpenAIClient(maxRetries, timeout) {
10
24
  const client = new AzureOpenAI({
11
25
  apiKey: AZURE_OPENAI_API_KEY,
12
26
  apiVersion: AZURE_OPENAI_API_VERSION,
13
27
  deployment: AZURE_OPENAI_API_DEPLOYMENT_NAME,
14
28
  baseURL: AZURE_OPENAI_API_BASE,
15
- timeout: timeout || 8000,
29
+ timeout: timeout || 16000,
16
30
  maxRetries: maxRetries || 2,
17
31
  dangerouslyAllowBrowser: !isProd,
18
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/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,EACxB,MAAM,GACP,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,IAAI;QACxB,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,MAAM;KACjC,CAAC,CAAA;IACF,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,oBAAoB,EACpB,wBAAwB,EACxB,MAAM,EACN,cAAc,EACd,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,MAAM,UAAU,WAAW,CAAC,UAAmB,EAAE,OAAgB;IAC/D,IAAI,eAAe,KAAK,OAAO,EAAE;QAC/B,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;KAC1C;SAAM;QACL,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;KACrC;IACD,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAChC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,UAAmB,EAAE,OAAgB;IAC5D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,OAAO,IAAI,KAAK;QACzB,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,MAAM;KACjC,CAAC,CAAA;IACF,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAChC,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,KAAK;QACzB,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,uBAAuB,EAAE,CAAC,MAAM;KACjC,CAAC,CAAA;IACF,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
package/lib/esm/runner.js CHANGED
@@ -12,7 +12,11 @@ export class AIAgentRunner {
12
12
  const runner = new Runner({
13
13
  modelSettings: { temperature: 0 },
14
14
  });
15
- const result = yield runner.run(this.agent, messages, { context });
15
+ // Type assertion to bypass strict type checking - the actual return type from runner.run()
16
+ // doesn't perfectly match our interface, but the properties we access are compatible
17
+ const result = (yield runner.run(this.agent, messages, {
18
+ context,
19
+ }));
16
20
  const outputMessages = ((_a = result.finalOutput) === null || _a === void 0 ? void 0 : _a.messages) || [];
17
21
  const hasExit = outputMessages.length === 0 ||
18
22
  outputMessages.some(message => message.type === 'exit');
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
+ import { z } from 'zod';
1
2
  import { Context } from '../types';
2
- export declare const retrieveKnowledge: import("@openai/agents").FunctionTool<Context<import("@botonic/core").ResolvedPlugins, any>, any, any>;
3
+ export declare const retrieveKnowledge: import("@openai/agents").FunctionTool<Context<import("@botonic/core").ResolvedPlugins, any>, z.ZodObject<{
4
+ query: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ query: string;
7
+ }, {
8
+ query: string;
9
+ }>, string>;
@@ -8,8 +8,9 @@ export const retrieveKnowledge = tool({
8
8
  parameters: z.object({
9
9
  query: z.string().describe('The query to search the knowledge base for'),
10
10
  }),
11
- execute: ({ query }, runContext) => __awaiter(void 0, void 0, void 0, function* () {
11
+ execute: (input, runContext) => __awaiter(void 0, void 0, void 0, function* () {
12
12
  const context = runContext === null || runContext === void 0 ? void 0 : runContext.context;
13
+ const query = input.query;
13
14
  if (!context) {
14
15
  throw new Error('Context is required');
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-knowledge.js","sourceRoot":"","sources":["../../../src/tools/retrieve-knowledge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAoB;IACvD,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,EAAE,KAAK,EAAqB,EAC5B,UAAgC,EACb,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAA;QACnC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACvC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtD,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":["../../../src/tools/retrieve-knowledge.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACjD,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,UAAgC,EACb,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;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACvC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtD,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,5 +1,5 @@
1
1
  import { AgenticOutputMessage, AiAgentArgs, BotContext, GuardrailRule, InferenceResponse, ResolvedPlugins, RunResult } from '@botonic/core';
2
- import { Agent, AgentInputItem, RunContext as OpenAIRunContext, Tool as OpenAITool } from '@openai/agents';
2
+ import { Agent, AgentInputItem, AgentOutputType, RunContext as OpenAIRunContext, Tool as OpenAITool } from '@openai/agents';
3
3
  import { ZodSchema } from 'zod';
4
4
  import { OutputSchema } from './structured-output';
5
5
  export interface Context<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
@@ -24,14 +24,24 @@ export interface Chunk {
24
24
  id: string;
25
25
  text: string;
26
26
  }
27
- export type ContactInfo = Record<string, string>;
28
27
  export type Tool<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = OpenAITool<Context<TPlugins, TExtraData>>;
29
- export type AIAgent<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = Agent<Context<TPlugins, TExtraData>, typeof OutputSchema>;
28
+ export type AIAgent<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = Agent<Context<TPlugins, TExtraData>, AgentOutputType<typeof OutputSchema>>;
29
+ export type MessageHistoryApiVersion = 'v1' | 'v2';
30
+ export interface MemoryOptions {
31
+ maxMessages?: number;
32
+ includeToolCalls?: boolean;
33
+ maxFullToolResults?: number;
34
+ debugMode?: boolean;
35
+ }
30
36
  export interface PluginAiAgentOptions<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> {
31
37
  authToken?: string;
32
38
  customTools?: CustomTool<TPlugins, TExtraData>[];
33
39
  maxRetries?: number;
34
40
  timeout?: number;
41
+ /** API version for message history endpoint. Defaults to 'v2'. */
42
+ messageHistoryApiVersion?: MessageHistoryApiVersion;
43
+ /** Options for V2 message history API. Only used when messageHistoryApiVersion is 'v2'. */
44
+ memory?: MemoryOptions;
35
45
  }
36
46
  export type AgenticInputMessage = AgentInputItem;
37
47
  export { AgenticOutputMessage, AiAgentArgs, GuardrailRule, InferenceResponse, RunResult, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/plugin-ai-agents",
3
- "version": "0.42.4",
3
+ "version": "0.43.0-alpha.1",
4
4
  "main": "./lib/cjs/index.js",
5
5
  "module": "./lib/esm/index.js",
6
6
  "description": "Use AI Agents to generate your contents",
@@ -13,7 +13,7 @@
13
13
  "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
14
14
  },
15
15
  "dependencies": {
16
- "@botonic/core": "^0.42.0",
16
+ "@botonic/core": "0.43.0-alpha.1",
17
17
  "@openai/agents": "^0.1.11",
18
18
  "axios": "^1.12.2",
19
19
  "openai": "^5.23.2",
@@ -45,4 +45,4 @@
45
45
  "javascript"
46
46
  ],
47
47
  "author": ""
48
- }
48
+ }