Skip to content

Instantly share code, notes, and snippets.

@camlspotter
Created July 12, 2023 02:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save camlspotter/9bd16821a6223ef1c3084b809f9cc0a9 to your computer and use it in GitHub Desktop.
Save camlspotter/9bd16821a6223ef1c3084b809f9cc0a9 to your computer and use it in GitHub Desktop.
BlueSky Lexicon type defs in OCaml
type unknown
type blob
type cid_link
type 'a nullable = 'a option
type actor_adultContentPref = {
enabled: bool }
type actor_contentLabelPref = {
label: string ;
visibility: string }
type at_uri = string
type actor_savedFeedsPref = {
pinned: at_uri list ;
saved: at_uri list }
type actor_preferences_item =
| AdultContentPref of actor_adultContentPref
| ContentLabelPref of actor_contentLabelPref
| SavedFeedsPref of actor_savedFeedsPref
type actor_preferences = actor_preferences_item list
type handle = string
type did = string
type datetime = string
type uri = string
type cid = string
type label_label =
{
src: did ;
uri: uri ;
cid: cid option ;
val_: string ;
neg: bool option ;
cts: datetime }
type graph_listViewerState = {
muted: bool option }
type graph_listPurpose = string
type graph_listViewBasic =
{
uri: at_uri ;
cid: cid ;
name: string ;
purpose: graph_listPurpose ;
avatar: string option ;
viewer: graph_listViewerState option ;
indexedAt: datetime option }
type actor_viewerState =
{
muted: bool option ;
mutedByList: graph_listViewBasic option ;
blockedBy: bool option ;
blocking: at_uri option ;
following: at_uri option ;
followedBy: at_uri option }
type actor_profileView =
{
did: did ;
handle: handle ;
displayName: string option ;
description: string option ;
avatar: string option ;
indexedAt: datetime option ;
viewer: actor_viewerState option ;
labels: label_label list option }
type actor_profileViewBasic =
{
did: did ;
handle: handle ;
displayName: string option ;
avatar: string option ;
viewer: actor_viewerState option ;
labels: label_label list option }
type actor_profileViewDetailed =
{
did: did ;
handle: handle ;
displayName: string option ;
description: string option ;
avatar: string option ;
banner: string option ;
followersCount: int64 option ;
followsCount: int64 option ;
postsCount: int64 option ;
indexedAt: datetime option ;
viewer: actor_viewerState option ;
labels: label_label list option }
type actor_getPreferences_output = {
preferences: actor_preferences }
type actor_getPreferences_parameters = unit
type actor_getProfile_output = actor_profileViewDetailed
type at_identifier = string
type actor_getProfile_parameters = {
actor: at_identifier }
type actor_getProfiles_output = {
profiles: actor_profileViewDetailed list }
type actor_getProfiles_parameters = {
actors: at_identifier list }
type actor_getSuggestions_output =
{
cursor: string option ;
actors: actor_profileView list }
type actor_getSuggestions_parameters =
{
limit: int64 option ;
cursor: string option }
type actor_profile =
{
displayName: string option ;
description: string option ;
avatar: blob option ;
banner: blob option }
type actor_putPreferences_input = {
preferences: actor_preferences }
type actor_searchActors_output =
{
cursor: string option ;
actors: actor_profileView list }
type actor_searchActors_parameters =
{
term: string option ;
limit: int64 option ;
cursor: string option }
type actor_searchActorsTypeahead_output =
{
actors: actor_profileViewBasic list }
type actor_searchActorsTypeahead_parameters =
{
term: string option ;
limit: int64 option }
type embed_external_external =
{
uri: uri ;
title: string ;
description: string ;
thumb: blob option }
type embed_external = {
external_: embed_external_external }
type embed_external_viewExternal =
{
uri: uri ;
title: string ;
description: string ;
thumb: string option }
type embed_external_view = {
external_: embed_external_viewExternal }
type embed_images_image = {
image: blob ;
alt: string }
type embed_images = {
images: embed_images_image list }
type embed_images_viewImage = {
thumb: string ;
fullsize: string ;
alt: string }
type embed_images_view = {
images: embed_images_viewImage list }
type repo_strongRef = {
uri: at_uri ;
cid: cid }
type embed_record = {
record: repo_strongRef }
type richtext_facet_mention = {
did: did }
type richtext_facet_link = {
uri: uri }
type richtext_facet_features_item =
| Mention of richtext_facet_mention
| Link of richtext_facet_link
type richtext_facet_byteSlice = {
byteStart: int64 ;
byteEnd: int64 }
type richtext_facet =
{
index: richtext_facet_byteSlice ;
features: richtext_facet_features_item list }
type graph_listView =
{
uri: at_uri ;
cid: cid ;
creator: actor_profileView ;
name: string ;
purpose: graph_listPurpose ;
description: string option ;
descriptionFacets: richtext_facet list option ;
avatar: string option ;
viewer: graph_listViewerState option ;
indexedAt: datetime }
type feed_generatorViewerState = {
like: at_uri option }
type feed_generatorView =
{
uri: at_uri ;
cid: cid ;
did: did ;
creator: actor_profileView ;
displayName: string ;
description: string option ;
descriptionFacets: richtext_facet list option ;
avatar: string option ;
likeCount: int64 option ;
viewer: feed_generatorViewerState option ;
indexedAt: datetime }
type embed_recordWithMedia_view_media =
| Images of embed_images_view
| External of embed_external_view
type embed_record_viewNotFound = {
uri: at_uri }
type embed_record_viewBlocked = {
uri: at_uri }
type embed_recordWithMedia_view =
{
record: embed_record_view ;
media: embed_recordWithMedia_view_media }
and embed_record_viewRecord_embeds_item =
| Images of embed_images_view
| External of embed_external_view
| Record of embed_record_view
| RecordWithMedia of embed_recordWithMedia_view
and embed_record_viewRecord =
{
uri: at_uri ;
cid: cid ;
author: actor_profileViewBasic ;
value: unknown ;
labels: label_label list option ;
embeds: embed_record_viewRecord_embeds_item list option ;
indexedAt: datetime }
and embed_record_view_record =
| ViewRecord of embed_record_viewRecord
| ViewNotFound of embed_record_viewNotFound
| ViewBlocked of embed_record_viewBlocked
| GeneratorView of feed_generatorView
| ListView of graph_listView
and embed_record_view = {
record: embed_record_view_record }
type embed_recordWithMedia_media =
| Images of embed_images
| External of embed_external
type embed_recordWithMedia =
{
record: embed_record ;
media: embed_recordWithMedia_media }
type feed_blockedPost = {
uri: at_uri ;
blocked: bool }
type feed_viewerState = {
repost: at_uri option ;
like: at_uri option }
type feed_postView_embed =
| Images of embed_images_view
| External of embed_external_view
| Record of embed_record_view
| RecordWithMedia of embed_recordWithMedia_view
type feed_postView =
{
uri: at_uri ;
cid: cid ;
author: actor_profileViewBasic ;
record: unknown ;
embed: feed_postView_embed option ;
replyCount: int64 option ;
repostCount: int64 option ;
likeCount: int64 option ;
indexedAt: datetime ;
viewer: feed_viewerState option ;
labels: label_label list option }
type feed_notFoundPost = {
uri: at_uri ;
notFound: bool }
type feed_replyRef_root =
| PostView of feed_postView
| NotFoundPost of feed_notFoundPost
| BlockedPost of feed_blockedPost
type feed_replyRef_parent =
| PostView of feed_postView
| NotFoundPost of feed_notFoundPost
| BlockedPost of feed_blockedPost
type feed_replyRef =
{
root: feed_replyRef_root ;
parent: feed_replyRef_parent }
type feed_reasonRepost = {
by: actor_profileViewBasic ;
indexedAt: datetime }
type feed_feedViewPost_reason =
| Feed of feed_reasonRepost
type feed_feedViewPost =
{
post: feed_postView ;
reply: feed_replyRef option ;
reason: feed_feedViewPost_reason option }
type feed_skeletonReasonRepost = {
repost: at_uri }
type feed_skeletonFeedPost_reason =
| Feed of feed_skeletonReasonRepost
type feed_skeletonFeedPost =
{
post: at_uri ;
reason: feed_skeletonFeedPost_reason option }
type feed_threadViewPost_replies_item =
| ThreadViewPost of feed_threadViewPost
| NotFoundPost of feed_notFoundPost
| BlockedPost of feed_blockedPost
and feed_threadViewPost_parent =
| ThreadViewPost of feed_threadViewPost
| NotFoundPost of feed_notFoundPost
| BlockedPost of feed_blockedPost
and feed_threadViewPost =
{
post: feed_postView ;
parent: feed_threadViewPost_parent option ;
replies: feed_threadViewPost_replies_item list option }
type feed_describeFeedGenerator_feed = {
uri: at_uri }
type feed_describeFeedGenerator_links =
{
privacyPolicy: string option ;
termsOfService: string option }
type feed_describeFeedGenerator_output =
{
did: did ;
feeds: feed_describeFeedGenerator_feed list ;
links: feed_describeFeedGenerator_links option }
type feed_generator =
{
did: did ;
displayName: string ;
description: string option ;
descriptionFacets: richtext_facet list option ;
avatar: blob option ;
createdAt: datetime }
type feed_getActorFeeds_output =
{
cursor: string option ;
feeds: feed_generatorView list }
type feed_getActorFeeds_parameters =
{
actor: at_identifier ;
limit: int64 option ;
cursor: string option }
type feed_getAuthorFeed_output =
{
cursor: string option ;
feed: feed_feedViewPost list }
type feed_getAuthorFeed_parameters =
{
actor: at_identifier ;
limit: int64 option ;
cursor: string option }
type feed_getFeed_output =
{
cursor: string option ;
feed: feed_feedViewPost list }
type feed_getFeed_parameters =
{
feed: at_uri ;
limit: int64 option ;
cursor: string option }
type feed_getFeedGenerator_output =
{
view: feed_generatorView ;
isOnline: bool ;
isValid: bool }
type feed_getFeedGenerator_parameters = {
feed: at_uri }
type feed_getFeedGenerators_output = {
feeds: feed_generatorView list }
type feed_getFeedGenerators_parameters = {
feeds: at_uri list }
type feed_getFeedSkeleton_output =
{
cursor: string option ;
feed: feed_skeletonFeedPost list }
type feed_getFeedSkeleton_parameters =
{
feed: at_uri ;
limit: int64 option ;
cursor: string option }
type feed_getLikes_like =
{
indexedAt: datetime ;
createdAt: datetime ;
actor: actor_profileView }
type feed_getLikes_output =
{
uri: at_uri ;
cid: cid option ;
cursor: string option ;
likes: feed_getLikes_like list }
type feed_getLikes_parameters =
{
uri: at_uri ;
cid: cid option ;
limit: int64 option ;
cursor: string option }
type feed_getPostThread_output_thread =
| ThreadViewPost of feed_threadViewPost
| NotFoundPost of feed_notFoundPost
| BlockedPost of feed_blockedPost
type feed_getPostThread_output = {
thread: feed_getPostThread_output_thread }
type feed_getPostThread_parameters =
{
uri: at_uri ;
depth: int64 option ;
parentHeight: int64 option }
type feed_getPosts_output = {
posts: feed_postView list }
type feed_getPosts_parameters = {
uris: at_uri list }
type feed_getRepostedBy_output =
{
uri: at_uri ;
cid: cid option ;
cursor: string option ;
repostedBy: actor_profileView list }
type feed_getRepostedBy_parameters =
{
uri: at_uri ;
cid: cid option ;
limit: int64 option ;
cursor: string option }
type feed_getTimeline_output =
{
cursor: string option ;
feed: feed_feedViewPost list }
type feed_getTimeline_parameters =
{
algorithm: string option ;
limit: int64 option ;
cursor: string option }
type feed_like = {
subject: repo_strongRef ;
createdAt: datetime }
type feed_post_textSlice = {
start: int64 ;
end_: int64 }
type feed_post_entity =
{
index: feed_post_textSlice ;
type_: string ;
value: string }
type language = string
type feed_post_replyRef = {
root: repo_strongRef ;
parent: repo_strongRef }
type feed_post_embed =
| Images of embed_images
| External of embed_external
| Record of embed_record
| RecordWithMedia of embed_recordWithMedia
type feed_post =
{
text: string ;
entities: feed_post_entity list option ;
facets: richtext_facet list option ;
reply: feed_post_replyRef option ;
embed: feed_post_embed option ;
langs: language list option ;
createdAt: datetime }
type feed_repost = {
subject: repo_strongRef ;
createdAt: datetime }
type graph_block = {
subject: did ;
createdAt: datetime }
type graph_listItemView = {
subject: actor_profileView }
type graph_modlist = string
type graph_follow = {
subject: did ;
createdAt: datetime }
type graph_getBlocks_output =
{
cursor: string option ;
blocks: actor_profileView list }
type graph_getBlocks_parameters =
{
limit: int64 option ;
cursor: string option }
type graph_getFollowers_output =
{
subject: actor_profileView ;
cursor: string option ;
followers: actor_profileView list }
type graph_getFollowers_parameters =
{
actor: at_identifier ;
limit: int64 option ;
cursor: string option }
type graph_getFollows_output =
{
subject: actor_profileView ;
cursor: string option ;
follows: actor_profileView list }
type graph_getFollows_parameters =
{
actor: at_identifier ;
limit: int64 option ;
cursor: string option }
type graph_getList_output =
{
cursor: string option ;
list: graph_listView ;
items: graph_listItemView list }
type graph_getList_parameters =
{
list: at_uri ;
limit: int64 option ;
cursor: string option }
type graph_getListMutes_output =
{
cursor: string option ;
lists: graph_listView list }
type graph_getListMutes_parameters =
{
limit: int64 option ;
cursor: string option }
type graph_getLists_output =
{
cursor: string option ;
lists: graph_listView list }
type graph_getLists_parameters =
{
actor: at_identifier ;
limit: int64 option ;
cursor: string option }
type graph_getMutes_output =
{
cursor: string option ;
mutes: actor_profileView list }
type graph_getMutes_parameters =
{
limit: int64 option ;
cursor: string option }
type graph_list =
{
purpose: graph_listPurpose ;
name: string ;
description: string option ;
descriptionFacets: richtext_facet list option ;
avatar: blob option ;
createdAt: datetime }
type graph_listitem = {
subject: did ;
list: at_uri ;
createdAt: datetime }
type graph_muteActor_input = {
actor: at_identifier }
type graph_muteActorList_input = {
list: at_uri }
type graph_unmuteActor_input = {
actor: at_identifier }
type graph_unmuteActorList_input = {
list: at_uri }
type notification_getUnreadCount_output = {
count: int64 }
type notification_getUnreadCount_parameters = {
seenAt: datetime option }
type notification_listNotifications_notification =
{
uri: at_uri ;
cid: cid ;
author: actor_profileView ;
reason: string ;
reasonSubject: at_uri option ;
record: unknown ;
isRead: bool ;
indexedAt: datetime ;
labels: label_label list option }
type notification_listNotifications_output =
{
cursor: string option ;
notifications: notification_listNotifications_notification list }
type notification_listNotifications_parameters =
{
limit: int64 option ;
cursor: string option ;
seenAt: datetime option }
type notification_updateSeen_input = {
seenAt: datetime }
type unspecced_getPopular_output =
{
cursor: string option ;
feed: feed_feedViewPost list }
type unspecced_getPopular_parameters =
{
includeNsfw: bool option ;
limit: int64 option ;
cursor: string option }
type unspecced_getPopularFeedGenerators_output =
{
feeds: feed_generatorView list }
type unspecced_getTimelineSkeleton_output =
{
cursor: string option ;
feed: feed_skeletonFeedPost list }
type unspecced_getTimelineSkeleton_parameters =
{
limit: int64 option ;
cursor: string option }
type admin_acknowledge = string
type admin_actionReversal =
{
reason: string ;
createdBy: did ;
createdAt: datetime }
type admin_actionType = string
type admin_repoRef = {
did: did }
type admin_actionView_subject =
| RepoRef of admin_repoRef
| StrongRef of repo_strongRef
type admin_actionView =
{
id: int64 ;
action: admin_actionType ;
subject: admin_actionView_subject ;
subjectBlobCids: string list ;
createLabelVals: string list option ;
negateLabelVals: string list option ;
reason: string ;
createdBy: did ;
createdAt: datetime ;
reversal: admin_actionReversal option ;
resolvedReportIds: int64 list }
type admin_actionViewCurrent = {
id: int64 ;
action: admin_actionType }
type moderation_reasonType = string
type admin_reportView_subject =
| RepoRef of admin_repoRef
| StrongRef of repo_strongRef
type admin_reportView =
{
id: int64 ;
reasonType: moderation_reasonType ;
reason: string option ;
subjectRepoHandle: string option ;
subject: admin_reportView_subject ;
reportedBy: did ;
createdAt: datetime ;
resolvedByActionIds: int64 list }
type admin_moderation = {
currentAction: admin_actionViewCurrent option }
type admin_videoDetails = {
width: int64 ;
height: int64 ;
length: int64 }
type admin_imageDetails = {
width: int64 ;
height: int64 }
type admin_blobView_details =
| ImageDetails of admin_imageDetails
| VideoDetails of admin_videoDetails
type admin_blobView =
{
cid: cid ;
mimeType: string ;
size: int64 ;
createdAt: datetime ;
details: admin_blobView_details option ;
moderation: admin_moderation option }
type admin_repoViewNotFound = {
did: did }
type server_inviteCodeUse = {
usedBy: did ;
usedAt: datetime }
type server_inviteCode =
{
code: string ;
available: int64 ;
disabled: bool ;
forAccount: string ;
createdBy: string ;
createdAt: datetime ;
uses: server_inviteCodeUse list }
type admin_repoView =
{
did: did ;
handle: handle ;
email: string option ;
relatedRecords: unknown list ;
indexedAt: datetime ;
moderation: admin_moderation ;
invitedBy: server_inviteCode option ;
invitesDisabled: bool option }
type admin_recordViewNotFound = {
uri: at_uri }
type admin_recordView =
{
uri: at_uri ;
cid: cid ;
value: unknown ;
blobCids: cid list ;
indexedAt: datetime ;
moderation: admin_moderation ;
repo: admin_repoView }
type admin_actionViewDetail_subject =
| RepoView of admin_repoView
| RepoViewNotFound of admin_repoViewNotFound
| RecordView of admin_recordView
| RecordViewNotFound of admin_recordViewNotFound
type admin_actionViewDetail =
{
id: int64 ;
action: admin_actionType ;
subject: admin_actionViewDetail_subject ;
subjectBlobs: admin_blobView list ;
createLabelVals: string list option ;
negateLabelVals: string list option ;
reason: string ;
createdBy: did ;
createdAt: datetime ;
reversal: admin_actionReversal option ;
resolvedReports: admin_reportView list }
type admin_escalate = string
type admin_flag = string
type admin_moderationDetail =
{
currentAction: admin_actionViewCurrent option ;
actions: admin_actionView list ;
reports: admin_reportView list }
type admin_recordViewDetail =
{
uri: at_uri ;
cid: cid ;
value: unknown ;
blobs: admin_blobView list ;
labels: label_label list option ;
indexedAt: datetime ;
moderation: admin_moderationDetail ;
repo: admin_repoView }
type admin_repoViewDetail =
{
did: did ;
handle: handle ;
email: string option ;
relatedRecords: unknown list ;
indexedAt: datetime ;
moderation: admin_moderationDetail ;
labels: label_label list option ;
invitedBy: server_inviteCode option ;
invites: server_inviteCode list option ;
invitesDisabled: bool option }
type admin_reportViewDetail_subject =
| RepoView of admin_repoView
| RepoViewNotFound of admin_repoViewNotFound
| RecordView of admin_recordView
| RecordViewNotFound of admin_recordViewNotFound
type admin_reportViewDetail =
{
id: int64 ;
reasonType: moderation_reasonType ;
reason: string option ;
subject: admin_reportViewDetail_subject ;
reportedBy: did ;
createdAt: datetime ;
resolvedByActions: admin_actionView list }
type admin_takedown = string
type admin_disableAccountInvites_input = {
account: did }
type admin_disableInviteCodes_input =
{
codes: string list option ;
accounts: string list option }
type admin_enableAccountInvites_input = {
account: did }
type admin_getInviteCodes_output =
{
cursor: string option ;
codes: server_inviteCode list }
type admin_getInviteCodes_parameters =
{
sort: string option ;
limit: int64 option ;
cursor: string option }
type admin_getModerationAction_output = admin_actionViewDetail
type admin_getModerationAction_parameters = {
id: int64 }
type admin_getModerationActions_output =
{
cursor: string option ;
actions: admin_actionView list }
type admin_getModerationActions_parameters =
{
subject: string option ;
limit: int64 option ;
cursor: string option }
type admin_getModerationReport_output = admin_reportViewDetail
type admin_getModerationReport_parameters = {
id: int64 }
type admin_getModerationReports_output =
{
cursor: string option ;
reports: admin_reportView list }
type admin_getModerationReports_parameters =
{
subject: string option ;
ignoreSubjects: string list option ;
reporters: string list option ;
resolved: bool option ;
actionType: string option ;
limit: int64 option ;
cursor: string option ;
reverse: bool option }
type admin_getRecord_output = admin_recordViewDetail
type admin_getRecord_parameters = {
uri: at_uri ;
cid: cid option }
type admin_getRepo_output = admin_repoViewDetail
type admin_getRepo_parameters = {
did: did }
type admin_rebaseRepo_input = {
repo: at_identifier ;
swapCommit: cid option }
type admin_resolveModerationReports_input =
{
actionId: int64 ;
reportIds: int64 list ;
createdBy: did }
type admin_resolveModerationReports_output = admin_actionView
type admin_reverseModerationAction_input =
{
id: int64 ;
reason: string ;
createdBy: did }
type admin_reverseModerationAction_output = admin_actionView
type admin_searchRepos_output =
{
cursor: string option ;
repos: admin_repoView list }
type admin_searchRepos_parameters =
{
term: string option ;
invitedBy: string option ;
limit: int64 option ;
cursor: string option }
type admin_takeModerationAction_input_subject =
| RepoRef of admin_repoRef
| StrongRef of repo_strongRef
type admin_takeModerationAction_input =
{
action: string ;
subject: admin_takeModerationAction_input_subject ;
subjectBlobCids: cid list option ;
createLabelVals: string list option ;
negateLabelVals: string list option ;
reason: string ;
createdBy: did }
type admin_takeModerationAction_output = admin_actionView
type admin_updateAccountEmail_input =
{
account: at_identifier ;
email: string }
type admin_updateAccountHandle_input = {
did: did ;
handle: handle }
type identity_resolveHandle_output = {
did: did }
type identity_resolveHandle_parameters = {
handle: handle }
type identity_updateHandle_input = {
handle: handle }
type label_queryLabels_output =
{
cursor: string option ;
labels: label_label list }
type label_queryLabels_parameters =
{
uriPatterns: string list ;
sources: did list option ;
limit: int64 option ;
cursor: string option }
type label_subscribeLabels_info = {
name: string ;
message: string option }
type label_subscribeLabels_labels = {
seq: int64 ;
labels: label_label list }
type label_subscribeLabels_message =
| Labels of label_subscribeLabels_labels
| Info of label_subscribeLabels_info
type label_subscribeLabels_parameters = {
cursor: int64 option }
type moderation_createReport_input_subject =
| RepoRef of admin_repoRef
| StrongRef of repo_strongRef
type moderation_createReport_input =
{
reasonType: moderation_reasonType ;
reason: string option ;
subject: moderation_createReport_input_subject }
type moderation_createReport_output_subject =
| RepoRef of admin_repoRef
| StrongRef of repo_strongRef
type moderation_createReport_output =
{
id: int64 ;
reasonType: moderation_reasonType ;
reason: string option ;
subject: moderation_createReport_output_subject ;
reportedBy: did ;
createdAt: datetime }
type moderation_reasonMisleading = string
type moderation_reasonOther = string
type moderation_reasonRude = string
type moderation_reasonSexual = string
type moderation_reasonSpam = string
type moderation_reasonViolation = string
type nsid = string
type repo_applyWrites_create =
{
collection: nsid ;
rkey: string option ;
value: unknown }
type repo_applyWrites_delete = {
collection: nsid ;
rkey: string }
type repo_applyWrites_update =
{
collection: nsid ;
rkey: string ;
value: unknown }
type repo_applyWrites_input_writes_item =
| Create of repo_applyWrites_create
| Update of repo_applyWrites_update
| Delete of repo_applyWrites_delete
type repo_applyWrites_input =
{
repo: at_identifier ;
validate: bool option ;
writes: repo_applyWrites_input_writes_item list ;
swapCommit: cid option }
type repo_createRecord_input =
{
repo: at_identifier ;
collection: nsid ;
rkey: string option ;
validate: bool option ;
record: unknown ;
swapCommit: cid option }
type repo_createRecord_output = {
uri: at_uri ;
cid: cid }
type repo_deleteRecord_input =
{
repo: at_identifier ;
collection: nsid ;
rkey: string ;
swapRecord: cid option ;
swapCommit: cid option }
type repo_describeRepo_output =
{
handle: handle ;
did: did ;
didDoc: unknown ;
collections: nsid list ;
handleIsCorrect: bool }
type repo_describeRepo_parameters = {
repo: at_identifier }
type repo_getRecord_output = {
uri: at_uri ;
cid: cid option ;
value: unknown }
type repo_getRecord_parameters =
{
repo: at_identifier ;
collection: nsid ;
rkey: string ;
cid: cid option }
type repo_listRecords_record = {
uri: at_uri ;
cid: cid ;
value: unknown }
type repo_listRecords_output =
{
cursor: string option ;
records: repo_listRecords_record list }
type repo_listRecords_parameters =
{
repo: at_identifier ;
collection: nsid ;
limit: int64 option ;
cursor: string option ;
rkeyStart: string option ;
rkeyEnd: string option ;
reverse: bool option }
type repo_putRecord_input =
{
repo: at_identifier ;
collection: nsid ;
rkey: string ;
validate: bool option ;
record: unknown ;
swapRecord: cid option ;
swapCommit: cid option }
type repo_putRecord_output = {
uri: at_uri ;
cid: cid }
type repo_rebaseRepo_input = {
repo: at_identifier ;
swapCommit: cid option }
type repo_uploadBlob_output = {
blob: blob }
type server_createAccount_input =
{
email: string ;
handle: handle ;
did: did option ;
inviteCode: string option ;
password: string ;
recoveryKey: string option }
type server_createAccount_output =
{
accessJwt: string ;
refreshJwt: string ;
handle: handle ;
did: did }
type server_createAppPassword_appPassword =
{
name: string ;
password: string ;
createdAt: datetime }
type server_createAppPassword_input = {
name: string }
type server_createAppPassword_output = server_createAppPassword_appPassword
type server_createInviteCode_input =
{
useCount: int64 ;
forAccount: did option }
type server_createInviteCode_output = {
code: string }
type server_createInviteCodes_accountCodes =
{
account: string ;
codes: string list }
type server_createInviteCodes_input =
{
codeCount: int64 ;
useCount: int64 ;
forAccounts: did list option }
type server_createInviteCodes_output =
{
codes: server_createInviteCodes_accountCodes list }
type server_createSession_input = {
identifier: string ;
password: string }
type server_createSession_output =
{
accessJwt: string ;
refreshJwt: string ;
handle: handle ;
did: did ;
email: string option }
type server_deleteAccount_input =
{
did: did ;
password: string ;
token: string }
type server_describeServer_links =
{
privacyPolicy: string option ;
termsOfService: string option }
type server_describeServer_output =
{
inviteCodeRequired: bool option ;
availableUserDomains: string list ;
links: server_describeServer_links option }
type server_getAccountInviteCodes_output = {
codes: server_inviteCode list }
type server_getAccountInviteCodes_parameters =
{
includeUsed: bool option ;
createAvailable: bool option }
type server_getSession_output =
{
handle: handle ;
did: did ;
email: string option }
type server_listAppPasswords_appPassword =
{
name: string ;
createdAt: datetime }
type server_listAppPasswords_output =
{
passwords: server_listAppPasswords_appPassword list }
type server_refreshSession_output =
{
accessJwt: string ;
refreshJwt: string ;
handle: handle ;
did: did }
type server_requestPasswordReset_input = {
email: string }
type server_resetPassword_input = {
token: string ;
password: string }
type server_revokeAppPassword_input = {
name: string }
type sync_getBlob_parameters = {
did: did ;
cid: cid }
type sync_getBlocks_parameters = {
did: did ;
cids: cid list }
type sync_getCheckout_parameters = {
did: did ;
commit: cid option }
type sync_getCommitPath_output = {
commits: cid list }
type sync_getCommitPath_parameters =
{
did: did ;
latest: cid option ;
earliest: cid option }
type sync_getHead_output = {
root: cid }
type sync_getHead_parameters = {
did: did }
type sync_getRecord_parameters =
{
did: did ;
collection: nsid ;
rkey: string ;
commit: cid option }
type sync_getRepo_parameters =
{
did: did ;
earliest: cid option ;
latest: cid option }
type sync_listBlobs_output = {
cids: cid list }
type sync_listBlobs_parameters =
{
did: did ;
latest: cid option ;
earliest: cid option }
type sync_listRepos_repo = {
did: did ;
head: cid }
type sync_listRepos_output =
{
cursor: string option ;
repos: sync_listRepos_repo list }
type sync_listRepos_parameters =
{
limit: int64 option ;
cursor: string option }
type sync_notifyOfUpdate_input = {
hostname: string }
type sync_requestCrawl_input = {
hostname: string }
type sync_subscribeRepos_repoOp =
{
action: string ;
path: string ;
cid: cid_link nullable }
type sync_subscribeRepos_commit =
{
seq: int64 ;
rebase: bool ;
tooBig: bool ;
repo: did ;
commit: cid_link ;
prev: cid_link nullable ;
blocks: bytes ;
ops: sync_subscribeRepos_repoOp list ;
blobs: cid_link list ;
time: datetime }
type sync_subscribeRepos_handle =
{
seq: int64 ;
did: did ;
handle: handle ;
time: datetime }
type sync_subscribeRepos_info = {
name: string ;
message: string option }
type sync_subscribeRepos_tombstone = {
seq: int64 ;
did: did ;
time: datetime }
type sync_subscribeRepos_migrate =
{
seq: int64 ;
did: did ;
migrateTo: string nullable ;
time: datetime }
type sync_subscribeRepos_message =
| Commit of sync_subscribeRepos_commit
| Handle of sync_subscribeRepos_handle
| Migrate of sync_subscribeRepos_migrate
| Tombstone of sync_subscribeRepos_tombstone
| Info of sync_subscribeRepos_info
type sync_subscribeRepos_parameters = {
cursor: int64 option }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment