moeralib 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +8 -0
  3. package/lib/naming/index.js +14 -0
  4. package/lib/naming/naming.js +203 -0
  5. package/lib/naming/schemas.mjs +184 -0
  6. package/lib/naming/types.js +2 -0
  7. package/lib/naming/validate.js +9 -0
  8. package/lib/naming/validators.js +2065 -0
  9. package/lib/node/caller.js +267 -0
  10. package/lib/node/cartes.js +55 -0
  11. package/lib/node/index.js +13 -0
  12. package/lib/node/node.js +1405 -0
  13. package/lib/node/schemas.mjs +4582 -0
  14. package/lib/node/types.js +3 -0
  15. package/lib/node/validate.js +9 -0
  16. package/lib/node/validators.js +60225 -0
  17. package/lib/schema.js +20 -0
  18. package/lib/schemas-compile.mjs +42 -0
  19. package/lib/universal-location.js +164 -0
  20. package/lib/util.js +42 -0
  21. package/nodejs-moera-api/nodejs-moera-api +4 -0
  22. package/nodejs-moera-api/nodejsmoeraapi.py +578 -0
  23. package/package.json +65 -0
  24. package/src/naming/index.ts +12 -0
  25. package/src/naming/naming.ts +234 -0
  26. package/src/naming/schemas.mjs +194 -0
  27. package/src/naming/types.ts +39 -0
  28. package/src/naming/validate.ts +6 -0
  29. package/src/naming/validators.d.ts +3 -0
  30. package/src/naming/validators.js +2084 -0
  31. package/src/node/caller.ts +311 -0
  32. package/src/node/cartes.ts +51 -0
  33. package/src/node/index.ts +3 -0
  34. package/src/node/node.ts +1285 -0
  35. package/src/node/schemas.mjs +4715 -0
  36. package/src/node/types.ts +1544 -0
  37. package/src/node/validate.ts +6 -0
  38. package/src/node/validators.d.ts +3 -0
  39. package/src/node/validators.js +60484 -0
  40. package/src/schema.ts +30 -0
  41. package/src/schemas-compile.mjs +51 -0
  42. package/src/universal-location.ts +212 -0
  43. package/src/util.ts +42 -0
  44. package/tsconfig.json +112 -0
  45. package/typings/naming/index.d.ts +2 -0
  46. package/typings/naming/index.d.ts.map +1 -0
  47. package/typings/naming/naming.d.ts +31 -0
  48. package/typings/naming/naming.d.ts.map +1 -0
  49. package/typings/naming/schemas.d.mts +271 -0
  50. package/typings/naming/schemas.d.mts.map +1 -0
  51. package/typings/naming/types.d.ts +35 -0
  52. package/typings/naming/types.d.ts.map +1 -0
  53. package/typings/naming/validate.d.ts +3 -0
  54. package/typings/naming/validate.d.ts.map +1 -0
  55. package/typings/naming/validators.d.ts +73 -0
  56. package/typings/naming/validators.d.ts.map +1 -0
  57. package/typings/node/caller.d.ts +52 -0
  58. package/typings/node/caller.d.ts.map +1 -0
  59. package/typings/node/cartes.d.ts +13 -0
  60. package/typings/node/cartes.d.ts.map +1 -0
  61. package/typings/node/index.d.ts +4 -0
  62. package/typings/node/index.d.ts.map +1 -0
  63. package/typings/node/node.d.ts +176 -0
  64. package/typings/node/node.d.ts.map +1 -0
  65. package/typings/node/schemas.d.mts +6205 -0
  66. package/typings/node/schemas.d.mts.map +1 -0
  67. package/typings/node/types.d.ts +1340 -0
  68. package/typings/node/types.d.ts.map +1 -0
  69. package/typings/node/validate.d.ts +3 -0
  70. package/typings/node/validate.d.ts.map +1 -0
  71. package/typings/node/validators.d.ts +920 -0
  72. package/typings/node/validators.d.ts.map +1 -0
  73. package/typings/schema.d.ts +18 -0
  74. package/typings/schema.d.ts.map +1 -0
  75. package/typings/schemas-compile.d.mts +2 -0
  76. package/typings/schemas-compile.d.mts.map +1 -0
  77. package/typings/universal-location.d.ts +25 -0
  78. package/typings/universal-location.d.ts.map +1 -0
  79. package/typings/util.d.ts +6 -0
  80. package/typings/util.d.ts.map +1 -0
