initiative-plugin-sdk 7.2.0 → 8.1.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.
@@ -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.75.3 (commit b79920042). Do not edit: regenerate.
3
+ * taken from Initiative 0.76.0 (commit 4aa7e8215). Do not edit: regenerate.
4
4
  */
5
5
  import type { Scope } from "./contract.js";
6
6
  /**
@@ -104,11 +104,13 @@ export interface PluginApiSchemas {
104
104
  overridden_fields: string[];
105
105
  skipped_starts: string[];
106
106
  extra_starts: string[];
107
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
107
108
  };
108
109
  CalendarEventUpdate: {
109
110
  properties?: PluginApiSchemas["PropertyValueInput"][] | null;
110
111
  title?: string | null;
111
112
  description?: string | null;
113
+ description_base?: string | null;
112
114
  location?: string | null;
113
115
  start_at?: string | null;
114
116
  end_at?: string | null;
@@ -207,6 +209,16 @@ export interface PluginApiSchemas {
207
209
  completed: number;
208
210
  total: number;
209
211
  };
212
+ /**
213
+ * One limited column of a project's board: its limit, and how many open tasks
214
+ * it holds.
215
+ */
216
+ ColumnFillRead: {
217
+ project_id: number;
218
+ status_id: number;
219
+ limit: number;
220
+ count: number;
221
+ };
210
222
  /**
211
223
  * Who a comment is said to.
212
224
  */
