initiative-plugin-sdk 9.0.1 → 10.0.1

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Generated by scripts/generate-plugin-api.mjs from schemas/plugin-api.json, the plug-in API
3
- * taken from Initiative 0.77.1 (commit efa16ee25). Do not edit: regenerate.
3
+ * taken from Initiative 0.77.1 (commit d862d0ebd). Do not edit: regenerate.
4
4
  */
5
5
  import type { Scope } from "./contract.js";
6
6
  /**
@@ -31,7 +31,7 @@ export interface PluginApiSchemas {
31
31
  /**
32
32
  * Things that can be archived.
33
33
  */
34
- ArchivableType: "project" | "file" | "queue" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "task" | "initiative" | "collection";
34
+ ArchivableType: "project" | "file" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "contact" | "task" | "initiative" | "collection";
35
35
  /**
36
36
  * What archiving or unarchiving answers with.
37
37
  */
@@ -315,10 +315,12 @@ export interface PluginApiSchemas {
315
315
  kind: PluginApiSchemas["FileKind"];
316
316
  };
317
317
  /**
318
- * Files to put in a collection or take out of it.
318
+ * Files to put in a collection, and the values of the collection's metadata
319
+ * each one it takes starts with: what its file page requires.
319
320
  */
320
- CollectionFiles: {
321
+ CollectionFilesAdd: {
321
322
  file_ids: number[];
323
+ metadata?: PluginApiSchemas["PropertyValueInput"][];
322
324
  };
323
325
  CollectionListResponse: {
324
326
  items: PluginApiSchemas["CollectionRead"][];
@@ -409,12 +411,12 @@ export interface PluginApiSchemas {
409
411
  collection_id?: number | null;
410
412
  project_id?: number | null;
411
413
  file_id?: number | null;
412
- queue_id?: number | null;
413
414
  counter_group_id?: number | null;
414
415
  calendar_id?: number | null;
415
416
  dashboard_id?: number | null;
416
417
  post_id?: number | null;
417
418
  wiki_id?: number | null;
419
+ contact_id?: number | null;
418
420
  parent_comment_id?: number | null;
419
421
  audience?: PluginApiSchemas["CommentAudience"];
420
422
  };
@@ -445,12 +447,12 @@ export interface PluginApiSchemas {
445
447
  collection_id: number | null;
446
448
  project_id: number | null;
447
449
  file_id: number | null;
448
- queue_id: number | null;
449
450
  counter_group_id: number | null;
450
451
  calendar_id: number | null;
451
452
  dashboard_id: number | null;
452
453
  post_id: number | null;
453
454
  wiki_id: number | null;
455
+ contact_id: number | null;
454
456
  id: number;
455
457
  created_by: string | null;
456
458
  parent_comment_id: number | null;
@@ -472,6 +474,106 @@ export interface PluginApiSchemas {
472
474
  by: PluginApiSchemas["RemovedBy"];
473
475
  reason: PluginApiSchemas["RemovalReason"] | null;
474
476
  };
477
+ /**
478
+ * An address, as one block of text written as it is on an envelope, so any
479
+ * country's form fits.
480
+ */
481
+ ContactAddress: {
482
+ label?: string;
483
+ value: string;
484
+ };
485
+ ContactCreate: {
486
+ properties?: PluginApiSchemas["PropertyValueInput"][];
487
+ name: string;
488
+ is_organization?: boolean;
489
+ emails?: PluginApiSchemas["ContactEmail"][];
490
+ phones?: PluginApiSchemas["ContactPhone"][];
491
+ addresses?: PluginApiSchemas["ContactAddress"][];
492
+ websites?: PluginApiSchemas["ContactWebsite"][];
493
+ initiative_id?: number | null;
494
+ tag_ids?: number[] | null;
495
+ grants?: PluginApiSchemas["ResourceGrantSchema"][];
496
+ };
497
+ /**
498
+ * One of a contact's details: its value, and a short label saying which one
499
+ * it is.
500
+ */
501
+ ContactDetail: {
502
+ label?: string;
503
+ value: string;
504
+ };
505
+ ContactEmail: {
506
+ label?: string;
507
+ value: string;
508
+ };
509
+ ContactListResponse: {
510
+ total_count: number;
511
+ page: number;
512
+ page_size: number;
513
+ has_next: boolean;
514
+ has_prev: boolean;
515
+ items: PluginApiSchemas["ContactSummary"][];
516
+ };
517
+ ContactPhone: {
518
+ label?: string;
519
+ value: string;
520
+ };
521
+ ContactRead: {
522
+ archived_at: string | null;
523
+ can: PluginApiSchemas["ToolCan"];
524
+ id: number;
525
+ initiative_id: number | null;
526
+ community_id: string;
527
+ created_by: string | null;
528
+ created_at: string;
529
+ updated_at: string;
530
+ comments_enabled: boolean;
531
+ tags: PluginApiSchemas["TagSummary"][];
532
+ properties: PluginApiSchemas["PropertySummary"][];
533
+ grants: PluginApiSchemas["ResourceGrantSchema"][];
534
+ name: string;
535
+ is_organization: boolean;
536
+ emails: PluginApiSchemas["ContactDetail"][];
537
+ phones: PluginApiSchemas["ContactDetail"][];
538
+ addresses: PluginApiSchemas["ContactDetail"][];
539
+ websites: PluginApiSchemas["ContactDetail"][];
540
+ };
541
+ ContactSummary: {
542
+ archived_at: string | null;
543
+ can: PluginApiSchemas["ToolCan"];
544
+ id: number;
545
+ initiative_id: number | null;
546
+ community_id: string;
547
+ created_by: string | null;
548
+ created_at: string;
549
+ updated_at: string;
550
+ comments_enabled: boolean;
551
+ tags: PluginApiSchemas["TagSummary"][];
552
+ properties: PluginApiSchemas["PropertySummary"][];
553
+ grants: PluginApiSchemas["ResourceGrantSchema"][];
554
+ name: string;
555
+ is_organization: boolean;
556
+ emails: PluginApiSchemas["ContactDetail"][];
557
+ phones: PluginApiSchemas["ContactDetail"][];
558
+ addresses: PluginApiSchemas["ContactDetail"][];
559
+ websites: PluginApiSchemas["ContactDetail"][];
560
+ };
561
+ /**
562
+ * A change to a contact. Only what is sent is written; a list sent replaces
563
+ * the one there.
564
+ */
565
+ ContactUpdate: {
566
+ name?: string | null;
567
+ is_organization?: boolean | null;
568
+ emails?: PluginApiSchemas["ContactEmail"][] | null;
569
+ phones?: PluginApiSchemas["ContactPhone"][] | null;
570
+ addresses?: PluginApiSchemas["ContactAddress"][] | null;
571
+ websites?: PluginApiSchemas["ContactWebsite"][] | null;
572
+ };
573
+ ContactWebsite: {
574
+ label?: string;
575
+ value: string;
576
+ };
475
577
  /**
476
578
  * What the caller may do to a piece of content, as the server answers it.
477
579
  */
@@ -836,12 +938,12 @@ export interface PluginApiSchemas {
836
938
  InitiativeRead: {
837
939
  projects_enabled: boolean;
838
940
  files_enabled: boolean;
839
- queues_enabled: boolean;
840
941
  counter_groups_enabled: boolean;
841
942
  calendars_enabled: boolean;
842
943
  dashboards_enabled: boolean;
843
944
  posts_enabled: boolean;
844
945
  wikis_enabled: boolean;
946
+ contacts_enabled: boolean;
845
947
  name: string;
846
948
  description: string | null;
847
949
  color: string | null;
@@ -876,6 +978,11 @@ export interface PluginApiSchemas {
876
978
  project_count: number;
877
979
  projects_total: number;
878
980
  };
981
+ /**
982
+ * Who owns a definition people define: the initiative (its metadata), or a
983
+ * project or a collection (its properties).
984
+ */
985
+ MetadataOwnerKind: "initiative" | "project" | "collection";
879
986
  /**
880
987
  * What a metadata definition's values are.
881
988
  */
@@ -1099,6 +1206,13 @@ export interface PluginApiSchemas {
1099
1206
  start_date?: string | null;
1100
1207
  end_date?: string | null;
1101
1208
  };
1209
+ /**
1210
+ * Definitions of one initiative to delete together, or none of them.
1211
+ */
1212
+ PropertyDefinitionBulkDelete: {
1213
+ initiative_id: number;
1214
+ ids: number[];
1215
+ };
1102
1216
  PropertyDefinitionCreate: {
1103
1217
  name: string;
1104
1218
  type: PluginApiSchemas["MetadataType"];
@@ -1110,6 +1224,32 @@ export interface PluginApiSchemas {
1110
1224
  project_id?: number | null;
1111
1225
  collection_id?: number | null;
1112
1226
  };
1227
+ /**
1228
+ * One owner's definitions, as the initiative's settings list them.
1229
+ */
1230
+ PropertyDefinitionGroup: {
1231
+ owner: PluginApiSchemas["MetadataOwnerKind"];
1232
+ owner_id: number | null;
1233
+ name: string | null;
1234
+ can_edit: boolean;
1235
+ definitions: PluginApiSchemas["PropertyDefinitionRead"][];
1236
+ };
1237
+ /**
1238
+ * An initiative's metadata, then the properties of each project and each
1239
+ * collection in it the reader may edit, each under its owner.
1240
+ */
1241
+ PropertyDefinitionGroups: {
1242
+ groups: PluginApiSchemas["PropertyDefinitionGroup"][];
1243
+ };
1244
+ /**
1245
+ * Properties of one type, from the initiative's projects and collections,
1246
+ * merged into one of its metadata, named `name`.
1247
+ */
1248
+ PropertyDefinitionPromote: {
1249
+ initiative_id: number;
1250
+ ids: number[];
1251
+ name: string;
1252
+ };
1113
1253
  PropertyDefinitionRead: {
1114
1254
  name: string;
1115
1255
  type: PluginApiSchemas["MetadataType"];
@@ -1184,7 +1324,7 @@ export interface PluginApiSchemas {
1184
1324
  /**
1185
1325
  * What can carry custom property values: every tool and sub-tool.
1186
1326
  */
1187
- PropertyTarget: "project" | "file" | "queue" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "task" | "queue_item" | "calendar_event" | "counter" | "wiki_page" | "collection";
1327
+ PropertyTarget: "project" | "file" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "contact" | "task" | "calendar_event" | "counter" | "wiki_page" | "collection";
1188
1328
  /**
1189
1329
  * A single (property_id, value) pair submitted by the client.
1190
1330
  */
@@ -1202,120 +1342,6 @@ export interface PluginApiSchemas {
1202
1342
  removed?: number[];
1203
1343
  options?: PluginApiSchemas["PropertyOptionsChange"][];
1204
1344
  };
1205
- QueueCreate: {
1206
- properties?: PluginApiSchemas["PropertyValueInput"][];
1207
- name: string;
1208
- description?: string | null;
1209
- initiative_id: number;
1210
- grants?: PluginApiSchemas["ResourceGrantSchema"][];
1211
- };
1212
- QueueItemCreate: {
1213
- properties?: PluginApiSchemas["PropertyValueInput"][];
1214
- label: string;
1215
- position?: number;
1216
- color?: string | null;
1217
- notes?: string | null;
1218
- is_visible?: boolean;
1219
- user_id?: string | null;
1220
- tag_ids?: number[] | null;
1221
- task_ids?: number[] | null;
1222
- };
1223
- QueueItemRead: {
1224
- label: string;
1225
- position: number;
1226
- color: string | null;
1227
- notes: string | null;
1228
- is_visible: boolean;
1229
- id: number;
1230
- queue_id: number;
1231
- user_id: string | null;
1232
- user: PluginApiSchemas["PluginPerson"] | null;
1233
- tags: PluginApiSchemas["TagSummary"][];
1234
- properties: PluginApiSchemas["PropertySummary"][];
1235
- attachment_count: number;
1236
- held_at_round: number | null;
1237
- created_by: string | null;
1238
- created_at: string;
1239
- };
1240
- QueueItemUpdate: {
1241
- properties?: PluginApiSchemas["PropertyValueInput"][] | null;
1242
- label?: string | null;
1243
- position?: number | null;
1244
- user_id?: string | null;
1245
- color?: string | null;
1246
- notes?: string | null;
1247
- is_visible?: boolean | null;
1248
- tag_ids?: number[] | null;
1249
- notes_base?: string | null;
1250
- };
1251
- QueueListResponse: {
1252
- total_count: number;
1253
- page: number;
1254
- page_size: number;
1255
- has_next: boolean;
1256
- has_prev: boolean;
1257
- items: PluginApiSchemas["QueueSummary"][];
1258
- };
1259
- QueueRead: {
1260
- archived_at: string | null;
1261
- can: PluginApiSchemas["ToolCan"];
1262
- id: number;
1263
- initiative_id: number;
1264
- community_id: string;
1265
- created_by: string | null;
1266
- created_at: string;
1267
- updated_at: string;
1268
- comments_enabled: boolean;
1269
- tags: PluginApiSchemas["TagSummary"][];
1270
- properties: PluginApiSchemas["PropertySummary"][];
1271
- grants: PluginApiSchemas["ResourceGrantSchema"][];
1272
- name: string;
1273
- description: string | null;
1274
- current_round: number;
1275
- is_active: boolean;
1276
- preview: PluginApiSchemas["QueueTurnPreview"][] | null;
1277
- items: PluginApiSchemas["QueueItemRead"][];
1278
- current_item_id: number | null;
1279
- };
1280
- /**
1281
- * Options for releasing a held queue item back into the rotation.
1282
- */
1283
- QueueReleaseRequest: {
1284
- reposition?: boolean;
1285
- };
1286
- QueueSummary: {
1287
- archived_at: string | null;
1288
- can: PluginApiSchemas["ToolCan"];
1289
- id: number;
1290
- initiative_id: number;
1291
- community_id: string;
1292
- created_by: string | null;
1293
- created_at: string;
1294
- updated_at: string;
1295
- comments_enabled: boolean;
1296
- tags: PluginApiSchemas["TagSummary"][];
1297
- properties: PluginApiSchemas["PropertySummary"][];
1298
- grants: PluginApiSchemas["ResourceGrantSchema"][];
1299
- name: string;
1300
- description: string | null;
1301
- current_round: number;
1302
- is_active: boolean;
1303
- preview: PluginApiSchemas["QueueTurnPreview"][] | null;
1304
- };
1305
- /**
1306
- * One turn as a list's card draws it: who, in what colour, and whether it is
1307
- * theirs now.
1308
- */
1309
- QueueTurnPreview: {
1310
- id: number;
1311
- label: string;
1312
- color: string | null;
1313
- current: boolean;
1314
- };
1315
- QueueUpdate: {
1316
- name?: string | null;
1317
- description?: string | null;
1318
- };
1319
1345
  RSVPStatus: "pending" | "accepted" | "declined" | "tentative";
1320
1346
  /**
1321
1347
  * One emoji on one target, and who chose it.
@@ -1353,7 +1379,7 @@ export interface PluginApiSchemas {
1353
1379
  all_initiative_members?: boolean;
1354
1380
  plugin_install_id?: number | null;
1355
1381
  };
1356
- SearchEntityType: "calendar" | "calendar_event" | "collection" | "comment" | "counter" | "counter_group" | "dashboard" | "file" | "post" | "project" | "queue" | "queue_item" | "tag" | "task" | "wiki" | "wiki_page";
1382
+ SearchEntityType: "calendar" | "calendar_event" | "collection" | "comment" | "contact" | "counter" | "counter_group" | "dashboard" | "file" | "post" | "project" | "tag" | "task" | "wiki" | "wiki_page";
1357
1383
  /**
1358
1384
  * A jump-to target for the command palette: enough to render and route.
1359
1385
  */
@@ -1410,7 +1436,7 @@ export interface PluginApiSchemas {
1410
1436
  /**
1411
1437
  * Entity types a bulk tag edit can address.
1412
1438
  */
1413
- TagTarget: "project" | "file" | "queue" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "task" | "queue_item" | "calendar_event" | "wiki_page" | "collection";
1439
+ TagTarget: "project" | "file" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "contact" | "task" | "calendar_event" | "wiki_page" | "collection";
1414
1440
  TaskCreate: {
1415
1441
  properties?: PluginApiSchemas["PropertyValueInput"][];
1416
1442
  title: string;
@@ -1486,6 +1512,7 @@ export interface PluginApiSchemas {
1486
1512
  };
1487
1513
  TaskMoveRequest: {
1488
1514
  target_project_id: number;
1515
+ changes?: PluginApiSchemas["TaskUpdate"] | null;
1489
1516
  };
1490
1517
  /**
1491
1518
  * The task a task is part of: the target of its `part_of` edge.
@@ -1622,6 +1649,7 @@ export interface PluginApiSchemas {
1622
1649
  tz?: string | null;
1623
1650
  recurrence_strategy?: PluginApiSchemas["RecurrenceStrategy"] | null;
1624
1651
  recurrence_limit?: number | null;
1652
+ merge_properties?: boolean;
1625
1653
  tag_ids?: number[] | null;
1626
1654
  checklist?: PluginApiSchemas["ChecklistItemInput"][] | null;
1627
1655
  parent_task_id?: number | null;
@@ -1639,7 +1667,7 @@ export interface PluginApiSchemas {
1639
1667
  TimelineResponse: {
1640
1668
  buckets: PluginApiSchemas["TimelineBucket"][];
1641
1669
  };
1642
- Tool: "project" | "file" | "queue" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki";
1670
+ Tool: "project" | "file" | "counter_group" | "calendar" | "dashboard" | "post" | "wiki" | "contact";
1643
1671
  /**
1644
1672
  * What the caller may do to one of a tool's rows
1645
1673
  * (`permissions.client_access`).
@@ -2030,56 +2058,6 @@ export interface PluginApiOperations {
2030
2058
  body: PluginApiSchemas["FileCreate"];
2031
2059
  answer: PluginApiSchemas["FileRead"];
2032
2060
  };
2033
- list_queues: {
2034
- query: {
2035
- initiative_id?: number | null;
2036
- /**
2037
- * Full-text match over the row — its name and its description. Reads the
2038
- * same index the search page does, so a list's filter box and a search
2039
- * agree about what matches.
2040
- */
2041
- search?: string | null;
2042
- /**
2043
- * Order by one of: name, initiative, updated_at. Omit for this tool's own
2044
- * default order.
2045
- */
2046
- sort_by?: string | null;
2047
- /**
2048
- * asc (default) or desc.
2049
- */
2050
- sort_dir?: string | null;
2051
- /**
2052
- * Only queues carrying any of these tags.
2053
- */
2054
- tag_ids?: number[] | null;
2055
- /**
2056
- * JSON-encoded list of property-value filters, e.g. `[{"property_id": 12,
2057
- * "op": "eq", "value": "live"}]`. Maximum 5 conditions per request.
2058
- */
2059
- property_filters?: string | null;
2060
- /**
2061
- * true lists what has been archived instead of what is live. Omit for the
2062
- * live list, which is what every other view shows.
2063
- */
2064
- archived?: boolean | null;
2065
- /**
2066
- * Only running queues, or only stopped ones.
2067
- */
2068
- is_active?: boolean | null;
2069
- /**
2070
- * Also send what each row's card shows of what is inside it, read for the
2071
- * whole page at once.
2072
- */
2073
- include_preview?: boolean;
2074
- page?: number;
2075
- page_size?: number;
2076
- };
2077
- answer: PluginApiSchemas["QueueListResponse"];
2078
- };
2079
- create_queue: {
2080
- body: PluginApiSchemas["QueueCreate"];
2081
- answer: PluginApiSchemas["QueueRead"];
2082
- };
2083
2061
  list_counter_groups: {
2084
2062
  query: {
2085
2063
  initiative_id?: number | null;
@@ -2264,6 +2242,50 @@ export interface PluginApiOperations {
2264
2242
  body: PluginApiSchemas["WikiCreate"];
2265
2243
  answer: PluginApiSchemas["WikiRead"];
2266
2244
  };
2245
+ list_contacts: {
2246
+ query: {
2247
+ initiative_id?: number | null;
2248
+ scope?: "community" | null;
2249
+ /**
2250
+ * Full-text match over the contact's name, through the same index the
2251
+ * search page reads.
2252
+ */
2253
+ search?: string | null;
2254
+ /**
2255
+ * Order by one of: name, initiative, updated_at. Omit for by name.
2256
+ */
2257
+ sort_by?: string | null;
2258
+ /**
2259
+ * asc (default) or desc.
2260
+ */
2261
+ sort_dir?: string | null;
2262
+ /**
2263
+ * Only contacts carrying any of these tags.
2264
+ */
2265
+ tag_ids?: number[] | null;
2266
+ /**
2267
+ * JSON-encoded list of property-value filters, e.g. `[{"property_id": 12,
2268
+ * "op": "eq", "value": "live"}]`. Maximum 5 conditions per request.
2269
+ */
2270
+ property_filters?: string | null;
2271
+ /**
2272
+ * true lists what has been archived instead of what is live. Omit for the
2273
+ * live list, which is what every other view shows.
2274
+ */
2275
+ archived?: boolean | null;
2276
+ /**
2277
+ * Only organizations (true) or only people (false).
2278
+ */
2279
+ is_organization?: boolean | null;
2280
+ page?: number;
2281
+ page_size?: number;
2282
+ };
2283
+ answer: PluginApiSchemas["ContactListResponse"];
2284
+ };
2285
+ create_contact: {
2286
+ body: PluginApiSchemas["ContactCreate"];
2287
+ answer: PluginApiSchemas["ContactRead"];
2288
+ };
2267
2289
  list_collection_files: {
2268
2290
  path: {
2269
2291
  collection_id: number;
@@ -2329,7 +2351,7 @@ export interface PluginApiOperations {
2329
2351
  path: {
2330
2352
  collection_id: number;
2331
2353
  };
2332
- body: PluginApiSchemas["CollectionFiles"];
2354
+ body: PluginApiSchemas["CollectionFilesAdd"];
2333
2355
  answer: PluginApiSchemas["CollectionRead"];
2334
2356
  };
2335
2357
  remove_collection_files: {
@@ -2550,12 +2572,12 @@ export interface PluginApiOperations {
2550
2572
  collection_id?: number | null;
2551
2573
  project_id?: number | null;
2552
2574
  file_id?: number | null;
2553
- queue_id?: number | null;
2554
2575
  counter_group_id?: number | null;
2555
2576
  calendar_id?: number | null;
2556
2577
  dashboard_id?: number | null;
2557
2578
  post_id?: number | null;
2558
2579
  wiki_id?: number | null;
2580
+ contact_id?: number | null;
2559
2581
  };
2560
2582
  answer: PluginApiSchemas["CommentListResponse"];
2561
2583
  };
@@ -2688,112 +2710,6 @@ export interface PluginApiOperations {
2688
2710
  body: PluginApiSchemas["PropertyValuesSetRequest"];
2689
2711
  answer: PluginApiSchemas["PropertySummary"][];
2690
2712
  };
2691
- read_queue: {
2692
- path: {
2693
- queue_id: number;
2694
- };
2695
- query: {
2696
- /**
2697
- * Also return the resource if it is in the trash. For reading a resource
2698
- * back after a deleted event — the row still exists until retention
2699
- * purges it, and access is checked exactly as for a live one.
2700
- */
2701
- include_deleted?: boolean;
2702
- };
2703
- answer: PluginApiSchemas["QueueRead"];
2704
- };
2705
- update_queue: {
2706
- path: {
2707
- queue_id: number;
2708
- };
2709
- body: PluginApiSchemas["QueueUpdate"];
2710
- answer: PluginApiSchemas["QueueRead"];
2711
- };
2712
- add_queue_item: {
2713
- path: {
2714
- queue_id: number;
2715
- };
2716
- body: PluginApiSchemas["QueueItemCreate"];
2717
- answer: PluginApiSchemas["QueueItemRead"];
2718
- };
2719
- start_queue: {
2720
- path: {
2721
- queue_id: number;
2722
- };
2723
- answer: PluginApiSchemas["QueueRead"];
2724
- };
2725
- stop_queue: {
2726
- path: {
2727
- queue_id: number;
2728
- };
2729
- answer: PluginApiSchemas["QueueRead"];
2730
- };
2731
- advance_turn: {
2732
- path: {
2733
- queue_id: number;
2734
- };
2735
- answer: PluginApiSchemas["QueueRead"];
2736
- };
2737
- previous_turn: {
2738
- path: {
2739
- queue_id: number;
2740
- };
2741
- answer: PluginApiSchemas["QueueRead"];
2742
- };
2743
- set_active_item: {
2744
- path: {
2745
- queue_id: number;
2746
- item_id: number;
2747
- };
2748
- answer: PluginApiSchemas["QueueRead"];
2749
- };
2750
- reset_queue: {
2751
- path: {
2752
- queue_id: number;
2753
- };
2754
- answer: PluginApiSchemas["QueueRead"];
2755
- };
2756
- hold_current_turn: {
2757
- path: {
2758
- queue_id: number;
2759
- };
2760
- answer: PluginApiSchemas["QueueRead"];
2761
- };
2762
- release_held_item: {
2763
- path: {
2764
- queue_id: number;
2765
- item_id: number;
2766
- };
2767
- body: PluginApiSchemas["QueueReleaseRequest"];
2768
- answer: PluginApiSchemas["QueueRead"];
2769
- };
2770
- read_queue_item: {
2771
- path: {
2772
- item_id: number;
2773
- };
2774
- query: {
2775
- /**
2776
- * Also return the resource if it is in the trash. For reading a resource
2777
- * back after a deleted event — the row still exists until retention
2778
- * purges it, and access is checked exactly as for a live one.
2779
- */
2780
- include_deleted?: boolean;
2781
- };
2782
- answer: PluginApiSchemas["QueueItemRead"];
2783
- };
2784
- update_queue_item: {
2785
- path: {
2786
- item_id: number;
2787
- };
2788
- body: PluginApiSchemas["QueueItemUpdate"];
2789
- answer: PluginApiSchemas["QueueItemRead"];
2790
- };
2791
- duplicate_queue_item: {
2792
- path: {
2793
- item_id: number;
2794
- };
2795
- answer: PluginApiSchemas["QueueItemRead"];
2796
- };
2797
2713
  read_counter_group: {
2798
2714
  path: {
2799
2715
  group_id: number;
@@ -2983,6 +2899,19 @@ export interface PluginApiOperations {
2983
2899
  body: PluginApiSchemas["WikiPageMove"];
2984
2900
  answer: PluginApiSchemas["WikiPageRead"];
2985
2901
  };
2902
+ read_contact: {
2903
+ path: {
2904
+ contact_id: number;
2905
+ };
2906
+ answer: PluginApiSchemas["ContactRead"];
2907
+ };
2908
+ update_contact: {
2909
+ path: {
2910
+ contact_id: number;
2911
+ };
2912
+ body: PluginApiSchemas["ContactUpdate"];
2913
+ answer: PluginApiSchemas["ContactRead"];
2914
+ };
2986
2915
  read_calendar_event: {
2987
2916
  path: {
2988
2917
  event_id: number;
@@ -3084,13 +3013,6 @@ export interface PluginApiOperations {
3084
3013
  body: PluginApiSchemas["ResourceGrantSchema"][];
3085
3014
  answer: PluginApiSchemas["FileRead"];
3086
3015
  };
3087
- set_queue_grants: {
3088
- path: {
3089
- queue_id: number;
3090
- };
3091
- body: PluginApiSchemas["ResourceGrantSchema"][];
3092
- answer: PluginApiSchemas["QueueRead"];
3093
- };
3094
3016
  set_counter_group_grants: {
3095
3017
  path: {
3096
3018
  group_id: number;
@@ -3119,6 +3041,13 @@ export interface PluginApiOperations {
3119
3041
  body: PluginApiSchemas["ResourceGrantSchema"][];
3120
3042
  answer: PluginApiSchemas["WikiRead"];
3121
3043
  };
3044
+ set_contact_grants: {
3045
+ path: {
3046
+ contact_id: number;
3047
+ };
3048
+ body: PluginApiSchemas["ResourceGrantSchema"][];
3049
+ answer: PluginApiSchemas["ContactRead"];
3050
+ };
3122
3051
  duplicate_project: {
3123
3052
  path: {
3124
3053
  project_id: number;
@@ -3133,13 +3062,6 @@ export interface PluginApiOperations {
3133
3062
  body: PluginApiSchemas["ToolDuplicateRequest"] | null;
3134
3063
  answer: PluginApiSchemas["FileRead"];
3135
3064
  };
3136
- duplicate_queue: {
3137
- path: {
3138
- queue_id: number;
3139
- };
3140
- body: PluginApiSchemas["ToolDuplicateRequest"] | null;
3141
- answer: PluginApiSchemas["QueueRead"];
3142
- };
3143
3065
  duplicate_counter_group: {
3144
3066
  path: {
3145
3067
  group_id: number;
@@ -3168,6 +3090,13 @@ export interface PluginApiOperations {
3168
3090
  body: PluginApiSchemas["ToolDuplicateRequest"] | null;
3169
3091
  answer: PluginApiSchemas["WikiRead"];
3170
3092
  };
3093
+ duplicate_contact: {
3094
+ path: {
3095
+ contact_id: number;
3096
+ };
3097
+ body: PluginApiSchemas["ToolDuplicateRequest"] | null;
3098
+ answer: PluginApiSchemas["ContactRead"];
3099
+ };
3171
3100
  suggest_community: {
3172
3101
  query: {
3173
3102
  /**
@@ -3176,9 +3105,9 @@ export interface PluginApiOperations {
3176
3105
  search: string;
3177
3106
  /**
3178
3107
  * Restrict to these entity types. Omit for the default scope (calendar,
3179
- * calendar_event, collection, counter, counter_group, dashboard, file,
3180
- * post, project, queue, queue_item, tag, task, wiki, wiki_page); naming a
3181
- * type reaches it explicitly.
3108
+ * calendar_event, collection, contact, counter, counter_group, dashboard,
3109
+ * file, post, project, tag, task, wiki, wiki_page); naming a type reaches
3110
+ * it explicitly.
3182
3111
  */
3183
3112
  types?: PluginApiSchemas["SearchEntityType"][] | null;
3184
3113
  /**
@@ -3218,6 +3147,20 @@ export interface PluginApiOperations {
3218
3147
  body: PluginApiSchemas["PropertyDefinitionCreate"];
3219
3148
  answer: PluginApiSchemas["PropertyDefinitionRead"];
3220
3149
  };
3150
+ list_property_definitions_by_owner: {
3151
+ query: {
3152
+ initiative_id: number;
3153
+ };
3154
+ answer: PluginApiSchemas["PropertyDefinitionGroups"];
3155
+ };
3156
+ delete_property_definitions: {
3157
+ body: PluginApiSchemas["PropertyDefinitionBulkDelete"];
3158
+ answer: void;
3159
+ };
3160
+ promote_property_definitions: {
3161
+ body: PluginApiSchemas["PropertyDefinitionPromote"];
3162
+ answer: PluginApiSchemas["PropertyDefinitionRead"];
3163
+ };
3221
3164
  delete_property_definition: {
3222
3165
  path: {
3223
3166
  definition_id: number;
@@ -3297,7 +3240,7 @@ export declare const pluginApiOperations: {
3297
3240
  readonly path: "/webhooks/subscriptions";
3298
3241
  readonly scope: {
3299
3242
  readonly per: "event_type";
3300
- readonly any_of: readonly ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "files:read", "initiatives:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"];
3243
+ readonly any_of: readonly ["calendars:read", "comments:read", "contacts:read", "counter_groups:read", "dashboards:read", "files:read", "initiatives:read", "posts:read", "projects:read", "tags:read", "wikis:read"];
3301
3244
  };
3302
3245
  };
3303
3246
  readonly delete_subscription: {
@@ -3305,7 +3248,7 @@ export declare const pluginApiOperations: {
3305
3248
  readonly path: "/webhooks/subscriptions/{subscription_id}";
3306
3249
  readonly scope: {
3307
3250
  readonly per: "event_type";
3308
- readonly any_of: readonly ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "files:read", "initiatives:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"];
3251
+ readonly any_of: readonly ["calendars:read", "comments:read", "contacts:read", "counter_groups:read", "dashboards:read", "files:read", "initiatives:read", "posts:read", "projects:read", "tags:read", "wikis:read"];
3309
3252
  };
3310
3253
  };
3311
3254
  readonly list_projects: {
@@ -3328,16 +3271,6 @@ export declare const pluginApiOperations: {
3328
3271
  readonly path: "/files/";
3329
3272
  readonly scope: "files:write";
3330
3273
  };
3331
- readonly list_queues: {
3332
- readonly method: "GET";
3333
- readonly path: "/queues/";
3334
- readonly scope: "queues:read";
3335
- };
3336
- readonly create_queue: {
3337
- readonly method: "POST";
3338
- readonly path: "/queues/";
3339
- readonly scope: "queues:write";
3340
- };
3341
3274
  readonly list_counter_groups: {
3342
3275
  readonly method: "GET";
3343
3276
  readonly path: "/counter-groups/";
@@ -3378,6 +3311,16 @@ export declare const pluginApiOperations: {
3378
3311
  readonly path: "/wikis/";
3379
3312
  readonly scope: "wikis:write";
3380
3313
  };
3314
+ readonly list_contacts: {
3315
+ readonly method: "GET";
3316
+ readonly path: "/contacts/";
3317
+ readonly scope: "contacts:read";
3318
+ };
3319
+ readonly create_contact: {
3320
+ readonly method: "POST";
3321
+ readonly path: "/contacts/";
3322
+ readonly scope: "contacts:write";
3323
+ };
3381
3324
  readonly list_collection_files: {
3382
3325
  readonly method: "GET";
3383
3326
  readonly path: "/collections/{collection_id}/files";
@@ -3570,76 +3513,6 @@ export declare const pluginApiOperations: {
3570
3513
  readonly path: "/collections/{collection_id}/files/{file_id}/metadata";
3571
3514
  readonly scope: "files:write";
3572
3515
  };
3573
- readonly read_queue: {
3574
- readonly method: "GET";
3575
- readonly path: "/queues/{queue_id}";
3576
- readonly scope: "queues:read";
3577
- };
3578
- readonly update_queue: {
3579
- readonly method: "PATCH";
3580
- readonly path: "/queues/{queue_id}";
3581
- readonly scope: "queues:write";
3582
- };
3583
- readonly add_queue_item: {
3584
- readonly method: "POST";
3585
- readonly path: "/queues/{queue_id}/items";
3586
- readonly scope: "queues:write";
3587
- };
3588
- readonly start_queue: {
3589
- readonly method: "POST";
3590
- readonly path: "/queues/{queue_id}/start";
3591
- readonly scope: "queues:write";
3592
- };
3593
- readonly stop_queue: {
3594
- readonly method: "POST";
3595
- readonly path: "/queues/{queue_id}/stop";
3596
- readonly scope: "queues:write";
3597
- };
3598
- readonly advance_turn: {
3599
- readonly method: "POST";
3600
- readonly path: "/queues/{queue_id}/next";
3601
- readonly scope: "queues:write";
3602
- };
3603
- readonly previous_turn: {
3604
- readonly method: "POST";
3605
- readonly path: "/queues/{queue_id}/previous";
3606
- readonly scope: "queues:write";
3607
- };
3608
- readonly set_active_item: {
3609
- readonly method: "POST";
3610
- readonly path: "/queues/{queue_id}/set-active/{item_id}";
3611
- readonly scope: "queues:write";
3612
- };
3613
- readonly reset_queue: {
3614
- readonly method: "POST";
3615
- readonly path: "/queues/{queue_id}/reset";
3616
- readonly scope: "queues:write";
3617
- };
3618
- readonly hold_current_turn: {
3619
- readonly method: "POST";
3620
- readonly path: "/queues/{queue_id}/hold";
3621
- readonly scope: "queues:write";
3622
- };
3623
- readonly release_held_item: {
3624
- readonly method: "POST";
3625
- readonly path: "/queues/{queue_id}/release/{item_id}";
3626
- readonly scope: "queues:write";
3627
- };
3628
- readonly read_queue_item: {
3629
- readonly method: "GET";
3630
- readonly path: "/queue-items/{item_id}";
3631
- readonly scope: "queues:read";
3632
- };
3633
- readonly update_queue_item: {
3634
- readonly method: "PATCH";
3635
- readonly path: "/queue-items/{item_id}";
3636
- readonly scope: "queues:write";
3637
- };
3638
- readonly duplicate_queue_item: {
3639
- readonly method: "POST";
3640
- readonly path: "/queue-items/{item_id}/duplicate";
3641
- readonly scope: "queues:write";
3642
- };
3643
3516
  readonly read_counter_group: {
3644
3517
  readonly method: "GET";
3645
3518
  readonly path: "/counter-groups/{group_id}";
@@ -3760,6 +3633,16 @@ export declare const pluginApiOperations: {
3760
3633
  readonly path: "/wiki-pages/{page_id}/move";
3761
3634
  readonly scope: "wikis:write";
3762
3635
  };
3636
+ readonly read_contact: {
3637
+ readonly method: "GET";
3638
+ readonly path: "/contacts/{contact_id}";
3639
+ readonly scope: "contacts:read";
3640
+ };
3641
+ readonly update_contact: {
3642
+ readonly method: "PATCH";
3643
+ readonly path: "/contacts/{contact_id}";
3644
+ readonly scope: "contacts:write";
3645
+ };
3763
3646
  readonly read_calendar_event: {
3764
3647
  readonly method: "GET";
3765
3648
  readonly path: "/calendar-events/{event_id}";
@@ -3825,11 +3708,6 @@ export declare const pluginApiOperations: {
3825
3708
  readonly path: "/files/{file_id}/grants";
3826
3709
  readonly scope: "sharing:write";
3827
3710
  };
3828
- readonly set_queue_grants: {
3829
- readonly method: "PUT";
3830
- readonly path: "/queues/{queue_id}/grants";
3831
- readonly scope: "sharing:write";
3832
- };
3833
3711
  readonly set_counter_group_grants: {
3834
3712
  readonly method: "PUT";
3835
3713
  readonly path: "/counter-groups/{group_id}/grants";
@@ -3850,6 +3728,11 @@ export declare const pluginApiOperations: {
3850
3728
  readonly path: "/wikis/{wiki_id}/grants";
3851
3729
  readonly scope: "sharing:write";
3852
3730
  };
3731
+ readonly set_contact_grants: {
3732
+ readonly method: "PUT";
3733
+ readonly path: "/contacts/{contact_id}/grants";
3734
+ readonly scope: "sharing:write";
3735
+ };
3853
3736
  readonly duplicate_project: {
3854
3737
  readonly method: "POST";
3855
3738
  readonly path: "/projects/{project_id}/duplicate";
@@ -3860,11 +3743,6 @@ export declare const pluginApiOperations: {
3860
3743
  readonly path: "/files/{file_id}/duplicate";
3861
3744
  readonly scope: "files:write";
3862
3745
  };
3863
- readonly duplicate_queue: {
3864
- readonly method: "POST";
3865
- readonly path: "/queues/{queue_id}/duplicate";
3866
- readonly scope: "queues:write";
3867
- };
3868
3746
  readonly duplicate_counter_group: {
3869
3747
  readonly method: "POST";
3870
3748
  readonly path: "/counter-groups/{group_id}/duplicate";
@@ -3885,12 +3763,17 @@ export declare const pluginApiOperations: {
3885
3763
  readonly path: "/wikis/{wiki_id}/duplicate";
3886
3764
  readonly scope: "wikis:write";
3887
3765
  };
3766
+ readonly duplicate_contact: {
3767
+ readonly method: "POST";
3768
+ readonly path: "/contacts/{contact_id}/duplicate";
3769
+ readonly scope: "contacts:write";
3770
+ };
3888
3771
  readonly suggest_community: {
3889
3772
  readonly method: "GET";
3890
3773
  readonly path: "/search/suggest";
3891
3774
  readonly scope: {
3892
3775
  readonly per: "entity_type";
3893
- readonly any_of: readonly ["calendars:read", "comments:read", "counter_groups:read", "dashboards:read", "files:read", "posts:read", "projects:read", "queues:read", "tags:read", "wikis:read"];
3776
+ readonly any_of: readonly ["calendars:read", "comments:read", "contacts:read", "counter_groups:read", "dashboards:read", "files:read", "posts:read", "projects:read", "tags:read", "wikis:read"];
3894
3777
  };
3895
3778
  };
3896
3779
  readonly list_property_definitions: {
@@ -3898,7 +3781,7 @@ export declare const pluginApiOperations: {
3898
3781
  readonly path: "/property-definitions/";
3899
3782
  readonly scope: {
3900
3783
  readonly per: "tool";
3901
- readonly any_of: readonly ["calendars:read", "counter_groups:read", "dashboards:read", "files:read", "posts:read", "projects:read", "properties:read", "queues:read", "wikis:read"];
3784
+ readonly any_of: readonly ["calendars:read", "contacts:read", "counter_groups:read", "dashboards:read", "files:read", "posts:read", "projects:read", "properties:read", "wikis:read"];
3902
3785
  };
3903
3786
  };
3904
3787
  readonly create_property_definition: {
@@ -3909,6 +3792,30 @@ export declare const pluginApiOperations: {
3909
3792
  readonly any_of: readonly ["files:write", "projects:write", "properties:write"];
3910
3793
  };
3911
3794
  };
3795
+ readonly list_property_definitions_by_owner: {
3796
+ readonly method: "GET";
3797
+ readonly path: "/property-definitions/by-owner";
3798
+ readonly scope: {
3799
+ readonly per: "tool";
3800
+ readonly any_of: readonly ["calendars:read", "contacts:read", "counter_groups:read", "dashboards:read", "files:read", "posts:read", "projects:read", "properties:read", "wikis:read"];
3801
+ };
3802
+ };
3803
+ readonly delete_property_definitions: {
3804
+ readonly method: "POST";
3805
+ readonly path: "/property-definitions/bulk-delete";
3806
+ readonly scope: {
3807
+ readonly per: "owner's_scope";
3808
+ readonly any_of: readonly ["files:write", "projects:write", "properties:write"];
3809
+ };
3810
+ };
3811
+ readonly promote_property_definitions: {
3812
+ readonly method: "POST";
3813
+ readonly path: "/property-definitions/promote";
3814
+ readonly scope: {
3815
+ readonly per: "owner's_scope";
3816
+ readonly any_of: readonly ["files:write", "projects:write", "properties:write"];
3817
+ };
3818
+ };
3912
3819
  readonly delete_property_definition: {
3913
3820
  readonly method: "DELETE";
3914
3821
  readonly path: "/property-definitions/{definition_id}";
@@ -3934,14 +3841,13 @@ export declare const pluginApiOperations: {
3934
3841
  readonly calendar: "calendars:write";
3935
3842
  readonly calendar_event: "calendars:write";
3936
3843
  readonly collection: "files:write";
3844
+ readonly contact: "contacts:write";
3937
3845
  readonly counter: "counter_groups:write";
3938
3846
  readonly counter_group: "counter_groups:write";
3939
3847
  readonly dashboard: "dashboards:write";
3940
3848
  readonly file: "files:write";
3941
3849
  readonly post: "posts:write";
3942
3850
  readonly project: "projects:write";
3943
- readonly queue: "queues:write";
3944
- readonly queue_item: "queues:write";
3945
3851
  readonly task: "projects:write";
3946
3852
  readonly wiki: "wikis:write";
3947
3853
  readonly wiki_page: "wikis:write";
@@ -3956,12 +3862,12 @@ export declare const pluginApiOperations: {
3956
3862
  readonly scopes: {
3957
3863
  readonly calendar: "calendars:write";
3958
3864
  readonly collection: "files:write";
3865
+ readonly contact: "contacts:write";
3959
3866
  readonly counter_group: "counter_groups:write";
3960
3867
  readonly dashboard: "dashboards:write";
3961
3868
  readonly file: "files:write";
3962
3869
  readonly post: "posts:write";
3963
3870
  readonly project: "projects:write";
3964
- readonly queue: "queues:write";
3965
3871
  readonly task: "projects:write";
3966
3872
  readonly wiki: "wikis:write";
3967
3873
  };
@@ -3986,7 +3892,7 @@ export declare class PluginApi {
3986
3892
  /**
3987
3893
  * Register a new webhook subscription.
3988
3894
  *
3989
- * `POST /webhooks/subscriptions`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `initiatives:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
3895
+ * `POST /webhooks/subscriptions`, needs one of `calendars:read`, `comments:read`, `contacts:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `initiatives:read`, `posts:read`, `projects:read`, `tags:read`, `wikis:read`.
3990
3896
  */
3991
3897
  createSubscription(args: {
3992
3898
  body: PluginApiOperations["create_subscription"]["body"];
@@ -3997,7 +3903,7 @@ export declare class PluginApi {
3997
3903
  * installed plug-in reaches only the subscriptions it registered, and any
3998
3904
  * other is a 404.
3999
3905
  *
4000
- * `DELETE /webhooks/subscriptions/{subscription_id}`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `initiatives:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
3906
+ * `DELETE /webhooks/subscriptions/{subscription_id}`, needs one of `calendars:read`, `comments:read`, `contacts:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `initiatives:read`, `posts:read`, `projects:read`, `tags:read`, `wikis:read`.
4001
3907
  */
4002
3908
  deleteSubscription(args: {
4003
3909
  path: PluginApiOperations["delete_subscription"]["path"];
@@ -4034,22 +3940,6 @@ export declare class PluginApi {
4034
3940
  createFile(args: {
4035
3941
  body: PluginApiOperations["create_file"]["body"];
4036
3942
  }): Promise<PluginApiOperations["create_file"]["answer"]>;
4037
- /**
4038
- * List queues visible to the current user (guild admins see all).
4039
- *
4040
- * `GET /queues/`, needs `queues:read`.
4041
- */
4042
- listQueues(args?: {
4043
- query?: PluginApiOperations["list_queues"]["query"];
4044
- }): Promise<PluginApiOperations["list_queues"]["answer"]>;
4045
- /**
4046
- * Create a new queue in an initiative.
4047
- *
4048
- * `POST /queues/`, needs `queues:write`.
4049
- */
4050
- createQueue(args: {
4051
- body: PluginApiOperations["create_queue"]["body"];
4052
- }): Promise<PluginApiOperations["create_queue"]["answer"]>;
4053
3943
  /**
4054
3944
  * List Counter Groups
4055
3945
  *
@@ -4116,6 +4006,22 @@ export declare class PluginApi {
4116
4006
  createWiki(args: {
4117
4007
  body: PluginApiOperations["create_wiki"]["body"];
4118
4008
  }): Promise<PluginApiOperations["create_wiki"]["answer"]>;
4009
+ /**
4010
+ * List contacts visible to the current user (guild admins see all).
4011
+ *
4012
+ * `GET /contacts/`, needs `contacts:read`.
4013
+ */
4014
+ listContacts(args?: {
4015
+ query?: PluginApiOperations["list_contacts"]["query"];
4016
+ }): Promise<PluginApiOperations["list_contacts"]["answer"]>;
4017
+ /**
4018
+ * Create a contact.
4019
+ *
4020
+ * `POST /contacts/`, needs `contacts:write`.
4021
+ */
4022
+ createContact(args: {
4023
+ body: PluginApiOperations["create_contact"]["body"];
4024
+ }): Promise<PluginApiOperations["create_contact"]["answer"]>;
4119
4025
  /**
4120
4026
  * The files in one collection the reader can open: the Files list, with its
4121
4027
  * parameters, narrowed to the collection, each with when it was added to it.
@@ -4129,7 +4035,9 @@ export declare class PluginApi {
4129
4035
  }): Promise<PluginApiOperations["list_collection_files"]["answer"]>;
4130
4036
  /**
4131
4037
  * Put files in a collection: each a file of its initiative the reader can
4132
- * open. One already in it stays as it is.
4038
+ * open, starting with `metadata`'s values of the collection's metadata. One
4039
+ * already in it stays as it is. A person gives each value the collection's
4040
+ * file page requires.
4133
4041
  *
4134
4042
  * `POST /collections/{collection_id}/files`, needs `files:write`.
4135
4043
  */
@@ -4335,7 +4243,8 @@ export declare class PluginApi {
4335
4243
  }): Promise<PluginApiOperations["read_comment"]["answer"]>;
4336
4244
  /**
4337
4245
  * The initiatives the caller belongs to, or — for a guild admin asking for
4338
- * `scope=community` — every initiative in the guild.
4246
+ * `scope=community` — every initiative in the guild, which the admin rung's
4247
+ * reach into all content already reads.
4339
4248
  *
4340
4249
  * `GET /initiatives/`, needs `initiatives:read`.
4341
4250
  */
@@ -4465,125 +4374,6 @@ export declare class PluginApi {
4465
4374
  path: PluginApiOperations["set_collection_file_metadata"]["path"];
4466
4375
  body: PluginApiOperations["set_collection_file_metadata"]["body"];
4467
4376
  }): Promise<PluginApiOperations["set_collection_file_metadata"]["answer"]>;
4468
- /**
4469
- * Read Queue
4470
- *
4471
- * `GET /queues/{queue_id}`, needs `queues:read`.
4472
- */
4473
- readQueue(args: {
4474
- path: PluginApiOperations["read_queue"]["path"];
4475
- query?: PluginApiOperations["read_queue"]["query"];
4476
- }): Promise<PluginApiOperations["read_queue"]["answer"]>;
4477
- /**
4478
- * Update queue name/description. Requires write access.
4479
- *
4480
- * `PATCH /queues/{queue_id}`, needs `queues:write`.
4481
- */
4482
- updateQueue(args: {
4483
- path: PluginApiOperations["update_queue"]["path"];
4484
- body: PluginApiOperations["update_queue"]["body"];
4485
- }): Promise<PluginApiOperations["update_queue"]["answer"]>;
4486
- /**
4487
- * Add an item to a queue. Requires write access.
4488
- *
4489
- * `POST /queues/{queue_id}/items`, needs `queues:write`.
4490
- */
4491
- addQueueItem(args: {
4492
- path: PluginApiOperations["add_queue_item"]["path"];
4493
- body: PluginApiOperations["add_queue_item"]["body"];
4494
- }): Promise<PluginApiOperations["add_queue_item"]["answer"]>;
4495
- /**
4496
- * Start the queue: set active, reset to first item, round 1.
4497
- *
4498
- * `POST /queues/{queue_id}/start`, needs `queues:write`.
4499
- */
4500
- startQueue(args: {
4501
- path: PluginApiOperations["start_queue"]["path"];
4502
- }): Promise<PluginApiOperations["start_queue"]["answer"]>;
4503
- /**
4504
- * Stop the queue: set inactive but keep current position.
4505
- *
4506
- * `POST /queues/{queue_id}/stop`, needs `queues:write`.
4507
- */
4508
- stopQueue(args: {
4509
- path: PluginApiOperations["stop_queue"]["path"];
4510
- }): Promise<PluginApiOperations["stop_queue"]["answer"]>;
4511
- /**
4512
- * Advance to the next visible item. Wraps around and increments round.
4513
- *
4514
- * `POST /queues/{queue_id}/next`, needs `queues:write`.
4515
- */
4516
- advanceTurn(args: {
4517
- path: PluginApiOperations["advance_turn"]["path"];
4518
- }): Promise<PluginApiOperations["advance_turn"]["answer"]>;
4519
- /**
4520
- * Move to the previous visible item. Wraps around and decrements round.
4521
- *
4522
- * `POST /queues/{queue_id}/previous`, needs `queues:write`.
4523
- */
4524
- previousTurn(args: {
4525
- path: PluginApiOperations["previous_turn"]["path"];
4526
- }): Promise<PluginApiOperations["previous_turn"]["answer"]>;
4527
- /**
4528
- * Jump to a specific item in the queue.
4529
- *
4530
- * `POST /queues/{queue_id}/set-active/{item_id}`, needs `queues:write`.
4531
- */
4532
- setActiveItem(args: {
4533
- path: PluginApiOperations["set_active_item"]["path"];
4534
- }): Promise<PluginApiOperations["set_active_item"]["answer"]>;
4535
- /**
4536
- * Reset the queue to round 1, first visible item.
4537
- *
4538
- * `POST /queues/{queue_id}/reset`, needs `queues:write`.
4539
- */
4540
- resetQueue(args: {
4541
- path: PluginApiOperations["reset_queue"]["path"];
4542
- }): Promise<PluginApiOperations["reset_queue"]["answer"]>;
4543
- /**
4544
- * Hold the current turn — the item leaves the rotation until it acts.
4545
- *
4546
- * `POST /queues/{queue_id}/hold`, needs `queues:write`.
4547
- */
4548
- holdCurrentTurn(args: {
4549
- path: PluginApiOperations["hold_current_turn"]["path"];
4550
- }): Promise<PluginApiOperations["hold_current_turn"]["answer"]>;
4551
- /**
4552
- * Release a held item back into the rotation.
4553
- *
4554
- * `POST /queues/{queue_id}/release/{item_id}`, needs `queues:write`.
4555
- */
4556
- releaseHeldItem(args: {
4557
- path: PluginApiOperations["release_held_item"]["path"];
4558
- body?: PluginApiOperations["release_held_item"]["body"];
4559
- }): Promise<PluginApiOperations["release_held_item"]["answer"]>;
4560
- /**
4561
- * One queue item by id — the read-back for a `queue_items.*` event.
4562
- *
4563
- * `GET /queue-items/{item_id}`, needs `queues:read`.
4564
- */
4565
- readQueueItem(args: {
4566
- path: PluginApiOperations["read_queue_item"]["path"];
4567
- query?: PluginApiOperations["read_queue_item"]["query"];
4568
- }): Promise<PluginApiOperations["read_queue_item"]["answer"]>;
4569
- /**
4570
- * Update a queue item. Requires write access on the queue.
4571
- *
4572
- * `PATCH /queue-items/{item_id}`, needs `queues:write`.
4573
- */
4574
- updateQueueItem(args: {
4575
- path: PluginApiOperations["update_queue_item"]["path"];
4576
- body: PluginApiOperations["update_queue_item"]["body"];
4577
- }): Promise<PluginApiOperations["update_queue_item"]["answer"]>;
4578
- /**
4579
- * Copy the item beside itself, at the same place in the turn order, as
4580
- * "<label> (Copy)", with its person, tags, links and properties.
4581
- *
4582
- * `POST /queue-items/{item_id}/duplicate`, needs `queues:write`.
4583
- */
4584
- duplicateQueueItem(args: {
4585
- path: PluginApiOperations["duplicate_queue_item"]["path"];
4586
- }): Promise<PluginApiOperations["duplicate_queue_item"]["answer"]>;
4587
4377
  /**
4588
4378
  * Read Counter Group
4589
4379
  *
@@ -4801,6 +4591,23 @@ export declare class PluginApi {
4801
4591
  path: PluginApiOperations["move_wiki_page"]["path"];
4802
4592
  body: PluginApiOperations["move_wiki_page"]["body"];
4803
4593
  }): Promise<PluginApiOperations["move_wiki_page"]["answer"]>;
4594
+ /**
4595
+ * Read Contact
4596
+ *
4597
+ * `GET /contacts/{contact_id}`, needs `contacts:read`.
4598
+ */
4599
+ readContact(args: {
4600
+ path: PluginApiOperations["read_contact"]["path"];
4601
+ }): Promise<PluginApiOperations["read_contact"]["answer"]>;
4602
+ /**
4603
+ * Change a contact. A list sent replaces the one there.
4604
+ *
4605
+ * `PATCH /contacts/{contact_id}`, needs `contacts:write`.
4606
+ */
4607
+ updateContact(args: {
4608
+ path: PluginApiOperations["update_contact"]["path"];
4609
+ body: PluginApiOperations["update_contact"]["body"];
4610
+ }): Promise<PluginApiOperations["update_contact"]["answer"]>;
4804
4611
  /**
4805
4612
  * Read Calendar Event
4806
4613
  *
@@ -4926,17 +4733,6 @@ export declare class PluginApi {
4926
4733
  path: PluginApiOperations["set_file_grants"]["path"];
4927
4734
  body: PluginApiOperations["set_file_grants"]["body"];
4928
4735
  }): Promise<PluginApiOperations["set_file_grants"]["answer"]>;
4929
- /**
4930
- * Replace the queue's entire sharing state in one call — the body is the full
4931
- * list of grants (all-initiative-members / per-user / per-role). Every
4932
- * non-owner grant is rebuilt from it; the owner is always preserved.
4933
- *
4934
- * `PUT /queues/{queue_id}/grants`, needs `sharing:write`.
4935
- */
4936
- setQueueGrants(args: {
4937
- path: PluginApiOperations["set_queue_grants"]["path"];
4938
- body: PluginApiOperations["set_queue_grants"]["body"];
4939
- }): Promise<PluginApiOperations["set_queue_grants"]["answer"]>;
4940
4736
  /**
4941
4737
  * Replace the counter group's entire sharing state in one call — the body is
4942
4738
  * the full list of grants (all-initiative-members / per-user / per-role).
@@ -4981,6 +4777,17 @@ export declare class PluginApi {
4981
4777
  path: PluginApiOperations["set_wiki_grants"]["path"];
4982
4778
  body: PluginApiOperations["set_wiki_grants"]["body"];
4983
4779
  }): Promise<PluginApiOperations["set_wiki_grants"]["answer"]>;
4780
+ /**
4781
+ * Replace the contact's entire sharing state in one call — the body is the
4782
+ * full list of grants (all-initiative-members / per-user / per-role). Every
4783
+ * non-owner grant is rebuilt from it; the owner is always preserved.
4784
+ *
4785
+ * `PUT /contacts/{contact_id}/grants`, needs `sharing:write`.
4786
+ */
4787
+ setContactGrants(args: {
4788
+ path: PluginApiOperations["set_contact_grants"]["path"];
4789
+ body: PluginApiOperations["set_contact_grants"]["body"];
4790
+ }): Promise<PluginApiOperations["set_contact_grants"]["answer"]>;
4984
4791
  /**
4985
4792
  * Copy it, with everything inside it, into an initiative: its own unless the
4986
4793
  * body names another. Read is enough to copy a template; anything else needs
@@ -5007,19 +4814,6 @@ export declare class PluginApi {
5007
4814
  path: PluginApiOperations["duplicate_file"]["path"];
5008
4815
  body?: PluginApiOperations["duplicate_file"]["body"];
5009
4816
  }): Promise<PluginApiOperations["duplicate_file"]["answer"]>;
5010
- /**
5011
- * Copy it, with everything inside it, into an initiative: its own unless the
5012
- * body names another. Read is enough to copy a template; anything else needs
5013
- * write. The copy is shared as its source is while it stays in the same
5014
- * initiative, and carries the tags its maker may set: an installed plug-in's
5015
- * copy carries them only when it holds the scope to tag.
5016
- *
5017
- * `POST /queues/{queue_id}/duplicate`, needs `queues:write`.
5018
- */
5019
- duplicateQueue(args: {
5020
- path: PluginApiOperations["duplicate_queue"]["path"];
5021
- body?: PluginApiOperations["duplicate_queue"]["body"];
5022
- }): Promise<PluginApiOperations["duplicate_queue"]["answer"]>;
5023
4817
  /**
5024
4818
  * Copy it, with everything inside it, into an initiative: its own unless the
5025
4819
  * body names another. Read is enough to copy a template; anything else needs
@@ -5072,10 +4866,23 @@ export declare class PluginApi {
5072
4866
  path: PluginApiOperations["duplicate_wiki"]["path"];
5073
4867
  body?: PluginApiOperations["duplicate_wiki"]["body"];
5074
4868
  }): Promise<PluginApiOperations["duplicate_wiki"]["answer"]>;
4869
+ /**
4870
+ * Copy it, with everything inside it, into an initiative: its own unless the
4871
+ * body names another. Read is enough to copy a template; anything else needs
4872
+ * write. The copy is shared as its source is while it stays in the same
4873
+ * initiative, and carries the tags its maker may set: an installed plug-in's
4874
+ * copy carries them only when it holds the scope to tag.
4875
+ *
4876
+ * `POST /contacts/{contact_id}/duplicate`, needs `contacts:write`.
4877
+ */
4878
+ duplicateContact(args: {
4879
+ path: PluginApiOperations["duplicate_contact"]["path"];
4880
+ body?: PluginApiOperations["duplicate_contact"]["body"];
4881
+ }): Promise<PluginApiOperations["duplicate_contact"]["answer"]>;
5075
4882
  /**
5076
4883
  * Titles for the command palette — a way to reach one thing quickly.
5077
4884
  *
5078
- * `GET /search/suggest`, needs one of `calendars:read`, `comments:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `posts:read`, `projects:read`, `queues:read`, `tags:read`, `wikis:read`.
4885
+ * `GET /search/suggest`, needs one of `calendars:read`, `comments:read`, `contacts:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `posts:read`, `projects:read`, `tags:read`, `wikis:read`.
5079
4886
  */
5080
4887
  suggestCommunity(args: {
5081
4888
  query: PluginApiOperations["suggest_community"]["query"];
@@ -5083,7 +4890,7 @@ export declare class PluginApi {
5083
4890
  /**
5084
4891
  * List property definitions, or a project's or a collection's metadata.
5085
4892
  *
5086
- * `GET /property-definitions/`, needs one of `calendars:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `posts:read`, `projects:read`, `properties:read`, `queues:read`, `wikis:read`.
4893
+ * `GET /property-definitions/`, needs one of `calendars:read`, `contacts:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `posts:read`, `projects:read`, `properties:read`, `wikis:read`.
5087
4894
  */
5088
4895
  listPropertyDefinitions(args?: {
5089
4896
  query?: PluginApiOperations["list_property_definitions"]["query"];
@@ -5097,6 +4904,34 @@ export declare class PluginApi {
5097
4904
  createPropertyDefinition(args: {
5098
4905
  body: PluginApiOperations["create_property_definition"]["body"];
5099
4906
  }): Promise<PluginApiOperations["create_property_definition"]["answer"]>;
4907
+ /**
4908
+ * The initiative's metadata, then the properties of each of its projects and
4909
+ * each of its collections, under the owner's name.
4910
+ *
4911
+ * `GET /property-definitions/by-owner`, needs one of `calendars:read`, `contacts:read`, `counter_groups:read`, `dashboards:read`, `files:read`, `posts:read`, `projects:read`, `properties:read`, `wikis:read`.
4912
+ */
4913
+ listPropertyDefinitionsByOwner(args: {
4914
+ query: PluginApiOperations["list_property_definitions_by_owner"]["query"];
4915
+ }): Promise<PluginApiOperations["list_property_definitions_by_owner"]["answer"]>;
4916
+ /**
4917
+ * Delete several of the initiative's definitions at once, with every value of
4918
+ * each: all of them, or, when any may not be removed as deleting it alone
4919
+ * asks, none.
4920
+ *
4921
+ * `POST /property-definitions/bulk-delete`, needs one of `files:write`, `projects:write`, `properties:write`.
4922
+ */
4923
+ deletePropertyDefinitions(args: {
4924
+ body: PluginApiOperations["delete_property_definitions"]["body"];
4925
+ }): Promise<PluginApiOperations["delete_property_definitions"]["answer"]>;
4926
+ /**
4927
+ * Merge properties of one type, from the initiative's projects and
4928
+ * collections, into one of its metadata named `name`, answering it.
4929
+ *
4930
+ * `POST /property-definitions/promote`, needs one of `files:write`, `projects:write`, `properties:write`.
4931
+ */
4932
+ promotePropertyDefinitions(args: {
4933
+ body: PluginApiOperations["promote_property_definitions"]["body"];
4934
+ }): Promise<PluginApiOperations["promote_property_definitions"]["answer"]>;
5100
4935
  /**
5101
4936
  * Delete a property definition. Cascades to remove all attached values. A
5102
4937
  * project's or a collection's metadata is removed by whoever may define it.