Silver Surfer
Silver Surfer

Reputation: 1

Google Action | Agent context is giving '-' in agent.context.get()

My submitted action as it is not responding properly. I found that dialog flow action is giving '-' for agent.context.get('<name>') due to which I am getting 'undefined' as final result. I have never been able to replicate this issue at my end on real device after several long retries.

Code snippet:

//agent set context
const context = {
'name': 'riddle-index',
'lifespan': 10,
'parameters': {
'rindex': index
}
};

agent.context.set(context);

//agent get context
let riddleIndex = agent.context.get('riddle-
index'); 

My package.json contains

"dependencies": {
"actions-on-google": "^2.6.0",
"dialogflow-fulfillment": "^0.6.1",
"firebase-admin": "^8.0.0",
"firebase-functions": "^3.0.0"
},

//Logs agent context:

When context is having '-':

agent context {"contexts":{"-":{"name":"-","parameters":{"no-input":0,"no-match":0,"any":"Violin","any.original":"violin"}}},"session":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS","inputContexts":{"-":{"name":"-","parameters":{"no-input":0,"no-match":0,"any":"Violin","any.original":"violin"}}}}

When context is having slot values:

agent context {"contexts":{"riddle-index":{"name":"riddle-index","lifespan":10,"parameters":{"rindex":13,"any":"Violin","any.original":"violin"}},"actions_capability_audio_output":{"name":"actions_capability_audio_output","parameters":{"any":"Violin","any.original":"violin"}},"actions_capability_media_response_audio":{"name":"actions_capability_media_response_audio","parameters":{"any":"Violin","any.original":"violin"}},"actions_capability_account_linking":{"name":"actions_capability_account_linking","parameters":{"any":"Violin","any.original":"violin"}},"google_assistant_input_type_voice":{"name":"google_assistant_input_type_voice","parameters":{"any":"Violin","any.original":"violin"}},"system_counters":{"name":"system_counters","parameters":{"no-input":0,"no-match":0,"any":"Violin","any.original":"violin"}}},"session":"projects/musical-instruments-quiz-8a073/agent/sessions/ABwppHGaPKiEmY8CePzJNdQXwQqMfKAmP0QUNIDyNfyGmuS5ScgqXa4pJKYq4B7Z52uZBXFZEIjg5YmzOWQroYudMNryOrkAmL--sEFz","inputContexts":{"riddle-index":{"name":"riddle-index","lifespan":10,"parameters":{"rindex":13,"any":"Violin","any.original":"violin"}},"actions_capability_audio_output":{"name":"actions_capability_audio_output","parameters":{"any":"Violin","any.original":"violin"}},"actions_capability_media_response_audio":{"name":"actions_capability_media_response_audio","parameters":{"any":"Violin","any.original":"violin"}},"actions_capability_account_linking":{"name":"actions_capability_account_linking","parameters":{"any":"Violin","any.original":"violin"}},"google_assistant_input_type_voice":{"name":"google_assistant_input_type_voice","parameters":{"any":"Violin","any.original":"violin"}},"system_counters":{"name":"system_counters","parameters":{"no-input":0,"no-match":0,"any":"Violin","any.original":"violin"}}}}

//Logs Request body:

Dialogflow Request body: {"responseId":"f9b56859-cb12-431a-a46c-02c92c5a64be-426bc00a","queryResult":{"queryText":"violin","parameters":{"any":"Violin"},"allRequiredParamsPresent":true,"outputContexts":[{"name":"projects/musical-instruments-quiz-8a073/agent/environments/aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/riddle-index","lifespanCount":10,"parameters":{"rindex":6,"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/actions_capability_audio_output","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/actions_capability_media_response_audio","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/actions_capability_account_linking","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/actions_capability_screen_output","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/actions_capability_web_browser","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/google_assistant_input_type_voice","parameters":{"any":"Violin","any.original":"violin"}},{"name":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS/contexts/__system_counters","parameters":{"no-input":0,"no-match":0,"any":"Violin","any.original":"violin"}}],"intent":{"name":"projects/musical-instruments-quiz-8a073/agent/intents/e74ab319-eb4e-45d5-b3cd-40b1a567fa68","displayName":"RiddleAnswer Intent"},"intentDetectionConfidence":1,"languageCode":"en"},"originalDetectIntentRequest":{"source":"google","version":"2","payload":{"user":{"locale":"en-US","userVerificationStatus":"VERIFIED"},"conversation":{"conversationId":"ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS","type":"ACTIVE","conversationToken":"[\"riddle-index\"]"},"inputs":[{"intent":"actions.intent.TEXT","rawInputs":[{"inputType":"VOICE","query":"violin"}],"arguments":[{"name":"text","rawText":"violin","textValue":"violin"}]}],"surface":{"capabilities":[{"name":"actions.capability.AUDIO_OUTPUT"},{"name":"actions.capability.MEDIA_RESPONSE_AUDIO"},{"name":"actions.capability.ACCOUNT_LINKING"},{"name":"actions.capability.SCREEN_OUTPUT"},{"name":"actions.capability.WEB_BROWSER"}]},"isInSandbox":true,"availableSurfaces":[{"capabilities":[{"name":"actions.capability.AUDIO_OUTPUT"},{"name":"actions.capability.SCREEN_OUTPUT"},{"name":"actions.capability.WEB_BROWSER"}]}]}},"session":"projects/musical-instruments-quiz-8a073/agent/environments/__aog-4/users/-/sessions/ABwppHFMeT9XwzM6qV8uaK1EiCdMMKX6WiL6CcAgXKiqAjRg-X1au6qNz7QnHaJLSUFU_jRv4RCi5Awe2AGklCccN9nlkH8KG_4lv4fS"}

Upvotes: 0

Views: 242

Answers (1)

mandychannyc
mandychannyc

Reputation: 115

You're calling the agent.context.set() method incorrectly. This new method takes different parameters.

In the past, agent.setContext() takes an object. It seems like you're using agent.context.set like the setContext() method.

The correct signature of agent.context.set() is passing in the following parameters in order: contextName, lifespan, context parameter object);

For example,

agent.context.set('context_name_1', 10, {'param1' : 'abc'});
agent.context.set('context_name_2', 11, {'param2' : 2});

Upvotes: 1

Related Questions