@bongos/core 1.19.358 → 1.19.359

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.
package/.bongos-core.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.19.358",
6
- "core_contract": "1.19.358",
7
- "source_commit": "6bfaa149e1894ef5d78af75527e0158d951470c7",
5
+ "core_version": "1.19.359",
6
+ "core_contract": "1.19.359",
7
+ "source_commit": "d23c36fb93e62c5c592d80daf5754eba2fc4dbf5",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-08-25T16:32:44.606Z",
9
+ "built_at": "2026-08-25T17:25:50.103Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 330,
13
13
  "agent_docs_stubbed": 22,
14
- "functional_verbatim": 1515,
14
+ "functional_verbatim": 1519,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 1867,
20
- "tree_sha256": "bac9c3fc06876d7ba5183bf4a6ace1bdda8e43a3e5f18037d3ebb4e006d7fa7a",
19
+ "file_count": 1871,
20
+ "tree_sha256": "48c8596d49b7f313fede9fcbc4f31f0360ca18ba33d5f8dc26e92bb6344c1137",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/blocker-review/SKILL.md",
@@ -347,12 +347,12 @@
347
347
  {
348
348
  "path": "clients/bongos-client/README.md",
349
349
  "mode": "0000644",
350
- "sha256": "8c0c4d213d8968fe1180a945aa847c5cca97e73ae3497290f69200a02f0e3995"
350
+ "sha256": "a01f701244efc0295413af22c0d487a82ca64b281c6bfcc056a4c51d4987e448"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/bongos-client.global.js",
354
354
  "mode": "0000644",
355
- "sha256": "762aa91de1b50fa63f8e8d1b1dbdd775b6103c6b8a833dd5f6de4721df7cae15"
355
+ "sha256": "0a4d72fef0cd507f9efa5725d292c6628caefec677da34223cdc987020a3fe32"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -362,17 +362,17 @@
362
362
  {
363
363
  "path": "clients/bongos-client/index.cjs",
364
364
  "mode": "0000644",
365
- "sha256": "5f5c9e0ebb6ef5cded0454b08270938e2ade486e13ede3edd89c23fe93f0798d"
365
+ "sha256": "6815d5cf32acfc8efb36662f6518b2062bb407ca7f7421dc7fb28b569c433d8b"
366
366
  },
367
367
  {
368
368
  "path": "clients/bongos-client/index.d.ts",
369
369
  "mode": "0000644",
370
- "sha256": "4229624f3aebb2f7335278e5c69b32d0d722616d38fc9a511d4c829a3c9d476e"
370
+ "sha256": "e1f023e1b393626dd766c7869e64462e599f804773b86d658ee00bfc8634d2ca"
371
371
  },
372
372
  {
373
373
  "path": "clients/bongos-client/index.mjs",
374
374
  "mode": "0000644",
375
- "sha256": "1eb6f3523f67f7a017cb5c28c087aa00363f05335679f3379859aab43bb4d29c"
375
+ "sha256": "6976836ffb9248c63961cca978c4cb8c1980fa41a820e0a6e99a1339c59aa051"
376
376
  },
377
377
  {
378
378
  "path": "clients/bongos-client/package.json",
@@ -1452,12 +1452,12 @@
1452
1452
  {
1453
1453
  "path": "docs/api-reference.md",
1454
1454
  "mode": "0000644",
1455
- "sha256": "f8f2920b3448a54530c8da2ae8a2c809c46b3ad8425fe24e3320d782c92e48bb"
1455
+ "sha256": "d9a54ab07b19d3b9f6ba0cf2a22c14928c0b32b5b1939c42847cbe3caa6b6e00"
1456
1456
  },
1457
1457
  {
1458
1458
  "path": "docs/api/openapi.json",
1459
1459
  "mode": "0000644",
1460
- "sha256": "ef200cfe7325260763ca25e1af1b506579d69c0c78bc8d9fa276ac2900486ac9"
1460
+ "sha256": "8748278cc36ace3f8b5b7690ec38307a044f31fbf4a3a675b0425d979c3c2223"
1461
1461
  },
1462
1462
  {
1463
1463
  "path": "docs/architecture.md",
@@ -2547,7 +2547,7 @@
2547
2547
  {
2548
2548
  "path": "modules/builder-settings/builder-needs.js",
2549
2549
  "mode": "0000644",
2550
- "sha256": "01f32e6f160ffbfde7240cfc1dd0e0bdc3501f13578e073c9397a2a0cccb793b"
2550
+ "sha256": "276a92a2000f2bc0e9e157791947f2ee7e6bfe934a15a996d42dba13984c26d7"
2551
2551
  },
2552
2552
  {
2553
2553
  "path": "modules/builder-settings/db.js",
@@ -2877,7 +2877,7 @@
2877
2877
  {
2878
2878
  "path": "modules/dev-box/app/src/vendor/bongos-client.cjs",
2879
2879
  "mode": "0000644",
2880
- "sha256": "5f5c9e0ebb6ef5cded0454b08270938e2ade486e13ede3edd89c23fe93f0798d"
2880
+ "sha256": "6815d5cf32acfc8efb36662f6518b2062bb407ca7f7421dc7fb28b569c433d8b"
2881
2881
  },
2882
2882
  {
2883
2883
  "path": "modules/dev-box/app/test/unit.mjs",
@@ -4067,7 +4067,7 @@
4067
4067
  {
4068
4068
  "path": "modules/lifecycle/lifecycle.js",
4069
4069
  "mode": "0000644",
4070
- "sha256": "07ea278ae8c0f0055d6ac332d7580af55e82fecefda2d1cf46dad1bf27678c59"
4070
+ "sha256": "ba8f6356c8ec9f908878d592d294033db1c9ff9403306a2ae5099df7aa466e72"
4071
4071
  },
4072
4072
  {
4073
4073
  "path": "modules/lifecycle/merge-lock.js",
@@ -4089,10 +4089,15 @@
4089
4089
  "mode": "0000644",
4090
4090
  "sha256": "d52627071dcfbf70e9bccef60803d246e49b08c22da4c374d706e1f5712fbb11"
4091
4091
  },
4092
+ {
4093
+ "path": "modules/lifecycle/migrations/lifecycle_005_task_recommendations.sql",
4094
+ "mode": "0000644",
4095
+ "sha256": "0b8fa7b8d1785a92de1cc4000bf003f5a39873f0439c09b4a753241746bce460"
4096
+ },
4092
4097
  {
4093
4098
  "path": "modules/lifecycle/module.json",
4094
4099
  "mode": "0000644",
4095
- "sha256": "2c7c98cd6d811d23abfbd6448572ec44c6199f7c15514b0c09924126199e23f9"
4100
+ "sha256": "0734a4bf5c63eb1a09c38506fb796d8d0c4e6c032536c1b026a8e65b37d21794"
4096
4101
  },
4097
4102
  {
4098
4103
  "path": "modules/lifecycle/pollers/publish-reconciler.js",
@@ -4149,6 +4154,11 @@
4149
4154
  "mode": "0000644",
4150
4155
  "sha256": "637c442875fbe297e3aba54f4b6b16f9d06b740782e3506f65c58f34b67ea81d"
4151
4156
  },
4157
+ {
4158
+ "path": "modules/lifecycle/routes/recommendations.js",
4159
+ "mode": "0000644",
4160
+ "sha256": "a8e851ca630a24b197e7ecb8f8cd8ac3d169801bacbac72097528500f95d6cdb"
4161
+ },
4152
4162
  {
4153
4163
  "path": "modules/lifecycle/routes/task-route-helpers.js",
4154
4164
  "mode": "0000644",
@@ -4194,6 +4204,11 @@
4194
4204
  "mode": "0000644",
4195
4205
  "sha256": "205bbe37f27191c0404fe03d1e84ce313fc3fdbde0bfcd00c65aca2971c6e163"
4196
4206
  },
4207
+ {
4208
+ "path": "modules/lifecycle/task-recommendations.js",
4209
+ "mode": "0000644",
4210
+ "sha256": "7ed98bbd3d4954808dc64228acb6899a96083081ecc241e81f2b5db9eb568f1f"
4211
+ },
4197
4212
  {
4198
4213
  "path": "modules/lifecycle/task-visual-db.js",
4199
4214
  "mode": "0000644",
@@ -4817,12 +4832,12 @@
4817
4832
  {
4818
4833
  "path": "package-lock.json",
4819
4834
  "mode": "0000644",
4820
- "sha256": "b155c2a0dda8e0bcfbd1efadbc4ef619a25be608f9e29714e7039f24267bcd25"
4835
+ "sha256": "e06a1a0d00dd8df697613e06d1806ceb797716c292debd219fe8f0b3a3c896cd"
4821
4836
  },
4822
4837
  {
4823
4838
  "path": "package.json",
4824
4839
  "mode": "0000644",
4825
- "sha256": "1f7444718fbae90aa6d3b0f6c33c6cc1052cf48917a3c1c030f7a9de7806ce53"
4840
+ "sha256": "f47e3cf3c97d4ab16fb5fa4cdf59fe3fd20c350114dc587122cc1f5ec5bb9842"
4826
4841
  },
4827
4842
  {
4828
4843
  "path": "public-docs/index.html",
@@ -6612,7 +6627,7 @@
6612
6627
  {
6613
6628
  "path": "src/bongos/routes/me.js",
6614
6629
  "mode": "0000644",
6615
- "sha256": "dc32a25a531f9ea76c25df57930e0566259737bbd1c559409df61f5b5f87813e"
6630
+ "sha256": "1d9e11f3ca4d08033bc116e79ccf66e901ec4e8c48b61d969eeeceface1f9da1"
6616
6631
  },
6617
6632
  {
6618
6633
  "path": "src/bongos/routes/modules.js",
@@ -6682,7 +6697,7 @@
6682
6697
  {
6683
6698
  "path": "src/module-api.js",
6684
6699
  "mode": "0000644",
6685
- "sha256": "fdd1d69409cf0ac75e9063d0ec0bf742c83aba0cdc9f15935839c9c6998e96af"
6700
+ "sha256": "0c94e1d2f36bff1e43423ae82fadcd6dbb2013368a3ae1dbba860e486ae7c4a1"
6686
6701
  },
6687
6702
  {
6688
6703
  "path": "src/module-loader/catalog.js",
@@ -9214,6 +9229,11 @@
9214
9229
  "mode": "0000644",
9215
9230
  "sha256": "cfb57e35ce65f991309e4de64c03f9252e19117a1ad406cf9bb04c1716f57746"
9216
9231
  },
9232
+ {
9233
+ "path": "tests/task_recommendations.mjs",
9234
+ "mode": "0000644",
9235
+ "sha256": "cfce8e24b5844b1720399cc467e89ca457d74dfbf0783ef2a733d433f0443bd8"
9236
+ },
9217
9237
  {
9218
9238
  "path": "tests/task_visual_route_gate.mjs",
9219
9239
  "mode": "0000644",
@@ -5,7 +5,7 @@ A **generated**, zero-dependency typed client for the Bongos API — produced fr
5
5
  by hand; it regenerates when the spec changes, so it can never drift from the routes.
6
6
 
7
7
  - API version: **v1** (served at `/api/bongos/v1`)
8
- - 307 operations across 49 resource groups
8
+ - 312 operations across 50 resource groups
9
9
 
10
10
  ## Install
11
11
 
@@ -716,6 +716,16 @@ function createClient(opts = {}) {
716
716
  // POST /sso/token — rank: public — POST /sso/token
717
717
  postSsoToken: (args) => request("POST", "/sso/token", { hasBody: true }, args),
718
718
  },
719
+ "taskRecommendations": {
720
+ // POST /task-recommendations — rank: any-builder — POST /task-recommendations
721
+ postTaskRecommendations: (args) => request("POST", "/task-recommendations", { hasBody: true }, args),
722
+ // PATCH /task-recommendations/{id} — rank: any-builder — PATCH /task-recommendations/:id
723
+ patchTaskRecommendationsId: (args) => request("PATCH", "/task-recommendations/{id}", { hasBody: true }, args),
724
+ // GET /task-recommendations/for-me — rank: any-builder — GET /task-recommendations/for-me
725
+ getTaskRecommendationsForMe: (args) => request("GET", "/task-recommendations/for-me", { hasBody: false }, args),
726
+ // GET /task-recommendations/mine — rank: any-builder — GET /task-recommendations/mine
727
+ getTaskRecommendationsMine: (args) => request("GET", "/task-recommendations/mine", { hasBody: false }, args),
728
+ },
719
729
  "taskVisuals": {
720
730
  // GET /task-visuals/{name} — rank: public — GET /task-visuals/:name
721
731
  getTaskVisualsName: (args) => request("GET", "/task-visuals/{name}", { hasBody: false }, args),
@@ -761,6 +771,8 @@ function createClient(opts = {}) {
761
771
  postTasksIdPublishBranch: (args) => request("POST", "/tasks/{id}/publish-branch", { hasBody: true }, args),
762
772
  // GET /tasks/{id}/publish-status — rank: any-builder — GET /tasks/:id/publish-status
763
773
  getTasksIdPublishStatus: (args) => request("GET", "/tasks/{id}/publish-status", { hasBody: false }, args),
774
+ // GET /tasks/{id}/recommendations — rank: any-builder — GET /tasks/:id/recommendations
775
+ getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
764
776
  // POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
765
777
  postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
766
778
  // DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual
@@ -715,6 +715,16 @@ function createClient(opts = {}) {
715
715
  // POST /sso/token — rank: public — POST /sso/token
716
716
  postSsoToken: (args) => request("POST", "/sso/token", { hasBody: true }, args),
717
717
  },
718
+ "taskRecommendations": {
719
+ // POST /task-recommendations — rank: any-builder — POST /task-recommendations
720
+ postTaskRecommendations: (args) => request("POST", "/task-recommendations", { hasBody: true }, args),
721
+ // PATCH /task-recommendations/{id} — rank: any-builder — PATCH /task-recommendations/:id
722
+ patchTaskRecommendationsId: (args) => request("PATCH", "/task-recommendations/{id}", { hasBody: true }, args),
723
+ // GET /task-recommendations/for-me — rank: any-builder — GET /task-recommendations/for-me
724
+ getTaskRecommendationsForMe: (args) => request("GET", "/task-recommendations/for-me", { hasBody: false }, args),
725
+ // GET /task-recommendations/mine — rank: any-builder — GET /task-recommendations/mine
726
+ getTaskRecommendationsMine: (args) => request("GET", "/task-recommendations/mine", { hasBody: false }, args),
727
+ },
718
728
  "taskVisuals": {
719
729
  // GET /task-visuals/{name} — rank: public — GET /task-visuals/:name
720
730
  getTaskVisualsName: (args) => request("GET", "/task-visuals/{name}", { hasBody: false }, args),
@@ -760,6 +770,8 @@ function createClient(opts = {}) {
760
770
  postTasksIdPublishBranch: (args) => request("POST", "/tasks/{id}/publish-branch", { hasBody: true }, args),
761
771
  // GET /tasks/{id}/publish-status — rank: any-builder — GET /tasks/:id/publish-status
762
772
  getTasksIdPublishStatus: (args) => request("GET", "/tasks/{id}/publish-status", { hasBody: false }, args),
773
+ // GET /tasks/{id}/recommendations — rank: any-builder — GET /tasks/:id/recommendations
774
+ getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
763
775
  // POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
764
776
  postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
765
777
  // DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual
@@ -108,9 +108,12 @@ export interface GetSessionsIdResponse { session: unknown }
108
108
  export interface GetSessionsMineResponse { sessions: unknown; count: unknown }
109
109
  export interface GetSessionsSearchResponse { sessions: unknown; count: unknown; total: unknown; totals: unknown; limit: unknown; offset: unknown }
110
110
  export interface GetSsoPubkeyResponse { alg: unknown; format: unknown; public_key_b64: unknown }
111
+ export interface GetTaskRecommendationsForMeResponse { recommendations: unknown; count: unknown }
112
+ export interface GetTaskRecommendationsMineResponse { recommendations: unknown; count: unknown }
111
113
  export interface GetTasksClaimableResponse { claimable: unknown; active_claims: unknown }
112
114
  export interface GetTasksIdCriteriaResponse { criteria: unknown }
113
115
  export interface GetTasksIdDependenciesResponse { dependencies: unknown; dependents: unknown }
116
+ export interface GetTasksIdRecommendationsResponse { recommendations: unknown; count: unknown }
114
117
  export interface GetTasksNewcomerFloorResponse { disciplines: unknown }
115
118
  export interface GetTasksPeerVotesFeedResponse { tasks: unknown; can_vote: unknown }
116
119
  export interface GetTasksResponse { tasks: unknown }
@@ -154,6 +157,8 @@ export interface PatchProjectsIdFeaturedRequest { featured: boolean }
154
157
  export interface PatchProjectsIdFeaturedResponse { project: unknown }
155
158
  export interface PatchProvisioningInstancesIdSettingsRequest { platform_visibility?: string; joinability?: string }
156
159
  export interface PatchProvisioningInstancesIdSettingsResponse { ok: boolean; saved: unknown; push: unknown }
160
+ export interface PatchTaskRecommendationsIdRequest { status: "declined" | "withdrawn" }
161
+ export interface PatchTaskRecommendationsIdResponse { ok: boolean; recommendation: unknown }
157
162
  export interface PatchTasksIdRequest { kind?: string; discipline?: string; requires_rank?: string; module_key?: string; goal_id?: number; parent_task_id?: StringifiableId; parallel_safe?: unknown; newcomer_friendly?: boolean; xenos_claimable?: boolean; security_sensitive?: boolean; automation_tag?: string; needs_migration?: boolean; description?: string; status?: unknown }
158
163
  export interface PostAccessRequestsRequest { github_login: string; display_name?: string; note?: string }
159
164
  export interface PostAccessRequestsResponse { ok: boolean; request?: unknown; already_pending?: boolean }
@@ -318,6 +323,8 @@ export interface PostSsoMembershipCheckInRequest { client_id: string; client_sec
318
323
  export interface PostSsoMembershipCheckInResponse { ok: boolean }
319
324
  export interface PostSsoTokenRequest { client_id: string; client_secret: string; code: string; redirect_uri: string }
320
325
  export interface PostSsoTokenResponse { github_id: unknown; github_login: unknown; display_name: unknown; avatar_url: unknown }
326
+ export interface PostTaskRecommendationsRequest { task_id: number; recommended_to: number; reason: string }
327
+ export interface PostTaskRecommendationsResponse { ok: boolean; recommendation: unknown }
321
328
  export interface PostTasksIdAbandonRequest { reason?: string }
322
329
  export interface PostTasksIdAttestGateRequest { head_sha: string }
323
330
  export interface PostTasksIdAttestGateResponse { ok: boolean; attested: unknown; reason: unknown }
@@ -992,6 +999,16 @@ export interface BongosClient {
992
999
  /** POST /sso/token — rank: public */
993
1000
  postSsoToken(args: RequestArgs & { body: PostSsoTokenRequest }): Promise<PostSsoTokenResponse>;
994
1001
  };
1002
+ "taskRecommendations": {
1003
+ /** POST /task-recommendations — rank: any-builder */
1004
+ postTaskRecommendations(args: RequestArgs & { body: PostTaskRecommendationsRequest }): Promise<PostTaskRecommendationsResponse>;
1005
+ /** PATCH /task-recommendations/{id} — rank: any-builder */
1006
+ patchTaskRecommendationsId(args: RequestArgs & { body: PatchTaskRecommendationsIdRequest }): Promise<PatchTaskRecommendationsIdResponse>;
1007
+ /** GET /task-recommendations/for-me — rank: any-builder */
1008
+ getTaskRecommendationsForMe(args?: RequestArgs): Promise<GetTaskRecommendationsForMeResponse>;
1009
+ /** GET /task-recommendations/mine — rank: any-builder */
1010
+ getTaskRecommendationsMine(args?: RequestArgs): Promise<GetTaskRecommendationsMineResponse>;
1011
+ };
995
1012
  "taskVisuals": {
996
1013
  /** GET /task-visuals/{name} — rank: public */
997
1014
  getTaskVisualsName(args?: RequestArgs): Promise<ApiResponse>;
@@ -1037,6 +1054,8 @@ export interface BongosClient {
1037
1054
  postTasksIdPublishBranch(args: RequestArgs & { body: PostTasksIdPublishBranchRequest }): Promise<PostTasksIdPublishBranchResponse>;
1038
1055
  /** GET /tasks/{id}/publish-status — rank: any-builder */
1039
1056
  getTasksIdPublishStatus(args?: RequestArgs): Promise<ApiResponse>;
1057
+ /** GET /tasks/{id}/recommendations — rank: any-builder */
1058
+ getTasksIdRecommendations(args?: RequestArgs): Promise<GetTasksIdRecommendationsResponse>;
1040
1059
  /** POST /tasks/{id}/ship — rank: any-builder */
1041
1060
  postTasksIdShip(args?: RequestArgs): Promise<PostTasksIdShipResponse>;
1042
1061
  /** DELETE /tasks/{id}/visual — rank: any-builder */
@@ -712,6 +712,16 @@ export function createClient(opts = {}) {
712
712
  // POST /sso/token — rank: public — POST /sso/token
713
713
  postSsoToken: (args) => request("POST", "/sso/token", { hasBody: true }, args),
714
714
  },
715
+ "taskRecommendations": {
716
+ // POST /task-recommendations — rank: any-builder — POST /task-recommendations
717
+ postTaskRecommendations: (args) => request("POST", "/task-recommendations", { hasBody: true }, args),
718
+ // PATCH /task-recommendations/{id} — rank: any-builder — PATCH /task-recommendations/:id
719
+ patchTaskRecommendationsId: (args) => request("PATCH", "/task-recommendations/{id}", { hasBody: true }, args),
720
+ // GET /task-recommendations/for-me — rank: any-builder — GET /task-recommendations/for-me
721
+ getTaskRecommendationsForMe: (args) => request("GET", "/task-recommendations/for-me", { hasBody: false }, args),
722
+ // GET /task-recommendations/mine — rank: any-builder — GET /task-recommendations/mine
723
+ getTaskRecommendationsMine: (args) => request("GET", "/task-recommendations/mine", { hasBody: false }, args),
724
+ },
715
725
  "taskVisuals": {
716
726
  // GET /task-visuals/{name} — rank: public — GET /task-visuals/:name
717
727
  getTaskVisualsName: (args) => request("GET", "/task-visuals/{name}", { hasBody: false }, args),
@@ -757,6 +767,8 @@ export function createClient(opts = {}) {
757
767
  postTasksIdPublishBranch: (args) => request("POST", "/tasks/{id}/publish-branch", { hasBody: true }, args),
758
768
  // GET /tasks/{id}/publish-status — rank: any-builder — GET /tasks/:id/publish-status
759
769
  getTasksIdPublishStatus: (args) => request("GET", "/tasks/{id}/publish-status", { hasBody: false }, args),
770
+ // GET /tasks/{id}/recommendations — rank: any-builder — GET /tasks/:id/recommendations
771
+ getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
760
772
  // POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
761
773
  postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
762
774
  // DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual