@colibri-social/lexicons 2.8.0 → 2.9.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 (161) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts +14 -2
  3. package/dist/generated/social/colibri/beta/actor/defs.defs.d.ts.map +1 -1
  4. package/dist/generated/social/colibri/beta/actor/defs.defs.js +4 -1
  5. package/dist/generated/social/colibri/beta/actor/defs.defs.js.map +1 -1
  6. package/dist/generated/social/colibri/beta/channel/listMessages.defs.d.ts +4 -1
  7. package/dist/generated/social/colibri/beta/channel/listMessages.defs.d.ts.map +1 -1
  8. package/dist/generated/social/colibri/beta/channel/listMessages.defs.js +3 -2
  9. package/dist/generated/social/colibri/beta/channel/listMessages.defs.js.map +1 -1
  10. package/dist/generated/social/colibri/beta/channel/thread.d.ts +4 -0
  11. package/dist/generated/social/colibri/beta/channel/thread.d.ts.map +1 -0
  12. package/dist/generated/social/colibri/beta/channel/thread.defs.d.ts +8 -0
  13. package/dist/generated/social/colibri/beta/channel/thread.defs.d.ts.map +1 -0
  14. package/dist/generated/social/colibri/beta/channel/thread.defs.js +10 -0
  15. package/dist/generated/social/colibri/beta/channel/thread.defs.js.map +1 -0
  16. package/dist/generated/social/colibri/beta/channel/thread.js +7 -0
  17. package/dist/generated/social/colibri/beta/channel/thread.js.map +1 -0
  18. package/dist/generated/social/colibri/beta/channel.d.ts +1 -0
  19. package/dist/generated/social/colibri/beta/channel.d.ts.map +1 -1
  20. package/dist/generated/social/colibri/beta/channel.js +1 -0
  21. package/dist/generated/social/colibri/beta/channel.js.map +1 -1
  22. package/dist/generated/social/colibri/beta/defs.defs.d.ts +24 -0
  23. package/dist/generated/social/colibri/beta/defs.defs.d.ts.map +1 -1
  24. package/dist/generated/social/colibri/beta/defs.defs.js +3 -0
  25. package/dist/generated/social/colibri/beta/defs.defs.js.map +1 -1
  26. package/dist/generated/social/colibri/beta/label.defs.d.ts +40 -12
  27. package/dist/generated/social/colibri/beta/label.defs.d.ts.map +1 -1
  28. package/dist/generated/social/colibri/beta/label.defs.js +1 -1
  29. package/dist/generated/social/colibri/beta/label.defs.js.map +1 -1
  30. package/dist/generated/social/colibri/beta/notification/defs.defs.d.ts +4 -0
  31. package/dist/generated/social/colibri/beta/notification/defs.defs.d.ts.map +1 -1
  32. package/dist/generated/social/colibri/beta/notification/defs.defs.js +1 -1
  33. package/dist/generated/social/colibri/beta/notification/defs.defs.js.map +1 -1
  34. package/dist/generated/social/colibri/beta/permissionCommunity.defs.d.ts +1 -1
  35. package/dist/generated/social/colibri/beta/permissionCommunity.defs.d.ts.map +1 -1
  36. package/dist/generated/social/colibri/beta/permissionCommunity.defs.js +1 -1
  37. package/dist/generated/social/colibri/beta/permissionCommunity.defs.js.map +1 -1
  38. package/dist/generated/social/colibri/beta/permissionMessaging.defs.d.ts +1 -1
  39. package/dist/generated/social/colibri/beta/permissionMessaging.defs.d.ts.map +1 -1
  40. package/dist/generated/social/colibri/beta/permissionMessaging.defs.js +1 -1
  41. package/dist/generated/social/colibri/beta/permissionMessaging.defs.js.map +1 -1
  42. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts +40 -7
  43. package/dist/generated/social/colibri/beta/sync/defs.defs.d.ts.map +1 -1
  44. package/dist/generated/social/colibri/beta/sync/defs.defs.js +6 -2
  45. package/dist/generated/social/colibri/beta/sync/defs.defs.js.map +1 -1
  46. package/dist/generated/social/colibri/beta/thread/create.d.ts +4 -0
  47. package/dist/generated/social/colibri/beta/thread/create.d.ts.map +1 -0
  48. package/dist/generated/social/colibri/beta/thread/create.defs.d.ts +61 -0
  49. package/dist/generated/social/colibri/beta/thread/create.defs.d.ts.map +1 -0
  50. package/dist/generated/social/colibri/beta/thread/create.defs.js +17 -0
  51. package/dist/generated/social/colibri/beta/thread/create.defs.js.map +1 -0
  52. package/dist/generated/social/colibri/beta/thread/create.js +7 -0
  53. package/dist/generated/social/colibri/beta/thread/create.js.map +1 -0
  54. package/dist/generated/social/colibri/beta/thread/defs.d.ts +3 -0
  55. package/dist/generated/social/colibri/beta/thread/defs.d.ts.map +1 -0
  56. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts +119 -0
  57. package/dist/generated/social/colibri/beta/thread/defs.defs.d.ts.map +1 -0
  58. package/dist/generated/social/colibri/beta/thread/defs.defs.js +15 -0
  59. package/dist/generated/social/colibri/beta/thread/defs.defs.js.map +1 -0
  60. package/dist/generated/social/colibri/beta/thread/defs.js +6 -0
  61. package/dist/generated/social/colibri/beta/thread/defs.js.map +1 -0
  62. package/dist/generated/social/colibri/beta/thread/delete.d.ts +4 -0
  63. package/dist/generated/social/colibri/beta/thread/delete.d.ts.map +1 -0
  64. package/dist/generated/social/colibri/beta/thread/delete.defs.d.ts +27 -0
  65. package/dist/generated/social/colibri/beta/thread/delete.defs.d.ts.map +1 -0
  66. package/dist/generated/social/colibri/beta/thread/delete.defs.js +15 -0
  67. package/dist/generated/social/colibri/beta/thread/delete.defs.js.map +1 -0
  68. package/dist/generated/social/colibri/beta/thread/delete.js +7 -0
  69. package/dist/generated/social/colibri/beta/thread/delete.js.map +1 -0
  70. package/dist/generated/social/colibri/beta/thread/follow.d.ts +4 -0
  71. package/dist/generated/social/colibri/beta/thread/follow.d.ts.map +1 -0
  72. package/dist/generated/social/colibri/beta/thread/follow.defs.d.ts +66 -0
  73. package/dist/generated/social/colibri/beta/thread/follow.defs.d.ts.map +1 -0
  74. package/dist/generated/social/colibri/beta/thread/follow.defs.js +23 -0
  75. package/dist/generated/social/colibri/beta/thread/follow.defs.js.map +1 -0
  76. package/dist/generated/social/colibri/beta/thread/follow.js +7 -0
  77. package/dist/generated/social/colibri/beta/thread/follow.js.map +1 -0
  78. package/dist/generated/social/colibri/beta/thread/getThread.d.ts +4 -0
  79. package/dist/generated/social/colibri/beta/thread/getThread.d.ts.map +1 -0
  80. package/dist/generated/social/colibri/beta/thread/getThread.defs.d.ts +29 -0
  81. package/dist/generated/social/colibri/beta/thread/getThread.defs.d.ts.map +1 -0
  82. package/dist/generated/social/colibri/beta/thread/getThread.defs.js +15 -0
  83. package/dist/generated/social/colibri/beta/thread/getThread.defs.js.map +1 -0
  84. package/dist/generated/social/colibri/beta/thread/getThread.js +7 -0
  85. package/dist/generated/social/colibri/beta/thread/getThread.js.map +1 -0
  86. package/dist/generated/social/colibri/beta/thread/listThreads.d.ts +4 -0
  87. package/dist/generated/social/colibri/beta/thread/listThreads.d.ts.map +1 -0
  88. package/dist/generated/social/colibri/beta/thread/listThreads.defs.d.ts +47 -0
  89. package/dist/generated/social/colibri/beta/thread/listThreads.defs.d.ts.map +1 -0
  90. package/dist/generated/social/colibri/beta/thread/listThreads.defs.js +15 -0
  91. package/dist/generated/social/colibri/beta/thread/listThreads.defs.js.map +1 -0
  92. package/dist/generated/social/colibri/beta/thread/listThreads.js +7 -0
  93. package/dist/generated/social/colibri/beta/thread/listThreads.js.map +1 -0
  94. package/dist/generated/social/colibri/beta/thread/moveMessages.d.ts +4 -0
  95. package/dist/generated/social/colibri/beta/thread/moveMessages.d.ts.map +1 -0
  96. package/dist/generated/social/colibri/beta/thread/moveMessages.defs.d.ts +52 -0
  97. package/dist/generated/social/colibri/beta/thread/moveMessages.defs.d.ts.map +1 -0
  98. package/dist/generated/social/colibri/beta/thread/moveMessages.defs.js +16 -0
  99. package/dist/generated/social/colibri/beta/thread/moveMessages.defs.js.map +1 -0
  100. package/dist/generated/social/colibri/beta/thread/moveMessages.js +7 -0
  101. package/dist/generated/social/colibri/beta/thread/moveMessages.js.map +1 -0
  102. package/dist/generated/social/colibri/beta/thread/repoint.d.ts +4 -0
  103. package/dist/generated/social/colibri/beta/thread/repoint.d.ts.map +1 -0
  104. package/dist/generated/social/colibri/beta/thread/repoint.defs.d.ts +38 -0
  105. package/dist/generated/social/colibri/beta/thread/repoint.defs.d.ts.map +1 -0
  106. package/dist/generated/social/colibri/beta/thread/repoint.defs.js +16 -0
  107. package/dist/generated/social/colibri/beta/thread/repoint.defs.js.map +1 -0
  108. package/dist/generated/social/colibri/beta/thread/repoint.js +7 -0
  109. package/dist/generated/social/colibri/beta/thread/repoint.js.map +1 -0
  110. package/dist/generated/social/colibri/beta/thread/update.d.ts +4 -0
  111. package/dist/generated/social/colibri/beta/thread/update.d.ts.map +1 -0
  112. package/dist/generated/social/colibri/beta/thread/update.defs.d.ts +52 -0
  113. package/dist/generated/social/colibri/beta/thread/update.defs.d.ts.map +1 -0
  114. package/dist/generated/social/colibri/beta/thread/update.defs.js +16 -0
  115. package/dist/generated/social/colibri/beta/thread/update.defs.js.map +1 -0
  116. package/dist/generated/social/colibri/beta/thread/update.js +7 -0
  117. package/dist/generated/social/colibri/beta/thread/update.js.map +1 -0
  118. package/dist/generated/social/colibri/beta/thread.d.ts +13 -0
  119. package/dist/generated/social/colibri/beta/thread.d.ts.map +1 -0
  120. package/dist/generated/social/colibri/beta/thread.defs.d.ts +151 -0
  121. package/dist/generated/social/colibri/beta/thread.defs.d.ts.map +1 -0
  122. package/dist/generated/social/colibri/beta/thread.defs.js +24 -0
  123. package/dist/generated/social/colibri/beta/thread.defs.js.map +1 -0
  124. package/dist/generated/social/colibri/beta/thread.js +16 -0
  125. package/dist/generated/social/colibri/beta/thread.js.map +1 -0
  126. package/dist/generated/social/colibri/beta.d.ts +1 -0
  127. package/dist/generated/social/colibri/beta.d.ts.map +1 -1
  128. package/dist/generated/social/colibri/beta.js +1 -0
  129. package/dist/generated/social/colibri/beta.js.map +1 -1
  130. package/dist/mute-subject.d.ts +1 -0
  131. package/dist/mute-subject.d.ts.map +1 -1
  132. package/dist/mute-subject.js +17 -4
  133. package/dist/mute-subject.js.map +1 -1
  134. package/dist/nsids.d.ts +7 -0
  135. package/dist/nsids.d.ts.map +1 -1
  136. package/dist/nsids.js +7 -0
  137. package/dist/nsids.js.map +1 -1
  138. package/dist/permissions.d.ts +1 -1
  139. package/dist/permissions.d.ts.map +1 -1
  140. package/dist/permissions.js +3 -0
  141. package/dist/permissions.js.map +1 -1
  142. package/lexicons/social/colibri/beta/actor/defs.json +14 -2
  143. package/lexicons/social/colibri/beta/channel/listMessages.json +13 -4
  144. package/lexicons/social/colibri/beta/channel/thread.json +19 -0
  145. package/lexicons/social/colibri/beta/defs.json +27 -0
  146. package/lexicons/social/colibri/beta/label.json +12 -2
  147. package/lexicons/social/colibri/beta/notification/defs.json +5 -0
  148. package/lexicons/social/colibri/beta/permissionCommunity.json +12 -1
  149. package/lexicons/social/colibri/beta/permissionMessaging.json +17 -1
  150. package/lexicons/social/colibri/beta/sync/defs.json +45 -8
  151. package/lexicons/social/colibri/beta/thread/create.json +114 -0
  152. package/lexicons/social/colibri/beta/thread/defs.json +163 -0
  153. package/lexicons/social/colibri/beta/thread/delete.json +57 -0
  154. package/lexicons/social/colibri/beta/thread/follow.json +22 -0
  155. package/lexicons/social/colibri/beta/thread/getThread.json +49 -0
  156. package/lexicons/social/colibri/beta/thread/listThreads.json +83 -0
  157. package/lexicons/social/colibri/beta/thread/moveMessages.json +89 -0
  158. package/lexicons/social/colibri/beta/thread/repoint.json +69 -0
  159. package/lexicons/social/colibri/beta/thread/update.json +88 -0
  160. package/lexicons/social/colibri/beta/thread.json +61 -0
  161. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread.getThread",
