@twilio-alpha/assistants-eval
Version:
promptfoo extension for writing AI evaluations for Twilio AI Assistants
38 lines • 1.43 kB
JavaScript
import { AgentProvider } from './agent.js';
export class TwilioAgentProvider extends AgentProvider {
constructor(options) {
const { userProvider, ...agentProvider } = options.config ?? {};
super({
id: options.id,
label: options.label,
config: {
userProvider: userProvider ?? 'openai:chat:gpt-4o-mini',
agentProvider: {
id: 'package:@twilio-alpha/assistants-eval:TwilioProvider',
config: { ...agentProvider },
},
maxTurns: undefined,
},
env: options.env,
});
}
get agentProviderInstance() {
return this.agentProvider;
}
async callApi(prompt, context, callApiOptions) {
await this.ensureProviders();
if (!this.userProvider || !this.agentProvider) {
throw new Error('Providers not loaded');
}
if (typeof context?.vars.maxTurns === 'number' &&
context?.vars.maxTurns > 0) {
if (!context?.vars?.sessionId) {
throw new Error('sessionId variable is required when using maxTurns variable');
}
return super.callApi(prompt, context, callApiOptions);
}
return this.agentProvider.callApi(prompt, context, callApiOptions);
}
}
export default TwilioAgentProvider;
//# sourceMappingURL=twilio-agent.js.map