@botonic/plugin-ai-agents 0.43.0 → 0.44.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 (50) hide show
  1. package/lib/cjs/agent-builder.d.ts +1 -1
  2. package/lib/cjs/agent-builder.js +8 -7
  3. package/lib/cjs/agent-builder.js.map +1 -1
  4. package/lib/cjs/guardrails/input.js +4 -6
  5. package/lib/cjs/guardrails/input.js.map +1 -1
  6. package/lib/cjs/hubtype-api-client.js +94 -97
  7. package/lib/cjs/hubtype-api-client.js.map +1 -1
  8. package/lib/cjs/index.js +63 -70
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/openai.js +3 -4
  11. package/lib/cjs/openai.js.map +1 -1
  12. package/lib/cjs/runner.js +39 -41
  13. package/lib/cjs/runner.js.map +1 -1
  14. package/lib/cjs/tools/retrieve-knowledge.js +4 -5
  15. package/lib/cjs/tools/retrieve-knowledge.js.map +1 -1
  16. package/lib/esm/agent-builder.d.ts +1 -1
  17. package/lib/esm/agent-builder.js +27 -22
  18. package/lib/esm/agent-builder.js.map +1 -1
  19. package/lib/esm/constants.js +13 -10
  20. package/lib/esm/constants.js.map +1 -1
  21. package/lib/esm/guardrails/index.js +4 -1
  22. package/lib/esm/guardrails/index.js.map +1 -1
  23. package/lib/esm/guardrails/input.js +11 -9
  24. package/lib/esm/guardrails/input.js.map +1 -1
  25. package/lib/esm/hubtype-api-client.js +102 -101
  26. package/lib/esm/hubtype-api-client.js.map +1 -1
  27. package/lib/esm/index.js +76 -80
  28. package/lib/esm/index.js.map +1 -1
  29. package/lib/esm/openai.js +24 -20
  30. package/lib/esm/openai.js.map +1 -1
  31. package/lib/esm/runner.js +47 -45
  32. package/lib/esm/runner.js.map +1 -1
  33. package/lib/esm/structured-output/carousel.js +15 -12
  34. package/lib/esm/structured-output/carousel.js.map +1 -1
  35. package/lib/esm/structured-output/exit.js +7 -3
  36. package/lib/esm/structured-output/exit.js.map +1 -1
  37. package/lib/esm/structured-output/index.js +10 -7
  38. package/lib/esm/structured-output/index.js.map +1 -1
  39. package/lib/esm/structured-output/text-with-buttons.js +12 -8
  40. package/lib/esm/structured-output/text-with-buttons.js.map +1 -1
  41. package/lib/esm/structured-output/text.js +8 -5
  42. package/lib/esm/structured-output/text.js.map +1 -1
  43. package/lib/esm/tools/index.js +6 -2
  44. package/lib/esm/tools/index.js.map +1 -1
  45. package/lib/esm/tools/retrieve-knowledge.js +14 -12
  46. package/lib/esm/tools/retrieve-knowledge.js.map +1 -1
  47. package/lib/esm/types.js +2 -1
  48. package/package.json +5 -5
  49. package/src/agent-builder.ts +12 -8
  50. package/src/index.ts +2 -3
package/lib/cjs/runner.js CHANGED
@@ -1,60 +1,58 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AIAgentRunner = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const agents_1 = require("@openai/agents");
6
5
  const tools_1 = require("./tools");