@@ -0,0 +1,176 @@
1
+ /// <reference types="node" />
2
+ import { Caller } from "./caller";
3
+ import * as API from "./types";
4
+ export declare class MoeraNode extends Caller {
5
+ constructor(nodeUrl?: string | null);
6
+ searchActivityReactions(filter: API.ActivityReactionFilter): Promise<API.ActivityReactionInfo[]>;
7
+ getRemotePostingVerificationStatus(id: string): Promise<API.RemotePostingVerificationInfo>;
8
+ getRemoteReactionVerificationStatus(id: string): Promise<API.RemoteReactionVerificationInfo>;
9
+ getAvatars(): Promise<API.AvatarInfo[]>;
10
+ createAvatar(avatar: API.AvatarAttributes): Promise<API.AvatarInfo>;
11
+ getAvatar(id: string): Promise<API.AvatarInfo>;
12
+ deleteAvatar(id: string): Promise<API.Result>;
13
+ reorderAvatars(order: API.AvatarsOrdered): Promise<API.AvatarOrdinal[]>;
14
+ blockInstant(instant: API.BlockedInstantAttributes): Promise<API.BlockedInstantInfo>;
15
+ getBlockedInstant(id: string): Promise<API.BlockedInstantInfo>;
16
+ unblockInstant(id: string): Promise<API.Result>;
17
+ searchBlockedInstants(filter: API.BlockedInstantFilter): Promise<API.BlockedInstantInfo[]>;
18
+ blockUser(user: API.BlockedUserAttributes): Promise<API.BlockedUserInfo>;
19
+ getBlockedUser(id: string): Promise<API.BlockedUserInfo>;
20
+ unblockUser(id: string): Promise<API.Result>;
21
+ searchBlockedUsers(filter: API.BlockedUserFilter): Promise<API.BlockedUserInfo[]>;
22
+ getBlockedUsersChecksums(): Promise<API.BlockedUsersChecksums>;
23
+ getBlockedByUser(id: string): Promise<API.BlockedByUserInfo>;
24
+ searchBlockedByUsers(filter: API.BlockedByUserFilter): Promise<API.BlockedByUserInfo[]>;
25
+ getCartes(limit?: number | null): Promise<API.CarteSet>;
26
+ getCommentsSlice(postingId: string, after?: number | null, before?: number | null, limit?: number | null): Promise<API.CommentsSliceInfo>;
27
+ createComment(postingId: string, comment: API.CommentText): Promise<API.CommentCreated>;
28
+ getComment(postingId: string, commentId: string, withSource?: boolean): Promise<API.CommentInfo>;
29
+ updateAllComments(postingId: string, attributes: API.CommentMassAttributes): Promise<API.Result>;
30
+ updateComment(postingId: string, commentId: string, comment: API.CommentText): Promise<API.CommentInfo>;
31
+ deleteComment(postingId: string, commentId: string): Promise<API.CommentTotalInfo>;
32
+ getPostingsAttachedToComment(postingId: string, commentId: string): Promise<API.PostingInfo[]>;
33
+ getCommentRevisions(postingId: string, commentId: string): Promise<API.CommentRevisionInfo[]>;
34
+ getCommentRevision(postingId: string, commentId: string, id: string): Promise<API.CommentRevisionInfo>;
35
+ createCommentReaction(postingId: string, commentId: string, reaction: API.ReactionDescription): Promise<API.ReactionCreated>;
36
+ updateCommentReaction(postingId: string, commentId: string, ownerName: string, reaction: API.ReactionOverride): Promise<API.ReactionInfo>;
37
+ getCommentReactionsSlice(postingId: string, commentId: string, negative?: boolean | null, emoji?: number | null, before?: number | null, limit?: number | null): Promise<API.ReactionsSliceInfo>;
38
+ getCommentReaction(postingId: string, commentId: string, ownerName: string): Promise<API.ReactionInfo>;
39
+ deleteAllCommentReactions(postingId: string, commentId: string): Promise<API.Result>;
40
+ deleteCommentReaction(postingId: string, commentId: string, ownerName: string): Promise<API.ReactionTotalsInfo>;
41
+ getCommentReactionTotals(postingId: string, commentId: string): Promise<API.ReactionTotalsInfo>;
42
+ getContacts(query?: string | null, limit?: number | null): Promise<API.ContactInfo[]>;
43
+ checkCredentials(): Promise<API.CredentialsCreated>;
44
+ createCredentials(credentials: API.Credentials): Promise<API.Result>;
45
+ updateCredentials(credentials: API.CredentialsChange): Promise<API.Result>;
46
+ deleteCredentials(): Promise<API.Result>;
47
+ resetCredentials(): Promise<API.EmailHint>;
48
+ getDeletedPostings(page?: number | null, limit?: number | null): Promise<API.PostingInfo[]>;
49
+ getDeletedPosting(id: string): Promise<API.PostingInfo>;
50
+ restoreDeletedPosting(id: string): Promise<API.PostingInfo>;
51
+ getDeletePostingRevisions(postingId: string, limit?: number | null): Promise<API.PostingRevisionInfo[]>;
52
+ getDeletedPostingRevision(postingId: string, id: string): Promise<API.PostingRevisionInfo>;
53
+ restoreDeletedPostingRevision(postingId: string, id: string): Promise<API.PostingRevisionInfo>;
54
+ getDomains(): Promise<API.DomainInfo[]>;
55
+ getDomain(name: string): Promise<API.DomainInfo>;
56
+ createDomain(domain: API.DomainAttributes): Promise<API.DomainInfo>;
57
+ updateDomain(name: string, domain: API.DomainAttributes): Promise<API.DomainInfo>;
58
+ deleteDomain(name: string): Promise<API.Result>;
59
+ isDomainAvailable(remoteNodeName: string): Promise<API.DomainAvailable>;
60
+ getDrafts(draftType: API.DraftType, remoteNodeName: string, postingId?: string | null, commentId?: string | null, page?: number | null, limit?: number | null): Promise<API.DraftInfo[]>;
61
+ createDraft(draft: API.DraftText): Promise<API.DraftInfo>;
62
+ getDraft(id: string): Promise<API.DraftInfo>;
63
+ updateDraft(id: string, draft: API.DraftText): Promise<API.DraftInfo>;
64
+ deleteDraft(id: string): Promise<API.Result>;
65
+ getFeatures(): Promise<API.Features>;
66
+ getFeeds(): Promise<API.FeedInfo[]>;
67
+ getFeedGeneral(feedName: string): Promise<API.FeedInfo>;
68
+ getFeedStatus(feedName: string): Promise<API.FeedStatus>;
69
+ updateFeedStatus(feedName: string, change: API.FeedStatusChange): Promise<API.FeedStatus>;
70
+ getFeedSlice(feedName: string, after?: number | null, before?: number | null, limit?: number | null): Promise<API.FeedSliceInfo>;
71
+ getFriendGroups(): Promise<API.FriendGroupInfo[]>;
72
+ getFriendGroup(id: string): Promise<API.FriendGroupInfo>;
73
+ createFriendGroup(friendGroup: API.FriendGroupDescription): Promise<API.FriendGroupInfo>;
74
+ updateFriendGroup(id: string, friendGroup: API.FriendGroupDescription): Promise<API.FriendGroupInfo>;
75
+ deleteFriendGroup(id: string): Promise<API.Result>;
76
+ getFriends(groupId?: string | null): Promise<API.FriendInfo[]>;
77
+ getFriend(name: string): Promise<API.FriendInfo>;
78
+ updateFriends(friends: API.FriendDescription[]): Promise<API.FriendInfo[]>;
79
+ getFriendOfs(): Promise<API.FriendOfInfo[]>;
80
+ getFriendOf(name: string): Promise<API.FriendOfInfo>;
81
+ uploadPrivateMedia(body: Buffer): Promise<API.PrivateMediaFileInfo>;
82
+ getPrivateMedia(id: string, width?: number | null, download?: boolean | null): Promise<Blob>;
83
+ getPrivateMediaInfo(id: string): Promise<API.PrivateMediaFileInfo>;
84
+ getPrivateMediaParentEntry(id: string): Promise<API.EntryInfo[]>;
85
+ uploadPublicMedia(body: Buffer): Promise<API.PublicMediaFileInfo>;
86
+ getPublicMedia(id: string, width?: number | null, download?: boolean | null): Promise<Blob>;
87
+ getPublicMediaInfo(id: string): Promise<API.PublicMediaFileInfo>;
88
+ getNodeName(): Promise<API.NodeNameInfo>;
89
+ createNodeName(nameToRegister: API.NameToRegister): Promise<API.RegisteredNameSecret>;
90
+ updateNodeName(secret: API.RegisteredNameSecret): Promise<API.Result>;
91
+ deleteNodeName(): Promise<API.Result>;
92
+ sendNotification(packet: API.NotificationPacket): Promise<API.Result>;
93
+ getPeopleGeneral(): Promise<API.PeopleGeneralInfo>;
94
+ registerPlugin(plugin: API.PluginDescription): Promise<API.PluginInfo>;
95
+ getPlugins(): Promise<API.PluginInfo[]>;
96
+ getPlugin(pluginName: string): Promise<API.PluginInfo>;
97
+ unregisterPlugin(pluginName: string): Promise<API.Result>;
98
+ createPosting(posting: API.PostingText): Promise<API.PostingInfo>;
99
+ updatePosting(id: string, posting: API.PostingText): Promise<API.PostingInfo>;
100
+ getPosting(id: string, withSource?: boolean): Promise<API.PostingInfo>;
101
+ deletePosting(id: string): Promise<API.Result>;
102
+ getPostingsAttachedToPosting(id: string): Promise<API.PostingInfo[]>;
103
+ getPostingRevisions(postingId: string, limit?: number | null): Promise<API.PostingRevisionInfo[]>;
104
+ getPostingRevision(postingId: string, id: string): Promise<API.PostingRevisionInfo>;
105
+ restorePostingRevision(postingId: string, id: string): Promise<API.PostingRevisionInfo>;
106
+ createPostingReaction(postingId: string, reaction: API.ReactionDescription): Promise<API.ReactionCreated>;
107
+ getPostingReactionsSlice(postingId: string, negative?: boolean | null, emoji?: number | null, before?: number | null, limit?: number | null): Promise<API.ReactionsSliceInfo>;
108
+ updatePostingReaction(postingId: string, ownerName: string, reaction: API.ReactionOverride): Promise<API.ReactionInfo>;
109
+ getPostingReaction(postingId: string, ownerName: string): Promise<API.ReactionInfo>;
110
+ deleteAllPostingReactions(postingId: string): Promise<API.Result>;
111
+ deletePostingReaction(postingId: string, ownerName: string): Promise<API.ReactionTotalsInfo>;
112
+ searchPostingReactions(filter: API.ReactionsFilter): Promise<API.ReactionInfo[]>;
113
+ getPostingReactionTotals(postingId: string): Promise<API.ReactionTotalsInfo>;
114
+ searchPostingReactionTotals(filter: API.ReactionTotalsFilter): Promise<API.ReactionTotalsInfo[]>;
115
+ getProfile(withSource?: boolean): Promise<API.ProfileInfo>;
116
+ updateProfile(profile: API.ProfileAttributes): Promise<API.ProfileInfo>;
117
+ getDeleteNodeRequestStatus(): Promise<API.DeleteNodeStatus>;
118
+ sendDeleteNodeRequest(deleteNodeText: API.DeleteNodeText): Promise<API.DeleteNodeStatus>;
119
+ cancelDeleteNodeRequest(): Promise<API.DeleteNodeStatus>;
120
+ proxyMedia(url: string): Promise<Blob>;
121
+ proxyLinkPreview(url: string): Promise<API.LinkPreviewInfo>;
122
+ registerAtPushRelay(attributes: API.PushRelayClientAttributes): Promise<API.Result>;
123
+ askRemoteNode(remoteNodeName: string, details: API.AskDescription): Promise<API.Result>;
124
+ createRemoteComment(remoteNodeName: string, postingId: string, comment: API.CommentSourceText): Promise<API.Result>;
125
+ updateRemoteComment(remoteNodeName: string, postingId: string, commentId: string, comment: API.CommentSourceText): Promise<API.Result>;
126
+ deleteRemoteComment(remoteNodeName: string, postingId: string, commentId: string): Promise<API.Result>;
127
+ verifyRemoteComment(remoteNodeName: string, postingId: string, commentId: string): Promise<API.AsyncOperationCreated>;
128
+ createRemoteCommentReaction(remoteNodeName: string, postingId: string, commentId: string, reaction: API.ReactionAttributes): Promise<API.Result>;
129
+ deleteRemoteCommentReaction(remoteNodeName: string, postingId: string, commentId: string): Promise<API.Result>;
130
+ verifyRemoteCommentReaction(remoteNodeName: string, postingId: string, commentId: string, ownerName: string): Promise<API.AsyncOperationCreated>;
131
+ createRemotePosting(remoteNodeName: string, posting: API.PostingSourceText): Promise<API.Result>;
132
+ updateRemotePosting(remoteNodeName: string, postingId: string, posting: API.PostingSourceText): Promise<API.Result>;
133
+ deleteRemotePosting(remoteNodeName: string, postingId: string): Promise<API.Result>;
134
+ verifyRemotePosting(remoteNodeName: string, id: string): Promise<API.AsyncOperationCreated>;
135
+ verifyRemotePostingRevision(remoteNodeName: string, id: string, revisionId: string): Promise<API.AsyncOperationCreated>;
136
+ createRemotePostingReaction(remoteNodeName: string, postingId: string, reaction: API.ReactionAttributes): Promise<API.Result>;
137
+ deleteRemotePostingReaction(remoteNodeName: string, postingId: string): Promise<API.Result>;
138
+ verifyRemotePostingReaction(remoteNodeName: string, postingId: string, ownerName: string): Promise<API.AsyncOperationCreated>;
139
+ createRemoteSheriffOrder(remoteNodeName: string, sheriffOrder: API.SheriffOrderAttributes): Promise<API.Result>;
140
+ getRemoteSheriffOrder(remoteNodeName: string, id: string): Promise<API.SheriffOrderInfo>;
141
+ updateSettings(settings: API.SettingInfo[]): Promise<API.Result>;
142
+ getClientSettings(prefix?: string | null): Promise<API.SettingInfo[]>;
143
+ getNodeSettings(prefix?: string | null): Promise<API.SettingInfo[]>;
144
+ getNodeSettingsMetadata(prefix?: string | null): Promise<API.SettingMetaInfo[]>;
145
+ updateNodeSettingsMetadata(metadata: API.SettingMetaAttributes[]): Promise<API.Result>;
146
+ getSheriffComplaintGroupsSlice(after?: number | null, before?: number | null, limit?: number | null, status?: API.SheriffComplaintStatus | null): Promise<API.SheriffComplaintGroupsSliceInfo>;
147
+ getSheriffComplaintGroup(id: string): Promise<API.SheriffComplaintGroupInfo>;
148
+ getSheriffComplaintsByGroup(id: string): Promise<API.SheriffComplaintInfo[]>;
149
+ updateSheriffComplaintGroup(id: string, decision: API.SheriffComplaintDecisionText): Promise<API.SheriffComplaintGroupInfo>;
150
+ createSheriffComplaint(complaint: API.SheriffComplaintText): Promise<API.SheriffComplaintInfo>;
151
+ createSheriffOrder(sheriffOrder: API.SheriffOrderDetails): Promise<API.Result>;
152
+ getStory(id: string): Promise<API.StoryInfo>;
153
+ updateStory(id: string, story: API.StoryAttributes): Promise<API.StoryInfo>;
154
+ getSubscribers(remoteNodeName?: string | null, type?: API.SubscriptionType | null, feedName?: string | null, entryId?: string | null): Promise<API.SubscriberInfo[]>;
155
+ createSubscriber(subscriber: API.SubscriberDescription): Promise<API.SubscriberInfo>;
156
+ getSubscriber(id: string): Promise<API.SubscriberInfo>;
157
+ updateSubscriber(id: string, subscriber: API.SubscriberOverride): Promise<API.SubscriberInfo>;
158
+ deleteSubscriber(id: string): Promise<API.ContactInfo>;
159
+ getSubscriptions(remoteNodeName?: string | null, type?: API.SubscriptionType | null): Promise<API.SubscriptionInfo[]>;
160
+ createSubscription(subscription: API.SubscriptionDescription): Promise<API.SubscriptionInfo>;
161
+ updateSubscription(id: string, subscription: API.SubscriptionOverride): Promise<API.SubscriptionInfo>;
162
+ deleteSubscription(id: string): Promise<API.ContactInfo>;
163
+ searchSubscriptions(filter: API.SubscriptionFilter): Promise<API.SubscriptionInfo[]>;
164
+ getTokens(): Promise<API.TokenInfo[]>;
165
+ createToken(token: API.TokenAttributes): Promise<API.TokenInfo>;
166
+ getTokenInfo(id: string): Promise<API.TokenInfo>;
167
+ updateToken(id: string, token: API.TokenName): Promise<API.TokenInfo>;
168
+ deleteToken(id: string): Promise<API.Result>;
169
+ getUserListGeneral(name: string): Promise<API.UserListInfo>;
170
+ getUserListSlice(name: string, after?: number | null, before?: number | null, limit?: number | null): Promise<API.UserListSliceInfo>;
171
+ getUserListItem(name: string, remoteNodeName: string): Promise<API.UserListItemInfo>;
172
+ createUserListItem(name: string, item: API.UserListItemAttributes): Promise<API.UserListItemInfo>;
173
+ deleteUserListItem(name: string, remoteNodeName: string): Promise<API.Result>;
174
+ whoAmI(): Promise<API.WhoAmI>;
175
+ }
176
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/node/node.ts"],"names":[],"mappings":"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"}