{
"id": "dev.gitosphere.defs",
"defs": {
"page": {
"type": "object",
"required": [],
"properties": {
"nextCursor": {
"ref": "dev.gitosphere.defs#cursor",
"type": "ref"
}
},
"description": "Cursor for the next page; absent at the end."
},
"role": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"description": "Bounded Gitosphere membership role.",
"knownValues": [
"owner",
"admin",
"writer",
"reader"
]
},
"error": {
"type": "object",
"required": [
"error",
"requestId"
],
"properties": {
"error": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Stable machine-readable error code."
},
"details": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#validationDetail",
"type": "ref"
}
},
"message": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "Optional safe human-readable diagnostic."
},
"requestId": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Server-generated request identifier."
}
}
},
"cursor": {
"type": "string",
"maxLength": 4096,
"minLength": 1,
"description": "Opaque pagination cursor. Clients must not inspect or modify it."
},
"member": {
"type": "object",
"required": [
"realmId",
"organizationId",
"principalId",
"role",
"active",
"scopeKind",
"membershipAuthority",
"spaceMembershipManaged"
],
"properties": {
"role": {
"ref": "dev.gitosphere.defs#role",
"type": "ref"
},
"active": {
"type": "boolean"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"scopeKind": {
"enum": [
"organization",
"repository"
],
"type": "string"
},
"principalId": {
"ref": "dev.gitosphere.defs#principalId",
"type": "ref"
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
},
"membershipAuthority": {
"enum": [
"gitosphere"
],
"type": "string"
},
"spaceMembershipManaged": {
"type": "boolean"
}
}
},
"project": {
"type": "object",
"required": [
"realmId",
"organizationId",
"projectId",
"name",
"visibility",
"active"
],
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Project display name."
},
"active": {
"type": "boolean"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"projectId": {
"ref": "dev.gitosphere.defs#projectId",
"type": "ref"
},
"visibility": {
"ref": "dev.gitosphere.defs#projectVisibility",
"type": "ref"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
}
}
},
"realmId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Immutable Security Realm identifier."
},
"spaceId": {
"type": "string",
"format": "space-ref",
"description": "Permissioned Data Space reference."
},
"projectId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Immutable Project identifier."
},
"recordUri": {
"type": "string",
"format": "at-uri",
"description": "Authoritative PDS record URI."
},
"principalId": {
"type": "string",
"format": "did",
"description": "Authenticated principal DID."
},
"recordInput": {
"type": "object",
"required": [
"collection",
"value"
],
"properties": {
"value": {
"type": "unknown"
},
"collection": {
"type": "string",
"format": "nsid"
}
}
},
"accessTarget": {
"type": "object",
"required": [
"kind"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "Optional Git ref."
},
"kind": {
"enum": [
"organization",
"project",
"repository",
"space",
"record"
],
"type": "string"
},
"spaceId": {
"ref": "dev.gitosphere.defs#spaceId",
"type": "ref"
},
"projectId": {
"ref": "dev.gitosphere.defs#projectId",
"type": "ref"
},
"recordUri": {
"ref": "dev.gitosphere.defs#recordUri",
"type": "ref"
},
"collection": {
"type": "string",
"format": "nsid"
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
}
}
},
"organization": {
"type": "object",
"required": [
"realmId",
"organizationId",
"name",
"active"
],
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Organization display name."
},
"active": {
"type": "boolean"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
}
}
},
"repositoryId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Immutable managed repository identifier."
},
"spaceMapping": {
"type": "object",
"required": [
"realmId",
"organizationId",
"projectId",
"spaceId",
"active"
],
"properties": {
"active": {
"type": "boolean"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"spaceId": {
"ref": "dev.gitosphere.defs#spaceId",
"type": "ref"
},
"projectId": {
"ref": "dev.gitosphere.defs#projectId",
"type": "ref"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
}
}
},
"accessDecision": {
"type": "object",
"required": [
"allowed",
"decisionId",
"reason",
"policyVersion"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Bounded secret-free decision reason."
},
"allowed": {
"type": "boolean"
},
"decisionId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Secret-free identifier shared with the authorization audit event."
},
"policyVersion": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Durable authorization version used for the decision."
}
}
},
"idempotencyKey": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Caller-selected key identifying one create attempt."
},
"organizationId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Immutable Organization identifier."
},
"appViewResource": {
"type": "object",
"required": [
"realmId",
"organizationId",
"projectId",
"spaceId",
"uri",
"collection",
"value"
],
"properties": {
"uri": {
"ref": "dev.gitosphere.defs#recordUri",
"type": "ref"
},
"value": {
"type": "unknown"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"spaceId": {
"ref": "dev.gitosphere.defs#spaceId",
"type": "ref"
},
"projectId": {
"ref": "dev.gitosphere.defs#projectId",
"type": "ref"
},
"collection": {
"type": "string",
"format": "nsid"
},
"organizationId": {
"ref": "dev.gitosphere.defs#organizationId",
"type": "ref"
},
"observedRevision": {
"type": "string",
"maxLength": 256,
"minLength": 1,
"description": "Observed PDS revision."
}
}
},
"pullRequestView": {
"type": "object",
"required": [
"pullRequestId",
"repositoryId",
"number",
"title",
"author",
"state",
"baseRef",
"headRef",
"creationBaseCommit",
"baseAvailable",
"headAvailable",
"currentRound",
"rounds",
"createdAt",
"updatedAt"
],
"properties": {
"body": {
"type": "string",
"maxLength": 100000,
"maxGraphemes": 10000
},
"state": {
"ref": "dev.gitosphere.defs#pullRequestState",
"type": "ref"
},
"title": {
"type": "string",
"maxLength": 2560,
"minLength": 1,
"maxGraphemes": 256
},
"author": {
"type": "string",
"format": "did"
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"rounds": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#pullRequestRound",
"type": "ref"
},
"maxLength": 1000
},
"baseRef": {
"type": "string",
"maxLength": 1024,
"minLength": 12
},
"headRef": {
"type": "string",
"maxLength": 1024,
"minLength": 12
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"currentRound": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"baseAvailable": {
"type": "boolean"
},
"headAvailable": {
"type": "boolean"
},
"pullRequestId": {
"type": "string",
"maxLength": 36,
"minLength": 36
},
"currentBaseCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"currentHeadCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"creationBaseCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
}
}
},
"pullRequestRound": {
"type": "object",
"required": [
"round",
"baseCommit",
"headCommit",
"createdAt"
],
"properties": {
"round": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"baseCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"headCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
}
}
},
"pullRequestState": {
"type": "string",
"knownValues": [
"open",
"closed",
"merged"
]
},
"validationDetail": {
"type": "object",
"required": [
"location",
"path",
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Stable machine-readable validation code."
},
"path": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "JSON Pointer for a body value, or a query/header field name."
},
"message": {
"type": "string",
"maxLength": 1024,
"minLength": 1,
"description": "Optional human-readable diagnostic."
},
"location": {
"enum": [
"query",
"body",
"header"
],
"type": "string"
}
}
},
"idempotencyResult": {
"type": "object",
"required": [
"replayed"
],
"properties": {
"replayed": {
"type": "boolean"
}
}
},
"projectVisibility": {
"enum": [
"private",
"internal",
"public"
],
"type": "string",
"description": "Gitosphere-owned Project read visibility."
},
"repositoryIssueView": {
"type": "object",
"required": [
"repositoryId",
"issueId",
"number",
"uri",
"cid",
"title",
"createdAt",
"state",
"children",
"related",
"blocking",
"blockedBy",
"openBlockerCount",
"relationRevision"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"body": {
"type": "string",
"maxLength": 1000000
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"number": {
"type": "integer",
"minimum": 1
},
"parent": {
"ref": "dev.gitosphere.defs#repositoryIssueReference",
"type": "ref"
},
"issueId": {
"type": "string",
"maxLength": 36,
"minLength": 36
},
"related": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#repositoryIssueReference",
"type": "ref"
},
"maxLength": 100
},
"blocking": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#repositoryIssueReference",
"type": "ref"
},
"maxLength": 100
},
"children": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#repositoryIssueReference",
"type": "ref"
},
"maxLength": 100
},
"revision": {
"type": "string"
},
"stateUri": {
"type": "string",
"maxLength": 2048,
"minLength": 1
},
"blockedBy": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#repositoryIssueReference",
"type": "ref"
},
"maxLength": 100
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"mutationUri": {
"type": "string",
"format": "at-uri"
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"openBlockerCount": {
"type": "integer",
"maximum": 100,
"minimum": 0
},
"relationRevision": {
"type": "string",
"maxLength": 64,
"minLength": 64
}
}
},
"publicRepositoryView": {
"type": "object",
"required": [
"authority",
"realmId",
"repositoryId",
"name",
"owner",
"ownerName",
"gitUrl",
"publisher",
"visibility",
"createdAt",
"recordUri",
"recordCid"
],
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"owner": {
"ref": "dev.gitosphere.repository#owner",
"type": "ref"
},
"gitUrl": {
"type": "string",
"format": "uri"
},
"realmId": {
"ref": "dev.gitosphere.defs#realmId",
"type": "ref"
},
"authority": {
"type": "string",
"format": "did"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"ownerName": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"publisher": {
"type": "string",
"format": "did"
},
"recordCid": {
"type": "string",
"format": "cid"
},
"recordUri": {
"type": "string",
"format": "at-uri"
},
"visibility": {
"enum": [
"public"
],
"type": "string"
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
}
}
},
"verificationEvidence": {
"type": "object",
"required": [
"command",
"result",
"environment"
],
"properties": {
"result": {
"enum": [
"passed",
"failed"
],
"type": "string"
},
"command": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"environment": {
"type": "string",
"maxLength": 1024,
"minLength": 1
}
}
},
"pullRequestReviewView": {
"type": "object",
"required": [
"uri",
"cid",
"repositoryId",
"pullRequestId",
"number",
"round",
"baseCommit",
"headCommit",
"reviewer",
"decision",
"verification",
"unverified",
"outdated",
"qualifying",
"createdAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"body": {
"type": "string",
"maxLength": 100000
},
"round": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"decision": {
"enum": [
"comment",
"approve",
"request_changes"
],
"type": "string"
},
"outdated": {
"type": "boolean"
},
"reviewer": {
"type": "string",
"format": "did"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"baseCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"headCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"qualifying": {
"type": "boolean"
},
"unverified": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"maxLength": 100
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"verification": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#verificationEvidence",
"type": "ref"
},
"maxLength": 100
},
"pullRequestId": {
"type": "string",
"maxLength": 36,
"minLength": 36
}
}
},
"pullRequestCommentView": {
"type": "object",
"required": [
"uri",
"cid",
"repositoryId",
"pullRequestId",
"number",
"round",
"baseCommit",
"headCommit",
"author",
"body",
"blocking",
"outdated",
"createdAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"body": {
"type": "string",
"maxLength": 100000,
"minLength": 1
},
"line": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1
},
"path": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"side": {
"enum": [
"base",
"head"
],
"type": "string"
},
"round": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"author": {
"type": "string",
"format": "did"
},
"number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"blocking": {
"type": "boolean"
},
"category": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"outdated": {
"type": "boolean"
},
"severity": {
"enum": [
"info",
"low",
"medium",
"high",
"critical"
],
"type": "string"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"startLine": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1
},
"baseCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"headCommit": {
"type": "string",
"maxLength": 64,
"minLength": 40
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"pullRequestId": {
"type": "string",
"maxLength": 36,
"minLength": 36
}
}
},
"pullRequestReviewStatus": {
"type": "object",
"required": [
"repositoryId",
"pullRequestId",
"number",
"currentRound",
"reviewDecision",
"requiredApprovals",
"currentApprovals",
"unresolvedBlockingFindings",
"outdatedApprovals",
"verification",
"unverified",
"mergeable",
"blockingReasons"
],
"properties": {
"number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"mergeable": {
"type": "boolean"
},
"unverified": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128,
"minLength": 1
},
"maxLength": 1000
},
"currentRound": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"repositoryId": {
"ref": "dev.gitosphere.defs#repositoryId",
"type": "ref"
},
"verification": {
"type": "array",
"items": {
"ref": "dev.gitosphere.defs#verificationEvidence",
"type": "ref"
},
"maxLength": 1000
},
"pullRequestId": {
"type": "string",
"maxLength": 36,
"minLength": 36
},
"reviewDecision": {
"enum": [
"approved",
"changes_requested",
"review_required",
"blocked"
],
"type": "string"
},
"blockingReasons": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"maxLength": 16
},
"currentApprovals": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"outdatedApprovals": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"requiredApprovals": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"unresolvedBlockingFindings": {
"type": "integer",
"maximum": 10000,
"minimum": 0
}
}
},
"repositoryIssueReference": {
"type": "object",
"required": [
"issueId",
"number",
"uri",
"title",
"state"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"state": {
"enum": [
"open",
"closed"
],
"type": "string"
},
"title": {
"type": "string",
"maxLength": 512,
"minLength": 1
},
"number": {
"type": "integer",
"minimum": 1
},
"issueId": {
"type": "string",
"maxLength": 36,
"minLength": 36
}
}
},
"repositoryIssueRelationMutation": {
"type": "object",
"required": [
"uri",
"status",
"reason",
"revision"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"reason": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"status": {
"enum": [
"applied",
"rejected"
],
"type": "string"
},
"revision": {
"type": "string",
"maxLength": 64,
"minLength": 64
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "Shared public Gitosphere XRPC wire definitions."
}