Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import * as dialogflow from "dialogflow";
const agentsClient = new dialogflow.AgentsClient();
const contextsClient = new dialogflow.ContextsClient();
const entityTypesClient = new dialogflow.EntityTypesClient();
const intentsClient = new dialogflow.IntentsClient();
const sessionEntityTypesClient = new dialogflow.SessionEntityTypesClient();
const sessionsClient = new dialogflow.SessionsClient();
// TODO: Add real significant tests
async function deleteContext(projectId, sessionId, contextId) {
// [START dialogflow_delete_context]
// Imports the Dialogflow library
const dialogflow = require('dialogflow');
// Instantiates clients
const contextsClient = new dialogflow.ContextsClient();
const contextPath = contextsClient.contextPath(
projectId,
sessionId,
contextId
);
const request = {
name: contextPath,
};
// Send the request for retrieving the context.
const result = await contextsClient.deleteContext(request);
console.log(`Context ${contextPath} deleted`);
return result;
// [END dialogflow_delete_context]
async function listContexts(projectId, sessionId) {
// [START dialogflow_list_contexts]
// Imports the Dialogflow library
const dialogflow = require('dialogflow');
// Instantiates clients
const contextsClient = new dialogflow.ContextsClient();
// The path to identify the agent that owns the contexts.
const sessionPath = contextsClient.sessionPath(projectId, sessionId);
const request = {
parent: sessionPath,
};
// Send the request for listing contexts.
const [response] = await contextsClient.listContexts(request);
response.forEach(context => {
console.log(`Context name: ${context.name}`);
console.log(`Lifespan count: ${context.lifespanCount}`);
console.log('Fields:');
if (context.parameters !== null) {
context.parameters.fields.forEach(field => {
.on('data', data => {
if (data.recognitionResult) {
console.log(
`Intermediate transcript: ${data.recognitionResult.transcript}`
);
} else {
console.log(`Detected intent:`);
const result = data.queryResult;
// Instantiates a context client
const contextClient = new dialogflow.ContextsClient();
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
const parameters = JSON.stringify(struct.decode(result.parameters));
console.log(` Parameters: ${parameters}`);
if (result.outputContexts && result.outputContexts.length) {
console.log(` Output contexts:`);
result.outputContexts.forEach(context => {
const contextId = contextClient.matchContextFromContextName(
context.name
);
audioConfig: {
audioEncoding: encoding,
sampleRateHertz: sampleRateHertz,
languageCode: languageCode,
},
},
inputAudio: inputAudio,
};
// Recognizes the speech in the audio and detects its intent.
const [response] = await sessionClient.detectIntent(request);
console.log('Detected intent:');
const result = response.queryResult;
// Instantiates a context client
const contextClient = new dialogflow.ContextsClient();
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
const parameters = JSON.stringify(struct.decode(result.parameters));
console.log(` Parameters: ${parameters}`);
if (result.outputContexts && result.outputContexts.length) {
console.log(` Output contexts:`);
result.outputContexts.forEach(context => {
const contextId = contextClient.matchContextFromContextName(context.name);
const contextParameters = JSON.stringify(
struct.decode(context.parameters)
const request = {
session: sessionPath,
queryInput: {
event: {
name: eventName,
parameters: struct.encode({foo: 'bar'}),
languageCode: languageCode,
},
},
};
const [response] = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = response.queryResult;
// Instantiates a context client
const contextClient = new dialogflow.ContextsClient();
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
const parameters = JSON.stringify(struct.decode(result.parameters));
console.log(` Parameters: ${parameters}`);
if (result.outputContexts && result.outputContexts.length) {
console.log(` Output contexts:`);
result.outputContexts.forEach(context => {
const contextId = contextClient.matchContextFromContextName(context.name);
const contextParameters = JSON.stringify(
struct.decode(context.parameters)
async function createContext(projectId, sessionId, contextId, lifespanCount) {
// [START dialogflow_create_context]
// Imports the Dialogflow library
const dialogflow = require('dialogflow');
// Instantiates clients
const contextsClient = new dialogflow.ContextsClient();
const sessionPath = contextsClient.sessionPath(projectId, sessionId);
const contextPath = contextsClient.contextPath(
projectId,
sessionId,
contextId
);
const createContextRequest = {
parent: sessionPath,
context: {
name: contextPath,
lifespanCount: lifespanCount,
},
};