alexa / alexa-skills-kit-sdk-for-nodejs

The Alexa Skills Kit SDK for Node.js helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
Apache License 2.0
3.12k stars 736 forks source link

Custom Alexa skill: searching for the problem #665

Closed JDarrenHulipas closed 3 years ago

JDarrenHulipas commented 3 years ago

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[x] Other... Please describe: I have a custom Alexa skill and I have an issue that don't know where it came from

Expected Behavior

I can't run the skill correctly. When I execute in VS or Alexa Developer console/test it always show a problem

Current Behavior

CloudWatch Logs I check last logs and it says --> undefined ERROR Uncaught Exception { "errorType": "Runtime.UserCodeSyntaxError", "errorMessage": "SyntaxError: await is only valid in async function", "stack": [ "Runtime.UserCodeSyntaxError: SyntaxError: await is only valid in async function", " at _loadUserApp (/var/runtime/UserFunction.js:98:13)", " at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)", " at Object.<anonymous> (/var/runtime/index.js:45:30)", " at Module._compile (internal/modules/cjs/loader.js:778:30)", " at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)", " at Module.load (internal/modules/cjs/loader.js:653:32)", " at tryModuleLoad (internal/modules/cjs/loader.js:593:12)", " at Function.Module._load (internal/modules/cjs/loader.js:585:3)", " at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)", " at startup (internal/bootstrap/node.js:283:19)" ] }

In visual studio code, when I execute "ask deploy" immediately shows --> [Error]: Request to skill endpoint resulted in an error.

In Alexa Developer console when I call the skill I created it says --> image

Here is the json I get: { "header": { "namespace": "SkillDebugger", "name": "CaptureError", "messageId": "349859c4-4990-422d-b988-494526a282a1" }, "payload": { "skillId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6", "timestamp": "2020-11-19T09:50:41.433Z", "dialogRequestId": "3aa5ce36-504e-4faf-930f-eac78d4b5d70", "skillRequestId": "amzn1.echo-api.request.a789d49e-8287-426c-8035-24a9590df54e", "code": "SKILL_ENDPOINT_ERROR", "description": "Skill execution returned an exception for requestId amzn1.echo-api.request.a789d49e-8287-426c-8035-24a9590df54e", "debuggingInfo": { "type": "SkillExecutionInfo", "content": { "invocationRequest": { "endpoint": "arn:aws:lambda:us-east-1:327710855027:function:86f7d6a6-de75-4da8-b89b-d3196f85a6b6:Release_0", "body": { "version": "1.0", "session": { "new": true, "sessionId": "amzn1.echo-api.session.e8d2013f-4a55-46b6-808e-153b5eeb921e", "application": { "applicationId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6" }, "user": { "userId": "amzn1.ask.account.AHFMXHNXBBFEC2EB6MMTPUKGJE4AALBJFGVEM2WH3I6YZEKVJJLW3ABX7RXRNTRKGPPLAFA7R5DTLGVQZQAJ2NE2YHWY7LULNFJTHVR34M7FURTB2AW3DN6U5JB3ZMLBP7DWBXWYQSFVWLQIHVFGGVGMYSJ6ZNUU5BRDTOOHY3CGD2NZUGXSKNPTN5PUFVGYSFLZFOO7KD5HQBY" } }, "context": { "Viewports": [ { "type": "APL", "id": "main", "shape": "RECTANGLE", "dpi": 160, "presentationType": "STANDARD", "canRotate": false, "configuration": { "current": { "video": { "codecs": [ "H_264_42", "H_264_41" ] }, "size": { "type": "DISCRETE", "pixelWidth": 1024, "pixelHeight": 600 } } } } ], "Viewport": { "experiences": [ { "arcMinuteWidth": 246, "arcMinuteHeight": 144, "canRotate": false, "canResize": false } ], "shape": "RECTANGLE", "pixelWidth": 1024, "pixelHeight": 600, "dpi": 160, "currentPixelWidth": 1024, "currentPixelHeight": 600, "touch": [ "SINGLE" ], "video": { "codecs": [ "H_264_42", "H_264_41" ] } }, "Extensions": { "available": { "aplext:backstack:10": {} } }, "System": { "application": { "applicationId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6" }, "user": { "userId": "amzn1.ask.account.AHFMXHNXBBFEC2EB6MMTPUKGJE4AALBJFGVEM2WH3I6YZEKVJJLW3ABX7RXRNTRKGPPLAFA7R5DTLGVQZQAJ2NE2YHWY7LULNFJTHVR34M7FURTB2AW3DN6U5JB3ZMLBP7DWBXWYQSFVWLQIHVFGGVGMYSJ6ZNUU5BRDTOOHY3CGD2NZUGXSKNPTN5PUFVGYSFLZFOO7KD5HQBY" }, "device": { "deviceId": "amzn1.ask.device.AGIC2HTX3CBZUOASAGBTKVTGUSOACIXDNLDO4XCZCYNBR3JCXG7PRATWK67JTKT4EAR4LXKJKIMNYD4V34BVSM7TICWH2JWZUGKY5WR5JKPROYQVS6LW2TKZCMM5XW55PJTPTNU65WSZM4VGVDRFETVIVSMC7JZJM5D2D3NYK7TQ7GVUOBSAK", "supportedInterfaces": {} }, "apiEndpoint": "https://api.amazonalexa.com", "apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjg2ZjdkNmE2LWRlNzUtNGRhOC1iODliLWQzMTk2Zjg1YTZiNiIsImV4cCI6MTYwNTc3OTc0MCwiaWF0IjoxNjA1Nzc5NDQwLCJuYmYiOjE2MDU3Nzk0NDAsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFESmdkRDM4ME1BQVF1N1JyYmg5K1BmS3dFQUFBQUFBQURZNEdodjFGenRQOFgvdDZmMnZOR1dwSlQ0RFZ6WjBUb2FhSUd6MStyZmNHczQyZGNsaDF1Njk1VDVVU1R5ZnpLQ2JOTUJTaXlSTC91M1FMUzF4U3ZnZzN2VVpOYW1TZDdZQmd2Y04zMUUxWmo5Z282MThWNHNUUzNJQWtJMEYxaFVpRmovVzJqNnpoYU9uYlduRjM5YkdHa3VINFdielBnTjVFWXlLQVhiV0lUM05RakdpR0RUU2ZkNnR1ZXRaczdMNjVrWFlYNnE5R0MwZjRtMXBPMFlRRStIU3BlRDloN3RpcEZic2tWVFMxTUhuUll1TGdVaFAyazlNNytuU0N0L3dTQThIeEt5dXcyVlQrb1dSWG05QkFydmRPSFhOWWlIR2pBYjNNQWhFTHZBbVNUTmZSRm1jQ21xZU9zR1lmWDVyOWFOZ2F6bEt5a3ZrOG5sOW9oK29yWFpxck9TMDczNTBXMFdxQVlUeVN5MDl1WkNDM0NEdkVxdGlCaGIrVXAyekZKUUZaTUFsalh3YXc9PSIsImNvbnNlbnRUb2tlbiI6bnVsbCwiZGV2aWNlSWQiOiJhbXpuMS5hc2suZGV2aWNlLkFHSUMySFRYM0NCWlVPQVNBR0JUS1ZUR1VTT0FDSVhETkxETzRYQ1pDWU5CUjNKQ1hHN1BSQVRXSzY3SlRLVDRFQVI0TFhLSktJTU5ZRDRWMzRCVlNNN1RJQ1dIMkpXWlVHS1k1V1I1SktQUk9ZUVZTNkxXMlRLWkNNTTVYVzU1UEpUUFROVTY1V1NaTTRWR1ZEUkZFVFZJVlNNQzdKWkpNNUQyRDNOWUs3VFE3R1ZVT0JTQUsiLCJ1c2VySWQiOiJhbXpuMS5hc2suYWNjb3VudC5BSEZNWEhOWEJCRkVDMkVCNk1NVFBVS0dKRTRBQUxCSkZHVkVNMldIM0k2WVpFS1ZKSkxXM0FCWDdSWFJOVFJLR1BQTEFGQTdSNURUTEdWUVpRQUoyTkUyWUhXWTdMVUxORkpUSFZSMzRNN0ZVUlRCMkFXM0RONlU1SkIzWk1MQlA3RFdCWFdZUVNGVldMUUlIVkZHR1ZHTVlTSjZaTlVVNUJSRFRPT0hZM0NHRDJOWlVHWFNLTlBUTjVQVUZWR1lTRkxaRk9PN0tENUhRQlkifX0.K3Gkv_LYJ8L-WedyD4GYM4iORf3hcmujhdpdFpKDqdNS-T0yo3aXf0FbOHyvhyhYIz5hd7XPLDtqv31nipwVL89Erx9zKKTZpcA24k-qhU_Cl0u3X4OCw2GMRlOqfXdElL3Crgf9EbI9glafAK6LLypHyAwL8LlFNp9VarP4uWa-d-YZW0D2hxBG_rVQm9FqYwgk2oMp5_VDYDPtSj1JLw4ocdpSwYjeAtpdqQW_SxUeFP3tP-FaWzkPapCNIHkXU03bxtdFfu6yFPxL_yhUpN4qv3-mMlCPN_khk5IcFq3Q_fY100v5dkSigKc61-n_OuDDRZho9k_5nS7na8ds8w" } }, "request": { "type": "LaunchRequest", "requestId": "amzn1.echo-api.request.a789d49e-8287-426c-8035-24a9590df54e", "timestamp": "2020-11-19T09:50:40Z", "locale": "es-ES", "shouldLinkResultBeReturned": false } } }, "invocationResponse": null, "metrics": { "skillExecutionTimeInMilliseconds": 1303 } } } } }

There is the other one ---------------------------------------------------------------

{ "header": { "namespace": "SkillDebugger", "name": "CaptureError", "messageId": "74059187-b18a-46c7-b5e8-edc8f09936da" }, "payload": { "skillId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6", "timestamp": "2020-11-19T09:50:42.905Z", "dialogRequestId": "3aa5ce36-504e-4faf-930f-eac78d4b5d70", "skillRequestId": "amzn1.echo-api.request.286a9d7f-bb1c-42b8-9da7-458528acab22", "code": "SKILL_ENDPOINT_ERROR", "description": "Skill execution returned an exception for requestId amzn1.echo-api.request.286a9d7f-bb1c-42b8-9da7-458528acab22", "debuggingInfo": { "type": "SkillExecutionInfo", "content": { "invocationRequest": { "endpoint": "arn:aws:lambda:us-east-1:327710855027:function:86f7d6a6-de75-4da8-b89b-d3196f85a6b6:Release_0", "body": { "version": "1.0", "session": { "new": false, "sessionId": "amzn1.echo-api.session.e8d2013f-4a55-46b6-808e-153b5eeb921e", "application": { "applicationId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6" }, "user": { "userId": "amzn1.ask.account.AHFMXHNXBBFEC2EB6MMTPUKGJE4AALBJFGVEM2WH3I6YZEKVJJLW3ABX7RXRNTRKGPPLAFA7R5DTLGVQZQAJ2NE2YHWY7LULNFJTHVR34M7FURTB2AW3DN6U5JB3ZMLBP7DWBXWYQSFVWLQIHVFGGVGMYSJ6ZNUU5BRDTOOHY3CGD2NZUGXSKNPTN5PUFVGYSFLZFOO7KD5HQBY" } }, "context": { "Viewports": [ { "type": "APL", "id": "main", "shape": "RECTANGLE", "dpi": 160, "presentationType": "STANDARD", "canRotate": false, "configuration": { "current": { "video": { "codecs": [ "H_264_42", "H_264_41" ] }, "size": { "type": "DISCRETE", "pixelWidth": 1024, "pixelHeight": 600 } } } } ], "Viewport": { "experiences": [ { "arcMinuteWidth": 246, "arcMinuteHeight": 144, "canRotate": false, "canResize": false } ], "shape": "RECTANGLE", "pixelWidth": 1024, "pixelHeight": 600, "dpi": 160, "currentPixelWidth": 1024, "currentPixelHeight": 600, "touch": [ "SINGLE" ], "video": { "codecs": [ "H_264_42", "H_264_41" ] } }, "Extensions": { "available": { "aplext:backstack:10": {} } }, "System": { "application": { "applicationId": "amzn1.ask.skill.86f7d6a6-de75-4da8-b89b-d3196f85a6b6" }, "user": { "userId": "amzn1.ask.account.AHFMXHNXBBFEC2EB6MMTPUKGJE4AALBJFGVEM2WH3I6YZEKVJJLW3ABX7RXRNTRKGPPLAFA7R5DTLGVQZQAJ2NE2YHWY7LULNFJTHVR34M7FURTB2AW3DN6U5JB3ZMLBP7DWBXWYQSFVWLQIHVFGGVGMYSJ6ZNUU5BRDTOOHY3CGD2NZUGXSKNPTN5PUFVGYSFLZFOO7KD5HQBY" }, "device": { "deviceId": "amzn1.ask.device.AGIC2HTX3CBZUOASAGBTKVTGUSOACIXDNLDO4XCZCYNBR3JCXG7PRATWK67JTKT4EAR4LXKJKIMNYD4V34BVSM7TICWH2JWZUGKY5WR5JKPROYQVS6LW2TKZCMM5XW55PJTPTNU65WSZM4VGVDRFETVIVSMC7JZJM5D2D3NYK7TQ7GVUOBSAK", "supportedInterfaces": {} }, "apiEndpoint": "https://api.amazonalexa.com", "apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjg2ZjdkNmE2LWRlNzUtNGRhOC1iODliLWQzMTk2Zjg1YTZiNiIsImV4cCI6MTYwNTc3OTc0MCwiaWF0IjoxNjA1Nzc5NDQwLCJuYmYiOjE2MDU3Nzk0NDAsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFESmdkRDM4ME1BQVF1N1JyYmg5K1BmS3dFQUFBQUFBQURZNEdodjFGenRQOFgvdDZmMnZOR1dwSlQ0RFZ6WjBUb2FhSUd6MStyZmNHczQyZGNsaDF1Njk1VDVVU1R5ZnpLQ2JOTUJTaXlSTC91M1FMUzF4U3ZnZzN2VVpOYW1TZDdZQmd2Y04zMUUxWmo5Z282MThWNHNUUzNJQWtJMEYxaFVpRmovVzJqNnpoYU9uYlduRjM5YkdHa3VINFdielBnTjVFWXlLQVhiV0lUM05RakdpR0RUU2ZkNnR1ZXRaczdMNjVrWFlYNnE5R0MwZjRtMXBPMFlRRStIU3BlRDloN3RpcEZic2tWVFMxTUhuUll1TGdVaFAyazlNNytuU0N0L3dTQThIeEt5dXcyVlQrb1dSWG05QkFydmRPSFhOWWlIR2pBYjNNQWhFTHZBbVNUTmZSRm1jQ21xZU9zR1lmWDVyOWFOZ2F6bEt5a3ZrOG5sOW9oK29yWFpxck9TMDczNTBXMFdxQVlUeVN5MDl1WkNDM0NEdkVxdGlCaGIrVXAyekZKUUZaTUFsalh3YXc9PSIsImNvbnNlbnRUb2tlbiI6bnVsbCwiZGV2aWNlSWQiOiJhbXpuMS5hc2suZGV2aWNlLkFHSUMySFRYM0NCWlVPQVNBR0JUS1ZUR1VTT0FDSVhETkxETzRYQ1pDWU5CUjNKQ1hHN1BSQVRXSzY3SlRLVDRFQVI0TFhLSktJTU5ZRDRWMzRCVlNNN1RJQ1dIMkpXWlVHS1k1V1I1SktQUk9ZUVZTNkxXMlRLWkNNTTVYVzU1UEpUUFROVTY1V1NaTTRWR1ZEUkZFVFZJVlNNQzdKWkpNNUQyRDNOWUs3VFE3R1ZVT0JTQUsiLCJ1c2VySWQiOiJhbXpuMS5hc2suYWNjb3VudC5BSEZNWEhOWEJCRkVDMkVCNk1NVFBVS0dKRTRBQUxCSkZHVkVNMldIM0k2WVpFS1ZKSkxXM0FCWDdSWFJOVFJLR1BQTEFGQTdSNURUTEdWUVpRQUoyTkUyWUhXWTdMVUxORkpUSFZSMzRNN0ZVUlRCMkFXM0RONlU1SkIzWk1MQlA3RFdCWFdZUVNGVldMUUlIVkZHR1ZHTVlTSjZaTlVVNUJSRFRPT0hZM0NHRDJOWlVHWFNLTlBUTjVQVUZWR1lTRkxaRk9PN0tENUhRQlkifX0.K3Gkv_LYJ8L-WedyD4GYM4iORf3hcmujhdpdFpKDqdNS-T0yo3aXf0FbOHyvhyhYIz5hd7XPLDtqv31nipwVL89Erx9zKKTZpcA24k-qhU_Cl0u3X4OCw2GMRlOqfXdElL3Crgf9EbI9glafAK6LLypHyAwL8LlFNp9VarP4uWa-d-YZW0D2hxBG_rVQm9FqYwgk2oMp5_VDYDPtSj1JLw4ocdpSwYjeAtpdqQW_SxUeFP3tP-FaWzkPapCNIHkXU03bxtdFfu6yFPxL_yhUpN4qv3-mMlCPN_khk5IcFq3Q_fY100v5dkSigKc61-n_OuDDRZho9k_5nS7na8ds8w" } }, "request": { "type": "SessionEndedRequest", "requestId": "amzn1.echo-api.request.286a9d7f-bb1c-42b8-9da7-458528acab22", "timestamp": "2020-11-19T09:50:41Z", "locale": "es-ES", "reason": "ERROR", "error": { "type": "INVALID_RESPONSE", "message": "An exception occurred while dispatching the request to the skill." } } } }, "invocationResponse": null, "metrics": { "skillExecutionTimeInMilliseconds": 1160 } } } } }

Possible Solution

šŸ¤·

Steps to Reproduce (for bugs)

Context

I want to consume own API but the issue I can not move forward.

Your Environment

Node.js and NPM Info

ghost commented 3 years ago

It tells you right here!

await is only valid in async function

So you just need to find where you are using "await" and change the function from "function (something)" to "async function (something)"

JDarrenHulipas commented 3 years ago

It tells you right here!

await is only valid in async function

So you just need to find where you are using "await" and change the function from "function (something)" to "async function (something)"

I already do that. Also in other intents too image

JDarrenHulipas commented 3 years ago

It tells you right here!

await is only valid in async function

So you just need to find where you are using "await" and change the function from "function (something)" to "async function (something)"

I already do that. Also in other intents too image

It tells you right here!

await is only valid in async function

So you just need to find where you are using "await" and change the function from "function (something)" to "async function (something)"

U right, I found it the problem. it was well hidden