Files
wasmer/lib/registry/graphql/schema.graphql
2023-02-28 16:42:35 +00:00

2544 lines
48 KiB
GraphQL

"""
Exposes a URL that specifies the behaviour of this scalar.
"""
directive @specifiedBy(
"""
The URL that specifies the behaviour of this scalar.
"""
url: String!
) on SCALAR
input AcceptNamespaceCollaboratorInviteInput {
inviteId: ID!
clientMutationId: String
}
type AcceptNamespaceCollaboratorInvitePayload {
namespaceCollaboratorInvite: NamespaceCollaboratorInvite!
clientMutationId: String
}
input AcceptPackageCollaboratorInviteInput {
inviteId: ID!
clientMutationId: String
}
type AcceptPackageCollaboratorInvitePayload {
packageCollaboratorInvite: PackageCollaboratorInvite!
clientMutationId: String
}
input AcceptPackageTransferRequestInput {
packageTransferRequestId: ID!
clientMutationId: String
}
type AcceptPackageTransferRequestPayload {
package: Package!
packageTransferRequest: PackageTransferRequest!
clientMutationId: String
}
type ActivityEvent implements Node {
"""
The ID of the object
"""
id: ID!
body: ActivityEventBody!
actorIcon: String!
createdAt: DateTime!
}
type ActivityEventBody {
text: String!
ranges: [NodeBodyRange!]!
}
type ActivityEventConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [ActivityEventEdge]!
}
"""
A Relay edge containing a `ActivityEvent` and its cursor.
"""
type ActivityEventEdge {
"""
The item at the end of the edge
"""
node: ActivityEvent
"""
A cursor for use in pagination
"""
cursor: String!
}
type AggregateMetrics {
cpuTime: String!
memoryUsage: String!
memoryTime: String!
ingress: String!
egress: String!
mountedVolumes: String!
monthlyCost: String!
}
type APIToken {
id: ID!
user: User!
identifier: String
createdAt: DateTime!
revokedAt: DateTime
lastUsedAt: DateTime
}
type APITokenConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [APITokenEdge]!
}
"""
A Relay edge containing a `APIToken` and its cursor.
"""
type APITokenEdge {
"""
The item at the end of the edge
"""
node: APIToken
"""
A cursor for use in pagination
"""
cursor: String!
}
type AppConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [AppEdge]!
}
"""
A Relay edge containing a `App` and its cursor.
"""
type AppEdge {
"""
The item at the end of the edge
"""
node: DeployApp
"""
A cursor for use in pagination
"""
cursor: String!
}
type AppVersionConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [AppVersionEdge]!
}
"""
A Relay edge containing a `AppVersion` and its cursor.
"""
type AppVersionEdge {
"""
The item at the end of the edge
"""
node: DeployAppVersion
"""
A cursor for use in pagination
"""
cursor: String!
}
input ArchivePackageInput {
packageId: ID!
clientMutationId: String
}
type ArchivePackagePayload {
package: Package!
clientMutationId: String
}
"""
The `BigInt` scalar type represents non-fractional whole numeric values.
`BigInt` is not constrained to 32-bit like the `Int` type and thus is a less
compatible type.
"""
scalar BigInt
type BindingsGenerator implements Node {
"""
The ID of the object
"""
id: ID!
packageVersion: PackageVersion!
active: Boolean!
commandName: String!
registryJavascriptlanguagebindings(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionNPMBindingConnection!
registryPythonlanguagebindings(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionPythonBindingConnection!
}
type BindingsGeneratorConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [BindingsGeneratorEdge]!
}
"""
A Relay edge containing a `BindingsGenerator` and its cursor.
"""
type BindingsGeneratorEdge {
"""
The item at the end of the edge
"""
node: BindingsGenerator
"""
A cursor for use in pagination
"""
cursor: String!
}
input ChangePackageVersionArchivedStatusInput {
packageVersionId: ID!
isArchived: Boolean
clientMutationId: String
}
type ChangePackageVersionArchivedStatusPayload {
packageVersion: PackageVersion!
clientMutationId: String
}
input ChangeUserEmailInput {
newEmail: String!
clientMutationId: String
}
type ChangeUserEmailPayload {
user: User!
clientMutationId: String
}
input ChangeUserPasswordInput {
"""
The token associated to change the password. If not existing it will use the request user by default
"""
token: String
oldPassword: String
password: String!
clientMutationId: String
}
type ChangeUserPasswordPayload {
token: String
clientMutationId: String
}
input ChangeUserUsernameInput {
"""
The new user username
"""
username: String!
clientMutationId: String
}
type ChangeUserUsernamePayload {
user: User
token: String
clientMutationId: String
}
input CheckUserExistsInput {
"""
The user
"""
user: String!
clientMutationId: String
}
type CheckUserExistsPayload {
exists: Boolean!
"""
The user is only returned if the user input was the username
"""
user: User
clientMutationId: String
}
type Collection {
slug: String!
displayName: String!
description: String!
createdAt: DateTime!
banner: String!
packages(
before: String
after: String
first: Int
last: Int
): PackageConnection!
}
type CollectionConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [CollectionEdge]!
}
"""
A Relay edge containing a `Collection` and its cursor.
"""
type CollectionEdge {
"""
The item at the end of the edge
"""
node: Collection
"""
A cursor for use in pagination
"""
cursor: String!
}
type Command {
command: String!
packageVersion: PackageVersion!
module: PackageVersionModule!
}
input CreateNamespaceInput {
name: String!
"""
The namespace display name
"""
displayName: String
"""
The namespace description
"""
description: String
"""
The namespace avatar
"""
avatar: String
clientMutationId: String
}
type CreateNamespacePayload {
namespace: Namespace!
user: User!
clientMutationId: String
}
"""
The `DateTime` scalar type represents a DateTime
value as specified by
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
"""
scalar DateTime
input DeleteNamespaceInput {
namespaceId: ID!
clientMutationId: String
}
type DeleteNamespacePayload {
success: Boolean!
clientMutationId: String
}
type DeployApp implements Node & Owner {
"""
The ID of the object
"""
id: ID!
name: String!
createdBy: User!
createdAt: DateTime!
activeVersion: DeployAppVersion!
globalName: String!
url: String!
description: String
owner: Owner!
versions(
before: String
after: String
first: Int
last: Int
): AppVersionConnection!
aggregateMetrics: AggregateMetrics!
}
type DeployAppVersion implements Node {
"""
The ID of the object
"""
id: ID!
app: DeployApp
configWebc: String
signature: String
description: String
publishedBy: User!
createdAt: DateTime!
webcUrl: String!
config: String!
url: String!
version: String!
manifest: String!
}
type DeployConfigInfo implements Node {
"""
The ID of the object
"""
id: ID!
name: String!
createdBy: User!
createdAt: DateTime!
updatedAt: DateTime!
versions: [DeployConfigVersion]
publishedBy: User
namespace: String!
}
type DeployConfigVersion implements Node {
"""
The ID of the object
"""
id: ID!
configWebc: String
signature: String
description: String
createdAt: DateTime!
versionNumber: BigInt!
fileOffset: Int
fileSize: Int
updatedAt: DateTime!
webcUrl: String!
config: String!
info: DeployConfigInfo
}
type ErrorType {
field: String!
messages: [String!]!
}
input GenerateAPITokenInput {
identifier: String
clientMutationId: String
}
type GenerateAPITokenPayload {
token: APIToken
tokenRaw: String
user: User
clientMutationId: String
}
input GenerateBindingsForAllPackagesInput {
bindingsGeneratorId: ID
bindingsGeneratorCommand: String
clientMutationId: String
}
type GenerateBindingsForAllPackagesPayload {
message: String!
clientMutationId: String
}
input GenerateDeployTokenInput {
deployConfigVersionId: String!
clientMutationId: String
}
type GenerateDeployTokenPayload {
token: String!
deployConfigVersion: DeployConfigVersion!
clientMutationId: String
}
"""
The `GenericScalar` scalar type represents a generic
GraphQL scalar value that could be:
String, Boolean, Int, Float, List or Object.
"""
scalar GenericScalar
type GetPasswordResetToken {
valid: Boolean!
user: User
}
union GlobalObject = User | Namespace
enum GrapheneRole {
ADMIN
EDITOR
VIEWER
}
input InputSignature {
publicKeyKeyId: String!
data: String!
}
type Interface implements Node {
"""
The ID of the object
"""
id: ID!
name: String!
displayName: String!
description: String!
homepage: String
icon: String
createdAt: DateTime!
updatedAt: DateTime!
versions(
offset: Int
before: String
after: String
first: Int
last: Int
): InterfaceVersionConnection!
lastVersion: InterfaceVersion
}
type InterfaceVersion implements Node {
"""
The ID of the object
"""
id: ID!
interface: Interface!
version: String!
content: String!
createdAt: DateTime!
updatedAt: DateTime!
publishedBy: User!
packageVersions(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionConnection!
}
type InterfaceVersionConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [InterfaceVersionEdge]!
}
"""
A Relay edge containing a `InterfaceVersion` and its cursor.
"""
type InterfaceVersionEdge {
"""
The item at the end of the edge
"""
node: InterfaceVersion
"""
A cursor for use in pagination
"""
cursor: String!
}
input InviteNamespaceCollaboratorInput {
namespaceId: ID!
role: GrapheneRole!
username: String
email: String
clientMutationId: String
}
type InviteNamespaceCollaboratorPayload {
invite: NamespaceCollaboratorInvite!
namespace: Namespace!
clientMutationId: String
}
input InvitePackageCollaboratorInput {
packageName: String!
role: GrapheneRole!
username: String
email: String
clientMutationId: String
}
type InvitePackageCollaboratorPayload {
invite: PackageCollaboratorInvite!
package: Package!
clientMutationId: String
}
"""
Allows use of a JSON String for input / output from the GraphQL schema.
Use of this type is *not recommended* as you lose the benefits of having a defined, static
schema (one of the key benefits of GraphQL).
"""
scalar JSONString
interface Likeable {
id: ID!
likersCount: Int!
viewerHasLiked: Boolean!
}
input LikePackageInput {
packageId: ID!
clientMutationId: String
}
type LikePackagePayload {
package: Package!
clientMutationId: String
}
type Mutation {
publishDeployConfig(
input: PublishDeployConfigInput!
): PublishDeployConfigPayload
@deprecated(reason: "Please use publishDeployApp instead.")
publishDeployApp(input: PublishDeployAppInput!): PublishDeployAppPayload
tokenAuth(input: ObtainJSONWebTokenInput!): ObtainJSONWebTokenPayload
generateDeployToken(
input: GenerateDeployTokenInput!
): GenerateDeployTokenPayload
verifyAccessToken(token: String): Verify
refreshAccessToken(refreshToken: String): Refresh
revokeAccessToken(refreshToken: String): Revoke
registerUser(input: RegisterUserInput!): RegisterUserPayload
socialAuth(input: SocialAuthJWTInput!): SocialAuthJWTPayload
validateUserEmail(input: ValidateUserEmailInput!): ValidateUserEmailPayload
requestPasswordReset(
input: RequestPasswordResetInput!
): RequestPasswordResetPayload
requestValidationEmail(
input: RequestValidationEmailInput!
): RequestValidationEmailPayload
changeUserPassword(input: ChangeUserPasswordInput!): ChangeUserPasswordPayload
changeUserUsername(input: ChangeUserUsernameInput!): ChangeUserUsernamePayload
changeUserEmail(input: ChangeUserEmailInput!): ChangeUserEmailPayload
updateUserInfo(input: UpdateUserInfoInput!): UpdateUserInfoPayload
validateUserPassword(
input: ValidateUserPasswordInput!
): ValidateUserPasswordPayload
generateApiToken(input: GenerateAPITokenInput!): GenerateAPITokenPayload
revokeApiToken(input: RevokeAPITokenInput!): RevokeAPITokenPayload
checkUserExists(input: CheckUserExistsInput!): CheckUserExistsPayload
readNotification(input: ReadNotificationInput!): ReadNotificationPayload
seePendingNotifications(
input: SeePendingNotificationsInput!
): SeePendingNotificationsPayload
publishPublicKey(input: PublishPublicKeyInput!): PublishPublicKeyPayload
publishPackage(input: PublishPackageInput!): PublishPackagePayload
updatePackage(input: UpdatePackageInput!): UpdatePackagePayload
likePackage(input: LikePackageInput!): LikePackagePayload
unlikePackage(input: UnlikePackageInput!): UnlikePackagePayload
watchPackage(input: WatchPackageInput!): WatchPackagePayload
unwatchPackage(input: UnwatchPackageInput!): UnwatchPackagePayload
archivePackage(input: ArchivePackageInput!): ArchivePackagePayload
changePackageVersionArchivedStatus(
input: ChangePackageVersionArchivedStatusInput!
): ChangePackageVersionArchivedStatusPayload
createNamespace(input: CreateNamespaceInput!): CreateNamespacePayload
updateNamespace(input: UpdateNamespaceInput!): UpdateNamespacePayload
deleteNamespace(input: DeleteNamespaceInput!): DeleteNamespacePayload
inviteNamespaceCollaborator(
input: InviteNamespaceCollaboratorInput!
): InviteNamespaceCollaboratorPayload
acceptNamespaceCollaboratorInvite(
input: AcceptNamespaceCollaboratorInviteInput!
): AcceptNamespaceCollaboratorInvitePayload
removeNamespaceCollaboratorInvite(
input: RemoveNamespaceCollaboratorInviteInput!
): RemoveNamespaceCollaboratorInvitePayload
removeNamespaceCollaborator(
input: RemoveNamespaceCollaboratorInput!
): RemoveNamespaceCollaboratorPayload
updateNamespaceCollaboratorRole(
input: UpdateNamespaceCollaboratorRoleInput!
): UpdateNamespaceCollaboratorRolePayload
updateNamespaceCollaboratorInviteRole(
input: UpdateNamespaceCollaboratorInviteRoleInput!
): UpdateNamespaceCollaboratorInviteRolePayload
invitePackageCollaborator(
input: InvitePackageCollaboratorInput!
): InvitePackageCollaboratorPayload
acceptPackageCollaboratorInvite(
input: AcceptPackageCollaboratorInviteInput!
): AcceptPackageCollaboratorInvitePayload
removePackageCollaboratorInvite(
input: RemovePackageCollaboratorInviteInput!
): RemovePackageCollaboratorInvitePayload
updatePackageCollaboratorRole(
input: UpdatePackageCollaboratorRoleInput!
): UpdatePackageCollaboratorRolePayload
updatePackageCollaboratorInviteRole(
input: UpdatePackageCollaboratorInviteRoleInput!
): UpdatePackageCollaboratorInviteRolePayload
removePackageCollaborator(
input: RemovePackageCollaboratorInput!
): RemovePackageCollaboratorPayload
requestPackageTransfer(
input: RequestPackageTransferInput!
): RequestPackageTransferPayload
acceptPackageTransferRequest(
input: AcceptPackageTransferRequestInput!
): AcceptPackageTransferRequestPayload
removePackageTransferRequest(
input: RemovePackageTransferRequestInput!
): RemovePackageTransferRequestPayload
generateBindingsForAllPackages(
input: GenerateBindingsForAllPackagesInput!
): GenerateBindingsForAllPackagesPayload
}
type Namespace implements Node & PackageOwner & Owner {
"""
The ID of the object
"""
id: ID!
name: String!
displayName: String
description: String!
avatar: String!
avatarUpdatedAt: DateTime
createdAt: DateTime!
updatedAt: DateTime!
maintainerInvites(
offset: Int
before: String
after: String
first: Int
last: Int
): NamespaceCollaboratorInviteConnection!
userSet(
offset: Int
before: String
after: String
first: Int
last: Int
): UserConnection!
globalName: String!
packages(
before: String
after: String
first: Int
last: Int
): PackageConnection!
apps(before: String, after: String, first: Int, last: Int): AppConnection!
packageVersions(
before: String
after: String
first: Int
last: Int
): PackageVersionConnection!
collaborators(
before: String
after: String
first: Int
last: Int
): NamespaceCollaboratorConnection!
publicActivity(
before: String
after: String
first: Int
last: Int
): ActivityEventConnection!
pendingInvites(
before: String
after: String
first: Int
last: Int
): NamespaceCollaboratorInviteConnection!
viewerHasRole(role: GrapheneRole!): Boolean!
packageTransfersIncoming(
before: String
after: String
first: Int
last: Int
): PackageTransferRequestConnection!
}
type NamespaceCollaborator implements Node {
"""
The ID of the object
"""
id: ID!
user: User!
role: RegistryNamespaceMaintainerRoleChoices!
namespace: Namespace!
createdAt: DateTime!
updatedAt: DateTime!
invite: NamespaceCollaboratorInvite
}
type NamespaceCollaboratorConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [NamespaceCollaboratorEdge]!
}
"""
A Relay edge containing a `NamespaceCollaborator` and its cursor.
"""
type NamespaceCollaboratorEdge {
"""
The item at the end of the edge
"""
node: NamespaceCollaborator
"""
A cursor for use in pagination
"""
cursor: String!
}
type NamespaceCollaboratorInvite implements Node {
"""
The ID of the object
"""
id: ID!
requestedBy: User!
user: User
inviteEmail: String
namespace: Namespace!
role: RegistryNamespaceMaintainerInviteRoleChoices!
accepted: NamespaceCollaborator
approvedBy: User
declinedBy: User
createdAt: DateTime!
expiresAt: DateTime!
closedAt: DateTime
}
type NamespaceCollaboratorInviteConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [NamespaceCollaboratorInviteEdge]!
}
"""
A Relay edge containing a `NamespaceCollaboratorInvite` and its cursor.
"""
type NamespaceCollaboratorInviteEdge {
"""
The item at the end of the edge
"""
node: NamespaceCollaboratorInvite
"""
A cursor for use in pagination
"""
cursor: String!
}
type NamespaceConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [NamespaceEdge]!
}
"""
A Relay edge containing a `Namespace` and its cursor.
"""
type NamespaceEdge {
"""
The item at the end of the edge
"""
node: Namespace
"""
A cursor for use in pagination
"""
cursor: String!
}
type NativeExecutable implements Node {
"""
The ID of the object
"""
id: ID!
module: String! @deprecated(reason: "Use filename instead")
filename: String!
targetTriple: String!
downloadUrl: String!
}
type NativeExecutableConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [NativeExecutableEdge]!
}
"""
A Relay edge containing a `NativeExecutable` and its cursor.
"""
type NativeExecutableEdge {
"""
The item at the end of the edge
"""
node: NativeExecutable
"""
A cursor for use in pagination
"""
cursor: String!
}
interface Node {
"""
The ID of the object
"""
id: ID!
}
type NodeBodyRange {
entity: Node!
offset: Int!
length: Int!
}
input ObtainJSONWebTokenInput {
clientMutationId: String
username: String!
password: String!
}
type ObtainJSONWebTokenPayload {
payload: GenericScalar!
refreshExpiresIn: Int!
username: String!
clientMutationId: String
token: String!
refreshToken: String!
}
interface Owner {
globalName: String!
}
type Package implements Likeable & Node & PackageOwner {
"""
The ID of the object
"""
id: ID!
name: String!
namespace: String
private: Boolean!
createdAt: DateTime!
updatedAt: DateTime!
maintainers: [User]! @deprecated(reason: "Please use collaborators instead")
curated: Boolean!
ownerObjectId: Int!
lastVersion: PackageVersion
"""
The app icon. It should be formatted in the same way as Apple icons
"""
icon: String!
totalDownloads: Int!
iconUpdatedAt: DateTime
watchersCount: Int!
versions: [PackageVersion]!
collectionSet: [Collection!]!
likersCount: Int!
viewerHasLiked: Boolean!
globalName: String!
alias: String
displayName: String!
"""
The name of the package without the owner
"""
packageName: String!
"""
The app icon. It should be formatted in the same way as Apple icons
"""
appIcon: String! @deprecated(reason: "Please use icon instead")
"""
The total number of downloads of the package
"""
downloadsCount: Int
"""
The public keys for all the published versions
"""
publicKeys: [PublicKey!]!
collaborators(
before: String
after: String
first: Int
last: Int
): PackageCollaboratorConnection!
pendingInvites(
before: String
after: String
first: Int
last: Int
): PackageCollaboratorInviteConnection!
viewerHasRole(role: GrapheneRole!): Boolean!
owner: PackageOwner!
isTransferring: Boolean!
activeTransferRequest: PackageTransferRequest
isArchived: Boolean!
viewerIsWatching: Boolean!
}
type PackageCollaborator implements Node {
"""
The ID of the object
"""
id: ID!
user: User!
role: RegistryPackageMaintainerRoleChoices!
package: Package!
createdAt: DateTime!
updatedAt: DateTime!
invite: PackageCollaboratorInvite
}
type PackageCollaboratorConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageCollaboratorEdge]!
}
"""
A Relay edge containing a `PackageCollaborator` and its cursor.
"""
type PackageCollaboratorEdge {
"""
The item at the end of the edge
"""
node: PackageCollaborator
"""
A cursor for use in pagination
"""
cursor: String!
}
type PackageCollaboratorInvite implements Node {
"""
The ID of the object
"""
id: ID!
requestedBy: User!
user: User
inviteEmail: String
package: Package!
role: RegistryPackageMaintainerInviteRoleChoices!
accepted: PackageCollaborator
approvedBy: User
declinedBy: User
createdAt: DateTime!
expiresAt: DateTime!
closedAt: DateTime
}
type PackageCollaboratorInviteConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageCollaboratorInviteEdge]!
}
"""
A Relay edge containing a `PackageCollaboratorInvite` and its cursor.
"""
type PackageCollaboratorInviteEdge {
"""
The item at the end of the edge
"""
node: PackageCollaboratorInvite
"""
A cursor for use in pagination
"""
cursor: String!
}
type PackageConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageEdge]!
}
type PackageDistribution {
downloadUrl: String!
size: Int!
piritaDownloadUrl: String
piritaSize: Int!
}
"""
A Relay edge containing a `Package` and its cursor.
"""
type PackageEdge {
"""
The item at the end of the edge
"""
node: Package
"""
A cursor for use in pagination
"""
cursor: String!
}
"""
Setup for backwards compatibility with existing frontends.
"""
interface PackageOwner {
globalName: String!
}
type PackageTransferRequest implements Node {
"""
The ID of the object
"""
id: ID!
requestedBy: User!
previousOwnerObjectId: Int!
newOwnerObjectId: Int!
package: Package!
approvedBy: User
declinedBy: User
createdAt: DateTime!
expiresAt: DateTime!
closedAt: DateTime
previousOwner: PackageOwner!
newOwner: PackageOwner!
}
type PackageTransferRequestConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageTransferRequestEdge]!
}
"""
A Relay edge containing a `PackageTransferRequest` and its cursor.
"""
type PackageTransferRequestEdge {
"""
The item at the end of the edge
"""
node: PackageTransferRequest
"""
A cursor for use in pagination
"""
cursor: String!
}
type PackageVersion implements Node {
"""
The ID of the object
"""
id: ID!
package: Package!
version: String!
description: String!
manifest: String!
license: String
licenseFile: String
readme: String
witMd: String
repository: String
homepage: String
createdAt: DateTime!
updatedAt: DateTime!
staticObjectsCompiled: Boolean!
nativeExecutablesCompiled: Boolean!
publishedBy: User!
signature: Signature
isArchived: Boolean!
file: String!
fileSize: BigInt!
piritaFile: String
piritaFileSize: BigInt!
piritaManifest: JSONString
piritaVolumes: JSONString
totalDownloads: Int!
pirita256hash: String
bindingsState: RegistryPackageVersionBindingsStateChoices!
nativeExecutablesState: RegistryPackageVersionNativeExecutablesStateChoices!
lastversionPackage(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageConnection!
commands: [Command!]!
nativeexecutableSet(
offset: Int
before: String
after: String
first: Int
last: Int
): NativeExecutableConnection!
bindingsgeneratorSet(
offset: Int
before: String
after: String
first: Int
last: Int
): BindingsGeneratorConnection!
javascriptlanguagebindingSet(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionNPMBindingConnection!
pythonlanguagebindingSet(
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionPythonBindingConnection!
distribution: PackageDistribution!
filesystem: [PackageVersionFilesystem]!
isLastVersion: Boolean!
witFile: String
isSigned: Boolean!
moduleInterfaces: [InterfaceVersion!]!
modules: [PackageVersionModule!]!
getPiritaContents(
volume: String! = "atom"
root: String! = ""
): [PiritaFilesystemItem!]!
nativeExecutables(
triple: String
wasmerCompilerVersion: String
): [NativeExecutable]
bindings: [PackageVersionLanguageBinding]!
npmBindings: PackageVersionNPMBinding
pythonBindings: PackageVersionPythonBinding
hasBindings: Boolean!
hasCommands: Boolean!
}
type PackageVersionConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageVersionEdge]!
}
"""
A Relay edge containing a `PackageVersion` and its cursor.
"""
type PackageVersionEdge {
"""
The item at the end of the edge
"""
node: PackageVersion
"""
A cursor for use in pagination
"""
cursor: String!
}
type PackageVersionFilesystem {
wasm: String!
host: String!
}
interface PackageVersionLanguageBinding {
id: ID!
language: ProgrammingLanguage!
"""
The URL of the generated artifacts on WAPM's CDN.
"""
url: String!
"""
When the binding was generated
"""
createdAt: DateTime!
"""
Package version used to generate this binding
"""
generator: BindingsGenerator!
name: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
kind: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
"""
Name of package source
"""
packageName: String!
module: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
}
type PackageVersionModule {
name: String!
source: String!
abi: String
publicUrl: String!
}
type PackageVersionNPMBinding implements PackageVersionLanguageBinding & Node {
"""
The ID of the object
"""
id: ID!
language: ProgrammingLanguage!
"""
The URL of the generated artifacts on WAPM's CDN.
"""
url: String!
"""
When the binding was generated
"""
createdAt: DateTime!
"""
Package version used to generate this binding
"""
generator: BindingsGenerator!
name: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
kind: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
"""
Name of package source
"""
packageName: String!
module: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
npmDefaultInstallPackageName(url: String): String!
@deprecated(reason: "Please use packageName instead")
}
type PackageVersionNPMBindingConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageVersionNPMBindingEdge]!
}
"""
A Relay edge containing a `PackageVersionNPMBinding` and its cursor.
"""
type PackageVersionNPMBindingEdge {
"""
The item at the end of the edge
"""
node: PackageVersionNPMBinding
"""
A cursor for use in pagination
"""
cursor: String!
}
type PackageVersionPythonBinding implements PackageVersionLanguageBinding & Node {
"""
The ID of the object
"""
id: ID!
language: ProgrammingLanguage!
"""
The URL of the generated artifacts on WAPM's CDN.
"""
url: String!
"""
When the binding was generated
"""
createdAt: DateTime!
"""
Package version used to generate this binding
"""
generator: BindingsGenerator!
name: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
kind: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
"""
Name of package source
"""
packageName: String!
module: String!
@deprecated(
reason: "Do not use this field, since bindings for all modules are generated at once now."
)
pythonDefaultInstallPackageName(url: String): String!
}
type PackageVersionPythonBindingConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [PackageVersionPythonBindingEdge]!
}
"""
A Relay edge containing a `PackageVersionPythonBinding` and its cursor.
"""
type PackageVersionPythonBindingEdge {
"""
The item at the end of the edge
"""
node: PackageVersionPythonBinding
"""
A cursor for use in pagination
"""
cursor: String!
}
"""
The Relay compliant `PageInfo` type, containing data necessary to paginate this connection.
"""
type PageInfo {
"""
When paginating forwards, are there more items?
"""
hasNextPage: Boolean!
"""
When paginating backwards, are there more items?
"""
hasPreviousPage: Boolean!
"""
When paginating backwards, the cursor to continue.
"""
startCursor: String
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
}
type PiritaFilesystemDir {
name(display: PiritaFilesystemNameDisplay): String!
}
type PiritaFilesystemFile {
name(display: PiritaFilesystemNameDisplay): String!
size: Int!
offset: Int!
}
union PiritaFilesystemItem = PiritaFilesystemFile | PiritaFilesystemDir
enum PiritaFilesystemNameDisplay {
RELATIVE
ABSOLUTE
}
enum ProgrammingLanguage {
PYTHON
JAVASCRIPT
}
type PublicKey implements Node {
"""
The ID of the object
"""
id: ID!
owner: User!
keyId: String!
key: String!
revokedAt: DateTime
uploadedAt: DateTime!
verifyingSignature: Signature
revoked: Boolean!
}
input PublishDeployAppInput {
config: JSONString!
name: ID
owner: ID
description: String
clientMutationId: String
}
type PublishDeployAppPayload {
deployAppVersion: DeployAppVersion!
clientMutationId: String
}
input PublishDeployConfigInput {
content: String!
name: ID
description: String
clientMutationId: String
}
type PublishDeployConfigPayload {
deployConfigVersion: DeployConfigVersion!
clientMutationId: String
}
input PublishPackageInput {
name: String!
version: String!
description: String!
manifest: String!
license: String
licenseFile: String
readme: String
repository: String
homepage: String
file: String
signedUrl: String
signature: InputSignature
"""
The package icon
"""
icon: String
clientMutationId: String
}
type PublishPackagePayload {
success: Boolean!
packageVersion: PackageVersion!
clientMutationId: String
}
input PublishPublicKeyInput {
keyId: String!
key: String!
verifyingSignatureId: String
clientMutationId: String
}
type PublishPublicKeyPayload {
success: Boolean!
publicKey: PublicKey!
clientMutationId: String
}
type Query {
getDeployConfigVersion(name: String!, signature: String): DeployConfigVersion
@deprecated(reason: "Please use getDeployAppVersion instead")
getDeployConfigVersions(
name: String
signature: String
): [DeployConfigVersion]
@deprecated(reason: "Please use getDeployAppVersions instead")
getAnyDeployConfigVersion(
namespace: String!
name: String!
version: Int
): DeployConfigVersion
@deprecated(reason: "Please use getAnyDeployAppVersion instead")
getAnyDeployConfigVersions(
namespace: String!
name: String!
version: Int
): [DeployConfigVersion]
@deprecated(reason: "Please use getAnyDeployAppVersions instead")
getDeployConfigs(name: String, signature: String): [DeployConfigInfo]
@deprecated(reason: "Please use getDeployApps instead")
getAnyDeployConfig(namespace: String!, name: String!): DeployConfigInfo
@deprecated(reason: "Please use getAnyDeployApp instead")
getAnyDeployConfigs(namespace: String, name: String): [DeployConfigInfo]
@deprecated(reason: "Please use getAnyDeployApps instead")
getDeployConfig(name: String!, namespace: String): DeployConfigInfo
@deprecated(reason: "Please use getDeployApp instead")
getDeployAppVersion(
name: String!
owner: String!
version: String
): DeployAppVersion
getDeployApp(name: String!, owner: String!): DeployApp
viewer: User
getUser(username: String!): User
getPasswordResetToken(token: String!): GetPasswordResetToken
packages(
before: String
after: String
first: Int
last: Int
): PackageConnection
recentPackageVersions(
curated: Boolean
offset: Int
before: String
after: String
first: Int
last: Int
): PackageVersionConnection!
getNamespace(name: String!): Namespace
getPackage(name: String!): Package
getPackages(names: [String!]!): [Package]!
getPackageVersion(name: String!, version: String = "latest"): PackageVersion
getPackageVersions(names: [String!]!): [PackageVersion]
getInterface(name: String!): Interface
getInterfaces(names: [String!]!): [Interface]!
getInterfaceVersion(
name: String!
version: String = "latest"
): InterfaceVersion
getContract(name: String!): Interface
@deprecated(reason: "Please use getInterface instead")
getContracts(names: [String!]!): [Interface]!
@deprecated(reason: "Please use getInterfaces instead")
getContractVersion(name: String!, version: String): InterfaceVersion
@deprecated(reason: "Please use getInterfaceVersion instead")
getCommand(name: String!): Command
getCommands(names: [String!]!): [Command]
getCollections(
before: String
after: String
first: Int
last: Int
): CollectionConnection
getSignedUrlForPackageUpload(
name: String!
version: String = "latest"
expiresAfterSeconds: Int = 60
): SignedUrl
search(
query: String!
curated: Boolean
orderBy: SearchOrderBy
sort: SearchOrderSort
kind: [SearchKind!]
publishDate: SearchPublishDate
hasBindings: Boolean
hasCommands: Boolean
isStandalone: Boolean
withInterfaces: [String!]
before: String
after: String
first: Int
last: Int
): SearchConnection!
searchAutocomplete(
kind: [SearchKind!]
query: String!
before: String
after: String
first: Int
last: Int
): SearchConnection!
getGlobalObject(slug: String!): GlobalObject
node(
"""
The ID of the object
"""
id: ID!
): Node
}
input ReadNotificationInput {
notificationId: ID!
clientMutationId: String
}
type ReadNotificationPayload {
notification: UserNotification
clientMutationId: String
}
type Refresh {
payload: GenericScalar!
refreshExpiresIn: Int!
token: String!
refreshToken: String!
}
input RegisterUserInput {
fullName: String!
email: String!
username: String!
password: String!
clientMutationId: String
}
type RegisterUserPayload {
token: String
clientMutationId: String
}
enum RegistryNamespaceMaintainerInviteRoleChoices {
"""
Admin
"""
ADMIN
"""
Editor
"""
EDITOR
"""
Viewer
"""
VIEWER
}
enum RegistryNamespaceMaintainerRoleChoices {
"""
Admin
"""
ADMIN
"""
Editor
"""
EDITOR
"""
Viewer
"""
VIEWER
}
enum RegistryPackageMaintainerInviteRoleChoices {
"""
Admin
"""
ADMIN
"""
Editor
"""
EDITOR
"""
Viewer
"""
VIEWER
}
enum RegistryPackageMaintainerRoleChoices {
"""
Admin
"""
ADMIN
"""
Editor
"""
EDITOR
"""
Viewer
"""
VIEWER
}
enum RegistryPackageVersionBindingsStateChoices {
"""
Bindings are not detected
"""
NOT_PRESENT
"""
Bindings are being built
"""
GENERATING
"""
Bindings generation has failed
"""
ERROR
"""
Bindings are built and present
"""
GENERATED_AND_PRESENT
}
enum RegistryPackageVersionNativeExecutablesStateChoices {
"""
Native Executables are not detected
"""
NOT_PRESENT
"""
Native Executables are being built
"""
GENERATING
"""
Native Executables generation has failed
"""
ERROR
"""
Native Executables are built and present
"""
GENERATED_AND_PRESENT
}
input RemoveNamespaceCollaboratorInput {
namespaceCollaboratorId: ID!
clientMutationId: String
}
input RemoveNamespaceCollaboratorInviteInput {
inviteId: ID!
clientMutationId: String
}
type RemoveNamespaceCollaboratorInvitePayload {
namespace: Namespace!
clientMutationId: String
}
type RemoveNamespaceCollaboratorPayload {
namespace: Namespace!
clientMutationId: String
}
input RemovePackageCollaboratorInput {
packageCollaboratorId: ID!
clientMutationId: String
}
input RemovePackageCollaboratorInviteInput {
inviteId: ID!
clientMutationId: String
}
type RemovePackageCollaboratorInvitePayload {
package: Package!
clientMutationId: String
}
type RemovePackageCollaboratorPayload {
package: Package!
clientMutationId: String
}
input RemovePackageTransferRequestInput {
packageTransferRequestId: ID!
clientMutationId: String
}
type RemovePackageTransferRequestPayload {
package: Package!
clientMutationId: String
}
input RequestPackageTransferInput {
packageId: ID!
newOwnerId: ID!
clientMutationId: String
}
type RequestPackageTransferPayload {
package: Package!
clientMutationId: String
}
input RequestPasswordResetInput {
email: String!
clientMutationId: String
}
type RequestPasswordResetPayload {
email: String!
errors: [ErrorType]
clientMutationId: String
}
input RequestValidationEmailInput {
"""
The user id
"""
userId: ID
clientMutationId: String
}
type RequestValidationEmailPayload {
user: User
success: Boolean!
clientMutationId: String
}
type Revoke {
revoked: Int!
}
input RevokeAPITokenInput {
"""
The API token ID
"""
tokenId: ID!
clientMutationId: String
}
type RevokeAPITokenPayload {
token: APIToken
success: Boolean
clientMutationId: String
}
type SearchConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [SearchEdge]!
}
"""
A Relay edge containing a `Search` and its cursor.
"""
type SearchEdge {
"""
The item at the end of the edge
"""
node: SearchResult
"""
A cursor for use in pagination
"""
cursor: String!
}
enum SearchKind {
PACKAGE
NAMESPACE
USER
}
enum SearchOrderBy {
ALPHABETICALLY
SIZE
TOTAL_DOWNLOADS
PUBLISHED_DATE
}
enum SearchOrderSort {
ASC
DESC
}
enum SearchPublishDate {
LAST_DAY
LAST_WEEK
LAST_MONTH
LAST_YEAR
}
union SearchResult = PackageVersion | User | Namespace
input SeePendingNotificationsInput {
clientMutationId: String
}
type SeePendingNotificationsPayload {
success: Boolean
clientMutationId: String
}
type Signature {
id: ID!
publicKey: PublicKey!
data: String!
createdAt: DateTime!
}
type SignedUrl {
url: String!
}
type SocialAuth implements Node {
"""
The ID of the object
"""
id: ID!
user: User!
provider: String!
uid: String!
extraData: String!
created: DateTime!
modified: DateTime!
}
input SocialAuthJWTInput {
provider: String!
accessToken: String!
clientMutationId: String
}
type SocialAuthJWTPayload {
social: SocialAuth
token: String
clientMutationId: String
}
type Subscription {
usageMetrics: [UsageMetric]!
packageVersionCreated(publishedBy: ID, ownerId: ID): PackageVersion!
userNotificationCreated(userId: ID!): UserNotificationCreated!
}
input UnlikePackageInput {
packageId: ID!
clientMutationId: String
}
type UnlikePackagePayload {
package: Package!
clientMutationId: String
}
input UnwatchPackageInput {
packageId: ID!
clientMutationId: String
}
type UnwatchPackagePayload {
package: Package!
clientMutationId: String
}
input UpdateNamespaceCollaboratorInviteRoleInput {
namespaceCollaboratorInviteId: ID!
role: GrapheneRole!
clientMutationId: String
}
type UpdateNamespaceCollaboratorInviteRolePayload {
collaboratorInvite: NamespaceCollaboratorInvite!
clientMutationId: String
}
input UpdateNamespaceCollaboratorRoleInput {
namespaceCollaboratorId: ID!
role: GrapheneRole!
clientMutationId: String
}
type UpdateNamespaceCollaboratorRolePayload {
collaborator: NamespaceCollaborator!
clientMutationId: String
}
input UpdateNamespaceInput {
namespaceId: ID!
"""
The namespace slug name
"""
name: String
"""
The namespace display name
"""
displayName: String
"""
The namespace description
"""
description: String
"""
The namespace avatar
"""
avatar: String
clientMutationId: String
}
type UpdateNamespacePayload {
namespace: Namespace!
clientMutationId: String
}
input UpdatePackageCollaboratorInviteRoleInput {
packageCollaboratorInviteId: ID!
role: GrapheneRole!
clientMutationId: String
}
type UpdatePackageCollaboratorInviteRolePayload {
collaboratorInvite: PackageCollaboratorInvite!
clientMutationId: String
}
input UpdatePackageCollaboratorRoleInput {
packageCollaboratorId: ID!
role: GrapheneRole!
clientMutationId: String
}
type UpdatePackageCollaboratorRolePayload {
collaborator: PackageCollaborator!
clientMutationId: String
}
input UpdatePackageInput {
packageId: ID!
"""
The package icon
"""
icon: String
clientMutationId: String
}
type UpdatePackagePayload {
package: Package!
clientMutationId: String
}
input UpdateUserInfoInput {
"""
The user id
"""
userId: ID
"""
The user full name
"""
fullName: String
"""
The user bio
"""
bio: String
"""
The user avatar
"""
avatar: String
"""
The user Twitter (it can be the url, or the handle with or without the @)
"""
twitter: String
"""
The user Github (it can be the url, or the handle with or without the @)
"""
github: String
"""
The user website (it must be a valid url)
"""
websiteUrl: String
"""
The user location
"""
location: String
clientMutationId: String
}
type UpdateUserInfoPayload {
user: User
clientMutationId: String
}
type UsageMetric {
metricType: String!
metricValue: String!
metricDatetime: DateTime!
}
type User implements Node & PackageOwner & Owner {
"""
Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
"""
username: String!
firstName: String!
lastName: String!
email: String!
dateJoined: DateTime!
isEmailValidated: Boolean!
bio: String
location: String
websiteUrl: String
"""
The ID of the object
"""
id: ID!
globalName: String!
avatar(size: Int = 80): String!
isViewer: Boolean!
hasUsablePassword: Boolean
fullName: String!
githubUrl: String
twitterUrl: String
publicActivity(
before: String
after: String
first: Int
last: Int
): ActivityEventConnection!
namespaces(
before: String
after: String
first: Int
last: Int
): NamespaceConnection!
packages(
collaborating: Boolean = false
before: String
after: String
first: Int
last: Int
): PackageConnection!
apps(
collaborating: Boolean = false
before: String
after: String
first: Int
last: Int
): AppConnection!
packageVersions(
before: String
after: String
first: Int
last: Int
): PackageVersionConnection!
packageTransfersIncoming(
before: String
after: String
first: Int
last: Int
): PackageTransferRequestConnection!
packageInvitesIncoming(
before: String
after: String
first: Int
last: Int
): PackageCollaboratorInviteConnection!
namespaceInvitesIncoming(
before: String
after: String
first: Int
last: Int
): NamespaceCollaboratorInviteConnection!
apiTokens(
before: String
after: String
first: Int
last: Int
): APITokenConnection!
notifications(
before: String
after: String
first: Int
last: Int
): UserNotificationConnection!
}
type UserConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [UserEdge]!
}
"""
A Relay edge containing a `User` and its cursor.
"""
type UserEdge {
"""
The item at the end of the edge
"""
node: User
"""
A cursor for use in pagination
"""
cursor: String!
}
type UserNotification implements Node {
"""
The ID of the object
"""
id: ID!
icon: String
body: UserNotificationBody!
seenState: UserNotificationSeenState!
kind: UserNotificationKind
createdAt: DateTime!
}
type UserNotificationBody {
text: String!
ranges: [NodeBodyRange]!
}
type UserNotificationConnection {
"""
Pagination data for this connection.
"""
pageInfo: PageInfo!
"""
Contains the nodes in this connection.
"""
edges: [UserNotificationEdge]!
hasPendingNotifications: Boolean!
}
type UserNotificationCreated {
notification: UserNotification
notificationDeletedId: ID
}
"""
A Relay edge containing a `UserNotification` and its cursor.
"""
type UserNotificationEdge {
"""
The item at the end of the edge
"""
node: UserNotification
"""
A cursor for use in pagination
"""
cursor: String!
}
union UserNotificationKind =
UserNotificationKindPublishedPackageVersion
| UserNotificationKindIncomingPackageTransfer
| UserNotificationKindIncomingPackageInvite
| UserNotificationKindIncomingNamespaceInvite
type UserNotificationKindIncomingNamespaceInvite {
namespaceInvite: NamespaceCollaboratorInvite!
}
type UserNotificationKindIncomingPackageInvite {
packageInvite: PackageCollaboratorInvite!
}
type UserNotificationKindIncomingPackageTransfer {
packageTransferRequest: PackageTransferRequest!
}
type UserNotificationKindPublishedPackageVersion {
packageVersion: PackageVersion!
}
enum UserNotificationSeenState {
UNSEEN
SEEN
SEEN_AND_READ
}
input ValidateUserEmailInput {
"""
The user id
"""
userId: ID
challenge: String!
clientMutationId: String
}
type ValidateUserEmailPayload {
user: User
clientMutationId: String
}
input ValidateUserPasswordInput {
password: String!
clientMutationId: String
}
type ValidateUserPasswordPayload {
success: Boolean
clientMutationId: String
}
type Verify {
payload: GenericScalar!
}
input WatchPackageInput {
packageId: ID!
clientMutationId: String
}
type WatchPackagePayload {
package: Package!
clientMutationId: String
}