BEDROCK-AGENTCORE

CreateEvent

enum_Role := [ "ASSISTANT", "USER", "TOOL", "OTHER" ]

valid {
    input.Body.actorId == STRING
    input.Body.sessionId == STRING
    input.Body.eventTimestamp == TIMESTAMP
    input.Body.payload[_].conversational.content.text == STRING
    input.Body.payload[_].conversational.role == enum_Role[_]
    input.Body.payload[_].blob == {}
    input.Body.branch.rootEventId == STRING
    input.Body.branch.name == STRING
    input.Body.clientToken == STRING
    input.ReqMap.memoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteEvent

valid {
    input.ReqMap.memoryId == STRING
    input.ReqMap.sessionId == STRING
    input.ReqMap.eventId == STRING
    input.ReqMap.actorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteMemoryRecord

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

GetBrowserSession

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

GetCodeInterpreterSession

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

GetEvent

valid {
    input.ReqMap.memoryId == STRING
    input.ReqMap.sessionId == STRING
    input.ReqMap.actorId == STRING
    input.ReqMap.eventId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMemoryRecord

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

GetResourceApiKey

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

GetResourceOauth2Token

enum_Oauth2FlowType := [ "USER_FEDERATION", "M2M" ]

valid {
    input.Body.workloadIdentityToken == STRING
    input.Body.userId == STRING
    input.Body.resourceCredentialProviderName == STRING
    input.Body.scopes[_] == STRING
    input.Body.oauth2Flow == enum_Oauth2FlowType[_]
    input.Body.resourceOauth2ReturnUrl == STRING
    input.Body.forceAuthentication == BOOLEAN
    input.Body.customParameters.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWorkloadAccessToken

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

GetWorkloadAccessTokenForJWT

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

GetWorkloadAccessTokenForUserId

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

InvokeAgentRuntime

valid {
    input.Body.payload == BLOB
    input.ReqMap.agentRuntimeArn == STRING
    input.Qs.qualifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

InvokeCodeInterpreter

enum_ProgrammingLanguage := [ "python", "javascript", "typescript" ]
enum_ToolName := [ "executeCode", "executeCommand", "readFiles", "listFiles", "removeFiles", "writeFiles", "startCommandExecution", "getTask", "stopTask" ]

valid {
    input.Body.name == enum_ToolName[_]
    input.Body.arguments.code == STRING
    input.Body.arguments.language == enum_ProgrammingLanguage[_]
    input.Body.arguments.clearContext == BOOLEAN
    input.Body.arguments.command == STRING
    input.Body.arguments.path == STRING
    input.Body.arguments.paths[_] == STRING
    input.Body.arguments.content[_].path == STRING
    input.Body.arguments.content[_].text == STRING
    input.Body.arguments.content[_].blob == BLOB
    input.Body.arguments.directoryPath == STRING
    input.Body.arguments.taskId == STRING
    input.ReqMap.codeInterpreterIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListActors

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.memoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListBrowserSessions

enum_BrowserSessionStatus := [ "READY", "TERMINATED" ]

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.status == enum_BrowserSessionStatus[_]
    input.ReqMap.browserIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCodeInterpreterSessions

enum_CodeInterpreterSessionStatus := [ "READY", "TERMINATED" ]

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.status == enum_CodeInterpreterSessionStatus[_]
    input.ReqMap.codeInterpreterIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEvents

valid {
    input.Body.includePayloads == BOOLEAN
    input.Body.filter.branch.name == STRING
    input.Body.filter.branch.includeParentBranches == BOOLEAN
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.memoryId == STRING
    input.ReqMap.sessionId == STRING
    input.ReqMap.actorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMemoryRecords

valid {
    input.Body.namespace == STRING
    input.Body.memoryStrategyId == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.memoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSessions

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.memoryId == STRING
    input.ReqMap.actorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RetrieveMemoryRecords

valid {
    input.Body.namespace == STRING
    input.Body.searchCriteria.searchQuery == STRING
    input.Body.searchCriteria.memoryStrategyId == STRING
    input.Body.searchCriteria.topK == INTEGER
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ReqMap.memoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartBrowserSession

valid {
    input.Body.name == STRING
    input.Body.sessionTimeoutSeconds == INTEGER
    input.Body.viewPort.width == INTEGER
    input.Body.viewPort.height == INTEGER
    input.Body.clientToken == STRING
    input.ReqMap.browserIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartCodeInterpreterSession

valid {
    input.Body.name == STRING
    input.Body.sessionTimeoutSeconds == INTEGER
    input.Body.clientToken == STRING
    input.ReqMap.codeInterpreterIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopBrowserSession

valid {
    input.Body.clientToken == STRING
    input.ReqMap.browserIdentifier == STRING
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopCodeInterpreterSession

valid {
    input.Body.clientToken == STRING
    input.ReqMap.codeInterpreterIdentifier == STRING
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateBrowserStream

enum_AutomationStreamStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.streamUpdate.automationStreamUpdate.streamStatus == enum_AutomationStreamStatus[_]
    input.Body.clientToken == STRING
    input.ReqMap.browserIdentifier == STRING
    input.Qs.sessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}