AssociateLibraryItemReview

valid {
    input.Body.libraryItemId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateQAppWithUser

valid {
    input.Body.appId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchCreateCategory

valid {
    input.Body.categories[_].id == STRING
    input.Body.categories[_].title == STRING
    input.Body.categories[_].color == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteCategory

valid {
    input.Body.categories[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchUpdateCategory

valid {
    input.Body.categories[_].id == STRING
    input.Body.categories[_].title == STRING
    input.Body.categories[_].color == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateLibraryItem

valid {
    input.Body.appId == STRING
    input.Body.appVersion == INTEGER
    input.Body.categories[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreatePresignedUrl

enum_DocumentScope := [ "APPLICATION", "SESSION" ]

valid {
    input.Body.cardId == STRING
    input.Body.appId == STRING
    input.Body.fileContentsSha256 == STRING
    input.Body.fileName == STRING
    input.Body.scope == enum_DocumentScope[_]
    input.Body.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateQApp

enum_CardOutputSource := [ "approved-sources", "llm" ]
enum_CardType := [ "text-input", "q-query", "file-upload", "q-plugin", "form-input" ]
enum_InputCardComputeMode := [ "append", "replace" ]

valid {
    input.Body.title == STRING
    input.Body.description == STRING
    input.Body.appDefinition.cards[_].textInput.title == STRING
    input.Body.appDefinition.cards[_].textInput.id == STRING
    input.Body.appDefinition.cards[_].textInput.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].textInput.placeholder == STRING
    input.Body.appDefinition.cards[_].textInput.defaultValue == STRING
    input.Body.appDefinition.cards[_].qQuery.title == STRING
    input.Body.appDefinition.cards[_].qQuery.id == STRING
    input.Body.appDefinition.cards[_].qQuery.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].qQuery.prompt == STRING
    input.Body.appDefinition.cards[_].qQuery.outputSource == enum_CardOutputSource[_]
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.andAllFilters[_] == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.orAllFilters[_] == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.notFilter == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qPlugin.title == STRING
    input.Body.appDefinition.cards[_].qPlugin.id == STRING
    input.Body.appDefinition.cards[_].qPlugin.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].qPlugin.prompt == STRING
    input.Body.appDefinition.cards[_].qPlugin.pluginId == STRING
    input.Body.appDefinition.cards[_].qPlugin.actionIdentifier == STRING
    input.Body.appDefinition.cards[_].fileUpload.title == STRING
    input.Body.appDefinition.cards[_].fileUpload.id == STRING
    input.Body.appDefinition.cards[_].fileUpload.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].fileUpload.filename == STRING
    input.Body.appDefinition.cards[_].fileUpload.fileId == STRING
    input.Body.appDefinition.cards[_].fileUpload.allowOverride == BOOLEAN
    input.Body.appDefinition.cards[_].formInput.title == STRING
    input.Body.appDefinition.cards[_].formInput.id == STRING
    input.Body.appDefinition.cards[_].formInput.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].formInput.metadata.schema == {}
    input.Body.appDefinition.cards[_].formInput.computeMode == enum_InputCardComputeMode[_]
    input.Body.appDefinition.initialPrompt == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteLibraryItem

valid {
    input.Body.libraryItemId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteQApp

valid {
    input.Body.appId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeQAppPermissions

valid {
    input.Qs.appId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateLibraryItemReview

valid {
    input.Body.libraryItemId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateQAppFromUser

valid {
    input.Body.appId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExportQAppSessionData

valid {
    input.Body.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetLibraryItem

valid {
    input.Qs.libraryItemId == STRING
    input.Qs.appId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetQApp

valid {
    input.Qs.appId == STRING
    input.Qs.appVersion == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetQAppSession

valid {
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetQAppSessionMetadata

valid {
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ImportDocument

enum_DocumentScope := [ "APPLICATION", "SESSION" ]

valid {
    input.Body.cardId == STRING
    input.Body.appId == STRING
    input.Body.fileContentsBase64 == STRING
    input.Body.fileName == STRING
    input.Body.scope == enum_DocumentScope[_]
    input.Body.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCategories

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListLibraryItems

valid {
    input.Qs.limit == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.categoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListQAppSessionData

valid {
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListQApps

valid {
    input.Qs.limit == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.resourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PredictQApp

enum_Sender := [ "USER", "SYSTEM" ]

valid {
    input.Body.options.conversation[_].body == STRING
    input.Body.options.conversation[_].type == enum_Sender[_]
    input.Body.options.problemStatement == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartQAppSession

enum_SubmissionMutationKind := [ "edit", "delete", "add" ]

valid {
    input.Body.appId == STRING
    input.Body.appVersion == INTEGER
    input.Body.initialValues[_].cardId == STRING
    input.Body.initialValues[_].value == STRING
    input.Body.initialValues[_].submissionMutation.submissionId == STRING
    input.Body.initialValues[_].submissionMutation.mutationType == enum_SubmissionMutationKind[_]
    input.Body.sessionId == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopQAppSession

valid {
    input.Body.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.resourceARN == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLibraryItem

enum_LibraryItemStatus := [ "PUBLISHED", "DISABLED" ]

valid {
    input.Body.libraryItemId == STRING
    input.Body.status == enum_LibraryItemStatus[_]
    input.Body.categories[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLibraryItemMetadata

valid {
    input.Body.libraryItemId == STRING
    input.Body.isVerified == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateQApp

enum_CardOutputSource := [ "approved-sources", "llm" ]
enum_CardType := [ "text-input", "q-query", "file-upload", "q-plugin", "form-input" ]
enum_InputCardComputeMode := [ "append", "replace" ]

valid {
    input.Body.appId == STRING
    input.Body.title == STRING
    input.Body.description == STRING
    input.Body.appDefinition.cards[_].textInput.title == STRING
    input.Body.appDefinition.cards[_].textInput.id == STRING
    input.Body.appDefinition.cards[_].textInput.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].textInput.placeholder == STRING
    input.Body.appDefinition.cards[_].textInput.defaultValue == STRING
    input.Body.appDefinition.cards[_].qQuery.title == STRING
    input.Body.appDefinition.cards[_].qQuery.id == STRING
    input.Body.appDefinition.cards[_].qQuery.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].qQuery.prompt == STRING
    input.Body.appDefinition.cards[_].qQuery.outputSource == enum_CardOutputSource[_]
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.andAllFilters[_] == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.orAllFilters[_] == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.notFilter == NESTED
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.equalsTo.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAll.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.containsAny.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThan.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.greaterThanOrEquals.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThan.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.name == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.stringValue == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.stringListValue[_] == STRING
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.longValue == LONG
    input.Body.appDefinition.cards[_].qQuery.attributeFilter.lessThanOrEquals.value.dateValue == TIMESTAMP
    input.Body.appDefinition.cards[_].qPlugin.title == STRING
    input.Body.appDefinition.cards[_].qPlugin.id == STRING
    input.Body.appDefinition.cards[_].qPlugin.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].qPlugin.prompt == STRING
    input.Body.appDefinition.cards[_].qPlugin.pluginId == STRING
    input.Body.appDefinition.cards[_].qPlugin.actionIdentifier == STRING
    input.Body.appDefinition.cards[_].fileUpload.title == STRING
    input.Body.appDefinition.cards[_].fileUpload.id == STRING
    input.Body.appDefinition.cards[_].fileUpload.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].fileUpload.filename == STRING
    input.Body.appDefinition.cards[_].fileUpload.fileId == STRING
    input.Body.appDefinition.cards[_].fileUpload.allowOverride == BOOLEAN
    input.Body.appDefinition.cards[_].formInput.title == STRING
    input.Body.appDefinition.cards[_].formInput.id == STRING
    input.Body.appDefinition.cards[_].formInput.type == enum_CardType[_]
    input.Body.appDefinition.cards[_].formInput.metadata.schema == {}
    input.Body.appDefinition.cards[_].formInput.computeMode == enum_InputCardComputeMode[_]
    input.Body.appDefinition.initialPrompt == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateQAppPermissions

enum_PermissionInputActionEnum := [ "read", "write" ]

valid {
    input.Body.appId == STRING
    input.Body.grantPermissions[_].action == enum_PermissionInputActionEnum[_]
    input.Body.grantPermissions[_].principal == STRING
    input.Body.revokePermissions[_].action == enum_PermissionInputActionEnum[_]
    input.Body.revokePermissions[_].principal == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateQAppSession

enum_SubmissionMutationKind := [ "edit", "delete", "add" ]

valid {
    input.Body.sessionId == STRING
    input.Body.values[_].cardId == STRING
    input.Body.values[_].value == STRING
    input.Body.values[_].submissionMutation.submissionId == STRING
    input.Body.values[_].submissionMutation.mutationType == enum_SubmissionMutationKind[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateQAppSessionMetadata

valid {
    input.Body.sessionId == STRING
    input.Body.sessionName == STRING
    input.Body.sharingConfiguration.enabled == BOOLEAN
    input.Body.sharingConfiguration.acceptResponses == BOOLEAN
    input.Body.sharingConfiguration.revealCards == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}