initiative-plugin-sdk 2.0.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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +656 -0
  3. package/dist/build.d.ts +52 -0
  4. package/dist/build.js +229 -0
  5. package/dist/build.js.map +1 -0
  6. package/dist/cli.d.ts +24 -0
  7. package/dist/cli.js +160 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/client.d.ts +288 -0
  10. package/dist/client.js +539 -0
  11. package/dist/client.js.map +1 -0
  12. package/dist/contract.d.ts +1247 -0
  13. package/dist/contract.js +167 -0
  14. package/dist/contract.js.map +1 -0
  15. package/dist/define.d.ts +336 -0
  16. package/dist/define.js +120 -0
  17. package/dist/define.js.map +1 -0
  18. package/dist/dev.d.ts +28 -0
  19. package/dist/dev.js +147 -0
  20. package/dist/dev.js.map +1 -0
  21. package/dist/expression.d.ts +28 -0
  22. package/dist/expression.js +67 -0
  23. package/dist/expression.js.map +1 -0
  24. package/dist/init.d.ts +14 -0
  25. package/dist/init.js +52 -0
  26. package/dist/init.js.map +1 -0
  27. package/dist/keys.d.ts +85 -0
  28. package/dist/keys.js +109 -0
  29. package/dist/keys.js.map +1 -0
  30. package/dist/manifest.d.ts +8 -0
  31. package/dist/manifest.js +8 -0
  32. package/dist/manifest.js.map +1 -0
  33. package/dist/pack.d.ts +35 -0
  34. package/dist/pack.js +84 -0
  35. package/dist/pack.js.map +1 -0
  36. package/dist/plugin-api.generated.d.ts +4263 -0
  37. package/dist/plugin-api.generated.js +1019 -0
  38. package/dist/plugin-api.generated.js.map +1 -0
  39. package/dist/server.d.ts +75 -0
  40. package/dist/server.js +408 -0
  41. package/dist/server.js.map +1 -0
  42. package/dist/testing.d.ts +116 -0
  43. package/dist/testing.js +386 -0
  44. package/dist/testing.js.map +1 -0
  45. package/dist/tokens.d.ts +161 -0
  46. package/dist/tokens.js +215 -0
  47. package/dist/tokens.js.map +1 -0
  48. package/dist/validate.d.ts +86 -0
  49. package/dist/validate.js +997 -0
  50. package/dist/validate.js.map +1 -0
  51. package/dist/widget.d.ts +235 -0
  52. package/dist/widget.js +26 -0
  53. package/dist/widget.js.map +1 -0
  54. package/examples/minimal/README.md +48 -0
  55. package/examples/minimal/assets/avatar.png +0 -0
  56. package/examples/minimal/package.json +22 -0
  57. package/examples/minimal/src/plugin.ts +77 -0
  58. package/examples/minimal/src/widgets/open-issues.ts +11 -0
  59. package/examples/minimal/test/fixtures/issues-statistics.json +9 -0
  60. package/examples/minimal/test/issue-counts.test.ts +48 -0
  61. package/examples/minimal/tsconfig.json +14 -0
  62. package/manifest.contract.json +1886 -0
  63. package/package.json +92 -0
  64. package/schemas/plugin-manifest.json +1747 -0