4
+ "defs": {
5
+ "main": {
6
+ "type": "query",
7
+ "description": "Gets one thread, with its anchor message resolved so a client can open it without having read the channel it belongs to.",
8
+ "parameters": {
9
+ "type": "params",
10
+ "required": ["thread"],
11
+ "properties": {
12
+ "thread": {
13
+ "type": "string",
14
+ "format": "space-ref",
15
+ "description": "The thread to get."
16
+ }
17
+ }
18
+ },
19
+ "output": {
20
+ "encoding": "application/json",
21
+ "schema": {
22
+ "type": "object",
23
+ "required": ["thread"],
24
+ "properties": {
25
+ "thread": {
26
+ "type": "ref",
27
+ "ref": "social.colibri.beta.thread.defs#threadView",
28
+ "description": "The requested thread."
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "errors": [
34
+ {
35
+ "name": "AuthRequired",
36
+ "description": "The request has no valid service auth."
37
+ },
38
+ {
39
+ "name": "Forbidden",
40
+ "description": "The requesting user may not read this thread."
41
+ },
42
+ {
43
+ "name": "ThreadNotFound",
44
+ "description": "No thread matches the given space reference."
45
+ }
46
+ ]
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread.listThreads",
4
+ "defs": {
5
+ "main": {
6
+ "type": "query",
7
+ "description": "Lists a community's threads, most recently active first. Threads the requesting user may not read are absent rather than refused.",
8
+ "parameters": {
9
+ "type": "params",
10
+ "required": ["community"],
11
+ "properties": {
12
+ "community": {
13
+ "type": "string",
14
+ "format": "did",
15
+ "description": "The community to list threads in."
16
+ },
17
+ "channel": {
18
+ "type": "string",
19
+ "format": "space-ref",
20
+ "description": "Restrict the list to threads in one channel. Absent lists every channel's threads, which is what the community sidebar needs."
21
+ },
22
+ "filter": {
23
+ "type": "string",
24
+ "default": "all",
25
+ "knownValues": ["all", "unread", "following"],
26
+ "description": "Which threads to list."
27
+ },
28
+ "limit": {
29
+ "type": "integer",
30
+ "minimum": 1,
31
+ "maximum": 100,
32
+ "default": 50,
33
+ "description": "Maximum number of threads to return."
34
+ },
35
+ "cursor": {
36
+ "type": "string",
37
+ "description": "Pagination cursor from a previous call."
38
+ }
39
+ }
40
+ },
41
+ "output": {
42
+ "encoding": "application/json",
43
+ "schema": {
44
+ "type": "object",
45
+ "required": ["threads"],
46
+ "properties": {
47
+ "cursor": {
48
+ "type": "string",
49
+ "description": "Pagination cursor for the next page."
50
+ },
51
+ "threads": {
52
+ "type": "array",
53
+ "description": "The threads.",
54
+ "items": {
55
+ "type": "ref",
56
+ "ref": "social.colibri.beta.thread.defs#threadView",
57
+ "description": "A thread."
58
+ }
59
+ }
60
+ }
61
+ }
62
+ },
63
+ "errors": [
64
+ {
65
+ "name": "AuthRequired",
66
+ "description": "The request has no valid service auth."
67
+ },
68
+ {
69
+ "name": "Forbidden",
70
+ "description": "The requesting user is not a member of this community."
71
+ },
72
+ {
73
+ "name": "CommunityNotFound",
74
+ "description": "No community matches the given DID."
75
+ },
76
+ {
77
+ "name": "ChannelNotFound",
78
+ "description": "No channel matches the given space reference."
79
+ }
80
+ ]
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,89 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread.moveMessages",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Moves messages written by other people into another thread or channel. A message lives in its author's own repo and cannot be rewritten by a moderator, so the move is a `moved` label written into the source space for each message. Every label in one call shares a batch key, and the destination serves the moved messages ordered by that batch key and then by the messages' own record keys, which is what keeps a selection in the order it was in. The AppView withholds a moved message from the space it came from. A user moving only their own messages rewrites the records instead and does not call this method.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["source", "destination", "subjects"],
13
+ "properties": {
14
+ "source": {
15
+ "type": "string",
16
+ "format": "space-ref",
17
+ "description": "The space the messages are in now, either a channel or a thread."
18
+ },
19
+ "destination": {
20
+ "type": "string",
21
+ "format": "space-ref",
22
+ "description": "The space to move them to, either a channel or a thread in the same community."
23
+ },
24
+ "subjects": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "ref",
28
+ "ref": "social.colibri.beta.label#subject",
29
+ "description": "A message to move."
30
+ },
31
+ "description": "The messages to move, at most fifty in one call.",
32
+ "minLength": 1,
33
+ "maxLength": 50
34
+ },
35
+ "reason": {
36
+ "type": "string",
37
+ "maxLength": 512,
38
+ "description": "Human-readable reason, recorded on every label in the batch."
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "output": {
44
+ "encoding": "application/json",
45
+ "schema": {
46
+ "type": "object",
47
+ "required": ["batch", "count"],
48
+ "properties": {
49
+ "batch": {
50
+ "type": "string",
51
+ "format": "tid",
52
+ "description": "The batch key shared by every label this call wrote, which is what orders the moved messages in the destination."
53
+ },
54
+ "count": {
55
+ "type": "integer",
56
+ "description": "How many messages were moved."
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "errors": [
62
+ {
63
+ "name": "AuthRequired",
64
+ "description": "The request has no valid service auth."
65
+ },
66
+ {
67
+ "name": "Forbidden",
68
+ "description": "The requesting user lacks the thread.move permission, or may not read the source or post in the destination."
69
+ },
70
+ {
71
+ "name": "SpaceNotFound",
72
+ "description": "No space exists at the source or destination reference."
73
+ },
74
+ {
75
+ "name": "MessageNotFound",
76
+ "description": "One of the subjects is not a message in the source space."
77
+ },
78
+ {
79
+ "name": "InvalidRequest",
80
+ "description": "The destination is the source, belongs to another community, or a subject is not a message."
81
+ },
82
+ {
83
+ "name": "CredentialsUnavailable",
84
+ "description": "The AppView cannot act as the community because its stored credentials are missing or unusable."
85
+ }
86
+ ]
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread.repoint",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Moves a thread to another channel by rewriting the channel its record links to. Who may read the thread follows the new channel. The anchor is left as it was, so the thread's marker leaves the old channel's river while the thread itself still quotes the message it came from.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["thread", "channel"],
13
+ "properties": {
14
+ "thread": {
15
+ "type": "string",
16
+ "format": "space-ref",
17
+ "description": "The thread to move."
18
+ },
19
+ "channel": {
20
+ "type": "string",
21
+ "format": "space-ref",
22
+ "description": "The text channel to move it to."
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "output": {
28
+ "encoding": "application/json",
29
+ "schema": {
30
+ "type": "object",
31
+ "required": ["thread"],
32
+ "properties": {
33
+ "thread": {
34
+ "type": "ref",
35
+ "ref": "social.colibri.beta.thread.defs#threadView",
36
+ "description": "The thread, after the move."
37
+ }
38
+ }
39
+ }
40
+ },
41
+ "errors": [
42
+ {
43
+ "name": "AuthRequired",
44
+ "description": "The request has no valid service auth."
45
+ },
46
+ {
47
+ "name": "Forbidden",
48
+ "description": "The requesting user lacks the thread.manage permission."
49
+ },
50
+ {
51
+ "name": "ThreadNotFound",
52
+ "description": "No thread matches the given space reference."
53
+ },
54
+ {
55
+ "name": "ChannelNotFound",
56
+ "description": "No channel matches the given space reference."
57
+ },
58
+ {
59
+ "name": "InvalidRequest",
60
+ "description": "The destination channel belongs to another community, is not a text channel, or is the channel the thread is already in."
61
+ },
62
+ {
63
+ "name": "CredentialsUnavailable",
64
+ "description": "The AppView cannot act as the community because its stored credentials are missing or unusable."
65
+ }
66
+ ]
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread.update",
4
+ "defs": {
5
+ "main": {
6
+ "type": "procedure",
7
+ "description": "Renames a thread or changes who may read it. An absent field leaves the current value unchanged.",
8
+ "input": {
9
+ "encoding": "application/json",
10
+ "schema": {
11
+ "type": "object",
12
+ "required": ["thread"],
13
+ "properties": {
14
+ "thread": {
15
+ "type": "string",
16
+ "format": "space-ref",
17
+ "description": "The thread to update."
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "minLength": 1,
22
+ "maxLength": 128,
23
+ "description": "The thread's title. Absent leaves the current value unchanged."
24
+ },
25
+ "visibleToRoles": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "string",
29
+ "format": "record-key",
30
+ "description": "A role."
31
+ },
32
+ "description": "Roles that may read this thread. Empty means everyone who may read the channel may read the thread."
33
+ },
34
+ "visibleToMembers": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "string",
38
+ "format": "did",
39
+ "description": "A member."
40
+ },
41
+ "description": "Members that may read this thread beyond visibleToRoles."
42
+ }
43
+ }
44
+ }
45
+ },
46
+ "output": {
47
+ "encoding": "application/json",
48
+ "schema": {
49
+ "type": "object",
50
+ "required": ["thread"],
51
+ "properties": {
52
+ "thread": {
53
+ "type": "ref",
54
+ "ref": "social.colibri.beta.thread.defs#threadView",
55
+ "description": "The thread, after the update."
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "errors": [
61
+ {
62
+ "name": "AuthRequired",
63
+ "description": "The request has no valid service auth."
64
+ },
65
+ {
66
+ "name": "Forbidden",
67
+ "description": "The requesting user lacks the thread.manage permission, and is not the user who opened the thread renaming it."
68
+ },
69
+ {
70
+ "name": "ThreadNotFound",
71
+ "description": "No thread matches the given space reference."
72
+ },
73
+ {
74
+ "name": "RoleHierarchy",
75
+ "description": "The requesting user cannot grant a role that outranks their own."
76
+ },
77
+ {
78
+ "name": "InvalidRequest",
79
+ "description": "The arguments are inconsistent or malformed beyond schema validation."
80
+ },
81
+ {
82
+ "name": "CredentialsUnavailable",
83
+ "description": "The AppView cannot act as the community because its stored credentials are missing or unusable."
84
+ }
85
+ ]
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "lexicon": 1,
3
+ "id": "social.colibri.beta.thread",
4
+ "defs": {
5
+ "main": {
6
+ "type": "record",
7
+ "description": "A thread's configuration, including the link to the channel it belongs to. Lives at key 'self' in the thread's own space and is written only by the community.",
8
+ "key": "literal:self",
9
+ "record": {
10
+ "type": "object",
11
+ "required": ["name", "channel", "createdBy", "createdAt"],
12
+ "properties": {
13
+ "name": {
14
+ "type": "string",
15
+ "minLength": 1,
16
+ "maxLength": 128,
17
+ "description": "The thread's title."
18
+ },
19
+ "channel": {
20
+ "type": "string",
21
+ "format": "space-ref",
22
+ "description": "The text channel this thread belongs to. Moving the thread to another channel rewrites this field."
23
+ },
24
+ "anchor": {
25
+ "type": "ref",
26
+ "ref": "social.colibri.beta.defs#spaceRecordRef",
27
+ "description": "The message the thread was opened from. Absent on a thread opened from scratch. Its space stays where the thread was opened even after the thread moves to another channel, which is what drops the thread's marker out of the old channel without losing the quoted message."
28
+ },
29
+ "createdBy": {
30
+ "type": "string",
31
+ "format": "did",
32
+ "description": "Who opened the thread."
33
+ },
34
+ "createdAt": {
35
+ "type": "string",
36
+ "format": "datetime",
37
+ "description": "When the thread was opened."
38
+ },
39
+ "visibleToRoles": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "string",
43
+ "format": "record-key",
44
+ "description": "A role permitted to read."
45
+ },
46
+ "description": "Roles that may read this thread. Empty or absent means everyone who can read the parent channel can read the thread. A non-empty list makes the thread private: the community declines space credentials for it to anyone outside the list, so it is enforced by the protocol rather than only by a read handler."
47
+ },
48
+ "visibleToMembers": {
49
+ "type": "array",
50
+ "items": {
51
+ "type": "string",
52
+ "format": "did",
53
+ "description": "A member permitted to read."
54
+ },
55
+ "description": "Members that may read this thread in addition to visibleToRoles."
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colibri-social/lexicons",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "description": "Colibri lexicon schemas and the types generated from them",
5
5
  "type": "module",
6
6
  "exports": {