Entity display name 'sys.any' is not valid


#1

Hi everyone,

Suddenly while deploying my action I get following error:

[ERR] com.google.apps.framework.request.BadRequestException: Entity display name ‘sys.any’ is not valid, it may contain only the following: A-Z, a-z, 0-9, _ (underscore), -
» (dash). And it should start with a letter.

It worked before the holidays and also alexaSkill gets deployed correctly. I have only one intent with this entity:

{
"name": "SpeechToTextIntent",
"phrases": [
	"write {freeText}",
	"say {freeText}",
	"read {freeText}"
],
"inputs": [
	{
		"name": "freeText",
		"type": {
		"alexa": "AMAZON.SearchQuery",
		"dialogflow": "@sys.any"
		}
	}
]
},

If I download the intent from dialogflow it seems to be the same, as the output from jovo build:
Intent from dialogflow:
image
jovo output:
image

Thank you for your help!


#2

Hey @Simon

Does it work importing/restoring from the zip file?


#3

Hi @AlexSwe
Thanks for responding.

It’s really strange because I thought I didn’t touch this Intent for a long time and it worked until now.

If I try to “Restore from zip” or “Import from zip” and use the zip from “jovo build” I get the same error message:

com.google.apps.framework.request.BadRequestException: Validate WebhookFulfillment failed because of the following reasons: Fulfillment URL (undefined) is not valid
Entity display name ‘sys.any’ is not valid, it may contain only the following: A-Z, a-z, 0-9, _ (underscore), - (dash). And it should start with a letter.

If I use “jovo get” and after that “jovo deploy” it works. But that’s no solution because it just deploys what already is deployed.

The files from “jovo get” have some additional values but all the ones from “jovo build” are the same there.

The File from dialogflow “SpeechToTextIntent.json”:

{
  "id": "7e2b9axxxxxxxxxxfdc0",
  "name": "SpeechToTextIntent",
  "auto": true,
  "contexts": [],
  "responses": [
    {
      "resetContexts": false,
      "action": "",
      "affectedContexts": [],
      "parameters": [
        {
          "name": "freeText",
          "required": false,
          "dataType": "@sys.any",
          "value": "$freeText",
          "defaultValue": "",
          "isList": false,
          "prompts": [],
          "promptMessages": [],
          "noMatchPromptMessages": [],
          "noInputPromptMessages": [],
          "outputDialogContexts": []
        }
      ],
      "messages": [],
      "speech": []
    }
  ],
  "priority": 500000,
  "webhookUsed": true,
  "webhookForSlotFilling": false,
  "fallbackIntent": false,
  "events": [],
  "conditionalResponses": [],
  "condition": "",
  "conditionalFollowupEvents": []
}

The File from jovo /platforms/googleAction/dialogflow/intents “SpeechToTextIntent.json”:

{
  "name": "SpeechToTextIntent",
  "auto": true,
  "webhookUsed": true,
  "responses": [
    {
	  "parameters": [
	    {
	      "isList": false,
	      "name": "freeText",
	      "value": "$freeText",
	      "dataType": "@sys.any"
	    }
	  ]
	}
  ]
}

And this is a part from the “SpeechToTextIntent_usersays_de.json”:

[
  {
    "data": [
      {
        "text": "schreib ",
        "userDefined": false
      },
      {
        "text": "freeText",
        "meta": "@sys.any",
        "alias": "freeText",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "de",
    "updated": 0
  },
...
]

the only difference here is the order of values and that “lang” and “updated” are missing in the jovo generated version.