Question Answer module for Credo. Implements Aries RFC 0113.
In order for this module to work, we have to inject it into the agent to access agent functionality. See the example for more information.
import { QuestionAnswerModule } from '@credo-ts/question-answer'
const agent = new Agent({
config: {
/* config */
},
dependencies: agentDependencies,
modules: {
questionAnswer: new QuestionAnswerModule(),
/* other custom modules */
},
})
await agent.initialize()
// To send a question to a given connection
await agent.modules.questionAnswer.sendQuestion(connectionId, {
question: 'Do you want to play?',
validResponses: [{ text: 'Yes' }, { text: 'No' }],
})
// Questions and Answers are received as QuestionAnswerStateChangedEvent
// To send an answer related to a given question answer record
await agent.modules.questionAnswer.sendAnswer(questionAnswerRecordId, 'Yes')