7
6
  class AIAgentRunner {
8
7
  constructor(agent) {
9
8
  this.agent = agent;
10
9
  }
11
- run(messages, context) {
12
- var _a;
13
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
- try {
15
- const runner = new agents_1.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);
10
+ async run(messages, context) {
11
+ try {
12
+ const runner = new agents_1.Runner({
13
+ modelSettings: { temperature: 0 },
14
+ });
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 = (await runner.run(this.agent, messages, {
18
+ context,
19
+ }));
20
+ const outputMessages = result.finalOutput?.messages || [];
21
+ const hasExit = outputMessages.length === 0 ||
22
+ outputMessages.some(message => message.type === 'exit');
23
+ const toolsExecuted = this.getToolsExecuted(result, context);
24
+ return {
25
+ messages: hasExit
26
+ ? []
27
+ : outputMessages.filter(message => message.type !== 'exit'),
28
+ toolsExecuted,
29
+ exit: hasExit,
30
+ memoryLength: messages.length,
31
+ error: false,
32
+ inputGuardrailsTriggered: [],
33
+ outputGuardrailsTriggered: [],
34
+ };
35
+ }
36
+ catch (error) {
37
+ if (error instanceof agents_1.InputGuardrailTripwireTriggered) {
27
38
  return {
28
- messages: hasExit
29
- ? []
30
- : outputMessages.filter(message => message.type !== 'exit'),
31
- toolsExecuted,
32
- exit: hasExit,
33
- memoryLength: messages.length,
39
+ messages: [],
40
+ memoryLength: 0,
41
+ toolsExecuted: [],
42
+ exit: true,
34
43
  error: false,
35
- inputGuardrailsTriggered: [],
44
+ inputGuardrailsTriggered: error.result.output.outputInfo,
36
45
  outputGuardrailsTriggered: [],
37
46
  };
38
47
  }
39
- catch (error) {
40
- if (error instanceof agents_1.InputGuardrailTripwireTriggered) {
41
- return {
42
- messages: [],
43
- memoryLength: 0,
44
- toolsExecuted: [],
45
- exit: true,
46
- error: false,
47
- inputGuardrailsTriggered: error.result.output.outputInfo,
48
- outputGuardrailsTriggered: [],
49
- };
50
- }
51
- throw error;
52
- }
53
- });
48
+ throw error;
49
+ }
54
50
  }
55
51
  getToolsExecuted(result, context) {
56
- var _a;
57
- return (((_a = result.newItems) === null || _a === void 0 ? void 0 : _a.filter(item => item instanceof agents_1.RunToolCallItem).map((item) => this.getToolExecutionInfo(item, context)).filter((toolExecution) => toolExecution.toolName !== '')) || []);
52
+ return (result.newItems
53
+ ?.filter(item => item instanceof agents_1.RunToolCallItem)
54
+ .map((item) => this.getToolExecutionInfo(item, context))
55
+ .filter((toolExecution) => toolExecution.toolName !== '') || []);
58
56
  }
