This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

api,lexicons: all lexicons for "private" xrpc service

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>

author
Anirudh Oppiliappan
date (Jul 27, 2026, 5:27 PM +0300) commit 454f5366 parent ae5220ef change-id vtoqwzvn
+2426
+32
api/tangled/accountbeginSignup.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.beginSignup 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountBeginSignupNSID = "org.tangled.temp.account.beginSignup" 15 + ) 16 + 17 + // TempAccountBeginSignup_Input is the input argument to a org.tangled.temp.account.beginSignup call. 18 + type TempAccountBeginSignup_Input struct { 19 + // email: Email address for the new account. 20 + Email string `json:"email" cborgen:"email"` 21 + // turnstileToken: Cloudflare Turnstile challenge response token. 22 + TurnstileToken string `json:"turnstileToken" cborgen:"turnstileToken"` 23 + } 24 + 25 + // TempAccountBeginSignup calls the XRPC method "org.tangled.temp.account.beginSignup". 26 + func TempAccountBeginSignup(ctx context.Context, c util.LexClient, input *TempAccountBeginSignup_Input) error { 27 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.account.beginSignup", nil, input, nil); err != nil { 28 + return err 29 + } 30 + 31 + return nil 32 + }
+43
api/tangled/accountcompleteSignup.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.completeSignup 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountCompleteSignupNSID = "org.tangled.temp.account.completeSignup" 15 + ) 16 + 17 + // TempAccountCompleteSignup_Input is the input argument to a org.tangled.temp.account.completeSignup call. 18 + type TempAccountCompleteSignup_Input struct { 19 + // code: Verification code from the signup email. 20 + Code string `json:"code" cborgen:"code"` 21 + // password: Password for the new account. 22 + Password string `json:"password" cborgen:"password"` 23 + // username: Desired username; the assigned handle is <username>.<pds domain>. 24 + Username string `json:"username" cborgen:"username"` 25 + } 26 + 27 + // TempAccountCompleteSignup_Output is the output of a org.tangled.temp.account.completeSignup call. 28 + type TempAccountCompleteSignup_Output struct { 29 + // did: DID of the newly provisioned account. 30 + Did string `json:"did" cborgen:"did"` 31 + // handle: The assigned handle, <username>.<pds domain>. 32 + Handle string `json:"handle" cborgen:"handle"` 33 + } 34 + 35 + // TempAccountCompleteSignup calls the XRPC method "org.tangled.temp.account.completeSignup". 36 + func TempAccountCompleteSignup(ctx context.Context, c util.LexClient, input *TempAccountCompleteSignup_Input) (*TempAccountCompleteSignup_Output, error) { 37 + var out TempAccountCompleteSignup_Output 38 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.account.completeSignup", nil, input, &out); err != nil { 39 + return nil, err 40 + } 41 + 42 + return &out, nil 43 + }
+30
api/tangled/accountdeleteEmail.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.deleteEmail 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountDeleteEmailNSID = "org.tangled.temp.account.deleteEmail" 15 + ) 16 + 17 + // TempAccountDeleteEmail_Input is the input argument to a org.tangled.temp.account.deleteEmail call. 18 + type TempAccountDeleteEmail_Input struct { 19 + // email: Email address to remove. 20 + Email string `json:"email" cborgen:"email"` 21 + } 22 + 23 + // TempAccountDeleteEmail calls the XRPC method "org.tangled.temp.account.deleteEmail". 24 + func TempAccountDeleteEmail(ctx context.Context, c util.LexClient, input *TempAccountDeleteEmail_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.account.deleteEmail", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+24
api/tangled/accountdismissNewsletter.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.dismissNewsletter 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountDismissNewsletterNSID = "org.tangled.temp.account.dismissNewsletter" 15 + ) 16 + 17 + // TempAccountDismissNewsletter calls the XRPC method "org.tangled.temp.account.dismissNewsletter". 18 + func TempAccountDismissNewsletter(ctx context.Context, c util.LexClient) error { 19 + if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.account.dismissNewsletter", nil, nil, nil); err != nil { 20 + return err 21 + } 22 + 23 + return nil 24 + }
+41
api/tangled/accountlistEmails.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.listEmails 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountListEmailsNSID = "org.tangled.temp.account.listEmails" 15 + ) 16 + 17 + // TempAccountListEmails_Email is a "email" in the org.tangled.temp.account.listEmails schema. 18 + type TempAccountListEmails_Email struct { 19 + // address: Email address. 20 + Address string `json:"address" cborgen:"address"` 21 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 22 + // primary: Whether this is the primary email address. 23 + Primary bool `json:"primary" cborgen:"primary"` 24 + // verified: Whether the address has been verified. 25 + Verified bool `json:"verified" cborgen:"verified"` 26 + } 27 + 28 + // TempAccountListEmails_Output is the output of a org.tangled.temp.account.listEmails call. 29 + type TempAccountListEmails_Output struct { 30 + Emails []*TempAccountListEmails_Email `json:"emails" cborgen:"emails"` 31 + } 32 + 33 + // TempAccountListEmails calls the XRPC method "org.tangled.temp.account.listEmails". 34 + func TempAccountListEmails(ctx context.Context, c util.LexClient) (*TempAccountListEmails_Output, error) { 35 + var out TempAccountListEmails_Output 36 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.account.listEmails", nil, nil, &out); err != nil { 37 + return nil, err 38 + } 39 + 40 + return &out, nil 41 + }
+30
api/tangled/accountsetPrimaryEmail.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.setPrimaryEmail 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountSetPrimaryEmailNSID = "org.tangled.temp.account.setPrimaryEmail" 15 + ) 16 + 17 + // TempAccountSetPrimaryEmail_Input is the input argument to a org.tangled.temp.account.setPrimaryEmail call. 18 + type TempAccountSetPrimaryEmail_Input struct { 19 + // email: Email address to promote to primary. 20 + Email string `json:"email" cborgen:"email"` 21 + } 22 + 23 + // TempAccountSetPrimaryEmail calls the XRPC method "org.tangled.temp.account.setPrimaryEmail". 24 + func TempAccountSetPrimaryEmail(ctx context.Context, c util.LexClient, input *TempAccountSetPrimaryEmail_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.account.setPrimaryEmail", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+24
api/tangled/accountsubscribeNewsletter.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.account.subscribeNewsletter 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempAccountSubscribeNewsletterNSID = "org.tangled.temp.account.subscribeNewsletter" 15 + ) 16 + 17 + // TempAccountSubscribeNewsletter calls the XRPC method "org.tangled.temp.account.subscribeNewsletter". 18 + func TempAccountSubscribeNewsletter(ctx context.Context, c util.LexClient) error { 19 + if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.account.subscribeNewsletter", nil, nil, nil); err != nil { 20 + return err 21 + } 22 + 23 + return nil 24 + }
+37
api/tangled/focusbeginSession.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.focus.beginSession 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempFocusBeginSessionNSID = "org.tangled.temp.focus.beginSession" 15 + ) 16 + 17 + // TempFocusBeginSession_Output is the output of a org.tangled.temp.focus.beginSession call. 18 + type TempFocusBeginSession_Output struct { 19 + // issueAt: AT-URI of the issue to navigate to, if the item is an issue. 20 + IssueAt *string `json:"issueAt,omitempty" cborgen:"issueAt,omitempty"` 21 + // notificationId: ID of the first notification to address. Absent if the queue is empty. 22 + NotificationId *int64 `json:"notificationId,omitempty" cborgen:"notificationId,omitempty"` 23 + // pullAt: AT-URI of the pull to navigate to, if the item is a pull. 24 + PullAt *string `json:"pullAt,omitempty" cborgen:"pullAt,omitempty"` 25 + // repoDid: DID of the repository the item belongs to. Absent if the queue is empty. 26 + RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"` 27 + } 28 + 29 + // TempFocusBeginSession calls the XRPC method "org.tangled.temp.focus.beginSession". 30 + func TempFocusBeginSession(ctx context.Context, c util.LexClient) (*TempFocusBeginSession_Output, error) { 31 + var out TempFocusBeginSession_Output 32 + if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.focus.beginSession", nil, nil, &out); err != nil { 33 + return nil, err 34 + } 35 + 36 + return &out, nil 37 + }
+24
api/tangled/focusendSession.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.focus.endSession 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempFocusEndSessionNSID = "org.tangled.temp.focus.endSession" 15 + ) 16 + 17 + // TempFocusEndSession calls the XRPC method "org.tangled.temp.focus.endSession". 18 + func TempFocusEndSession(ctx context.Context, c util.LexClient) error { 19 + if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.focus.endSession", nil, nil, nil); err != nil { 20 + return err 21 + } 22 + 23 + return nil 24 + }
+43
api/tangled/focusnextItem.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.focus.nextItem 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempFocusNextItemNSID = "org.tangled.temp.focus.nextItem" 15 + ) 16 + 17 + // TempFocusNextItem_Input is the input argument to a org.tangled.temp.focus.nextItem call. 18 + type TempFocusNextItem_Input struct { 19 + // currentId: ID of the notification just addressed, to be marked read. 20 + CurrentId int64 `json:"currentId" cborgen:"currentId"` 21 + } 22 + 23 + // TempFocusNextItem_Output is the output of a org.tangled.temp.focus.nextItem call. 24 + type TempFocusNextItem_Output struct { 25 + // issueAt: AT-URI of the issue to navigate to, if the item is an issue. 26 + IssueAt *string `json:"issueAt,omitempty" cborgen:"issueAt,omitempty"` 27 + // notificationId: ID of the next notification to address. Absent when focus mode has ended. 28 + NotificationId *int64 `json:"notificationId,omitempty" cborgen:"notificationId,omitempty"` 29 + // pullAt: AT-URI of the pull to navigate to, if the item is a pull. 30 + PullAt *string `json:"pullAt,omitempty" cborgen:"pullAt,omitempty"` 31 + // repoDid: DID of the repository the next item belongs to. Absent when focus mode has ended. 32 + RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"` 33 + } 34 + 35 + // TempFocusNextItem calls the XRPC method "org.tangled.temp.focus.nextItem". 36 + func TempFocusNextItem(ctx context.Context, c util.LexClient, input *TempFocusNextItem_Input) (*TempFocusNextItem_Output, error) { 37 + var out TempFocusNextItem_Output 38 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.focus.nextItem", nil, input, &out); err != nil { 39 + return nil, err 40 + } 41 + 42 + return &out, nil 43 + }
+30
api/tangled/notificationdeleteNotification.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.deleteNotification 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationDeleteNotificationNSID = "org.tangled.temp.notification.deleteNotification" 15 + ) 16 + 17 + // TempNotificationDeleteNotification_Input is the input argument to a org.tangled.temp.notification.deleteNotification call. 18 + type TempNotificationDeleteNotification_Input struct { 19 + // id: ID of the notification to delete. 20 + Id int64 `json:"id" cborgen:"id"` 21 + } 22 + 23 + // TempNotificationDeleteNotification calls the XRPC method "org.tangled.temp.notification.deleteNotification". 24 + func TempNotificationDeleteNotification(ctx context.Context, c util.LexClient, input *TempNotificationDeleteNotification_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.notification.deleteNotification", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+39
api/tangled/notificationgetPreferences.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.getPreferences 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationGetPreferencesNSID = "org.tangled.temp.notification.getPreferences" 15 + ) 16 + 17 + // TempNotificationGetPreferences_Preferences is a "preferences" in the org.tangled.temp.notification.getPreferences schema. 18 + type TempNotificationGetPreferences_Preferences struct { 19 + EmailNotifications bool `json:"emailNotifications" cborgen:"emailNotifications"` 20 + Followed bool `json:"followed" cborgen:"followed"` 21 + IssueClosed bool `json:"issueClosed" cborgen:"issueClosed"` 22 + IssueCommented bool `json:"issueCommented" cborgen:"issueCommented"` 23 + IssueCreated bool `json:"issueCreated" cborgen:"issueCreated"` 24 + PullCommented bool `json:"pullCommented" cborgen:"pullCommented"` 25 + PullCreated bool `json:"pullCreated" cborgen:"pullCreated"` 26 + PullMerged bool `json:"pullMerged" cborgen:"pullMerged"` 27 + RepoStarred bool `json:"repoStarred" cborgen:"repoStarred"` 28 + UserMentioned bool `json:"userMentioned" cborgen:"userMentioned"` 29 + } 30 + 31 + // TempNotificationGetPreferences calls the XRPC method "org.tangled.temp.notification.getPreferences". 32 + func TempNotificationGetPreferences(ctx context.Context, c util.LexClient) (*TempNotificationGetPreferences_Preferences, error) { 33 + var out TempNotificationGetPreferences_Preferences 34 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.notification.getPreferences", nil, nil, &out); err != nil { 35 + return nil, err 36 + } 37 + 38 + return &out, nil 39 + }
+30
api/tangled/notificationgetUnreadCount.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.getUnreadCount 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationGetUnreadCountNSID = "org.tangled.temp.notification.getUnreadCount" 15 + ) 16 + 17 + // TempNotificationGetUnreadCount_Output is the output of a org.tangled.temp.notification.getUnreadCount call. 18 + type TempNotificationGetUnreadCount_Output struct { 19 + Count int64 `json:"count" cborgen:"count"` 20 + } 21 + 22 + // TempNotificationGetUnreadCount calls the XRPC method "org.tangled.temp.notification.getUnreadCount". 23 + func TempNotificationGetUnreadCount(ctx context.Context, c util.LexClient) (*TempNotificationGetUnreadCount_Output, error) { 24 + var out TempNotificationGetUnreadCount_Output 25 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.notification.getUnreadCount", nil, nil, &out); err != nil { 26 + return nil, err 27 + } 28 + 29 + return &out, nil 30 + }
+71
api/tangled/notificationlistNotifications.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.listNotifications 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationListNotificationsNSID = "org.tangled.temp.notification.listNotifications" 15 + ) 16 + 17 + // TempNotificationListNotifications_Notification is a "notification" in the org.tangled.temp.notification.listNotifications schema. 18 + type TempNotificationListNotifications_Notification struct { 19 + // actorDid: DID of the user who triggered this notification. 20 + ActorDid string `json:"actorDid" cborgen:"actorDid"` 21 + // category: Broad category: 'social' or 'work'. 22 + Category string `json:"category" cborgen:"category"` 23 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 24 + // id: Stable numeric ID for this notification. 25 + Id int64 `json:"id" cborgen:"id"` 26 + // issueAt: AT-URI of the related org.tangled.issue.issue record, if applicable. 27 + IssueAt *string `json:"issueAt,omitempty" cborgen:"issueAt,omitempty"` 28 + // pullAt: AT-URI of the related org.tangled.pulls.pull record, if applicable. 29 + PullAt *string `json:"pullAt,omitempty" cborgen:"pullAt,omitempty"` 30 + Read bool `json:"read" cborgen:"read"` 31 + // repoDid: DID of the related repository, if applicable. 32 + RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"` 33 + // type: Notification type: repo_starred, issue_created, issue_commented, issue_closed, issue_reopen, issue_assigned, issue_unassigned, pull_created, pull_commented, pull_merged, pull_closed, pull_reopen, pull_assigned, pull_unassigned, followed, user_mentioned. 34 + Type string `json:"type" cborgen:"type"` 35 + } 36 + 37 + // TempNotificationListNotifications_Output is the output of a org.tangled.temp.notification.listNotifications call. 38 + type TempNotificationListNotifications_Output struct { 39 + Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` 40 + Notifications []*TempNotificationListNotifications_Notification `json:"notifications" cborgen:"notifications"` 41 + SocialUnreadCount int64 `json:"socialUnreadCount" cborgen:"socialUnreadCount"` 42 + WorkUnreadCount int64 `json:"workUnreadCount" cborgen:"workUnreadCount"` 43 + } 44 + 45 + // TempNotificationListNotifications calls the XRPC method "org.tangled.temp.notification.listNotifications". 46 + // 47 + // category: Filter by category: 'all', 'social', or 'work'. 48 + // limit: Max notifications per category to return. 49 + // read: Filter by read state: 'all' or 'unread'. 50 + func TempNotificationListNotifications(ctx context.Context, c util.LexClient, category string, cursor string, limit int64, read string) (*TempNotificationListNotifications_Output, error) { 51 + var out TempNotificationListNotifications_Output 52 + 53 + params := map[string]interface{}{} 54 + if category != "" { 55 + params["category"] = category 56 + } 57 + if cursor != "" { 58 + params["cursor"] = cursor 59 + } 60 + if limit != 0 { 61 + params["limit"] = limit 62 + } 63 + if read != "" { 64 + params["read"] = read 65 + } 66 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.notification.listNotifications", params, nil, &out); err != nil { 67 + return nil, err 68 + } 69 + 70 + return &out, nil 71 + }
+24
api/tangled/notificationmarkAllRead.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.markAllRead 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationMarkAllReadNSID = "org.tangled.temp.notification.markAllRead" 15 + ) 16 + 17 + // TempNotificationMarkAllRead calls the XRPC method "org.tangled.temp.notification.markAllRead". 18 + func TempNotificationMarkAllRead(ctx context.Context, c util.LexClient) error { 19 + if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.notification.markAllRead", nil, nil, nil); err != nil { 20 + return err 21 + } 22 + 23 + return nil 24 + }
+38
api/tangled/notificationupdatePreferences.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.updatePreferences 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationUpdatePreferencesNSID = "org.tangled.temp.notification.updatePreferences" 15 + ) 16 + 17 + // TempNotificationUpdatePreferences_Input is the input argument to a org.tangled.temp.notification.updatePreferences call. 18 + type TempNotificationUpdatePreferences_Input struct { 19 + EmailNotifications *bool `json:"emailNotifications,omitempty" cborgen:"emailNotifications,omitempty"` 20 + Followed *bool `json:"followed,omitempty" cborgen:"followed,omitempty"` 21 + IssueClosed *bool `json:"issueClosed,omitempty" cborgen:"issueClosed,omitempty"` 22 + IssueCommented *bool `json:"issueCommented,omitempty" cborgen:"issueCommented,omitempty"` 23 + IssueCreated *bool `json:"issueCreated,omitempty" cborgen:"issueCreated,omitempty"` 24 + PullCommented *bool `json:"pullCommented,omitempty" cborgen:"pullCommented,omitempty"` 25 + PullCreated *bool `json:"pullCreated,omitempty" cborgen:"pullCreated,omitempty"` 26 + PullMerged *bool `json:"pullMerged,omitempty" cborgen:"pullMerged,omitempty"` 27 + RepoStarred *bool `json:"repoStarred,omitempty" cborgen:"repoStarred,omitempty"` 28 + UserMentioned *bool `json:"userMentioned,omitempty" cborgen:"userMentioned,omitempty"` 29 + } 30 + 31 + // TempNotificationUpdatePreferences calls the XRPC method "org.tangled.temp.notification.updatePreferences". 32 + func TempNotificationUpdatePreferences(ctx context.Context, c util.LexClient, input *TempNotificationUpdatePreferences_Input) error { 33 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.notification.updatePreferences", nil, input, nil); err != nil { 34 + return err 35 + } 36 + 37 + return nil 38 + }
+31
api/tangled/notificationupdateSeen.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.notification.updateSeen 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempNotificationUpdateSeenNSID = "org.tangled.temp.notification.updateSeen" 15 + ) 16 + 17 + // TempNotificationUpdateSeen_Input is the input argument to a org.tangled.temp.notification.updateSeen call. 18 + type TempNotificationUpdateSeen_Input struct { 19 + // id: ID of the notification to update. 20 + Id int64 `json:"id" cborgen:"id"` 21 + Read bool `json:"read" cborgen:"read"` 22 + } 23 + 24 + // TempNotificationUpdateSeen calls the XRPC method "org.tangled.temp.notification.updateSeen". 25 + func TempNotificationUpdateSeen(ctx context.Context, c util.LexClient, input *TempNotificationUpdateSeen_Input) error { 26 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.notification.updateSeen", nil, input, nil); err != nil { 27 + return err 28 + } 29 + 30 + return nil 31 + }
+2
api/tangled/repocreate.go
··· 30 30 31 31 // RepoCreate_Output is the output of a sh.tangled.repo.create call. 32 32 type RepoCreate_Output struct { 33 + // key: Multibase-encoded public signing key the knot holds for this repository 34 + Key *string `json:"key,omitempty" cborgen:"key,omitempty"` 33 35 RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"` 34 36 } 35 37
+45
api/tangled/repocreateWebhook.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.createWebhook 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoCreateWebhookNSID = "org.tangled.temp.repo.createWebhook" 15 + ) 16 + 17 + // TempRepoCreateWebhook_Input is the input argument to a org.tangled.temp.repo.createWebhook call. 18 + type TempRepoCreateWebhook_Input struct { 19 + // active: Whether the webhook should be active immediately. Defaults to true. 20 + Active *bool `json:"active,omitempty" cborgen:"active,omitempty"` 21 + // events: Event types to subscribe to (e.g. 'push', 'repository:renamed'). 22 + Events []string `json:"events" cborgen:"events"` 23 + // repoDid: DID of the repository as minted by the knot. 24 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 25 + // secret: Optional HMAC secret used to sign payloads. If omitted, payloads are not signed. 26 + Secret *string `json:"secret,omitempty" cborgen:"secret,omitempty"` 27 + // url: Endpoint URL that will receive webhook payloads. 28 + Url string `json:"url" cborgen:"url"` 29 + } 30 + 31 + // TempRepoCreateWebhook_Output is the output of a org.tangled.temp.repo.createWebhook call. 32 + type TempRepoCreateWebhook_Output struct { 33 + // id: ID of the newly created webhook. 34 + Id int64 `json:"id" cborgen:"id"` 35 + } 36 + 37 + // TempRepoCreateWebhook calls the XRPC method "org.tangled.temp.repo.createWebhook". 38 + func TempRepoCreateWebhook(ctx context.Context, c util.LexClient, input *TempRepoCreateWebhook_Input) (*TempRepoCreateWebhook_Output, error) { 39 + var out TempRepoCreateWebhook_Output 40 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.createWebhook", nil, input, &out); err != nil { 41 + return nil, err 42 + } 43 + 44 + return &out, nil 45 + }
+2
api/tangled/repodelete.go
··· 18 18 type RepoDelete_Input struct { 19 19 // did: DID of the repository owner 20 20 Did string `json:"did" cborgen:"did"` 21 + // force: Admin-only. Delete even though the repository record still exists on the owner's PDS. 22 + Force *bool `json:"force,omitempty" cborgen:"force,omitempty"` 21 23 // name: Name of the repository to delete 22 24 Name string `json:"name" cborgen:"name"` 23 25 // rkey: Rkey of the repository record
+32
api/tangled/repodeleteWebhook.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.deleteWebhook 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoDeleteWebhookNSID = "org.tangled.temp.repo.deleteWebhook" 15 + ) 16 + 17 + // TempRepoDeleteWebhook_Input is the input argument to a org.tangled.temp.repo.deleteWebhook call. 18 + type TempRepoDeleteWebhook_Input struct { 19 + // id: Webhook ID to delete. 20 + Id int64 `json:"id" cborgen:"id"` 21 + // repoDid: DID of the repository as minted by the knot. 22 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 23 + } 24 + 25 + // TempRepoDeleteWebhook calls the XRPC method "org.tangled.temp.repo.deleteWebhook". 26 + func TempRepoDeleteWebhook(ctx context.Context, c util.LexClient, input *TempRepoDeleteWebhook_Input) error { 27 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.deleteWebhook", nil, input, nil); err != nil { 28 + return err 29 + } 30 + 31 + return nil 32 + }
+30
api/tangled/repodisableSite.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.disableSite 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoDisableSiteNSID = "org.tangled.temp.repo.disableSite" 15 + ) 16 + 17 + // TempRepoDisableSite_Input is the input argument to a org.tangled.temp.repo.disableSite call. 18 + type TempRepoDisableSite_Input struct { 19 + // repoDid: DID of the repository as minted by the knot. 20 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 21 + } 22 + 23 + // TempRepoDisableSite calls the XRPC method "org.tangled.temp.repo.disableSite". 24 + func TempRepoDisableSite(ctx context.Context, c util.LexClient, input *TempRepoDisableSite_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.disableSite", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+46
api/tangled/repogetSiteConfig.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.getSiteConfig 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoGetSiteConfigNSID = "org.tangled.temp.repo.getSiteConfig" 15 + ) 16 + 17 + // TempRepoGetSiteConfig_Output is the output of a org.tangled.temp.repo.getSiteConfig call. 18 + type TempRepoGetSiteConfig_Output struct { 19 + // config: Site config for the repository. Absent if no site is configured. 20 + Config *TempRepoGetSiteConfig_SiteConfig `json:"config,omitempty" cborgen:"config,omitempty"` 21 + } 22 + 23 + // TempRepoGetSiteConfig_SiteConfig is a "siteConfig" in the org.tangled.temp.repo.getSiteConfig schema. 24 + type TempRepoGetSiteConfig_SiteConfig struct { 25 + // branch: Branch to deploy from. 26 + Branch string `json:"branch" cborgen:"branch"` 27 + // dir: Directory within the repository to deploy (e.g. '/' or '/docs'). 28 + Dir string `json:"dir" cborgen:"dir"` 29 + // isIndex: Whether this repo serves as the index (root) for the domain. 30 + IsIndex bool `json:"isIndex" cborgen:"isIndex"` 31 + } 32 + 33 + // TempRepoGetSiteConfig calls the XRPC method "org.tangled.temp.repo.getSiteConfig". 34 + // 35 + // repoDid: DID of the repository as minted by the knot. 36 + func TempRepoGetSiteConfig(ctx context.Context, c util.LexClient, repoDid string) (*TempRepoGetSiteConfig_Output, error) { 37 + var out TempRepoGetSiteConfig_Output 38 + 39 + params := map[string]interface{}{} 40 + params["repoDid"] = repoDid 41 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.repo.getSiteConfig", params, nil, &out); err != nil { 42 + return nil, err 43 + } 44 + 45 + return &out, nil 46 + }
+55
api/tangled/repolistWebhookDeliveries.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.listWebhookDeliveries 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoListWebhookDeliveriesNSID = "org.tangled.temp.repo.listWebhookDeliveries" 15 + ) 16 + 17 + // TempRepoListWebhookDeliveries_Delivery is a "delivery" in the org.tangled.temp.repo.listWebhookDeliveries schema. 18 + type TempRepoListWebhookDeliveries_Delivery struct { 19 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 20 + // deliveryId: UUID for tracking this delivery attempt. 21 + DeliveryId string `json:"deliveryId" cborgen:"deliveryId"` 22 + // event: Event type that triggered the delivery. 23 + Event string `json:"event" cborgen:"event"` 24 + Id int64 `json:"id" cborgen:"id"` 25 + RequestBody *string `json:"requestBody,omitempty" cborgen:"requestBody,omitempty"` 26 + ResponseBody *string `json:"responseBody,omitempty" cborgen:"responseBody,omitempty"` 27 + ResponseCode *int64 `json:"responseCode,omitempty" cborgen:"responseCode,omitempty"` 28 + Success bool `json:"success" cborgen:"success"` 29 + Url string `json:"url" cborgen:"url"` 30 + } 31 + 32 + // TempRepoListWebhookDeliveries_Output is the output of a org.tangled.temp.repo.listWebhookDeliveries call. 33 + type TempRepoListWebhookDeliveries_Output struct { 34 + Deliveries []*TempRepoListWebhookDeliveries_Delivery `json:"deliveries" cborgen:"deliveries"` 35 + } 36 + 37 + // TempRepoListWebhookDeliveries calls the XRPC method "org.tangled.temp.repo.listWebhookDeliveries". 38 + // 39 + // id: Webhook ID. 40 + // repoDid: DID of the repository as minted by the knot. 41 + func TempRepoListWebhookDeliveries(ctx context.Context, c util.LexClient, id int64, limit int64, repoDid string) (*TempRepoListWebhookDeliveries_Output, error) { 42 + var out TempRepoListWebhookDeliveries_Output 43 + 44 + params := map[string]interface{}{} 45 + params["id"] = id 46 + if limit != 0 { 47 + params["limit"] = limit 48 + } 49 + params["repoDid"] = repoDid 50 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.repo.listWebhookDeliveries", params, nil, &out); err != nil { 51 + return nil, err 52 + } 53 + 54 + return &out, nil 55 + }
+49
api/tangled/repolistWebhooks.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.listWebhooks 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoListWebhooksNSID = "org.tangled.temp.repo.listWebhooks" 15 + ) 16 + 17 + // TempRepoListWebhooks_Output is the output of a org.tangled.temp.repo.listWebhooks call. 18 + type TempRepoListWebhooks_Output struct { 19 + Webhooks []*TempRepoListWebhooks_Webhook `json:"webhooks" cborgen:"webhooks"` 20 + } 21 + 22 + // TempRepoListWebhooks_Webhook is a "webhook" in the org.tangled.temp.repo.listWebhooks schema. 23 + type TempRepoListWebhooks_Webhook struct { 24 + // active: Whether the webhook is currently enabled. 25 + Active bool `json:"active" cborgen:"active"` 26 + CreatedAt string `json:"createdAt" cborgen:"createdAt"` 27 + // events: Event types this webhook is subscribed to (e.g. 'push', 'repository:renamed'). 28 + Events []string `json:"events" cborgen:"events"` 29 + // id: Webhook identifier. 30 + Id int64 `json:"id" cborgen:"id"` 31 + UpdatedAt *string `json:"updatedAt,omitempty" cborgen:"updatedAt,omitempty"` 32 + // url: Endpoint URL that receives webhook payloads. 33 + Url string `json:"url" cborgen:"url"` 34 + } 35 + 36 + // TempRepoListWebhooks calls the XRPC method "org.tangled.temp.repo.listWebhooks". 37 + // 38 + // repoDid: DID of the repository as minted by the knot. 39 + func TempRepoListWebhooks(ctx context.Context, c util.LexClient, repoDid string) (*TempRepoListWebhooks_Output, error) { 40 + var out TempRepoListWebhooks_Output 41 + 42 + params := map[string]interface{}{} 43 + params["repoDid"] = repoDid 44 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.repo.listWebhooks", params, nil, &out); err != nil { 45 + return nil, err 46 + } 47 + 48 + return &out, nil 49 + }
+34
api/tangled/reporetryWebhookDelivery.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.retryWebhookDelivery 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoRetryWebhookDeliveryNSID = "org.tangled.temp.repo.retryWebhookDelivery" 15 + ) 16 + 17 + // TempRepoRetryWebhookDelivery_Input is the input argument to a org.tangled.temp.repo.retryWebhookDelivery call. 18 + type TempRepoRetryWebhookDelivery_Input struct { 19 + // deliveryId: UUID of the delivery to retry. 20 + DeliveryId string `json:"deliveryId" cborgen:"deliveryId"` 21 + // repoDid: DID of the repository as minted by the knot. 22 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 23 + // webhookId: Webhook ID that owns the delivery. 24 + WebhookId int64 `json:"webhookId" cborgen:"webhookId"` 25 + } 26 + 27 + // TempRepoRetryWebhookDelivery calls the XRPC method "org.tangled.temp.repo.retryWebhookDelivery". 28 + func TempRepoRetryWebhookDelivery(ctx context.Context, c util.LexClient, input *TempRepoRetryWebhookDelivery_Input) error { 29 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.retryWebhookDelivery", nil, input, nil); err != nil { 30 + return err 31 + } 32 + 33 + return nil 34 + }
+39
api/tangled/repotoggleWebhook.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.toggleWebhook 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoToggleWebhookNSID = "org.tangled.temp.repo.toggleWebhook" 15 + ) 16 + 17 + // TempRepoToggleWebhook_Input is the input argument to a org.tangled.temp.repo.toggleWebhook call. 18 + type TempRepoToggleWebhook_Input struct { 19 + // id: Webhook ID to toggle. 20 + Id int64 `json:"id" cborgen:"id"` 21 + // repoDid: DID of the repository as minted by the knot. 22 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 23 + } 24 + 25 + // TempRepoToggleWebhook_Output is the output of a org.tangled.temp.repo.toggleWebhook call. 26 + type TempRepoToggleWebhook_Output struct { 27 + // active: New active state of the webhook. 28 + Active bool `json:"active" cborgen:"active"` 29 + } 30 + 31 + // TempRepoToggleWebhook calls the XRPC method "org.tangled.temp.repo.toggleWebhook". 32 + func TempRepoToggleWebhook(ctx context.Context, c util.LexClient, input *TempRepoToggleWebhook_Input) (*TempRepoToggleWebhook_Output, error) { 33 + var out TempRepoToggleWebhook_Output 34 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.toggleWebhook", nil, input, &out); err != nil { 35 + return nil, err 36 + } 37 + 38 + return &out, nil 39 + }
+36
api/tangled/repoupdateSiteConfig.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.updateSiteConfig 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoUpdateSiteConfigNSID = "org.tangled.temp.repo.updateSiteConfig" 15 + ) 16 + 17 + // TempRepoUpdateSiteConfig_Input is the input argument to a org.tangled.temp.repo.updateSiteConfig call. 18 + type TempRepoUpdateSiteConfig_Input struct { 19 + // branch: Branch to deploy from. 20 + Branch string `json:"branch" cborgen:"branch"` 21 + // dir: Directory within the repository to deploy (e.g. '/' or '/docs'). 22 + Dir string `json:"dir" cborgen:"dir"` 23 + // isIndex: Whether this repo should serve as the index (root) for the claimed domain. 24 + IsIndex *bool `json:"isIndex,omitempty" cborgen:"isIndex,omitempty"` 25 + // repoDid: DID of the repository as minted by the knot. 26 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 27 + } 28 + 29 + // TempRepoUpdateSiteConfig calls the XRPC method "org.tangled.temp.repo.updateSiteConfig". 30 + func TempRepoUpdateSiteConfig(ctx context.Context, c util.LexClient, input *TempRepoUpdateSiteConfig_Input) error { 31 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.updateSiteConfig", nil, input, nil); err != nil { 32 + return err 33 + } 34 + 35 + return nil 36 + }
+36
api/tangled/repoupdateWebhook.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.repo.updateWebhook 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempRepoUpdateWebhookNSID = "org.tangled.temp.repo.updateWebhook" 15 + ) 16 + 17 + // TempRepoUpdateWebhook_Input is the input argument to a org.tangled.temp.repo.updateWebhook call. 18 + type TempRepoUpdateWebhook_Input struct { 19 + Active *bool `json:"active,omitempty" cborgen:"active,omitempty"` 20 + Events []string `json:"events,omitempty" cborgen:"events,omitempty"` 21 + // id: Webhook ID to update. 22 + Id int64 `json:"id" cborgen:"id"` 23 + // repoDid: DID of the repository as minted by the knot. 24 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 25 + Secret *string `json:"secret,omitempty" cborgen:"secret,omitempty"` 26 + Url *string `json:"url,omitempty" cborgen:"url,omitempty"` 27 + } 28 + 29 + // TempRepoUpdateWebhook calls the XRPC method "org.tangled.temp.repo.updateWebhook". 30 + func TempRepoUpdateWebhook(ctx context.Context, c util.LexClient, input *TempRepoUpdateWebhook_Input) error { 31 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.repo.updateWebhook", nil, input, nil); err != nil { 32 + return err 33 + } 34 + 35 + return nil 36 + }
+79
api/tangled/searchsearchCode.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.search.searchCode 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempSearchSearchCodeNSID = "org.tangled.temp.search.searchCode" 15 + ) 16 + 17 + // TempSearchSearchCode_Chunk is a "chunk" in the org.tangled.temp.search.searchCode schema. 18 + type TempSearchSearchCode_Chunk struct { 19 + // content: Source lines for this match chunk. 20 + Content string `json:"content" cborgen:"content"` 21 + // highlights: Byte-offset ranges within content that match the query. 22 + Highlights []*TempSearchSearchCode_Highlight `json:"highlights,omitempty" cborgen:"highlights,omitempty"` 23 + // lineStart: 1-based line number of the first line in content. 24 + LineStart int64 `json:"lineStart" cborgen:"lineStart"` 25 + } 26 + 27 + // TempSearchSearchCode_FileResult is a "fileResult" in the org.tangled.temp.search.searchCode schema. 28 + type TempSearchSearchCode_FileResult struct { 29 + Chunks []*TempSearchSearchCode_Chunk `json:"chunks" cborgen:"chunks"` 30 + // language: Detected programming language. 31 + Language *string `json:"language,omitempty" cborgen:"language,omitempty"` 32 + // path: File path relative to repository root. 33 + Path string `json:"path" cborgen:"path"` 34 + // repoDid: DID of the repository as minted by the knot. 35 + RepoDid string `json:"repoDid" cborgen:"repoDid"` 36 + } 37 + 38 + // TempSearchSearchCode_Highlight is a "highlight" in the org.tangled.temp.search.searchCode schema. 39 + type TempSearchSearchCode_Highlight struct { 40 + // end: End byte offset (exclusive) within the chunk content string. 41 + End int64 `json:"end" cborgen:"end"` 42 + // start: Start byte offset within the chunk content string. 43 + Start int64 `json:"start" cborgen:"start"` 44 + } 45 + 46 + // TempSearchSearchCode_Output is the output of a org.tangled.temp.search.searchCode call. 47 + type TempSearchSearchCode_Output struct { 48 + Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` 49 + Results []*TempSearchSearchCode_FileResult `json:"results" cborgen:"results"` 50 + } 51 + 52 + // TempSearchSearchCode calls the XRPC method "org.tangled.temp.search.searchCode". 53 + // 54 + // lang: Restrict search to a specific programming language (e.g. 'go', 'rust'). 55 + // q: Search query string. 56 + // repoDid: Restrict search to a specific repository, by its DID. 57 + func TempSearchSearchCode(ctx context.Context, c util.LexClient, cursor string, lang string, limit int64, q string, repoDid string) (*TempSearchSearchCode_Output, error) { 58 + var out TempSearchSearchCode_Output 59 + 60 + params := map[string]interface{}{} 61 + if cursor != "" { 62 + params["cursor"] = cursor 63 + } 64 + if lang != "" { 65 + params["lang"] = lang 66 + } 67 + if limit != 0 { 68 + params["limit"] = limit 69 + } 70 + params["q"] = q 71 + if repoDid != "" { 72 + params["repoDid"] = repoDid 73 + } 74 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.search.searchCode", params, nil, &out); err != nil { 75 + return nil, err 76 + } 77 + 78 + return &out, nil 79 + }
+30
api/tangled/siteclaimDomain.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.site.claimDomain 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempSiteClaimDomainNSID = "org.tangled.temp.site.claimDomain" 15 + ) 16 + 17 + // TempSiteClaimDomain_Input is the input argument to a org.tangled.temp.site.claimDomain call. 18 + type TempSiteClaimDomain_Input struct { 19 + // subdomain: Desired subdomain label (lowercase letters, digits, and hyphens; 4–63 characters). 20 + Subdomain string `json:"subdomain" cborgen:"subdomain"` 21 + } 22 + 23 + // TempSiteClaimDomain calls the XRPC method "org.tangled.temp.site.claimDomain". 24 + func TempSiteClaimDomain(ctx context.Context, c util.LexClient, input *TempSiteClaimDomain_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.site.claimDomain", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+31
api/tangled/sitegetDomainClaim.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.site.getDomainClaim 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempSiteGetDomainClaimNSID = "org.tangled.temp.site.getDomainClaim" 15 + ) 16 + 17 + // TempSiteGetDomainClaim_Output is the output of a org.tangled.temp.site.getDomainClaim call. 18 + type TempSiteGetDomainClaim_Output struct { 19 + // domain: The claimed domain (e.g. 'alice.sites.tangled.sh'). Absent if no active claim. 20 + Domain *string `json:"domain,omitempty" cborgen:"domain,omitempty"` 21 + } 22 + 23 + // TempSiteGetDomainClaim calls the XRPC method "org.tangled.temp.site.getDomainClaim". 24 + func TempSiteGetDomainClaim(ctx context.Context, c util.LexClient) (*TempSiteGetDomainClaim_Output, error) { 25 + var out TempSiteGetDomainClaim_Output 26 + if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.site.getDomainClaim", nil, nil, &out); err != nil { 27 + return nil, err 28 + } 29 + 30 + return &out, nil 31 + }
+30
api/tangled/sitereleaseDomain.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: org.tangled.temp.site.releaseDomain 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + TempSiteReleaseDomainNSID = "org.tangled.temp.site.releaseDomain" 15 + ) 16 + 17 + // TempSiteReleaseDomain_Input is the input argument to a org.tangled.temp.site.releaseDomain call. 18 + type TempSiteReleaseDomain_Input struct { 19 + // domain: Full domain to release (must match the user's active claim). 20 + Domain string `json:"domain" cborgen:"domain"` 21 + } 22 + 23 + // TempSiteReleaseDomain calls the XRPC method "org.tangled.temp.site.releaseDomain". 24 + func TempSiteReleaseDomain(ctx context.Context, c util.LexClient, input *TempSiteReleaseDomain_Input) error { 25 + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.site.releaseDomain", nil, input, nil); err != nil { 26 + return err 27 + } 28 + 29 + return nil 30 + }
+7
lexicon-build-config.json
··· 11 11 "outdir": "api/tangled", 12 12 "import": "tangled.org/core/api/tangled", 13 13 "gen-server": true 14 + }, 15 + { 16 + "package": "tangled", 17 + "prefix": "org.tangled", 18 + "outdir": "api/tangled", 19 + "import": "tangled.org/core/api/tangled", 20 + "gen-server": true 14 21 } 15 22 ]
+33
lexicons/temp/account/beginSignup.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.beginSignup", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Begin signup: validate the Turnstile token and email a verification code to the address.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["email", "turnstileToken"], 13 + "properties": { 14 + "email": { 15 + "type": "string", 16 + "description": "Email address for the new account." 17 + }, 18 + "turnstileToken": { 19 + "type": "string", 20 + "description": "Cloudflare Turnstile challenge response token." 21 + } 22 + } 23 + } 24 + }, 25 + "errors": [ 26 + { "name": "SignupDisabled", "description": "Signup is not currently enabled on this service." }, 27 + { "name": "InvalidTurnstileToken", "description": "The Turnstile captcha response could not be verified." }, 28 + { "name": "InvalidEmail", "description": "The email address is not valid." }, 29 + { "name": "EmailAlreadyRegistered", "description": "An account already exists for this email address." } 30 + ] 31 + } 32 + } 33 + }
+55
lexicons/temp/account/completeSignup.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.completeSignup", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Complete signup: provision the PDS account for the chosen username using the verification code from the signup email.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["username", "password", "code"], 13 + "properties": { 14 + "username": { 15 + "type": "string", 16 + "description": "Desired username; the assigned handle is <username>.<pds domain>." 17 + }, 18 + "password": { 19 + "type": "string", 20 + "description": "Password for the new account." 21 + }, 22 + "code": { 23 + "type": "string", 24 + "description": "Verification code from the signup email." 25 + } 26 + } 27 + } 28 + }, 29 + "output": { 30 + "encoding": "application/json", 31 + "schema": { 32 + "type": "object", 33 + "required": ["did", "handle"], 34 + "properties": { 35 + "did": { 36 + "type": "string", 37 + "format": "did", 38 + "description": "DID of the newly provisioned account." 39 + }, 40 + "handle": { 41 + "type": "string", 42 + "description": "The assigned handle, <username>.<pds domain>." 43 + } 44 + } 45 + } 46 + }, 47 + "errors": [ 48 + { "name": "SignupDisabled", "description": "Signup is not currently enabled on this service." }, 49 + { "name": "InvalidUsername", "description": "Username must be 4-63 characters, lowercase letters, digits, or hyphens, and cannot start or end with a hyphen." }, 50 + { "name": "UsernameUnavailable", "description": "This username is reserved or already taken." }, 51 + { "name": "InvalidCode", "description": "The verification code is invalid or has expired." } 52 + ] 53 + } 54 + } 55 + }
+26
lexicons/temp/account/deleteEmail.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.deleteEmail", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Remove an email address from the authenticated account. Cannot remove the primary address.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["email"], 13 + "properties": { 14 + "email": { 15 + "type": "string", 16 + "description": "Email address to remove." 17 + } 18 + } 19 + } 20 + }, 21 + "errors": [ 22 + { "name": "CannotDeletePrimary", "description": "The primary email address cannot be deleted. Set another address as primary first." } 23 + ] 24 + } 25 + } 26 + }
+10
lexicons/temp/account/dismissNewsletter.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.dismissNewsletter", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Dismiss the newsletter sign-up prompt without subscribing." 8 + } 9 + } 10 + }
+48
lexicons/temp/account/listEmails.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.listEmails", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "List all email addresses associated with the authenticated account.", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["emails"], 13 + "properties": { 14 + "emails": { 15 + "type": "array", 16 + "items": { 17 + "type": "ref", 18 + "ref": "#email" 19 + } 20 + } 21 + } 22 + } 23 + } 24 + }, 25 + "email": { 26 + "type": "object", 27 + "required": ["address", "verified", "primary", "createdAt"], 28 + "properties": { 29 + "address": { 30 + "type": "string", 31 + "description": "Email address." 32 + }, 33 + "verified": { 34 + "type": "boolean", 35 + "description": "Whether the address has been verified." 36 + }, 37 + "primary": { 38 + "type": "boolean", 39 + "description": "Whether this is the primary email address." 40 + }, 41 + "createdAt": { 42 + "type": "string", 43 + "format": "datetime" 44 + } 45 + } 46 + } 47 + } 48 + }
+27
lexicons/temp/account/setPrimaryEmail.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.setPrimaryEmail", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Set an email address as the primary address for the authenticated account. The address must already be verified.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["email"], 13 + "properties": { 14 + "email": { 15 + "type": "string", 16 + "description": "Email address to promote to primary." 17 + } 18 + } 19 + } 20 + }, 21 + "errors": [ 22 + { "name": "EmailNotVerified", "description": "The email address must be verified before it can be made primary." }, 23 + { "name": "EmailNotFound", "description": "The email address is not associated with this account." } 24 + ] 25 + } 26 + } 27 + }
+10
lexicons/temp/account/subscribeNewsletter.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.account.subscribeNewsletter", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Opt the authenticated account into newsletter / announcement emails." 8 + } 9 + } 10 + }
+43
lexicons/temp/focus/beginSession.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.focus.beginSession", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Activate focus mode. Returns the oldest unread work notification so the client can navigate to it.", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "properties": { 13 + "notificationId": { 14 + "type": "integer", 15 + "description": "ID of the first notification to address. Absent if the queue is empty." 16 + }, 17 + "repoDid": { 18 + "type": "string", 19 + "format": "did", 20 + "description": "DID of the repository the item belongs to. Absent if the queue is empty." 21 + }, 22 + "issueAt": { 23 + "type": "string", 24 + "format": "at-uri", 25 + "description": "AT-URI of the issue to navigate to, if the item is an issue." 26 + }, 27 + "pullAt": { 28 + "type": "string", 29 + "format": "at-uri", 30 + "description": "AT-URI of the pull to navigate to, if the item is a pull." 31 + } 32 + } 33 + } 34 + }, 35 + "errors": [ 36 + { 37 + "name": "NoFocusItems", 38 + "description": "There are no unread work notifications to focus on." 39 + } 40 + ] 41 + } 42 + } 43 + }
+10
lexicons/temp/focus/endSession.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.focus.endSession", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Deactivate focus mode." 8 + } 9 + } 10 + }
+50
lexicons/temp/focus/nextItem.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.focus.nextItem", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Mark the current focus notification as read and return the next one. Ends focus mode and returns no item when the queue is exhausted.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["currentId"], 13 + "properties": { 14 + "currentId": { 15 + "type": "integer", 16 + "description": "ID of the notification just addressed, to be marked read." 17 + } 18 + } 19 + } 20 + }, 21 + "output": { 22 + "encoding": "application/json", 23 + "schema": { 24 + "type": "object", 25 + "properties": { 26 + "notificationId": { 27 + "type": "integer", 28 + "description": "ID of the next notification to address. Absent when focus mode has ended." 29 + }, 30 + "repoDid": { 31 + "type": "string", 32 + "format": "did", 33 + "description": "DID of the repository the next item belongs to. Absent when focus mode has ended." 34 + }, 35 + "issueAt": { 36 + "type": "string", 37 + "format": "at-uri", 38 + "description": "AT-URI of the issue to navigate to, if the item is an issue." 39 + }, 40 + "pullAt": { 41 + "type": "string", 42 + "format": "at-uri", 43 + "description": "AT-URI of the pull to navigate to, if the item is a pull." 44 + } 45 + } 46 + } 47 + } 48 + } 49 + } 50 + }
+23
lexicons/temp/notification/deleteNotification.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.deleteNotification", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Delete a notification.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["id"], 13 + "properties": { 14 + "id": { 15 + "type": "integer", 16 + "description": "ID of the notification to delete." 17 + } 18 + } 19 + } 20 + } 21 + } 22 + } 23 + }
+44
lexicons/temp/notification/getPreferences.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.getPreferences", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get notification preferences for the authenticated user.", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "ref", 12 + "ref": "#preferences" 13 + } 14 + } 15 + }, 16 + "preferences": { 17 + "type": "object", 18 + "required": [ 19 + "repoStarred", 20 + "issueCreated", 21 + "issueCommented", 22 + "issueClosed", 23 + "pullCreated", 24 + "pullCommented", 25 + "pullMerged", 26 + "followed", 27 + "userMentioned", 28 + "emailNotifications" 29 + ], 30 + "properties": { 31 + "repoStarred": { "type": "boolean" }, 32 + "issueCreated": { "type": "boolean" }, 33 + "issueCommented": { "type": "boolean" }, 34 + "issueClosed": { "type": "boolean" }, 35 + "pullCreated": { "type": "boolean" }, 36 + "pullCommented": { "type": "boolean" }, 37 + "pullMerged": { "type": "boolean" }, 38 + "followed": { "type": "boolean" }, 39 + "userMentioned": { "type": "boolean" }, 40 + "emailNotifications": { "type": "boolean" } 41 + } 42 + } 43 + } 44 + }
+22
lexicons/temp/notification/getUnreadCount.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.getUnreadCount", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get the total number of unread notifications for the authenticated user. Used to drive the bell badge.", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["count"], 13 + "properties": { 14 + "count": { 15 + "type": "integer" 16 + } 17 + } 18 + } 19 + } 20 + } 21 + } 22 + }
+102
lexicons/temp/notification/listNotifications.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.listNotifications", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "List notifications for the authenticated user, split by category.", 8 + "parameters": { 9 + "type": "params", 10 + "properties": { 11 + "limit": { 12 + "type": "integer", 13 + "minimum": 1, 14 + "maximum": 100, 15 + "description": "Max notifications per category to return." 16 + }, 17 + "cursor": { 18 + "type": "string" 19 + }, 20 + "read": { 21 + "type": "string", 22 + "description": "Filter by read state: 'all' or 'unread'." 23 + }, 24 + "category": { 25 + "type": "string", 26 + "description": "Filter by category: 'all', 'social', or 'work'." 27 + } 28 + } 29 + }, 30 + "output": { 31 + "encoding": "application/json", 32 + "schema": { 33 + "type": "object", 34 + "required": ["notifications", "workUnreadCount", "socialUnreadCount"], 35 + "properties": { 36 + "notifications": { 37 + "type": "array", 38 + "items": { 39 + "type": "ref", 40 + "ref": "#notification" 41 + } 42 + }, 43 + "workUnreadCount": { 44 + "type": "integer" 45 + }, 46 + "socialUnreadCount": { 47 + "type": "integer" 48 + }, 49 + "cursor": { 50 + "type": "string" 51 + } 52 + } 53 + } 54 + } 55 + }, 56 + "notification": { 57 + "type": "object", 58 + "required": ["id", "type", "category", "actorDid", "read", "createdAt"], 59 + "properties": { 60 + "id": { 61 + "type": "integer", 62 + "description": "Stable numeric ID for this notification." 63 + }, 64 + "type": { 65 + "type": "string", 66 + "description": "Notification type: repo_starred, issue_created, issue_commented, issue_closed, issue_reopen, issue_assigned, issue_unassigned, pull_created, pull_commented, pull_merged, pull_closed, pull_reopen, pull_assigned, pull_unassigned, followed, user_mentioned." 67 + }, 68 + "category": { 69 + "type": "string", 70 + "description": "Broad category: 'social' or 'work'." 71 + }, 72 + "actorDid": { 73 + "type": "string", 74 + "format": "did", 75 + "description": "DID of the user who triggered this notification." 76 + }, 77 + "read": { 78 + "type": "boolean" 79 + }, 80 + "createdAt": { 81 + "type": "string", 82 + "format": "datetime" 83 + }, 84 + "repoDid": { 85 + "type": "string", 86 + "format": "did", 87 + "description": "DID of the related repository, if applicable." 88 + }, 89 + "issueAt": { 90 + "type": "string", 91 + "format": "at-uri", 92 + "description": "AT-URI of the related org.tangled.issue.issue record, if applicable." 93 + }, 94 + "pullAt": { 95 + "type": "string", 96 + "format": "at-uri", 97 + "description": "AT-URI of the related org.tangled.pulls.pull record, if applicable." 98 + } 99 + } 100 + } 101 + } 102 + }
+10
lexicons/temp/notification/markAllRead.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.markAllRead", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Mark all of the authenticated user's notifications as read." 8 + } 9 + } 10 + }
+28
lexicons/temp/notification/updatePreferences.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.updatePreferences", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Update notification preferences for the authenticated user. Only provided fields are updated.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "properties": { 13 + "repoStarred": { "type": "boolean" }, 14 + "issueCreated": { "type": "boolean" }, 15 + "issueCommented": { "type": "boolean" }, 16 + "issueClosed": { "type": "boolean" }, 17 + "pullCreated": { "type": "boolean" }, 18 + "pullCommented": { "type": "boolean" }, 19 + "pullMerged": { "type": "boolean" }, 20 + "followed": { "type": "boolean" }, 21 + "userMentioned": { "type": "boolean" }, 22 + "emailNotifications": { "type": "boolean" } 23 + } 24 + } 25 + } 26 + } 27 + } 28 + }
+26
lexicons/temp/notification/updateSeen.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.notification.updateSeen", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Mark a single notification as read or unread.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["id", "read"], 13 + "properties": { 14 + "id": { 15 + "type": "integer", 16 + "description": "ID of the notification to update." 17 + }, 18 + "read": { 19 + "type": "boolean" 20 + } 21 + } 22 + } 23 + } 24 + } 25 + } 26 + }
+60
lexicons/temp/repo/createWebhook.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.createWebhook", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Create a new webhook for a repository.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "url", "events"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "url": { 20 + "type": "string", 21 + "format": "uri", 22 + "description": "Endpoint URL that will receive webhook payloads." 23 + }, 24 + "secret": { 25 + "type": "string", 26 + "description": "Optional HMAC secret used to sign payloads. If omitted, payloads are not signed." 27 + }, 28 + "active": { 29 + "type": "boolean", 30 + "description": "Whether the webhook should be active immediately. Defaults to true." 31 + }, 32 + "events": { 33 + "type": "array", 34 + "description": "Event types to subscribe to (e.g. 'push', 'repository:renamed').", 35 + "items": { 36 + "type": "string" 37 + } 38 + } 39 + } 40 + } 41 + }, 42 + "output": { 43 + "encoding": "application/json", 44 + "schema": { 45 + "type": "object", 46 + "required": ["id"], 47 + "properties": { 48 + "id": { 49 + "type": "integer", 50 + "description": "ID of the newly created webhook." 51 + } 52 + } 53 + } 54 + }, 55 + "errors": [ 56 + { "name": "NoEventsSelected", "description": "At least one event type must be specified." } 57 + ] 58 + } 59 + } 60 + }
+31
lexicons/temp/repo/deleteWebhook.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.deleteWebhook", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Delete a webhook from a repository.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "id"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "id": { 20 + "type": "integer", 21 + "description": "Webhook ID to delete." 22 + } 23 + } 24 + } 25 + }, 26 + "errors": [ 27 + { "name": "WebhookNotFound" } 28 + ] 29 + } 30 + } 31 + }
+27
lexicons/temp/repo/disableSite.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.disableSite", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Remove the site configuration for a repository, deleting its deployed files.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + } 19 + } 20 + } 21 + }, 22 + "errors": [ 23 + { "name": "SiteNotFound", "description": "No site configuration exists for this repository." } 24 + ] 25 + } 26 + } 27 + }
+52
lexicons/temp/repo/getSiteConfig.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.getSiteConfig", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get the site configuration for a repository, if one exists.", 8 + "parameters": { 9 + "type": "params", 10 + "required": ["repoDid"], 11 + "properties": { 12 + "repoDid": { 13 + "type": "string", 14 + "format": "did", 15 + "description": "DID of the repository as minted by the knot." 16 + } 17 + } 18 + }, 19 + "output": { 20 + "encoding": "application/json", 21 + "schema": { 22 + "type": "object", 23 + "properties": { 24 + "config": { 25 + "type": "ref", 26 + "ref": "#siteConfig", 27 + "description": "Site config for the repository. Absent if no site is configured." 28 + } 29 + } 30 + } 31 + } 32 + }, 33 + "siteConfig": { 34 + "type": "object", 35 + "required": ["branch", "dir", "isIndex"], 36 + "properties": { 37 + "branch": { 38 + "type": "string", 39 + "description": "Branch to deploy from." 40 + }, 41 + "dir": { 42 + "type": "string", 43 + "description": "Directory within the repository to deploy (e.g. '/' or '/docs')." 44 + }, 45 + "isIndex": { 46 + "type": "boolean", 47 + "description": "Whether this repo serves as the index (root) for the domain." 48 + } 49 + } 50 + } 51 + } 52 + }
+83
lexicons/temp/repo/listWebhookDeliveries.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.listWebhookDeliveries", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "List recent delivery attempts for a webhook.", 8 + "parameters": { 9 + "type": "params", 10 + "required": ["repoDid", "id"], 11 + "properties": { 12 + "repoDid": { 13 + "type": "string", 14 + "format": "did", 15 + "description": "DID of the repository as minted by the knot." 16 + }, 17 + "id": { 18 + "type": "integer", 19 + "description": "Webhook ID." 20 + }, 21 + "limit": { 22 + "type": "integer", 23 + "minimum": 1, 24 + "maximum": 100 25 + } 26 + } 27 + }, 28 + "output": { 29 + "encoding": "application/json", 30 + "schema": { 31 + "type": "object", 32 + "required": ["deliveries"], 33 + "properties": { 34 + "deliveries": { 35 + "type": "array", 36 + "items": { 37 + "type": "ref", 38 + "ref": "#delivery" 39 + } 40 + } 41 + } 42 + } 43 + } 44 + }, 45 + "delivery": { 46 + "type": "object", 47 + "required": ["id", "deliveryId", "event", "url", "success", "createdAt"], 48 + "properties": { 49 + "id": { 50 + "type": "integer" 51 + }, 52 + "deliveryId": { 53 + "type": "string", 54 + "description": "UUID for tracking this delivery attempt." 55 + }, 56 + "event": { 57 + "type": "string", 58 + "description": "Event type that triggered the delivery." 59 + }, 60 + "url": { 61 + "type": "string", 62 + "format": "uri" 63 + }, 64 + "requestBody": { 65 + "type": "string" 66 + }, 67 + "responseCode": { 68 + "type": "integer" 69 + }, 70 + "responseBody": { 71 + "type": "string" 72 + }, 73 + "success": { 74 + "type": "boolean" 75 + }, 76 + "createdAt": { 77 + "type": "string", 78 + "format": "datetime" 79 + } 80 + } 81 + } 82 + } 83 + }
+71
lexicons/temp/repo/listWebhooks.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.listWebhooks", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "List webhooks configured for a repository.", 8 + "parameters": { 9 + "type": "params", 10 + "required": ["repoDid"], 11 + "properties": { 12 + "repoDid": { 13 + "type": "string", 14 + "format": "did", 15 + "description": "DID of the repository as minted by the knot." 16 + } 17 + } 18 + }, 19 + "output": { 20 + "encoding": "application/json", 21 + "schema": { 22 + "type": "object", 23 + "required": ["webhooks"], 24 + "properties": { 25 + "webhooks": { 26 + "type": "array", 27 + "items": { 28 + "type": "ref", 29 + "ref": "#webhook" 30 + } 31 + } 32 + } 33 + } 34 + } 35 + }, 36 + "webhook": { 37 + "type": "object", 38 + "required": ["id", "url", "active", "events", "createdAt"], 39 + "properties": { 40 + "id": { 41 + "type": "integer", 42 + "description": "Webhook identifier." 43 + }, 44 + "url": { 45 + "type": "string", 46 + "format": "uri", 47 + "description": "Endpoint URL that receives webhook payloads." 48 + }, 49 + "active": { 50 + "type": "boolean", 51 + "description": "Whether the webhook is currently enabled." 52 + }, 53 + "events": { 54 + "type": "array", 55 + "description": "Event types this webhook is subscribed to (e.g. 'push', 'repository:renamed').", 56 + "items": { 57 + "type": "string" 58 + } 59 + }, 60 + "createdAt": { 61 + "type": "string", 62 + "format": "datetime" 63 + }, 64 + "updatedAt": { 65 + "type": "string", 66 + "format": "datetime" 67 + } 68 + } 69 + } 70 + } 71 + }
+36
lexicons/temp/repo/retryWebhookDelivery.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.retryWebhookDelivery", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Re-send a specific webhook delivery.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "webhookId", "deliveryId"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "webhookId": { 20 + "type": "integer", 21 + "description": "Webhook ID that owns the delivery." 22 + }, 23 + "deliveryId": { 24 + "type": "string", 25 + "description": "UUID of the delivery to retry." 26 + } 27 + } 28 + } 29 + }, 30 + "errors": [ 31 + { "name": "WebhookNotFound" }, 32 + { "name": "DeliveryNotFound" } 33 + ] 34 + } 35 + } 36 + }
+44
lexicons/temp/repo/toggleWebhook.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.toggleWebhook", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Toggle the active state of a webhook.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "id"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "id": { 20 + "type": "integer", 21 + "description": "Webhook ID to toggle." 22 + } 23 + } 24 + } 25 + }, 26 + "output": { 27 + "encoding": "application/json", 28 + "schema": { 29 + "type": "object", 30 + "required": ["active"], 31 + "properties": { 32 + "active": { 33 + "type": "boolean", 34 + "description": "New active state of the webhook." 35 + } 36 + } 37 + } 38 + }, 39 + "errors": [ 40 + { "name": "WebhookNotFound" } 41 + ] 42 + } 43 + } 44 + }
+39
lexicons/temp/repo/updateSiteConfig.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.updateSiteConfig", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Create or update the site configuration for a repository and trigger a deployment.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "branch", "dir"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "branch": { 20 + "type": "string", 21 + "description": "Branch to deploy from." 22 + }, 23 + "dir": { 24 + "type": "string", 25 + "description": "Directory within the repository to deploy (e.g. '/' or '/docs')." 26 + }, 27 + "isIndex": { 28 + "type": "boolean", 29 + "description": "Whether this repo should serve as the index (root) for the claimed domain." 30 + } 31 + } 32 + } 33 + }, 34 + "errors": [ 35 + { "name": "NoDomainClaim", "description": "The account does not have an active domain claim." } 36 + ] 37 + } 38 + } 39 + }
+47
lexicons/temp/repo/updateWebhook.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.repo.updateWebhook", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Update an existing webhook. Only supplied fields are changed.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["repoDid", "id"], 13 + "properties": { 14 + "repoDid": { 15 + "type": "string", 16 + "format": "did", 17 + "description": "DID of the repository as minted by the knot." 18 + }, 19 + "id": { 20 + "type": "integer", 21 + "description": "Webhook ID to update." 22 + }, 23 + "url": { 24 + "type": "string", 25 + "format": "uri" 26 + }, 27 + "secret": { 28 + "type": "string" 29 + }, 30 + "active": { 31 + "type": "boolean" 32 + }, 33 + "events": { 34 + "type": "array", 35 + "items": { 36 + "type": "string" 37 + } 38 + } 39 + } 40 + } 41 + }, 42 + "errors": [ 43 + { "name": "WebhookNotFound" } 44 + ] 45 + } 46 + } 47 + }
+118
lexicons/temp/search/searchCode.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.search.searchCode", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Full-text code search across indexed repositories, backed by Zoekt.", 8 + "parameters": { 9 + "type": "params", 10 + "required": ["q"], 11 + "properties": { 12 + "q": { 13 + "type": "string", 14 + "description": "Search query string." 15 + }, 16 + "repoDid": { 17 + "type": "string", 18 + "format": "did", 19 + "description": "Restrict search to a specific repository, by its DID." 20 + }, 21 + "lang": { 22 + "type": "string", 23 + "description": "Restrict search to a specific programming language (e.g. 'go', 'rust')." 24 + }, 25 + "limit": { 26 + "type": "integer", 27 + "minimum": 1, 28 + "maximum": 100 29 + }, 30 + "cursor": { 31 + "type": "string" 32 + } 33 + } 34 + }, 35 + "output": { 36 + "encoding": "application/json", 37 + "schema": { 38 + "type": "object", 39 + "required": ["results"], 40 + "properties": { 41 + "results": { 42 + "type": "array", 43 + "items": { 44 + "type": "ref", 45 + "ref": "#fileResult" 46 + } 47 + }, 48 + "cursor": { 49 + "type": "string" 50 + } 51 + } 52 + } 53 + } 54 + }, 55 + "fileResult": { 56 + "type": "object", 57 + "required": ["repoDid", "path", "chunks"], 58 + "properties": { 59 + "repoDid": { 60 + "type": "string", 61 + "format": "did", 62 + "description": "DID of the repository as minted by the knot." 63 + }, 64 + "path": { 65 + "type": "string", 66 + "description": "File path relative to repository root." 67 + }, 68 + "language": { 69 + "type": "string", 70 + "description": "Detected programming language." 71 + }, 72 + "chunks": { 73 + "type": "array", 74 + "items": { 75 + "type": "ref", 76 + "ref": "#chunk" 77 + } 78 + } 79 + } 80 + }, 81 + "chunk": { 82 + "type": "object", 83 + "required": ["content", "lineStart"], 84 + "properties": { 85 + "content": { 86 + "type": "string", 87 + "description": "Source lines for this match chunk." 88 + }, 89 + "lineStart": { 90 + "type": "integer", 91 + "description": "1-based line number of the first line in content." 92 + }, 93 + "highlights": { 94 + "type": "array", 95 + "description": "Byte-offset ranges within content that match the query.", 96 + "items": { 97 + "type": "ref", 98 + "ref": "#highlight" 99 + } 100 + } 101 + } 102 + }, 103 + "highlight": { 104 + "type": "object", 105 + "required": ["start", "end"], 106 + "properties": { 107 + "start": { 108 + "type": "integer", 109 + "description": "Start byte offset within the chunk content string." 110 + }, 111 + "end": { 112 + "type": "integer", 113 + "description": "End byte offset (exclusive) within the chunk content string." 114 + } 115 + } 116 + } 117 + } 118 + }
+29
lexicons/temp/site/claimDomain.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.site.claimDomain", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Claim a subdomain under the sites domain (e.g. 'alice' → alice.sites.tangled.sh) for the authenticated user.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["subdomain"], 13 + "properties": { 14 + "subdomain": { 15 + "type": "string", 16 + "description": "Desired subdomain label (lowercase letters, digits, and hyphens; 4–63 characters)." 17 + } 18 + } 19 + } 20 + }, 21 + "errors": [ 22 + { "name": "DomainTaken", "description": "That subdomain is already claimed by another user." }, 23 + { "name": "DomainCooldown", "description": "That subdomain was recently released and is in a cooldown period." }, 24 + { "name": "AlreadyClaimed", "description": "You already have a domain claimed. Release it before claiming a new one." }, 25 + { "name": "InvalidSubdomain", "description": "The subdomain label is invalid." } 26 + ] 27 + } 28 + } 29 + }
+22
lexicons/temp/site/getDomainClaim.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.site.getDomainClaim", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Get the active sites domain claim for the authenticated user, if any.", 8 + "output": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "properties": { 13 + "domain": { 14 + "type": "string", 15 + "description": "The claimed domain (e.g. 'alice.sites.tangled.sh'). Absent if no active claim." 16 + } 17 + } 18 + } 19 + } 20 + } 21 + } 22 + }
+26
lexicons/temp/site/releaseDomain.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "org.tangled.temp.site.releaseDomain", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Release the authenticated user's active domain claim, removing all associated site data.", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "required": ["domain"], 13 + "properties": { 14 + "domain": { 15 + "type": "string", 16 + "description": "Full domain to release (must match the user's active claim)." 17 + } 18 + } 19 + } 20 + }, 21 + "errors": [ 22 + { "name": "DomainNotFound", "description": "No active claim found for the given domain under this account." } 23 + ] 24 + } 25 + } 26 + }