@@ -240,6 +252,8 @@ export interface PluginApiSchemas {
240
252
  CommentListResponse: {
241
253
  comments: PluginApiSchemas["CommentRead"][];
242
254
  next_cursor: string | null;
255
+ locked: boolean;
256
+ can_moderate: boolean;
243
257
  };
244
258
  /**
245
259
  * One comment. `project_id` is its own for a comment on a project and the
@@ -273,9 +287,18 @@ export interface PluginApiSchemas {
273
287
  imported_author_name: string | null;
274
288
  reactions: PluginApiSchemas["ReactionGroup"][];
275
289
  can_remove: boolean;
290
+ removed: PluginApiSchemas["CommentRemoval"] | null;
276
291
  audience: PluginApiSchemas["CommentAudience"];
277
292
  system_kind: string | null;
278
293
  };
294
+ /**
295
+ * What a tombstone says in place of a comment: who took it out, and, for a
296
+ * moderator, why. Never what it said, or who wrote it.
297
+ */
298
+ CommentRemoval: {
299
+ by: PluginApiSchemas["RemovedBy"];
300
+ reason: PluginApiSchemas["RemovalReason"] | null;
301
+ };
279
302
  /**
280
303
  * What the caller may do to a piece of content, as the server answers it.
281
304
  */
@@ -379,6 +402,7 @@ export interface PluginApiSchemas {
379
402
  view_mode: PluginApiSchemas["CounterViewMode"];
380
403
  position: string;
381
404
  properties: PluginApiSchemas["PropertySummary"][];
405
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
382
406
  created_at: string;
383
407
  updated_at: string;
384
408
  };
@@ -411,6 +435,11 @@ export interface PluginApiSchemas {
411
435
  position?: number | string | null;
412
436
  };
413
437
  CounterViewMode: "number" | "progress_bar" | "segmented_clock";
438
+ /**
439
+ * What a date is grouped by: the calendar's day, week, month, quarter or year
440
+ * it falls in. A week starts on Monday, as Postgres counts one.
441
+ */
442
+ DateBucket: "day" | "week" | "month" | "quarter" | "year";
414
443
  FileCreate: {
415
444
  properties?: PluginApiSchemas["PropertyValueInput"][];
416
445
  name: string;
@@ -602,12 +631,14 @@ export interface PluginApiSchemas {
602
631
  version_count: number;
603
632
  tags: PluginApiSchemas["TagSummary"][];
604
633
  properties: PluginApiSchemas["PropertySummary"][];
634
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
605
635
  };
606
636
  GalleryImageUpdate: {
607
637
  properties?: PluginApiSchemas["PropertyValueInput"][] | null;
608
638
  title?: string | null;
609
639
  caption?: string | null;
610
640
  tag_ids?: number[] | null;
641
+ caption_base?: string | null;
611
642
  };
612
643
  /**
613
644
  * One stored rendition of a picture.
@@ -691,6 +722,20 @@ export interface PluginApiSchemas {
691
722
  description?: string | null;
692
723
  cover_image_id?: number | null;
693
724
  };
725
+ /**
726
+ * One group of a grouped list.
727
+ */
728
+ GroupRead: {
729
+ key: string;
730
+ label?: string | null;
731
+ };
732
+ /**
733
+ * A list's groups by one field, and the groups each row is in.
734
+ */
735
+ GroupsResponse: {
736
+ groups: PluginApiSchemas["GroupRead"][];
737
+ rows: Record<string, string[]>;
738
+ };
694
739
  HTTPValidationError: {
695
740
  detail?: PluginApiSchemas["ValidationError"][];
696
741
  };
@@ -700,6 +745,7 @@ export interface PluginApiSchemas {
700
745
  InitiativeCan: {
701
746
  manage: boolean;
702
747
  moderate: boolean;
748
+ roster: boolean;
703
749
  view: PluginApiSchemas["Tool"][];
704
750
  create: PluginApiSchemas["Tool"][];
705
751
  };
@@ -787,6 +833,16 @@ export interface PluginApiSchemas {
787
833
  */
788
834
  avatar_url?: string | null;
789
835
  };
836
+ /**
837
+ * One value an installed plug-in shows on an item: a key its pinned version
838
+ * declares as a field there. A list field's value is an array of its
839
+ * elements, newest first, each with its `ref`.
840
+ */
841
+ PluginValueSummary: {
842
+ plugin_id: number;
843
+ key: string;
844
+ value: unknown;
845
+ };
790
846
  PollOptionRead: {
791
847
  id: number;
792
848
  text: string;
@@ -891,6 +947,7 @@ export interface PluginApiSchemas {
891
947
  is_read: boolean;
892
948
  read_count: number;
893
949
  reactions_enabled: boolean;
950
+ comments_locked_at: string | null;
894
951
  comment_count: number;
895
952
  reactions: PluginApiSchemas["ReactionGroup"][];
896
953
  /**
@@ -902,6 +959,7 @@ export interface PluginApiSchemas {
902
959
  */
903
960
  body: Record<string, unknown>;
904
961
  poll: PluginApiSchemas["PollRead"] | null;
962
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
905
963
  };
906
964
  PostUpdate: {
907
965
  name?: string | null;
@@ -961,10 +1019,9 @@ export interface PluginApiSchemas {
961
1019
  owner: PluginApiSchemas["PluginPerson"] | null;
962
1020
  owner_plugin: PluginApiSchemas["OwnerPluginSummary"] | null;
963
1021
  initiative: PluginApiSchemas["InitiativeSummary"] | null;
964
- is_favorited: boolean;
965
- last_viewed_at: string | null;
966
1022
  task_summary: PluginApiSchemas["ProjectTaskSummary"];
967
1023
  task_statuses: PluginApiSchemas["TaskStatusRead"][];
1024
+ task_types: PluginApiSchemas["TaskTypeRead"][];
968
1025
  };
969
1026
  ProjectTaskSummary: {
970
1027
  total: number;
@@ -1022,6 +1079,16 @@ export interface PluginApiSchemas {
1022
1079
  label: string;
1023
1080
  color?: string | null;
1024
1081
  };
1082
+ /**
1083
+ * Options put on and taken off one multi-select value, against the value as
1084
+ * it stands when the change is written rather than a list that replaces it,
1085
+ * so two people changing different options of it both stand.
1086
+ */
1087
+ PropertyOptionsChange: {
1088
+ property_id: number;
1089
+ add?: string[];
1090
+ remove?: string[];
1091
+ };
1025
1092
  /**
1026
1093
  * Lightweight property value for embedding in entity reads.
1027
1094
  */
@@ -1053,10 +1120,14 @@ export interface PluginApiSchemas {
1053
1120
  value?: unknown;
1054
1121
  };
1055
1122
  /**
1056
- * Replace-all payload for `PUT /properties/{target}/{entity_id}`.
1123
+ * Payload for `PUT /properties/{target}/{entity_id}`: replace-all, or with
1124
+ * `merge` only the properties it names.
1057
1125
  */
1058
1126
  PropertyValuesSetRequest: {
1059
1127
  values?: PluginApiSchemas["PropertyValueInput"][];
1128
+ merge?: boolean;
1129
+ removed?: number[];
1130
+ options?: PluginApiSchemas["PropertyOptionsChange"][];
1060
1131
  };
1061
1132
  QueueCreate: {
1062
1133
  properties?: PluginApiSchemas["PropertyValueInput"][];
@@ -1090,7 +1161,9 @@ export interface PluginApiSchemas {
1090
1161
  properties: PluginApiSchemas["PropertySummary"][];
1091
1162
  attachment_count: number;
1092
1163
  held_at_round: number | null;
1164
+ created_by: string | null;
1093
1165
  created_at: string;
1166
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
1094
1167
  };
1095
1168
  QueueItemUpdate: {
1096
1169
  properties?: PluginApiSchemas["PropertyValueInput"][] | null;
@@ -1101,6 +1174,7 @@ export interface PluginApiSchemas {
1101
1174
  notes?: string | null;
1102
1175
  is_visible?: boolean | null;
1103
1176
  tag_ids?: number[] | null;
1177
+ notes_base?: string | null;
1104
1178
  };
1105
1179
  QueueListResponse: {
1106
1180
  total_count: number;
@@ -1180,6 +1254,19 @@ export interface PluginApiSchemas {
1180
1254
  reacted: boolean;
1181
1255
  users: PluginApiSchemas["PluginPerson"][];
1182
1256
  };
1257
+ /**
1258
+ * How a repeating task's next date is counted.
1259
+ */
1260
+ RecurrenceStrategy: "fixed" | "rolling";
1261
+ /**
1262
+ * Why a moderator took something down. Every reason a report can give, and
1263
+ * two that only a community's own rules give.
1264
+ */
1265
+ RemovalReason: "spam" | "harassment" | "hate" | "violence" | "sexual_content" | "self_harm" | "illegal" | "misinformation" | "other" | "off_topic" | "community_rule";
1266
+ /**
1267
+ * Who took a comment out of the conversation.
1268
+ */
1269
+ RemovedBy: "moderator" | "author";
1183
1270
  ResourceAccessLevel: "owner" | "write" | "read";
1184
1271
  /**
1185
1272
  * One `resource_grants` row — exactly the columns that define a grant: a
@@ -1259,12 +1346,14 @@ export interface PluginApiSchemas {
1259
1346
  start_date?: string | null;
1260
1347
  due_date?: string | null;
1261
1348
  recurrence?: string | null;
1262
- recurrence_strategy?: "fixed" | "rolling";
1349
+ recurrence_strategy?: PluginApiSchemas["RecurrenceStrategy"];
1350
+ recurrence_limit?: number | null;
1263
1351
  description?: string | null;
1264
1352
  project_id: number;
1265
1353
  tz?: string | null;
1266
1354
  assignee_ids?: string[];
1267
1355
  task_status_id?: number | null;
1356
+ task_type_id?: number | null;
1268
1357
  tag_ids?: number[];
1269
1358
  checklist?: PluginApiSchemas["ChecklistItemInput"][];
1270
1359
  };
@@ -1277,13 +1366,16 @@ export interface PluginApiSchemas {
1277
1366
  start_date: string | null;
1278
1367
  due_date: string | null;
1279
1368
  recurrence: string | null;
1280
- recurrence_strategy: "fixed" | "rolling";
1369
+ recurrence_strategy: PluginApiSchemas["RecurrenceStrategy"];
1370
+ recurrence_limit: number | null;
1281
1371
  description_excerpt: string | null;
1282
1372
  has_description: boolean;
1283
1373
  id: number;
1284
1374
  project_id: number;
1285
1375
  task_status_id: number;
1286
1376
  task_status: PluginApiSchemas["TaskStatusRead"];
1377
+ task_type_id: number;
1378
+ task_type: PluginApiSchemas["TaskTypeRead"];
1287
1379
  created_at: string;
1288
1380
  updated_at: string;
1289
1381
  completed_at: string | null;
@@ -1293,6 +1385,8 @@ export interface PluginApiSchemas {
1293
1385
  assignees: PluginApiSchemas["PluginPerson"][];
1294
1386
  recurrence_occurrence_count: number;
1295
1387
  recurrence_shift: number;
1388
+ recurrence_anchor: string | null;
1389
+ recurrence_anchor_count: number;
1296
1390
  recurrence_until: string | null;
1297
1391
  comment_count: number;
1298
1392
  blocked_by_open_count: number;
@@ -1305,6 +1399,7 @@ export interface PluginApiSchemas {
1305
1399
  checklist_progress: PluginApiSchemas["ChecklistProgress"] | null;
1306
1400
  tags: PluginApiSchemas["TagSummary"][];
1307
1401
  properties: PluginApiSchemas["PropertySummary"][];
1402
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
1308
1403
  };
1309
1404
  TaskListResponse: {
1310
1405
  total_count: number;
@@ -1334,12 +1429,15 @@ export interface PluginApiSchemas {
1334
1429
  start_date: string | null;
1335
1430
  due_date: string | null;
1336
1431
  recurrence: string | null;
1337
- recurrence_strategy: "fixed" | "rolling";
1432
+ recurrence_strategy: PluginApiSchemas["RecurrenceStrategy"];
1433
+ recurrence_limit: number | null;
1338
1434
  description: string | null;
1339
1435
  id: number;
1340
1436
  project_id: number;
1341
1437
  task_status_id: number;
1342
1438
  task_status: PluginApiSchemas["TaskStatusRead"];
1439
+ task_type_id: number;
1440
+ task_type: PluginApiSchemas["TaskTypeRead"];
1343
1441
  created_at: string;
1344
1442
  updated_at: string;
1345
1443
  completed_at: string | null;
@@ -1350,6 +1448,8 @@ export interface PluginApiSchemas {
1350
1448
  assignees: PluginApiSchemas["PluginPerson"][];
1351
1449
  recurrence_occurrence_count: number;
1352
1450
  recurrence_shift: number;
1451
+ recurrence_anchor: string | null;
1452
+ recurrence_anchor_count: number;
1353
1453
  recurrence_until: string | null;
1354
1454
  series_id: number | null;
1355
1455
  series_size: number;
@@ -1360,6 +1460,7 @@ export interface PluginApiSchemas {
1360
1460
  checklist_progress: PluginApiSchemas["ChecklistProgress"] | null;
1361
1461
  tags: PluginApiSchemas["TagSummary"][];
1362
1462
  properties: PluginApiSchemas["PropertySummary"][];
1463
+ plugin_values: PluginApiSchemas["PluginValueSummary"][];
1363
1464
  };
1364
1465
  TaskStatusCategory: "backlog" | "todo" | "in_progress" | "done";
1365
1466
  TaskStatusRead: {
@@ -1372,18 +1473,73 @@ export interface PluginApiSchemas {
1372
1473
  id: number;
1373
1474
  project_id: number;
1374
1475
  };
1476
+ /**
1477
+ * One ready-made type, in the reader's language.
1478
+ */
1479
+ TaskTypeGalleryEntry: {
1480
+ key: string;
1481
+ name: string;
1482
+ hint: string;
1483
+ icon: string;
1484
+ color: string;
1485
+ layout_preset: string;
1486
+ fields: PluginApiSchemas["TaskTypeGalleryField"][];
1487
+ starting_values?: PluginApiSchemas["TaskTypeStartingValues"] | null;
1488
+ };
1489
+ TaskTypeGalleryField: {
1490
+ name: string;
1491
+ type: string;
1492
+ };
1493
+ TaskTypeGalleryGroup: {
1494
+ key: string;
1495
+ name: string;
1496
+ entries: PluginApiSchemas["TaskTypeGalleryEntry"][];
1497
+ };
1498
+ /**
1499
+ * One kind of task in a project, and the shape its page is drawn as until the
1500
+ * page is changed.
1501
+ */
1502
+ TaskTypeRead: {
1503
+ id: number;
1504
+ project_id: number;
1505
+ name: string;
1506
+ position: number;
1507
+ is_default: boolean;
1508
+ color: string;
1509
+ icon: string;
1510
+ layout_preset: string;
1511
+ starting_values: PluginApiSchemas["TaskTypeStartingValues"] | null;
1512
+ };
1513
+ /**
1514
+ * What a new task of a type starts with, field by field, where whoever makes
1515
+ * it leaves that field empty. A repeat starts only on a task with a date to
1516
+ * count from.
1517
+ */
1518
+ TaskTypeStartingValues: {
1519
+ description?: string | null;
1520
+ checklist?: string[];
1521
+ priority?: PluginApiSchemas["TaskPriority"] | null;
1522
+ recurrence?: string | null;
1523
+ recurrence_strategy?: PluginApiSchemas["RecurrenceStrategy"] | null;
1524
+ };
1375
1525
  TaskUpdate: {
1376
1526
  properties?: PluginApiSchemas["PropertyValueInput"][] | null;
1377
1527
  title?: string | null;
1378
1528
  description?: string | null;
1529
+ description_base?: string | null;
1379
1530
  task_status_id?: number | null;
1531
+ task_type_id?: number | null;
1532
+ status_category?: PluginApiSchemas["TaskStatusCategory"] | null;
1380
1533
  priority?: PluginApiSchemas["TaskPriority"] | null;
1381
1534
  assignee_ids?: string[] | null;
1535
+ add_assignee_ids?: string[] | null;
1536
+ remove_assignee_ids?: string[] | null;
1382
1537
  start_date?: string | null;
1383
1538
  due_date?: string | null;
1384
1539
  recurrence?: string | null;
1385
1540
  tz?: string | null;
1386
- recurrence_strategy?: "fixed" | "rolling" | null;
1541
+ recurrence_strategy?: PluginApiSchemas["RecurrenceStrategy"] | null;
1542
+ recurrence_limit?: number | null;
1387
1543
  tag_ids?: number[] | null;
1388
1544
  checklist?: PluginApiSchemas["ChecklistItemInput"][] | null;
1389
1545
  scope?: "this" | "following" | "all" | null;
@@ -1545,6 +1701,7 @@ export interface PluginApiSchemas {
1545
1701
  */
1546
1702
  content: Record<string, unknown>;
1547
1703
  content_version: string | null;
1704
+ comments_locked_at: string | null;
1548
1705
  };
1549
1706
  /**
1550
1707
  * One page as the navigation draws it — no body.
@@ -2092,6 +2249,18 @@ export interface PluginApiOperations {
2092
2249
  };
2093
2250
  answer: PluginApiSchemas["InitiativeTaskStatusRead"][];
2094
2251
  };
2252
+ list_task_types: {
2253
+ path: {
2254
+ project_id: number;
2255
+ };
2256
+ answer: PluginApiSchemas["TaskTypeRead"][];
2257
+ };
2258
+ list_task_type_gallery: {
2259
+ path: {
2260
+ project_id: number;
2261
+ };
2262
+ answer: PluginApiSchemas["TaskTypeGalleryGroup"][];
2263
+ };
2095
2264
  list_tasks: {
2096
2265
  query: {
2097
2266
  /**
@@ -2124,6 +2293,29 @@ export interface PluginApiOperations {
2124
2293
  body: PluginApiSchemas["TaskCreate"];
2125
2294
  answer: PluginApiSchemas["TaskRead"];
2126
2295
  };
2296
+ list_task_groups: {
2297
+ query: {
2298
+ /**
2299
+ * The field the list is grouped by, as the field catalog's `groupings`
2300
+ * name it, or `property:<id>`
2301
+ */
2302
+ group_by: string;
2303
+ /**
2304
+ * For a date: the bucket of the calendar it groups by
2305
+ */
2306
+ bucket?: PluginApiSchemas["DateBucket"] | null;
2307
+ conditions?: Array<PluginApiSchemas["FilterCondition"] | PluginApiSchemas["FilterGroup"]>;
2308
+ include_archived?: boolean;
2309
+ tz?: string | null;
2310
+ };
2311
+ answer: PluginApiSchemas["GroupsResponse"];
2312
+ };
2313
+ list_column_limits: {
2314
+ query: {
2315
+ project_id: number[];
2316
+ };
2317
+ answer: PluginApiSchemas["ColumnFillRead"][];
2318
+ };
2127
2319
  read_task: {
2128
2320
  path: {
2129
2321
  task_id: number;
@@ -3094,6 +3286,16 @@ export declare const pluginApiOperations: {
3094
3286
  readonly path: "/initiatives/{initiative_id}/task-statuses/";
3095
3287
  readonly scope: "projects:read";
3096
3288
  };
3289
+ readonly list_task_types: {
3290
+ readonly method: "GET";
3291
+ readonly path: "/projects/{project_id}/task-types/";
3292
+ readonly scope: "projects:read";
3293
+ };
3294
+ readonly list_task_type_gallery: {
3295
+ readonly method: "GET";
3296
+ readonly path: "/projects/{project_id}/task-types/gallery";
3297
+ readonly scope: "projects:read";
3298
+ };
3097
3299
  readonly list_tasks: {
3098
3300
  readonly method: "GET";
3099
3301
  readonly path: "/tasks/";
@@ -3105,6 +3307,17 @@ export declare const pluginApiOperations: {
3105
3307
  readonly path: "/tasks/";
3106
3308
  readonly scope: "projects:write";
3107
3309
  };
3310
+ readonly list_task_groups: {
3311
+ readonly method: "GET";
3312
+ readonly path: "/tasks/groups";
3313
+ readonly scope: "projects:read";
3314
+ readonly json: readonly ["conditions"];
3315
+ };
3316
+ readonly list_column_limits: {
3317
+ readonly method: "GET";
3318
+ readonly path: "/tasks/column-limits";
3319
+ readonly scope: "projects:read";
3320
+ };
3108
3321
  readonly read_task: {
3109
3322
  readonly method: "GET";
3110
3323
  readonly path: "/tasks/{task_id}";
@@ -3819,6 +4032,23 @@ export declare class PluginApi {
3819
4032
  listInitiativeTaskStatuses(args: {
3820
4033
  path: PluginApiOperations["list_initiative_task_statuses"]["path"];
3821
4034
  }): Promise<PluginApiOperations["list_initiative_task_statuses"]["answer"]>;
4035
+ /**
4036
+ * List Task Types
4037
+ *
4038
+ * `GET /projects/{project_id}/task-types/`, needs `projects:read`.
4039
+ */
4040
+ listTaskTypes(args: {
4041
+ path: PluginApiOperations["list_task_types"]["path"];
4042
+ }): Promise<PluginApiOperations["list_task_types"]["answer"]>;
4043
+ /**
4044
+ * The ready-made types the project can add, grouped by what they are for, in
4045
+ * the reader's language.
4046
+ *
4047
+ * `GET /projects/{project_id}/task-types/gallery`, needs `projects:read`.
4048
+ */
4049
+ listTaskTypeGallery(args: {
4050
+ path: PluginApiOperations["list_task_type_gallery"]["path"];
4051
+ }): Promise<PluginApiOperations["list_task_type_gallery"]["answer"]>;
3822
4052
  /**
3823
4053
  * List Tasks
3824
4054
  *
@@ -3835,6 +4065,25 @@ export declare class PluginApi {
3835
4065
  createTask(args: {
3836
4066
  body: PluginApiOperations["create_task"]["body"];
3837
4067
  }): Promise<PluginApiOperations["create_task"]["answer"]>;
4068
+ /**
4069
+ * The groups of the task list these filters answer with, in the order the
4070
+ * list shows them, and the groups each task is in.
4071
+ *
4072
+ * `GET /tasks/groups`, needs `projects:read`.
4073
+ */
4074
+ listTaskGroups(args: {
4075
+ query: PluginApiOperations["list_task_groups"]["query"];
4076
+ }): Promise<PluginApiOperations["list_task_groups"]["answer"]>;
4077
+ /**
4078
+ * Each limited board column of the named projects the reader can open: its
4079
+ * limit, and how many open tasks it holds. A project with no limits, or one
4080
+ * the reader can't open, has none.
4081
+ *
4082
+ * `GET /tasks/column-limits`, needs `projects:read`.
4083
+ */
4084
+ listColumnLimits(args: {
4085
+ query: PluginApiOperations["list_column_limits"]["query"];
4086
+ }): Promise<PluginApiOperations["list_column_limits"]["answer"]>;
3838
4087
  /**
3839
4088
  * Read Task
3840
4089
  *
@@ -4717,7 +4966,9 @@ export declare class PluginApi {
4717
4966
  body: PluginApiOperations["update_property_definition"]["body"];
4718
4967
  }): Promise<PluginApiOperations["update_property_definition"]["answer"]>;
4719
4968
  /**
4720
- * Replace the custom property values on one tool or sub-tool.
4969
+ * Replace the custom property values on one tool or sub-tool, or with `merge`
4970
+ * write only the ones named and leave the rest, and change options of
4971
+ * multi-select values against what each holds.
4721
4972
  *
4722
4973
  * `PUT /properties/{target}/{entity_id}`, needs the scope its `target` names.
4723
4974
  */
@@ -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.75.3 (commit b79920042). Do not edit: regenerate.
3
+ * taken from Initiative 0.76.0 (commit 4aa7e8215). Do not edit: regenerate.
4
4
  */
5
5
  /**
6
6
  * Each operation a plug-in may call: its method, its path after `/api/v1/c/0`, the
@@ -29,8 +29,12 @@ export const pluginApiOperations = {
29
29
  update_project: { method: "PATCH", path: "/projects/{project_id}", scope: "projects:write" },
30
30
  list_task_statuses: { method: "GET", path: "/projects/{project_id}/task-statuses/", scope: "projects:read" },
31
31
  list_initiative_task_statuses: { method: "GET", path: "/initiatives/{initiative_id}/task-statuses/", scope: "projects:read" },
32
+ list_task_types: { method: "GET", path: "/projects/{project_id}/task-types/", scope: "projects:read" },
33
+ list_task_type_gallery: { method: "GET", path: "/projects/{project_id}/task-types/gallery", scope: "projects:read" },
32
34
  list_tasks: { method: "GET", path: "/tasks/", scope: "projects:read", json: ["conditions", "sorting"] },
33
35
  create_task: { method: "POST", path: "/tasks/", scope: "projects:write" },
36
+ list_task_groups: { method: "GET", path: "/tasks/groups", scope: "projects:read", json: ["conditions"] },
37
+ list_column_limits: { method: "GET", path: "/tasks/column-limits", scope: "projects:read" },
34
38
  read_task: { method: "GET", path: "/tasks/{task_id}", scope: "projects:read" },
35
39
  update_task: { method: "PATCH", path: "/tasks/{task_id}", scope: "projects:write" },
36
40
  move_task: { method: "POST", path: "/tasks/{task_id}/move", scope: "projects:write" },
@@ -317,6 +321,23 @@ export class PluginApi {
317
321
  listInitiativeTaskStatuses(args) {
318
322
  return this.call("list_initiative_task_statuses", args);
319
323
  }
324
+ /**
325
+ * List Task Types
326
+ *
327
+ * `GET /projects/{project_id}/task-types/`, needs `projects:read`.
328
+ */
329
+ listTaskTypes(args) {
330
+ return this.call("list_task_types", args);
331
+ }
332
+ /**
333
+ * The ready-made types the project can add, grouped by what they are for, in
334
+ * the reader's language.
335
+ *
336
+ * `GET /projects/{project_id}/task-types/gallery`, needs `projects:read`.
337
+ */
338
+ listTaskTypeGallery(args) {
339
+ return this.call("list_task_type_gallery", args);
340
+ }
320
341
  /**
321
342
  * List Tasks
322
343
  *
@@ -333,6 +354,25 @@ export class PluginApi {
333
354
  createTask(args) {
334
355
  return this.call("create_task", args);
335
356
  }
357
+ /**
358
+ * The groups of the task list these filters answer with, in the order the
359
+ * list shows them, and the groups each task is in.
360
+ *
361
+ * `GET /tasks/groups`, needs `projects:read`.
362
+ */
363
+ listTaskGroups(args) {
364
+ return this.call("list_task_groups", args);
365
+ }
366
+ /**
367
+ * Each limited board column of the named projects the reader can open: its
368
+ * limit, and how many open tasks it holds. A project with no limits, or one
369
+ * the reader can't open, has none.
370
+ *
371
+ * `GET /tasks/column-limits`, needs `projects:read`.
372
+ */
373
+ listColumnLimits(args) {
374
+ return this.call("list_column_limits", args);
375
+ }
336
376
  /**
337
377
  * Read Task
338
378
  *
@@ -1153,7 +1193,9 @@ export class PluginApi {
1153
1193
  return this.call("update_property_definition", args);
1154
1194
  }
1155
1195
  /**
1156
- * Replace the custom property values on one tool or sub-tool.
1196
+ * Replace the custom property values on one tool or sub-tool, or with `merge`
1197
+ * write only the ones named and leave the rest, and change options of
1198
+ * multi-select values against what each holds.
1157
1199
  *
1158
1200
  * `PUT /properties/{target}/{entity_id}`, needs the scope its `target` names.
1159
1201
  */