59
57
  getToolExecutionInfo(item, context) {
60
58
  if (item.rawItem.type !== 'function_call') {
@@ -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,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.retrieveKnowledge = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const agents_1 = require("@openai/agents");
6
5
  const zod_1 = require("zod");
7
6
  const hubtype_api_client_1 = require("../hubtype-api-client");
@@ -11,15 +10,15 @@ exports.retrieveKnowledge = (0, agents_1.tool)({
11
10
  parameters: zod_1.z.object({
12
11
  query: zod_1.z.string().describe('The query to search the knowledge base for'),
13
12
  }),
14
- execute: (input, runContext) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
15
- const context = runContext === null || runContext === void 0 ? void 0 : runContext.context;
13
+ execute: async (input, runContext) => {
14
+ const context = runContext?.context;
16
15
  const query = input.query;
17
16
  if (!context) {
18
17
  throw new Error('Context is required');
19
18
  }
20
19
  const sourceIds = context.sourceIds;
21
20
  const client = new hubtype_api_client_1.HubtypeApiClient(context.authToken);
22
- const chunks = yield client.retrieveSimilarChunks(query, sourceIds);
21
+ const chunks = await client.retrieveSimilarChunks(query, sourceIds);
23
22
  const chunkTexts = chunks.map(chunk => chunk.text);
24
23
  context.knowledgeUsed = {
25
24
  query,
@@ -28,6 +27,6 @@ exports.retrieveKnowledge = (0, agents_1.tool)({
28
27
  chunkTexts,
29
28
  };
30
29
  return chunkTexts;
31
- }),
30
+ },
32
31
  });
33
32
  //# sourceMappingURL=retrieve-knowledge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve-knowledge.js","sourceRoot":"","sources":["../../../src/tools/retrieve-knowledge.ts"],"names":[],"mappings":";;;;AAAA,2CAAiD;AACjD,6BAAuB;AAEvB,8DAAwD;AAG3C,QAAA,iBAAiB,GAAG,IAAA,aAAI,EAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,kIAAkI;IACpI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,OAAC,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,qCAAgB,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,2CAAiD;AACjD,6BAAuB;AAEvB,8DAAwD;AAG3C,QAAA,iBAAiB,GAAG,IAAA,aAAI,EAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,kIAAkI;IACpI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACzE,CAAC;IACF,OAAO,EAAE,KAAK,EACZ,KAAwB,EACxB,UAAgC,EACb,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,EAAE,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,qCAAgB,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;CACF,CAAC,CAAA"}
@@ -4,7 +4,7 @@ interface AIAgentBuilderOptions<TPlugins extends ResolvedPlugins = ResolvedPlugi
4
4
  name: string;
5
5
  instructions: string;
6
6
  tools: Tool<TPlugins, TExtraData>[];
7
- campaignContext?: CampaignV2;
7
+ campaignsContext?: CampaignV2[];
8
8
  contactInfo: ContactInfo[];
9
9
  inputGuardrailRules: GuardrailRule[];
10
10
  sourceIds: string[];
@@ -1,32 +1,34 @@
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 {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIAgentBuilder = void 0;
4
+ const agents_1 = require("@openai/agents");
5
+ const constants_1 = require("./constants");
6
+ const guardrails_1 = require("./guardrails");
7
+ const structured_output_1 = require("./structured-output");
8
+ const tools_1 = require("./tools");
9
+ class AIAgentBuilder {
7
10
  constructor(options) {
8
11
  this.name = options.name;
9
- this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignContext);
12
+ this.instructions = this.addExtraInstructions(options.instructions, options.contactInfo, options.campaignsContext);
10
13
  this.tools = this.addHubtypeTools(options.tools, options.sourceIds);
11
14
  this.inputGuardrails = [];
12
15
  if (options.inputGuardrailRules.length > 0) {
13
- const inputGuardrail = createInputGuardrail(options.inputGuardrailRules);
16
+ const inputGuardrail = (0, guardrails_1.createInputGuardrail)(options.inputGuardrailRules);
14
17
  this.inputGuardrails.push(inputGuardrail);
15
18
  }
16
19
  }
17
20
  build() {
18
21
  const modelSettings = {};
19
- if (OPENAI_PROVIDER === 'openai') {
20
- // @ts-expect-error - reasoning.effort is valid but we need to update openai and typescript dependencies
22
+ if (constants_1.OPENAI_PROVIDER === 'openai') {
21
23
  modelSettings.reasoning = { effort: 'none' };
22
24
  modelSettings.text = { verbosity: 'medium' };
23
25
  }
24
- if (this.tools.includes(retrieveKnowledge) && OPENAI_PROVIDER === 'azure') {
25
- modelSettings.toolChoice = retrieveKnowledge.name;
26
+ if (this.tools.includes(tools_1.retrieveKnowledge) && constants_1.OPENAI_PROVIDER === 'azure') {
27
+ modelSettings.toolChoice = tools_1.retrieveKnowledge.name;
26
28
  }
27
29
  // When using standard OpenAI API, we need to specify the model
28
30
  // Azure OpenAI uses deployment name instead
29
- const model = OPENAI_PROVIDER === 'openai' ? OPENAI_MODEL : undefined;
31
+ const model = constants_1.OPENAI_PROVIDER === 'openai' ? constants_1.OPENAI_MODEL : undefined;
30
32
  // TODO: Improve type safety - replace AgentOutputType<any> with AgentOutputType<typeof OutputSchema>
31
33
  // Currently using explicit type parameters to avoid type inference issues where Agent constructor
32
34
  // infers ZodObject instead of AgentOutputType<typeof OutputSchema>. The explicit type parameters
@@ -34,22 +36,22 @@ export class AIAgentBuilder {
34
36
  // 1. Update @openai/agents package to properly infer AgentOutputType from outputType parameter
35
37
  // 2. Replace AgentOutputType<any> with AgentOutputType<typeof OutputSchema> once type system allows
36
38
  // 3. Consider updating AIAgent type definition if @openai/agents types change significantly
37
- return new Agent({
39
+ return new agents_1.Agent({
38
40
  name: this.name,
39
41
  model,
40
42
  instructions: this.instructions,
41
43
  tools: this.tools,
42
- outputType: OutputSchema,
44
+ outputType: structured_output_1.OutputSchema,
43
45
  inputGuardrails: this.inputGuardrails,
44
46
  outputGuardrails: [],
45
47
  modelSettings,
46
48
  });
47
49
  }
48
- addExtraInstructions(initialInstructions, contactInfo, campaignContext) {
50
+ addExtraInstructions(initialInstructions, contactInfo, campaignsContext) {
49
51
  const instructions = `<instructions>\n${initialInstructions.trim()}\n</instructions>`;
50
52
  const metadataInstructions = this.getMetadataInstructions();
51
53
  const contactInfoInstructions = this.getContactInfoInstructions(contactInfo);
52
- const campaignInstructions = this.getCampaignInstructions(campaignContext);
54
+ const campaignInstructions = this.getCampaignInstructions(campaignsContext);
53
55
  const outputInstructions = this.getOutputInstructions();
54
56
  return `${instructions}\n\n${metadataInstructions}\n\n${contactInfoInstructions}\n\n${campaignInstructions}\n\n${outputInstructions}`;
55
57
  }
@@ -70,11 +72,13 @@ export class AIAgentBuilder {
70
72
  const metadata = `Current Date: ${new Date().toISOString()}`;
71
73
  return `<metadata>\n${metadata}\n</metadata>`;
72
74
  }
73
- getCampaignInstructions(campaignContext) {
74
- if (!campaignContext || !campaignContext.agent_context) {
75
+ getCampaignInstructions(campaignsContext) {
76
+ if (!campaignsContext || campaignsContext.length === 0) {
75
77
  return '';
76
78
  }
77
- return `<campaign_context>\n${campaignContext.agent_context}\n</campaign_context>`;
79
+ return campaignsContext
80
+ .map((campaign, index) => `<campaign_context${index + 1}>\n${campaign.agent_context}\n</campaign_context${index + 1}>`)
81
+ .join('\n');
78
82
  }
79
83
  getOutputInstructions() {
80
84
  const example = {
@@ -91,11 +95,12 @@ export class AIAgentBuilder {
91
95
  return `<output>\n${output}\n</output>`;
92
96
  }
93
97
  addHubtypeTools(tools, sourceIds) {
94
- const hubtypeTools = [...mandatoryTools];
98
+ const hubtypeTools = [...tools_1.mandatoryTools];
95
99
  if (sourceIds.length > 0) {
96
- hubtypeTools.push(retrieveKnowledge);
100
+ hubtypeTools.push(tools_1.retrieveKnowledge);
97
101
  }
98
102
  return [...hubtypeTools, ...tools];
99
103
  }
100
104
  }
105
+ exports.AIAgentBuilder = AIAgentBuilder;
101
106
  //# sourceMappingURL=agent-builder.js.map
@@ -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":";;;AACA,2CAKuB;AAEvB,2CAA2D;AAC3D,6CAAmD;AACnD,2DAAkD;AAClD,mCAA2D;AAgB3D,MAAa,cAAc;IASzB,YAAY,OAAoD;QAC9D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC3C,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,CACzB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACnE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,IAAA,iCAAoB,EAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;YACxE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,aAAa,GAAkB,EAAmB,CAAA;QACxD,IAAI,2BAAe,KAAK,QAAQ,EAAE,CAAC;YACjC,aAAa,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;YAC5C,aAAa,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAiB,CAAC,IAAI,2BAAe,KAAK,OAAO,EAAE,CAAC;YAC1E,aAAa,CAAC,UAAU,GAAG,yBAAiB,CAAC,IAAI,CAAA;QACnD,CAAC;QAED,+DAA+D;QAC/D,4CAA4C;QAC5C,MAAM,KAAK,GAAG,2BAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAY,CAAC,CAAC,CAAC,SAAS,CAAA;QAErE,qGAAqG;QACrG,kGAAkG;QAClG,iGAAiG;QACjG,0EAA0E;QAC1E,+FAA+F;QAC/F,oGAAoG;QACpG,4FAA4F;QAC5F,OAAO,IAAI,cAAK,CAAsD;YACpE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,gCAAY;YACxB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,EAAE;YACpB,aAAa;SACd,CAAC,CAAA;IACJ,CAAC;IAEO,oBAAoB,CAC1B,mBAA2B,EAC3B,WAA0B,EAC1B,gBAA+B;QAE/B,MAAM,YAAY,GAAG,mBAAmB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,CAAA;QACrF,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC3D,MAAM,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;QAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACvD,OAAO,GAAG,YAAY,OAAO,oBAAoB,OAAO,uBAAuB,OAAO,oBAAoB,OAAO,kBAAkB,EAAE,CAAA;IACvI,CAAC;IAEO,0BAA0B,CAAC,WAA0B;QAC3D,MAAM,qBAAqB,GAAG,WAAW;aACtC,GAAG,CACF,IAAI,CAAC,EAAE,CACL;sBACY,IAAI,CAAC,IAAI;uBACR,IAAI,CAAC,KAAK;sBACX,IAAI,CAAC,IAAI;gBAEf,IAAI,CAAC,WAAW;YACd,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,gBAAgB;YAClD,CAAC,CAAC,EACN;4BACc,CACrB;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,OAAO,0BAA0B,qBAAqB,wBAAwB,CAAA;IAChF,CAAC;IAEO,uBAAuB;QAC7B,MAAM,QAAQ,GAAG,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;QAC5D,OAAO,eAAe,QAAQ,eAAe,CAAA;IAC/C,CAAC;IAEO,uBAAuB,CAAC,gBAA+B;QAC7D,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,gBAAgB;aACpB,GAAG,CACF,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,oBAAoB,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,uBAAuB,KAAK,GAAG,CAAC,GAAG,CAC/F;aACA,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAEO,qBAAqB;QAC3B,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,kCAAkC;qBACzC;iBACF;aACF;SACF,CAAA;QACD,MAAM,MAAM,GAAG,yIAAyI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAA;QAC7L,OAAO,aAAa,MAAM,aAAa,CAAA;IACzC,CAAC;IAEO,eAAe,CACrB,KAAmC,EACnC,SAAmB;QAEnB,MAAM,YAAY,GAAW,CAAC,GAAG,sBAAc,CAAC,CAAA;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;CACF;AApID,wCAoIC"}
@@ -1,13 +1,16 @@
1
- export const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_MEMORY_LENGTH = exports.isProd = exports.AZURE_OPENAI_API_VERSION = exports.AZURE_OPENAI_API_DEPLOYMENT_NAME = exports.AZURE_OPENAI_API_BASE = exports.AZURE_OPENAI_API_KEY = exports.OPENAI_PROVIDER = exports.OPENAI_MODEL = exports.OPENAI_API_KEY = exports.HUBTYPE_API_URL = void 0;
4
+ exports.HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
2
5
  // 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
+ exports.OPENAI_API_KEY = process.env.OPENAI_API_KEY; // pragma: allowlist secret
7
+ exports.OPENAI_MODEL = process.env.OPENAI_MODEL || 'gpt-4.1-mini';
8
+ exports.OPENAI_PROVIDER = process.env.OPENAI_PROVIDER || 'azure';
6
9
  // Azure OpenAI Configuration
7
- export const AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
8
- export const AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
9
- export const AZURE_OPENAI_API_DEPLOYMENT_NAME = process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME || 'gpt-41-mini_p1';
10
- export const AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION || '2025-01-01-preview';
11
- export const isProd = process.env.NODE_ENV === 'production';
12
- export const MAX_MEMORY_LENGTH = 25;
10
+ exports.AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY; // pragma: allowlist secret
11
+ exports.AZURE_OPENAI_API_BASE = process.env.AZURE_OPENAI_API_BASE;
12
+ exports.AZURE_OPENAI_API_DEPLOYMENT_NAME = process.env.AZURE_OPENAI_API_DEPLOYMENT_NAME || 'gpt-41-mini_p1';
13
+ exports.AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION || '2025-01-01-preview';
14
+ exports.isProd = process.env.NODE_ENV === 'production';
15
+ exports.MAX_MEMORY_LENGTH = 25;
13
16
  //# sourceMappingURL=constants.js.map
@@ -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,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
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAE1D,gCAAgC;AACnB,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA,CAAC,2BAA2B;AACvE,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAA;AACzD,QAAA,eAAe,GACzB,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,OAAO,CAAA;AAEhE,6BAA6B;AAChB,QAAA,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA,CAAC,2BAA2B;AACnF,QAAA,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;AACzD,QAAA,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,gBAAgB,CAAA;AACrD,QAAA,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,oBAAoB,CAAA;AAEjD,QAAA,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAE9C,QAAA,iBAAiB,GAAG,EAAE,CAAA"}
@@ -1,2 +1,5 @@
1
- export * from './input';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./input"), exports);
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guardrails/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guardrails/index.ts"],"names":[],"mappings":";;;AAAA,kDAAuB"}
@@ -1,18 +1,20 @@
1
- import { __awaiter } from "tslib";
2
- import { Agent, run } from '@openai/agents';
3
- import { z } from 'zod';
4
- export function createInputGuardrail(rules) {
5
- const outputType = z.object(Object.fromEntries(rules.map(rule => [rule.name, z.boolean().describe(rule.description)])));
6
- const agent = new Agent({
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createInputGuardrail = createInputGuardrail;
4
+ const agents_1 = require("@openai/agents");
5
+ const zod_1 = require("zod");
6
+ function createInputGuardrail(rules) {
7
+ const outputType = zod_1.z.object(Object.fromEntries(rules.map(rule => [rule.name, zod_1.z.boolean().describe(rule.description)])));
8
+ const agent = new agents_1.Agent({
7
9
  name: 'InputGuardrail',
8
10
  instructions: 'Check if the user triggers some of the following guardrails.',
9
11
  outputType,
10
12
  });
11
13
  return {
12
14
  name: 'InputGuardrail',
13
- execute: ({ input, context }) => __awaiter(this, void 0, void 0, function* () {
15
+ execute: async ({ input, context }) => {
14
16
  const lastMessage = input[input.length - 1];
15
- const result = yield run(agent, [lastMessage], { context });
17
+ const result = await (0, agents_1.run)(agent, [lastMessage], { context });
16
18
  const finalOutput = result.finalOutput;
17
19
  if (finalOutput === undefined) {
18
20
  throw new Error('Guardrail agent failed to produce output');
@@ -23,7 +25,7 @@ export function createInputGuardrail(rules) {
23
25
  outputInfo: triggeredGuardrails,
24
26
  tripwireTriggered: triggered,
25
27
  };
26
- }),
28
+ },
27
29
  };
28
30
  }
29
31
  //# sourceMappingURL=input.js.map
@@ -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,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
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/guardrails/input.ts"],"names":[],"mappings":";;AAKA,oDAiCC;AAtCD,2CAA4E;AAC5E,6BAAuB;AAIvB,SAAgB,oBAAoB,CAAC,KAAsB;IACzD,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CACzB,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACvE,CACF,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC;QACtB,IAAI,EAAE,gBAAgB;QACtB,YAAY,EACV,8DAA8D;QAChE,UAAU;KACX,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAA;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAA,YAAG,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAsC,CAAA;YACjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC7D,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;YAC1E,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACzD,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CACjC,CAAA;YACD,OAAO;gBACL,UAAU,EAAE,mBAAmB;gBAC/B,iBAAiB,EAAE,SAAS;aAC7B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}