@@ -0,0 +1,1019 @@
1
+ /**
2
+ * Generated by scripts/generate-plugin-api.mjs from Initiative 0.74.0's plug-in API
3
+ * (a checkout at 3b06e3609). Do not edit: regenerate.
4
+ */
5
+ /**
6
+ * Each operation a plug-in may call: its method, its path after `/api/v1/c/0`, the
7
+ * scope it needs, and the query parameters it takes as JSON.
8
+ */
9
+ export const pluginApiOperations = {
10
+ create_subscription: { method: "POST", path: "/webhooks/subscriptions", scope: { per: "event_type", any_of: ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "documents:read", "galleries:read", "initiatives:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"] } },
11
+ delete_subscription: { method: "DELETE", path: "/webhooks/subscriptions/{subscription_id}", scope: { per: "event_type", any_of: ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "documents:read", "galleries:read", "initiatives:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"] } },
12
+ list_projects: { method: "GET", path: "/projects/", scope: "projects:read" },
13
+ create_project: { method: "POST", path: "/projects/", scope: "projects:write" },
14
+ list_documents: { method: "GET", path: "/documents/", scope: "documents:read" },
15
+ create_document: { method: "POST", path: "/documents/", scope: "documents:write" },
16
+ list_queues: { method: "GET", path: "/queues/", scope: "queues:read" },
17
+ create_queue: { method: "POST", path: "/queues/", scope: "queues:write" },
18
+ list_counter_groups: { method: "GET", path: "/counter-groups/", scope: "counter_groups:read" },
19
+ create_counter_group: { method: "POST", path: "/counter-groups/", scope: "counter_groups:write" },
20
+ list_calendars: { method: "GET", path: "/calendars/", scope: "calendars:read" },
21
+ create_calendar: { method: "POST", path: "/calendars/", scope: "calendars:write" },
22
+ list_posts: { method: "GET", path: "/posts/", scope: "posts:read" },
23
+ create_post: { method: "POST", path: "/posts/", scope: "posts:write" },
24
+ list_galleries: { method: "GET", path: "/galleries/", scope: "galleries:read" },
25
+ create_gallery: { method: "POST", path: "/galleries/", scope: "galleries:write" },
26
+ list_wikis: { method: "GET", path: "/wikis/", scope: "wikis:read" },
27
+ create_wiki: { method: "POST", path: "/wikis/", scope: "wikis:write" },
28
+ read_project: { method: "GET", path: "/projects/{project_id}", scope: "projects:read" },
29
+ update_project: { method: "PATCH", path: "/projects/{project_id}", scope: "projects:write" },
30
+ list_task_statuses: { method: "GET", path: "/projects/{project_id}/task-statuses/", scope: "projects:read" },
31
+ list_initiative_task_statuses: { method: "GET", path: "/initiatives/{initiative_id}/task-statuses/", scope: "projects:read" },
32
+ list_tasks: { method: "GET", path: "/tasks/", scope: "projects:read", json: ["conditions", "sorting"] },
33
+ create_task: { method: "POST", path: "/tasks/", scope: "projects:write" },
34
+ read_task: { method: "GET", path: "/tasks/{task_id}", scope: "projects:read" },
35
+ update_task: { method: "PATCH", path: "/tasks/{task_id}", scope: "projects:write" },
36
+ move_task: { method: "POST", path: "/tasks/{task_id}/move", scope: "projects:write" },
37
+ duplicate_task: { method: "POST", path: "/tasks/{task_id}/duplicate", scope: "projects:write" },
38
+ skip_task: { method: "POST", path: "/tasks/{task_id}/skip", scope: "projects:write" },
39
+ toggle_checklist_item: { method: "PATCH", path: "/tasks/{task_id}/checklist/{item_id}", scope: "projects:write" },
40
+ list_comments: { method: "GET", path: "/comments/", scope: "comments:read" },
41
+ create_comment: { method: "POST", path: "/comments/", scope: "comments:write" },
42
+ read_comment: { method: "GET", path: "/comments/{comment_id}", scope: "comments:read" },
43
+ list_initiatives: { method: "GET", path: "/initiatives/", scope: "initiatives:read" },
44
+ get_initiative: { method: "GET", path: "/initiatives/{initiative_id}", scope: "initiatives:read" },
45
+ read_document: { method: "GET", path: "/documents/{document_id}", scope: "documents:read" },
46
+ update_document: { method: "PATCH", path: "/documents/{document_id}", scope: "documents:write" },
47
+ read_queue: { method: "GET", path: "/queues/{queue_id}", scope: "queues:read" },
48
+ update_queue: { method: "PATCH", path: "/queues/{queue_id}", scope: "queues:write" },
49
+ start_queue: { method: "POST", path: "/queues/{queue_id}/start", scope: "queues:write" },
50
+ stop_queue: { method: "POST", path: "/queues/{queue_id}/stop", scope: "queues:write" },
51
+ advance_turn: { method: "POST", path: "/queues/{queue_id}/next", scope: "queues:write" },
52
+ previous_turn: { method: "POST", path: "/queues/{queue_id}/previous", scope: "queues:write" },
53
+ set_active_item: { method: "POST", path: "/queues/{queue_id}/set-active/{item_id}", scope: "queues:write" },
54
+ reset_queue: { method: "POST", path: "/queues/{queue_id}/reset", scope: "queues:write" },
55
+ hold_current_turn: { method: "POST", path: "/queues/{queue_id}/hold", scope: "queues:write" },
56
+ release_held_item: { method: "POST", path: "/queues/{queue_id}/release/{item_id}", scope: "queues:write" },
57
+ read_queue_item: { method: "GET", path: "/queue-items/{item_id}", scope: "queues:read" },
58
+ update_queue_item: { method: "PATCH", path: "/queue-items/{item_id}", scope: "queues:write" },
59
+ duplicate_queue_item: { method: "POST", path: "/queue-items/{item_id}/duplicate", scope: "queues:write" },
60
+ read_counter_group: { method: "GET", path: "/counter-groups/{group_id}", scope: "counter_groups:read" },
61
+ update_counter_group: { method: "PATCH", path: "/counter-groups/{group_id}", scope: "counter_groups:write" },
62
+ read_counter: { method: "GET", path: "/counters/{counter_id}", scope: "counter_groups:read" },
63
+ duplicate_counter: { method: "POST", path: "/counters/{counter_id}/duplicate", scope: "counter_groups:write" },
64
+ set_counter_count: { method: "POST", path: "/counters/{counter_id}/set", scope: "counter_groups:write" },
65
+ step_counter: { method: "POST", path: "/counters/{counter_id}/step", scope: "counter_groups:write" },
66
+ reset_counter: { method: "POST", path: "/counters/{counter_id}/reset", scope: "counter_groups:write" },
67
+ read_calendar: { method: "GET", path: "/calendars/{calendar_id}", scope: "calendars:read" },
68
+ update_calendar: { method: "PATCH", path: "/calendars/{calendar_id}", scope: "calendars:write" },
69
+ read_post: { method: "GET", path: "/posts/{post_id}", scope: "posts:read" },
70
+ update_post: { method: "PATCH", path: "/posts/{post_id}", scope: "posts:write" },
71
+ set_post_pin: { method: "PUT", path: "/posts/{post_id}/pin", scope: "posts:write" },
72
+ read_gallery: { method: "GET", path: "/galleries/{gallery_id}", scope: "galleries:read" },
73
+ update_gallery: { method: "PATCH", path: "/galleries/{gallery_id}", scope: "galleries:write" },
74
+ list_gallery_images: { method: "GET", path: "/galleries/{gallery_id}/images", scope: "galleries:read" },
75
+ read_wiki: { method: "GET", path: "/wikis/{wiki_id}", scope: "wikis:read" },
76
+ update_wiki: { method: "PATCH", path: "/wikis/{wiki_id}", scope: "wikis:write" },
77
+ list_wiki_pages: { method: "GET", path: "/wikis/{wiki_id}/pages", scope: "wikis:read" },
78
+ read_wiki_page: { method: "GET", path: "/wiki-pages/{page_id}", scope: "wikis:read" },
79
+ duplicate_wiki_page: { method: "POST", path: "/wiki-pages/{page_id}/duplicate", scope: "wikis:write" },
80
+ read_calendar_event: { method: "GET", path: "/calendar-events/{event_id}", scope: "calendars:read" },
81
+ update_calendar_event: { method: "PATCH", path: "/calendar-events/{event_id}", scope: "calendars:write" },
82
+ create_calendar_event: { method: "POST", path: "/calendar-events/", scope: "calendars:write" },
83
+ duplicate_calendar_event: { method: "POST", path: "/calendar-events/{event_id}/duplicate", scope: "calendars:write" },
84
+ open_occurrence: { method: "POST", path: "/calendar-events/{event_id}/occurrences", scope: "calendars:write" },
85
+ detach_occurrence: { method: "POST", path: "/calendar-events/{event_id}/occurrences/detach", scope: "calendars:write" },
86
+ restore_occurrence: { method: "POST", path: "/calendar-events/{event_id}/occurrences/restore", scope: "calendars:write" },
87
+ add_occurrence: { method: "POST", path: "/calendar-events/{event_id}/occurrences/add", scope: "calendars:write" },
88
+ set_attendees: { method: "PUT", path: "/calendar-events/{event_id}/attendees", scope: "calendars:write" },
89
+ list_tags: { method: "GET", path: "/tags/", scope: "tags:read" },
90
+ bulk_edit_tags: { method: "POST", path: "/tags/bulk", scope: "tags:write" },
91
+ set_project_grants: { method: "PUT", path: "/projects/{project_id}/grants", scope: "sharing:write" },
92
+ set_document_grants: { method: "PUT", path: "/documents/{document_id}/grants", scope: "sharing:write" },
93
+ set_queue_grants: { method: "PUT", path: "/queues/{queue_id}/grants", scope: "sharing:write" },
94
+ set_counter_group_grants: { method: "PUT", path: "/counter-groups/{group_id}/grants", scope: "sharing:write" },
95
+ set_calendar_grants: { method: "PUT", path: "/calendars/{calendar_id}/grants", scope: "sharing:write" },
96
+ set_post_grants: { method: "PUT", path: "/posts/{post_id}/grants", scope: "sharing:write" },
97
+ set_gallery_grants: { method: "PUT", path: "/galleries/{gallery_id}/grants", scope: "sharing:write" },
98
+ set_wiki_grants: { method: "PUT", path: "/wikis/{wiki_id}/grants", scope: "sharing:write" },
99
+ duplicate_project: { method: "POST", path: "/projects/{project_id}/duplicate", scope: "projects:write" },
100
+ duplicate_document: { method: "POST", path: "/documents/{document_id}/duplicate", scope: "documents:write" },
101
+ duplicate_queue: { method: "POST", path: "/queues/{queue_id}/duplicate", scope: "queues:write" },
102
+ duplicate_counter_group: { method: "POST", path: "/counter-groups/{group_id}/duplicate", scope: "counter_groups:write" },
103
+ duplicate_calendar: { method: "POST", path: "/calendars/{calendar_id}/duplicate", scope: "calendars:write" },
104
+ duplicate_post: { method: "POST", path: "/posts/{post_id}/duplicate", scope: "posts:write" },
105
+ duplicate_gallery: { method: "POST", path: "/galleries/{gallery_id}/duplicate", scope: "galleries:write" },
106
+ duplicate_wiki: { method: "POST", path: "/wikis/{wiki_id}/duplicate", scope: "wikis:write" },
107
+ suggest_community: { method: "GET", path: "/search/suggest", scope: { per: "entity_type", any_of: ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "documents:read", "galleries:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"] } },
108
+ list_property_definitions: { method: "GET", path: "/property-definitions/", scope: "initiatives:read" },
109
+ set_properties: { method: "PUT", path: "/properties/{target}/{entity_id}", scope: { by: "target", scopes: { calendar: "calendars:write", calendar_event: "calendars:write", counter: "counter_groups:write", counter_group: "counter_groups:write", dashboard: "dashboards:write", document: "documents:write", gallery: "galleries:write", gallery_image: "galleries:write", post: "posts:write", project: "projects:write", queue: "queues:write", queue_item: "queues:write", task: "projects:write", wiki: "wikis:write", wiki_page: "wikis:write" } } },
110
+ archive_entity: { method: "POST", path: "/archive/{entity_type}/{entity_id}", scope: { by: "entity_type", scopes: { calendar: "calendars:write", counter_group: "counter_groups:write", dashboard: "dashboards:write", document: "documents:write", gallery: "galleries:write", post: "posts:write", project: "projects:write", queue: "queues:write", task: "projects:write", wiki: "wikis:write" } } },
111
+ search_users: { method: "GET", path: "/users/search", scope: "members:read" },
112
+ read_member_avatar: { method: "GET", path: "/members/{person}/avatar/{digest}", scope: "members:read" },
113
+ };
114
+ /** Every route Initiative's plug-in API describes, as a typed method. A client's `api` is one. */
115
+ export class PluginApi {
116
+ call;
117
+ constructor(call) {
118
+ this.call = call;
119
+ }
120
+ /**
121
+ * Register a new webhook subscription.
122
+ *
123
+ * `POST /webhooks/subscriptions`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `documents:read`, `galleries:read`, `initiatives:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
124
+ */
125
+ createSubscription(args) {
126
+ return this.call("create_subscription", args);
127
+ }
128
+ /**
129
+ * Hard-delete a subscription. Who may is the DELETE policy, the same gates
130
+ * that govern the content it watches; a cross-guild lookup is a 404. An
131
+ * installed plug-in reaches only the subscriptions it registered, and any
132
+ * other is a 404.
133
+ *
134
+ * `DELETE /webhooks/subscriptions/{subscription_id}`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `documents:read`, `galleries:read`, `initiatives:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
135
+ */
136
+ deleteSubscription(args) {
137
+ return this.call("delete_subscription", args);
138
+ }
139
+ /**
140
+ * List Projects
141
+ *
142
+ * `GET /projects/`, needs `projects:read`.
143
+ */
144
+ listProjects(args) {
145
+ return this.call("list_projects", args);
146
+ }
147
+ /**
148
+ * Create Project
149
+ *
150
+ * `POST /projects/`, needs `projects:write`.
151
+ */
152
+ createProject(args) {
153
+ return this.call("create_project", args);
154
+ }
155
+ /**
156
+ * List documents in the active guild visible to the current user.
157
+ *
158
+ * `GET /documents/`, needs `documents:read`.
159
+ */
160
+ listDocuments(args) {
161
+ return this.call("list_documents", args);
162
+ }
163
+ /**
164
+ * Create Document
165
+ *
166
+ * `POST /documents/`, needs `documents:write`.
167
+ */
168
+ createDocument(args) {
169
+ return this.call("create_document", args);
170
+ }
171
+ /**
172
+ * List queues visible to the current user.
173
+ *
174
+ * `GET /queues/`, needs `queues:read`.
175
+ */
176
+ listQueues(args) {
177
+ return this.call("list_queues", args);
178
+ }
179
+ /**
180
+ * Create a new queue in an initiative.
181
+ *
182
+ * `POST /queues/`, needs `queues:write`.
183
+ */
184
+ createQueue(args) {
185
+ return this.call("create_queue", args);
186
+ }
187
+ /**
188
+ * List Counter Groups
189
+ *
190
+ * `GET /counter-groups/`, needs `counter_groups:read`.
191
+ */
192
+ listCounterGroups(args) {
193
+ return this.call("list_counter_groups", args);
194
+ }
195
+ /**
196
+ * Create Counter Group
197
+ *
198
+ * `POST /counter-groups/`, needs `counter_groups:write`.
199
+ */
200
+ createCounterGroup(args) {
201
+ return this.call("create_counter_group", args);
202
+ }
203
+ /**
204
+ * List calendars visible to the current user (guild admins see all).
205
+ *
206
+ * `GET /calendars/`, needs `calendars:read`.
207
+ */
208
+ listCalendars(args) {
209
+ return this.call("list_calendars", args);
210
+ }
211
+ /**
212
+ * Create a calendar.
213
+ *
214
+ * `POST /calendars/`, needs `calendars:write`.
215
+ */
216
+ createCalendar(args) {
217
+ return this.call("create_calendar", args);
218
+ }
219
+ /**
220
+ * List posts visible to the current user (guild admins see all).
221
+ *
222
+ * `GET /posts/`, needs `posts:read`.
223
+ */
224
+ listPosts(args) {
225
+ return this.call("list_posts", args);
226
+ }
227
+ /**
228
+ * Post a notice to an initiative's board. Requires create_posts permission on
229
+ * the initiative (or guild admin); the author gets the owner grant.
230
+ *
231
+ * `POST /posts/`, needs `posts:write`.
232
+ */
233
+ createPost(args) {
234
+ return this.call("create_post", args);
235
+ }
236
+ /**
237
+ * List galleries visible to the current user (guild admins see all).
238
+ *
239
+ * `GET /galleries/`, needs `galleries:read`.
240
+ */
241
+ listGalleries(args) {
242
+ return this.call("list_galleries", args);
243
+ }
244
+ /**
245
+ * Create a gallery. Requires create_galleries permission on the initiative
246
+ * (or guild admin); the creator gets the owner grant.
247
+ *
248
+ * `POST /galleries/`, needs `galleries:write`.
249
+ */
250
+ createGallery(args) {
251
+ return this.call("create_gallery", args);
252
+ }
253
+ /**
254
+ * List wikis visible to the current user (guild admins see all).
255
+ *
256
+ * `GET /wikis/`, needs `wikis:read`.
257
+ */
258
+ listWikis(args) {
259
+ return this.call("list_wikis", args);
260
+ }
261
+ /**
262
+ * Create a wiki. Requires create_wikis permission on the initiative (or guild
263
+ * admin); the creator gets the owner grant.
264
+ *
265
+ * `POST /wikis/`, needs `wikis:write`.
266
+ */
267
+ createWiki(args) {
268
+ return this.call("create_wiki", args);
269
+ }
270
+ /**
271
+ * Read Project
272
+ *
273
+ * `GET /projects/{project_id}`, needs `projects:read`.
274
+ */
275
+ readProject(args) {
276
+ return this.call("read_project", args);
277
+ }
278
+ /**
279
+ * Update Project
280
+ *
281
+ * `PATCH /projects/{project_id}`, needs `projects:write`.
282
+ */
283
+ updateProject(args) {
284
+ return this.call("update_project", args);
285
+ }
286
+ /**
287
+ * List Task Statuses
288
+ *
289
+ * `GET /projects/{project_id}/task-statuses/`, needs `projects:read`.
290
+ */
291
+ listTaskStatuses(args) {
292
+ return this.call("list_task_statuses", args);
293
+ }
294
+ /**
295
+ * The distinct status columns across the initiative's readable projects.
296
+ *
297
+ * `GET /initiatives/{initiative_id}/task-statuses/`, needs `projects:read`.
298
+ */
299
+ listInitiativeTaskStatuses(args) {
300
+ return this.call("list_initiative_task_statuses", args);
301
+ }
302
+ /**
303
+ * List Tasks
304
+ *
305
+ * `GET /tasks/`, needs `projects:read`.
306
+ */
307
+ listTasks(args) {
308
+ return this.call("list_tasks", args);
309
+ }
310
+ /**
311
+ * Create Task
312
+ *
313
+ * `POST /tasks/`, needs `projects:write`.
314
+ */
315
+ createTask(args) {
316
+ return this.call("create_task", args);
317
+ }
318
+ /**
319
+ * Read Task
320
+ *
321
+ * `GET /tasks/{task_id}`, needs `projects:read`.
322
+ */
323
+ readTask(args) {
324
+ return this.call("read_task", args);
325
+ }
326
+ /**
327
+ * Update Task
328
+ *
329
+ * `PATCH /tasks/{task_id}`, needs `projects:write`.
330
+ */
331
+ updateTask(args) {
332
+ return this.call("update_task", args);
333
+ }
334
+ /**
335
+ * Move Task
336
+ *
337
+ * `POST /tasks/{task_id}/move`, needs `projects:write`.
338
+ */
339
+ moveTask(args) {
340
+ return this.call("move_task", args);
341
+ }
342
+ /**
343
+ * Copy the task beside itself, at the end of its project, as "<title>
344
+ * (Copy)", with its assignees, tags, links and properties; its checklist
345
+ * starts unticked.
346
+ *
347
+ * `POST /tasks/{task_id}/duplicate`, needs `projects:write`.
348
+ */
349
+ duplicateTask(args) {
350
+ return this.call("duplicate_task", args);
351
+ }
352
+ /**
353
+ * Move a repeating task on to its next occurrence without completing it.
354
+ *
355
+ * `POST /tasks/{task_id}/skip`, needs `projects:write`.
356
+ */
357
+ skipTask(args) {
358
+ return this.call("skip_task", args);
359
+ }
360
+ /**
361
+ * Tick or untick one checklist item.
362
+ *
363
+ * `PATCH /tasks/{task_id}/checklist/{item_id}`, needs `projects:write`.
364
+ */
365
+ toggleChecklistItem(args) {
366
+ return this.call("toggle_checklist_item", args);
367
+ }
368
+ /**
369
+ * One page of a thread: `limit` conversations, newest first, each with every
370
+ * reply under it. Follow `next_cursor` for older conversations.
371
+ *
372
+ * `GET /comments/`, needs `comments:read`.
373
+ */
374
+ listComments(args) {
375
+ return this.call("list_comments", args);
376
+ }
377
+ /**
378
+ * Create Comment
379
+ *
380
+ * `POST /comments/`, needs `comments:write`.
381
+ */
382
+ createComment(args) {
383
+ return this.call("create_comment", args);
384
+ }
385
+ /**
386
+ * One comment by id — the read-back for a `comments.*` event.
387
+ *
388
+ * `GET /comments/{comment_id}`, needs `comments:read`.
389
+ */
390
+ readComment(args) {
391
+ return this.call("read_comment", args);
392
+ }
393
+ /**
394
+ * The initiatives the caller belongs to, or — for a guild admin asking for
395
+ * `scope=community` — every initiative in the guild.
396
+ *
397
+ * `GET /initiatives/`, needs `initiatives:read`.
398
+ */
399
+ listInitiatives(args) {
400
+ return this.call("list_initiatives", args);
401
+ }
402
+ /**
403
+ * Get Initiative
404
+ *
405
+ * `GET /initiatives/{initiative_id}`, needs `initiatives:read`.
406
+ */
407
+ getInitiative(args) {
408
+ return this.call("get_initiative", args);
409
+ }
410
+ /**
411
+ * Read Document
412
+ *
413
+ * `GET /documents/{document_id}`, needs `documents:read`.
414
+ */
415
+ readDocument(args) {
416
+ return this.call("read_document", args);
417
+ }
418
+ /**
419
+ * Update Document
420
+ *
421
+ * `PATCH /documents/{document_id}`, needs `documents:write`.
422
+ */
423
+ updateDocument(args) {
424
+ return this.call("update_document", args);
425
+ }
426
+ /**
427
+ * Read Queue
428
+ *
429
+ * `GET /queues/{queue_id}`, needs `queues:read`.
430
+ */
431
+ readQueue(args) {
432
+ return this.call("read_queue", args);
433
+ }
434
+ /**
435
+ * Update queue name/description. Requires write access.
436
+ *
437
+ * `PATCH /queues/{queue_id}`, needs `queues:write`.
438
+ */
439
+ updateQueue(args) {
440
+ return this.call("update_queue", args);
441
+ }
442
+ /**
443
+ * Start the queue: set active, reset to first item, round 1.
444
+ *
445
+ * `POST /queues/{queue_id}/start`, needs `queues:write`.
446
+ */
447
+ startQueue(args) {
448
+ return this.call("start_queue", args);
449
+ }
450
+ /**
451
+ * Stop the queue: set inactive but keep current position.
452
+ *
453
+ * `POST /queues/{queue_id}/stop`, needs `queues:write`.
454
+ */
455
+ stopQueue(args) {
456
+ return this.call("stop_queue", args);
457
+ }
458
+ /**
459
+ * Advance to the next visible item. Wraps around and increments round.
460
+ *
461
+ * `POST /queues/{queue_id}/next`, needs `queues:write`.
462
+ */
463
+ advanceTurn(args) {
464
+ return this.call("advance_turn", args);
465
+ }
466
+ /**
467
+ * Move to the previous visible item. Wraps around and decrements round.
468
+ *
469
+ * `POST /queues/{queue_id}/previous`, needs `queues:write`.
470
+ */
471
+ previousTurn(args) {
472
+ return this.call("previous_turn", args);
473
+ }
474
+ /**
475
+ * Jump to a specific item in the queue.
476
+ *
477
+ * `POST /queues/{queue_id}/set-active/{item_id}`, needs `queues:write`.
478
+ */
479
+ setActiveItem(args) {
480
+ return this.call("set_active_item", args);
481
+ }
482
+ /**
483
+ * Reset the queue to round 1, first visible item.
484
+ *
485
+ * `POST /queues/{queue_id}/reset`, needs `queues:write`.
486
+ */
487
+ resetQueue(args) {
488
+ return this.call("reset_queue", args);
489
+ }
490
+ /**
491
+ * Hold the current turn — the item leaves the rotation until it acts.
492
+ *
493
+ * `POST /queues/{queue_id}/hold`, needs `queues:write`.
494
+ */
495
+ holdCurrentTurn(args) {
496
+ return this.call("hold_current_turn", args);
497
+ }
498
+ /**
499
+ * Release a held item back into the rotation.
500
+ *
501
+ * `POST /queues/{queue_id}/release/{item_id}`, needs `queues:write`.
502
+ */
503
+ releaseHeldItem(args) {
504
+ return this.call("release_held_item", args);
505
+ }
506
+ /**
507
+ * One queue item by id — the read-back for a `queue_items.*` event.
508
+ *
509
+ * `GET /queue-items/{item_id}`, needs `queues:read`.
510
+ */
511
+ readQueueItem(args) {
512
+ return this.call("read_queue_item", args);
513
+ }
514
+ /**
515
+ * Update a queue item. Requires write access on the queue.
516
+ *
517
+ * `PATCH /queue-items/{item_id}`, needs `queues:write`.
518
+ */
519
+ updateQueueItem(args) {
520
+ return this.call("update_queue_item", args);
521
+ }
522
+ /**
523
+ * Copy the item beside itself, at the same place in the turn order, as
524
+ * "<label> (Copy)", with its person, tags, links and properties.
525
+ *
526
+ * `POST /queue-items/{item_id}/duplicate`, needs `queues:write`.
527
+ */
528
+ duplicateQueueItem(args) {
529
+ return this.call("duplicate_queue_item", args);
530
+ }
531
+ /**
532
+ * Read Counter Group
533
+ *
534
+ * `GET /counter-groups/{group_id}`, needs `counter_groups:read`.
535
+ */
536
+ readCounterGroup(args) {
537
+ return this.call("read_counter_group", args);
538
+ }
539
+ /**
540
+ * Update Counter Group
541
+ *
542
+ * `PATCH /counter-groups/{group_id}`, needs `counter_groups:write`.
543
+ */
544
+ updateCounterGroup(args) {
545
+ return this.call("update_counter_group", args);
546
+ }
547
+ /**
548
+ * One counter by id — the read-back for a `counters.*` event.
549
+ *
550
+ * `GET /counters/{counter_id}`, needs `counter_groups:read`.
551
+ */
552
+ readCounter(args) {
553
+ return this.call("read_counter", args);
554
+ }
555
+ /**
556
+ * Copy the counter to the end of its group as "<name> (Copy)", with its
557
+ * count, tags and properties.
558
+ *
559
+ * `POST /counters/{counter_id}/duplicate`, needs `counter_groups:write`.
560
+ */
561
+ duplicateCounter(args) {
562
+ return this.call("duplicate_counter", args);
563
+ }
564
+ /**
565
+ * Put a counter at a number, held within its bounds.
566
+ *
567
+ * `POST /counters/{counter_id}/set`, needs `counter_groups:write`.
568
+ */
569
+ setCounterCount(args) {
570
+ return this.call("set_counter_count", args);
571
+ }
572
+ /**
573
+ * Move a counter up or down, by `amount` or by its own step, held within its
574
+ * bounds. Two steps landing together each count.
575
+ *
576
+ * `POST /counters/{counter_id}/step`, needs `counter_groups:write`.
577
+ */
578
+ stepCounter(args) {
579
+ return this.call("step_counter", args);
580
+ }
581
+ /**
582
+ * Put a counter back to the value it starts from.
583
+ *
584
+ * `POST /counters/{counter_id}/reset`, needs `counter_groups:write`.
585
+ */
586
+ resetCounter(args) {
587
+ return this.call("reset_counter", args);
588
+ }
589
+ /**
590
+ * Read Calendar
591
+ *
592
+ * `GET /calendars/{calendar_id}`, needs `calendars:read`.
593
+ */
594
+ readCalendar(args) {
595
+ return this.call("read_calendar", args);
596
+ }
597
+ /**
598
+ * Rename/update a calendar. Asks the edit action, which on a guild calendar
599
+ * is the guild admin's: a write grant on one writes its events.
600
+ *
601
+ * `PATCH /calendars/{calendar_id}`, needs `calendars:write`.
602
+ */
603
+ updateCalendar(args) {
604
+ return this.call("update_calendar", args);
605
+ }
606
+ /**
607
+ * Read one notice. A scheduled one is its writers' until it goes up; to
608
+ * anyone else it is not there (the posts read policy).
609
+ *
610
+ * `GET /posts/{post_id}`, needs `posts:read`.
611
+ */
612
+ readPost(args) {
613
+ return this.call("read_post", args);
614
+ }
615
+ /**
616
+ * Edit a notice — its headline, its body, or a schedule not yet reached.
617
+ * Requires write access.
618
+ *
619
+ * `PATCH /posts/{post_id}`, needs `posts:write`.
620
+ */
621
+ updatePost(args) {
622
+ return this.call("update_post", args);
623
+ }
624
+ /**
625
+ * Pin a notice to the top of the board, or take it back down.
626
+ *
627
+ * `PUT /posts/{post_id}/pin`, needs `posts:write`.
628
+ */
629
+ setPostPin(args) {
630
+ return this.call("set_post_pin", args);
631
+ }
632
+ /**
633
+ * Read Gallery
634
+ *
635
+ * `GET /galleries/{gallery_id}`, needs `galleries:read`.
636
+ */
637
+ readGallery(args) {
638
+ return this.call("read_gallery", args);
639
+ }
640
+ /**
641
+ * Rename, describe, or choose the cover. Requires write access.
642
+ *
643
+ * `PATCH /galleries/{gallery_id}`, needs `galleries:write`.
644
+ */
645
+ updateGallery(args) {
646
+ return this.call("update_gallery", args);
647
+ }
648
+ /**
649
+ * One page of a gallery's pictures, newest first.
650
+ *
651
+ * `GET /galleries/{gallery_id}/images`, needs `galleries:read`.
652
+ */
653
+ listGalleryImages(args) {
654
+ return this.call("list_gallery_images", args);
655
+ }
656
+ /**
657
+ * Read Wiki
658
+ *
659
+ * `GET /wikis/{wiki_id}`, needs `wikis:read`.
660
+ */
661
+ readWiki(args) {
662
+ return this.call("read_wiki", args);
663
+ }
664
+ /**
665
+ * Update Wiki
666
+ *
667
+ * `PATCH /wikis/{wiki_id}`, needs `wikis:write`.
668
+ */
669
+ updateWiki(args) {
670
+ return this.call("update_wiki", args);
671
+ }
672
+ /**
673
+ * Every page of a wiki, in reading order.
674
+ *
675
+ * `GET /wikis/{wiki_id}/pages`, needs `wikis:read`.
676
+ */
677
+ listWikiPages(args) {
678
+ return this.call("list_wiki_pages", args);
679
+ }
680
+ /**
681
+ * One page by its own id, which is all a link to it, a mention or a stored
682
+ * notification names.
683
+ *
684
+ * `GET /wiki-pages/{page_id}`, needs `wikis:read`.
685
+ */
686
+ readWikiPage(args) {
687
+ return this.call("read_wiki_page", args);
688
+ }
689
+ /**
690
+ * Copy the page, without the pages under it, to the end of where it is filed,
691
+ * as "<title> (Copy)", with its tags, links and properties.
692
+ *
693
+ * `POST /wiki-pages/{page_id}/duplicate`, needs `wikis:write`.
694
+ */
695
+ duplicateWikiPage(args) {
696
+ return this.call("duplicate_wiki_page", args);
697
+ }
698
+ /**
699
+ * Read Calendar Event
700
+ *
701
+ * `GET /calendar-events/{event_id}`, needs `calendars:read`.
702
+ */
703
+ readCalendarEvent(args) {
704
+ return this.call("read_calendar_event", args);
705
+ }
706
+ /**
707
+ * Update a calendar event. Requires write access on the calendar (and on the
708
+ * target calendar when moving the event).
709
+ *
710
+ * `PATCH /calendar-events/{event_id}`, needs `calendars:write`.
711
+ */
712
+ updateCalendarEvent(args) {
713
+ return this.call("update_calendar_event", args);
714
+ }
715
+ /**
716
+ * Create a calendar event. Requires write access on the calendar.
717
+ *
718
+ * `POST /calendar-events/`, needs `calendars:write`.
719
+ */
720
+ createCalendarEvent(args) {
721
+ return this.call("create_calendar_event", args);
722
+ }
723
+ /**
724
+ * Copy the event beside itself as "<title> (Copy)", with its invitees, who
725
+ * are invited to it as to a new event, its tags, links and properties. A
726
+ * repeating event comes with its occurrences changed on their own; one
727
+ * changed occurrence, or the `occurrence` named, is copied as an event of its
728
+ * own.
729
+ *
730
+ * `POST /calendar-events/{event_id}/duplicate`, needs `calendars:write`.
731
+ */
732
+ duplicateCalendarEvent(args) {
733
+ return this.call("duplicate_calendar_event", args);
734
+ }
735
+ /**
736
+ * The occurrence starting at `start` as a row of its own, made from the
737
+ * series the first time it is asked for, so it can change, carry its own
738
+ * attendees or be linked to alone. Requires write access on the calendar.
739
+ *
740
+ * `POST /calendar-events/{event_id}/occurrences`, needs `calendars:write`.
741
+ */
742
+ openOccurrence(args) {
743
+ return this.call("open_occurrence", args);
744
+ }
745
+ /**
746
+ * Copy the occurrence at `start` out into an event of its own, which the
747
+ * series then skips.
748
+ *
749
+ * `POST /calendar-events/{event_id}/occurrences/detach`, needs `calendars:write`.
750
+ */
751
+ detachOccurrence(args) {
752
+ return this.call("detach_occurrence", args);
753
+ }
754
+ /**
755
+ * Bring back a skipped occurrence of the series.
756
+ *
757
+ * `POST /calendar-events/{event_id}/occurrences/restore`, needs `calendars:write`.
758
+ */
759
+ restoreOccurrence(args) {
760
+ return this.call("restore_occurrence", args);
761
+ }
762
+ /**
763
+ * Give the series an extra occurrence at `start`.
764
+ *
765
+ * `POST /calendar-events/{event_id}/occurrences/add`, needs `calendars:write`.
766
+ */
767
+ addOccurrence(args) {
768
+ return this.call("add_occurrence", args);
769
+ }
770
+ /**
771
+ * Set attendees. Requires write access on the calendar.
772
+ *
773
+ * `PUT /calendar-events/{event_id}/attendees`, needs `calendars:write`.
774
+ */
775
+ setAttendees(args) {
776
+ return this.call("set_attendees", args);
777
+ }
778
+ /**
779
+ * List all tags in the current guild.
780
+ *
781
+ * `GET /tags/`, needs `tags:read`.
782
+ */
783
+ listTags() {
784
+ return this.call("list_tags");
785
+ }
786
+ /**
787
+ * Add and/or remove tags across many entities of one type, atomically.
788
+ *
789
+ * `POST /tags/bulk`, needs `tags:write`.
790
+ */
791
+ bulkEditTags(args) {
792
+ return this.call("bulk_edit_tags", args);
793
+ }
794
+ /**
795
+ * Replace the project's entire sharing state in one call — the body is the
796
+ * full list of grants (all-initiative-members / per-user / per-role). Every
797
+ * non-owner grant is rebuilt from it; the owner is always preserved.
798
+ *
799
+ * `PUT /projects/{project_id}/grants`, needs `sharing:write`.
800
+ */
801
+ setProjectGrants(args) {
802
+ return this.call("set_project_grants", args);
803
+ }
804
+ /**
805
+ * Replace the document's entire sharing state in one call — the body is the
806
+ * full list of grants (all-initiative-members / per-user / per-role). Every
807
+ * non-owner grant is rebuilt from it; the owner is always preserved.
808
+ *
809
+ * `PUT /documents/{document_id}/grants`, needs `sharing:write`.
810
+ */
811
+ setDocumentGrants(args) {
812
+ return this.call("set_document_grants", args);
813
+ }
814
+ /**
815
+ * Replace the queue's entire sharing state in one call — the body is the full
816
+ * list of grants (all-initiative-members / per-user / per-role). Every
817
+ * non-owner grant is rebuilt from it; the owner is always preserved.
818
+ *
819
+ * `PUT /queues/{queue_id}/grants`, needs `sharing:write`.
820
+ */
821
+ setQueueGrants(args) {
822
+ return this.call("set_queue_grants", args);
823
+ }
824
+ /**
825
+ * Replace the counter group's entire sharing state in one call — the body is
826
+ * the full list of grants (all-initiative-members / per-user / per-role).
827
+ * Every non-owner grant is rebuilt from it; the owner is always preserved.
828
+ *
829
+ * `PUT /counter-groups/{group_id}/grants`, needs `sharing:write`.
830
+ */
831
+ setCounterGroupGrants(args) {
832
+ return this.call("set_counter_group_grants", args);
833
+ }
834
+ /**
835
+ * Replace the calendar's entire sharing state in one call — the body is the
836
+ * full list of grants (all-initiative-members / per-user / per-role). Every
837
+ * non-owner grant is rebuilt from it; the owner is always preserved.
838
+ *
839
+ * `PUT /calendars/{calendar_id}/grants`, needs `sharing:write`.
840
+ */
841
+ setCalendarGrants(args) {
842
+ return this.call("set_calendar_grants", args);
843
+ }
844
+ /**
845
+ * Replace the post's entire sharing state in one call — the body is the full
846
+ * list of grants (all-initiative-members / per-user / per-role). Every
847
+ * non-owner grant is rebuilt from it; the owner is always preserved.
848
+ *
849
+ * `PUT /posts/{post_id}/grants`, needs `sharing:write`.
850
+ */
851
+ setPostGrants(args) {
852
+ return this.call("set_post_grants", args);
853
+ }
854
+ /**
855
+ * Replace the gallery's entire sharing state in one call — the body is the
856
+ * full list of grants. Every non-owner grant is rebuilt from it; the owner is
857
+ * always preserved.
858
+ *
859
+ * `PUT /galleries/{gallery_id}/grants`, needs `sharing:write`.
860
+ */
861
+ setGalleryGrants(args) {
862
+ return this.call("set_gallery_grants", args);
863
+ }
864
+ /**
865
+ * Set Wiki Grants
866
+ *
867
+ * `PUT /wikis/{wiki_id}/grants`, needs `sharing:write`.
868
+ */
869
+ setWikiGrants(args) {
870
+ return this.call("set_wiki_grants", args);
871
+ }
872
+ /**
873
+ * Copy it, with everything inside it, into an initiative: its own unless the
874
+ * body names another. Read is enough to copy a template; anything else needs
875
+ * write. The copy is shared as its source is while it stays in the same
876
+ * initiative, and carries the tags its maker may set: an installed plug-in's
877
+ * copy carries them only when it holds the scope to tag.
878
+ *
879
+ * `POST /projects/{project_id}/duplicate`, needs `projects:write`.
880
+ */
881
+ duplicateProject(args) {
882
+ return this.call("duplicate_project", args);
883
+ }
884
+ /**
885
+ * Copy it, with everything inside it, into an initiative: its own unless the
886
+ * body names another. Read is enough to copy a template; anything else needs
887
+ * write. The copy is shared as its source is while it stays in the same
888
+ * initiative, and carries the tags its maker may set: an installed plug-in's
889
+ * copy carries them only when it holds the scope to tag.
890
+ *
891
+ * `POST /documents/{document_id}/duplicate`, needs `documents:write`.
892
+ */
893
+ duplicateDocument(args) {
894
+ return this.call("duplicate_document", args);
895
+ }
896
+ /**
897
+ * Copy it, with everything inside it, into an initiative: its own unless the
898
+ * body names another. Read is enough to copy a template; anything else needs
899
+ * write. The copy is shared as its source is while it stays in the same
900
+ * initiative, and carries the tags its maker may set: an installed plug-in's
901
+ * copy carries them only when it holds the scope to tag.
902
+ *
903
+ * `POST /queues/{queue_id}/duplicate`, needs `queues:write`.
904
+ */
905
+ duplicateQueue(args) {
906
+ return this.call("duplicate_queue", args);
907
+ }
908
+ /**
909
+ * Copy it, with everything inside it, into an initiative: its own unless the
910
+ * body names another. Read is enough to copy a template; anything else needs
911
+ * write. The copy is shared as its source is while it stays in the same
912
+ * initiative, and carries the tags its maker may set: an installed plug-in's
913
+ * copy carries them only when it holds the scope to tag.
914
+ *
915
+ * `POST /counter-groups/{group_id}/duplicate`, needs `counter_groups:write`.
916
+ */
917
+ duplicateCounterGroup(args) {
918
+ return this.call("duplicate_counter_group", args);
919
+ }
920
+ /**
921
+ * Copy it, with everything inside it, into an initiative: its own unless the
922
+ * body names another. Read is enough to copy a template; anything else needs
923
+ * write. The copy is shared as its source is while it stays in the same
924
+ * initiative, and carries the tags its maker may set: an installed plug-in's
925
+ * copy carries them only when it holds the scope to tag.
926
+ *
927
+ * `POST /calendars/{calendar_id}/duplicate`, needs `calendars:write`.
928
+ */
929
+ duplicateCalendar(args) {
930
+ return this.call("duplicate_calendar", args);
931
+ }
932
+ /**
933
+ * Copy it, with everything inside it, into an initiative: its own unless the
934
+ * body names another. Read is enough to copy a template; anything else needs
935
+ * write. The copy is shared as its source is while it stays in the same
936
+ * initiative, and carries the tags its maker may set: an installed plug-in's
937
+ * copy carries them only when it holds the scope to tag.
938
+ *
939
+ * `POST /posts/{post_id}/duplicate`, needs `posts:write`.
940
+ */
941
+ duplicatePost(args) {
942
+ return this.call("duplicate_post", args);
943
+ }
944
+ /**
945
+ * Copy it, with everything inside it, into an initiative: its own unless the
946
+ * body names another. Read is enough to copy a template; anything else needs
947
+ * write. The copy is shared as its source is while it stays in the same
948
+ * initiative, and carries the tags its maker may set: an installed plug-in's
949
+ * copy carries them only when it holds the scope to tag.
950
+ *
951
+ * `POST /galleries/{gallery_id}/duplicate`, needs `galleries:write`.
952
+ */
953
+ duplicateGallery(args) {
954
+ return this.call("duplicate_gallery", args);
955
+ }
956
+ /**
957
+ * Copy it, with everything inside it, into an initiative: its own unless the
958
+ * body names another. Read is enough to copy a template; anything else needs
959
+ * write. The copy is shared as its source is while it stays in the same
960
+ * initiative, and carries the tags its maker may set: an installed plug-in's
961
+ * copy carries them only when it holds the scope to tag.
962
+ *
963
+ * `POST /wikis/{wiki_id}/duplicate`, needs `wikis:write`.
964
+ */
965
+ duplicateWiki(args) {
966
+ return this.call("duplicate_wiki", args);
967
+ }
968
+ /**
969
+ * Titles for the command palette — a way to reach one thing quickly.
970
+ *
971
+ * `GET /search/suggest`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `documents:read`, `galleries:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
972
+ */
973
+ suggestCommunity(args) {
974
+ return this.call("suggest_community", args);
975
+ }
976
+ /**
977
+ * List property definitions.
978
+ *
979
+ * `GET /property-definitions/`, needs `initiatives:read`.
980
+ */
981
+ listPropertyDefinitions(args) {
982
+ return this.call("list_property_definitions", args);
983
+ }
984
+ /**
985
+ * Replace the custom property values on one tool or sub-tool.
986
+ *
987
+ * `PUT /properties/{target}/{entity_id}`, needs the scope its `target` names.
988
+ */
989
+ setProperties(args) {
990
+ return this.call("set_properties", args);
991
+ }
992
+ /**
993
+ * Mark a thing finished with, and everything inside it. Idempotent: an
994
+ * already-archived row keeps the stamp it has, so the date means when it was
995
+ * archived, not when it was last asked about.
996
+ *
997
+ * `POST /archive/{entity_type}/{entity_id}`, needs the scope its `entity_type` names.
998
+ */
999
+ archiveEntity(args) {
1000
+ return this.call("archive_entity", args);
1001
+ }
1002
+ /**
1003
+ * Slim, searchable, paginated roster for typeahead/pickers.
1004
+ *
1005
+ * `GET /users/search`, needs `members:read`.
1006
+ */
1007
+ searchUsers(args) {
1008
+ return this.call("search_users", args);
1009
+ }
1010
+ /**
1011
+ * Serve the picture a member of this community uploaded.
1012
+ *
1013
+ * `GET /members/{person}/avatar/{digest}`, needs `members:read`.
1014
+ */
1015
+ readMemberAvatar(args) {
1016
+ return this.call("read_member_avatar", args);
1017
+ }
1018
+ }
1019
+ //# sourceMappingURL=plugin-api.generated.js.map