@bongos/core 1.20.10 → 1.20.11

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.20.10",
6
- "core_contract": "1.20.10",
7
- "source_commit": "9d6a15fa234ae02da2d1d9b4b7196777bfe168b1",
5
+ "core_version": "1.20.11",
6
+ "core_contract": "1.20.11",
7
+ "source_commit": "53c0ee60054e5b6b7843f4ee840fc822898d8d99",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-30T04:50:43.194Z",
9
+ "built_at": "2026-09-30T05:16:32.448Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 556,
13
13
  "agent_docs_stubbed": 25,
14
- "functional_verbatim": 2624,
14
+ "functional_verbatim": 2625,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 3206,
20
- "tree_sha256": "e9c9cad3c2cb4ca49d04f623e63dac7a691ad9536524b1c7dbdabf8cfdcfa6b9",
19
+ "file_count": 3207,
20
+ "tree_sha256": "f95cbf2fee02b00d47be2fbff2d2b529242ea16d3e13f3648e26058a7b7158f3",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -327,12 +327,12 @@
327
327
  {
328
328
  "path": "clients/bongos-client/README.md",
329
329
  "mode": "0000644",
330
- "sha256": "655edd2659cc7ea8267529eb86f3a9454df4765f84ab5090208bab74b9befc93"
330
+ "sha256": "e02ae1f840ce2b9ba26906d22a71251f99093c1be99b7585d8d5492de6828247"
331
331
  },
332
332
  {
333
333
  "path": "clients/bongos-client/bongos-client.global.js",
334
334
  "mode": "0000644",
335
- "sha256": "1b5dfe77f736f8da7059734b1e38b7ae991810245799678235866ce7c2a02494"
335
+ "sha256": "d2eddb6398add51948e7facc2b3752a4bc9c2a1c5826cdade034328529389dd2"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -342,17 +342,17 @@
342
342
  {
343
343
  "path": "clients/bongos-client/index.cjs",
344
344
  "mode": "0000644",
345
- "sha256": "5fa483ccc721ed1b1ed715bfd01fe432486397eeb6d0ae8f6e504b3f28a8b72d"
345
+ "sha256": "aef980f7c979cf57ce9cba684e370301f0343e3e72a4ce9076875fa0efd4287e"
346
346
  },
347
347
  {
348
348
  "path": "clients/bongos-client/index.d.ts",
349
349
  "mode": "0000644",
350
- "sha256": "bb4de29e1723e57afe52bccbd86b22c768272917951551ac3612ba732efa8d07"
350
+ "sha256": "2fb562be1e4db7d2471f9ed6b7284d8b95071d9a365982c4721ff72febdfba63"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/index.mjs",
354
354
  "mode": "0000644",
355
- "sha256": "bc339a45e590e5e5e1d3f75abb63e10304d2a980e20122bf8d1f44f1ee315277"
355
+ "sha256": "b99063352bcd42be68be647d30b838fdedcb0aef3c39a2b7a7849e9f80208fdd"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/package.json",
@@ -2237,12 +2237,12 @@
2237
2237
  {
2238
2238
  "path": "docs/api-reference.md",
2239
2239
  "mode": "0000644",
2240
- "sha256": "822f6c627d3bf4b7470740dd6a6f37cfeaef934d88bd44cd8616534481d8c1cf"
2240
+ "sha256": "73b9c0372c8d6ddf88b0eec04695defbc219a826b8be9da71a24b5a1eb6ff060"
2241
2241
  },
2242
2242
  {
2243
2243
  "path": "docs/api/openapi.json",
2244
2244
  "mode": "0000644",
2245
- "sha256": "6dea7c163c31d7b5128ebaea93d97c03262a560f489fd68f0edba551dc46403b"
2245
+ "sha256": "c1360ad6a6659819a5a2db72cef07fd3631a3052745ef4fcf20075e9849f7fbd"
2246
2246
  },
2247
2247
  {
2248
2248
  "path": "docs/architecture.md",
@@ -2267,12 +2267,12 @@
2267
2267
  {
2268
2268
  "path": "docs/copy-inventory.md",
2269
2269
  "mode": "0000644",
2270
- "sha256": "3efebbe96dcf76fa9e6f30e66594641b906c8b04b1d9c4c3ea57a8634dc143d8"
2270
+ "sha256": "f4485fd6eecabff171add19c577d0c94b90b1e5e4e90e71f0af23bbd84085791"
2271
2271
  },
2272
2272
  {
2273
2273
  "path": "docs/copy-registry.json",
2274
2274
  "mode": "0000644",
2275
- "sha256": "efd6dd52270465cfc046d2283321e7513769807fe795c57e2207ac284dcf4a0b"
2275
+ "sha256": "f8b6e13542de4d3fe03cbfc6a4873c8a7fd7c3ea29e9b535d80c70d2d986340a"
2276
2276
  },
2277
2277
  {
2278
2278
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2772,7 +2772,7 @@
2772
2772
  {
2773
2773
  "path": "docs/module-api-changelog.md",
2774
2774
  "mode": "0000644",
2775
- "sha256": "e8cdec0878fd4a4d01b317e417565a6b4eba969ddee1edc43b612df18882331c"
2775
+ "sha256": "372ffa01d1e2ae4940f5f2642b2ada1aceb4379c28dbd8606bcb24831a10dbd7"
2776
2776
  },
2777
2777
  {
2778
2778
  "path": "docs/modules-contract.md",
@@ -2857,12 +2857,12 @@
2857
2857
  {
2858
2858
  "path": "docs/page-inventory.json",
2859
2859
  "mode": "0000644",
2860
- "sha256": "d5242323bc5db540dfa190d5b89c92af0bf6e0a36419d141705fb4d7f51ea39c"
2860
+ "sha256": "9e3397a30b8fa81b392a32b65f275209cb67021b7e74a4700e0ae9ff6d3c5e6b"
2861
2861
  },
2862
2862
  {
2863
2863
  "path": "docs/page-readings.json",
2864
2864
  "mode": "0000644",
2865
- "sha256": "3a08cbdaca08161fd7db132153a0e43badc9b7b156ad24825d38e2e760193226"
2865
+ "sha256": "b959e7b3c6b623f81e4f5752fa6573621c79d6e8948d18b2b4c939101e65930b"
2866
2866
  },
2867
2867
  {
2868
2868
  "path": "docs/project-context.template.md",
@@ -5327,7 +5327,7 @@
5327
5327
  {
5328
5328
  "path": "modules/hall-ui/public/panel.css",
5329
5329
  "mode": "0000644",
5330
- "sha256": "1e7d898054a987276450779ce2c265809fa51bc888e012e8a40a1d12b1f9afc9"
5330
+ "sha256": "1c4ed23b0f464fcac39b9c2c22badee7173da55e406a712087ff0b7610428f66"
5331
5331
  },
5332
5332
  {
5333
5333
  "path": "modules/hall-ui/public/primer.css",
@@ -5517,17 +5517,17 @@
5517
5517
  {
5518
5518
  "path": "modules/hall-ui/public/settings-specialities.js",
5519
5519
  "mode": "0000644",
5520
- "sha256": "9bc109f2e947f1db1525b937d350f46e5231cc14a9dd5db8fa1c97a2b46fe6d1"
5520
+ "sha256": "21ae179ba1c4ec8685d6d396a6f4c2b425255deae63c432408654d5b81ececc6"
5521
5521
  },
5522
5522
  {
5523
5523
  "path": "modules/hall-ui/public/settings.css",
5524
5524
  "mode": "0000644",
5525
- "sha256": "d73ab35cd887285813fe8d3f3f13ec8b0e2d179b1a9fb3cc910ea6caa7131607"
5525
+ "sha256": "7cbb7284616c451918169126d9dc691db3018c2b1cdc489097b551eb3a6854c6"
5526
5526
  },
5527
5527
  {
5528
5528
  "path": "modules/hall-ui/public/settings.html",
5529
5529
  "mode": "0000644",
5530
- "sha256": "da40973f4e06deeef7fb08d1b150ec189abd9e9d34e455f8003b19125d6cdb20"
5530
+ "sha256": "7c014effec71b2d13e8baa51ed0f96593128c2b06afd52f788af1cf63c0b4275"
5531
5531
  },
5532
5532
  {
5533
5533
  "path": "modules/hall-ui/public/settings.js",
@@ -5537,7 +5537,7 @@
5537
5537
  {
5538
5538
  "path": "modules/hall-ui/public/settings.states.json",
5539
5539
  "mode": "0000644",
5540
- "sha256": "54f12d63deb961cfe6d13ad0d9ccd6ca1defbc3a4bce1c036e2d93ed4281951b"
5540
+ "sha256": "02471f2612f2ac00d0324a316be17506455629333397f8d1a2a33b0fce24c8e6"
5541
5541
  },
5542
5542
  {
5543
5543
  "path": "modules/hall-ui/public/shell.js",
@@ -5772,7 +5772,7 @@
5772
5772
  {
5773
5773
  "path": "modules/hall-ui/records/panel-family.md",
5774
5774
  "mode": "0000644",
5775
- "sha256": "42e0d8cbb266e912c5ab034d2a88f11da310d4a4a8f61a87ce86a08b154d32d9"
5775
+ "sha256": "ea6521eec734a0c8d20ad8128398c5d9c85cf074060fdb9a85181dff2270ef5c"
5776
5776
  },
5777
5777
  {
5778
5778
  "path": "modules/hall-ui/records/reading-rooms.md",
@@ -8352,7 +8352,7 @@
8352
8352
  {
8353
8353
  "path": "modules/specialities/routes/specialities.js",
8354
8354
  "mode": "0000644",
8355
- "sha256": "2b5983c0014f6e103d6bee21256f696364498ed6f955db3043c12b69c84ac3c6"
8355
+ "sha256": "8e876e35e476b0954e0fa7a8e436f6835e6db5406fd791a8463bc0d030da421c"
8356
8356
  },
8357
8357
  {
8358
8358
  "path": "modules/specialities/skills.js",
@@ -8857,12 +8857,12 @@
8857
8857
  {
8858
8858
  "path": "package-lock.json",
8859
8859
  "mode": "0000644",
8860
- "sha256": "0660350e6576f3d4adf6ba443f6fb89ea1ca051bd032f76fab13c3eb30c05a0d"
8860
+ "sha256": "2a308d4441905642a136968b84c97ec21567998a3642fb009e48022289a719a4"
8861
8861
  },
8862
8862
  {
8863
8863
  "path": "package.json",
8864
8864
  "mode": "0000644",
8865
- "sha256": "574d3bd16219942073c8ddd9cc6dcf55d8a5836622a7291751af2f4f2ced739f"
8865
+ "sha256": "d6912677f65474e50cee14ba12e123fe78c779a502d32958d3461e28ba172875"
8866
8866
  },
8867
8867
  {
8868
8868
  "path": "public-docs/index.html",
@@ -8882,7 +8882,7 @@
8882
8882
  {
8883
8883
  "path": "release-notes.json",
8884
8884
  "mode": "0000644",
8885
- "sha256": "1e3144f4283ef6be4c94cb49c513ab3bbbbac00ed89ae8a4946d06314bff0564"
8885
+ "sha256": "74f7b0934941d9fa4f088bdbeead254888acf3c6ef6858f8f56f76b1e53ada76"
8886
8886
  },
8887
8887
  {
8888
8888
  "path": "scripts/bongos-mcp.js",
@@ -10572,7 +10572,7 @@
10572
10572
  {
10573
10573
  "path": "scripts/hall-preview/server.js",
10574
10574
  "mode": "0000644",
10575
- "sha256": "4529909a899a52180c5876d926be2ef2dc42a8bffef43d84c38dd9d399f2c5d2"
10575
+ "sha256": "974c71c0a21d62d5c702d611f1ff26c5e5e8eb58e3bb38271665bd56598b4200"
10576
10576
  },
10577
10577
  {
10578
10578
  "path": "scripts/hall-preview/task-visual.js",
@@ -10997,7 +10997,7 @@
10997
10997
  {
10998
10998
  "path": "src/module-api.js",
10999
10999
  "mode": "0000644",
11000
- "sha256": "a0f39869818bd1f03c2aa67fe2d2dfcd62fab4a7f4c9c5ef2f69d91ab2325f08"
11000
+ "sha256": "5316b73eafc987d6d4a9acd90784e38ef427f2212c659c7761a832210424b8c4"
11001
11001
  },
11002
11002
  {
11003
11003
  "path": "src/module-loader/catalog.js",
@@ -15499,6 +15499,11 @@
15499
15499
  "mode": "0000644",
15500
15500
  "sha256": "9de6fbffd858190096bc22d556ccae101a6206adeee05bb146bd2a0a1a59d15c"
15501
15501
  },
15502
+ {
15503
+ "path": "tests/speciality_offer_ui.mjs",
15504
+ "mode": "0000644",
15505
+ "sha256": "31df61df6d4224cfe75c522d845d9baa004e627cd660e7770bf5ccc3ff4680df"
15506
+ },
15502
15507
  {
15503
15508
  "path": "tests/speciality_offered.mjs",
15504
15509
  "mode": "0000644",
@@ -15512,7 +15517,7 @@
15512
15517
  {
15513
15518
  "path": "tests/speciality_skills.mjs",
15514
15519
  "mode": "0000644",
15515
- "sha256": "391044e79f7ee0ef7b0f4c4fcf919c058d5cbe0c808162ad0d7e58004bf7404d"
15520
+ "sha256": "961eb1a8edc81d84eb567827998e0c5c3de1d288921b8ee70b1265ded4badf38"
15516
15521
  },
15517
15522
  {
15518
15523
  "path": "tests/speciality_walkthrough_ui.mjs",
@@ -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
- - 460 operations across 70 resource groups
8
+ - 461 operations across 70 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -997,6 +997,8 @@ function createClient(opts = {}) {
997
997
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
998
998
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
999
999
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
1000
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
1001
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
1000
1002
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
1001
1003
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
1002
1004
  },
@@ -996,6 +996,8 @@ function createClient(opts = {}) {
996
996
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
997
997
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
998
998
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
999
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
1000
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
999
1001
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
1000
1002
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
1001
1003
  },
@@ -158,6 +158,7 @@ export interface GetSoftwareUpdateResponse { ok: boolean; update: unknown; door:
158
158
  export interface GetSpecialitiesIdDocumentsResponse { documents: unknown }
159
159
  export interface GetSpecialitiesIdResponse { speciality: unknown }
160
160
  export interface GetSpecialitiesIdSkillsResponse { speciality: unknown; adopted: boolean; enabled: unknown; skills: unknown }
161
+ export interface GetSpecialitiesInstalledSkillsResponse { skills: unknown }
161
162
  export interface GetSpecialitiesOfferedResponse { suggestions: unknown }
162
163
  export interface GetSpecialitiesResponse { specialities: unknown }
163
164
  export interface GetSsoPubkeyResponse { alg: unknown; format: unknown; public_key_b64: unknown }
@@ -1422,6 +1423,8 @@ export interface BongosClient {
1422
1423
  putSpecialitiesIdSkills(args: RequestArgs & { body: PutSpecialitiesIdSkillsRequest }): Promise<PutSpecialitiesIdSkillsResponse>;
1423
1424
  /** POST /specialities/{id}/unoffer — rank: metic+archon */
1424
1425
  postSpecialitiesIdUnoffer(args?: RequestArgs): Promise<PostSpecialitiesIdUnofferResponse>;
1426
+ /** GET /specialities/installed-skills — rank: any-builder */
1427
+ getSpecialitiesInstalledSkills(args?: RequestArgs): Promise<GetSpecialitiesInstalledSkillsResponse>;
1425
1428
  /** GET /specialities/offered — rank: any-builder */
1426
1429
  getSpecialitiesOffered(args?: RequestArgs): Promise<GetSpecialitiesOfferedResponse>;
1427
1430
  };
@@ -993,6 +993,8 @@ export function createClient(opts = {}) {
993
993
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
994
994
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
995
995
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
996
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
997
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
996
998
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
997
999
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
998
1000
  },
@@ -17805,6 +17805,44 @@
17805
17805
  ]
17806
17806
  }
17807
17807
  },
17808
+ "/specialities/installed-skills": {
17809
+ "get": {
17810
+ "operationId": "get_specialities_installed_skills",
17811
+ "tags": [
17812
+ "specialities"
17813
+ ],
17814
+ "summary": "GET /specialities/installed-skills",
17815
+ "description": "GET /specialities/installed-skills — every skill THIS instance has, each explained the way the adoption walkthrough explains it, so a speciality's owner can choose what it offers from the hall (task 1004404). The CHOICES only: the POST/PATCH `skills` check (unknown_skill) is still the rule, so a stale page that sends a name removed since is refused, not trusted. Nothing here is per-builder and the list is public knowledge of the install — every name is already materialised into each checkout's .claude/skills/. Mounted before '/specialities/:id' would capture it as an id. Read-only; rank: any builder.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
17816
+ "x-rank": "any-builder",
17817
+ "x-source": "modules/specialities/routes/specialities.js",
17818
+ "responses": {
17819
+ "200": {
17820
+ "description": "Success.",
17821
+ "content": {
17822
+ "application/json": {
17823
+ "schema": {
17824
+ "$ref": "#/components/schemas/GetSpecialitiesInstalledSkillsResponse"
17825
+ }
17826
+ }
17827
+ }
17828
+ },
17829
+ "400": {
17830
+ "$ref": "#/components/responses/BadRequest"
17831
+ },
17832
+ "401": {
17833
+ "$ref": "#/components/responses/Unauthorized"
17834
+ },
17835
+ "403": {
17836
+ "$ref": "#/components/responses/Forbidden"
17837
+ }
17838
+ },
17839
+ "security": [
17840
+ {
17841
+ "builderSession": []
17842
+ }
17843
+ ]
17844
+ }
17845
+ },
17808
17846
  "/specialities/offered": {
17809
17847
  "get": {
17810
17848
  "operationId": "get_specialities_offered",
@@ -23643,6 +23681,15 @@
23643
23681
  "skills"
23644
23682
  ]
23645
23683
  },
23684
+ "GetSpecialitiesInstalledSkillsResponse": {
23685
+ "type": "object",
23686
+ "properties": {
23687
+ "skills": {}
23688
+ },
23689
+ "required": [
23690
+ "skills"
23691
+ ]
23692
+ },
23646
23693
  "GetSpecialitiesOfferedResponse": {
23647
23694
  "type": "object",
23648
23695
  "properties": {
@@ -29474,9 +29521,9 @@
29474
29521
  "description": "A required dependency/feature is not configured or is temporarily down."
29475
29522
  }
29476
29523
  },
29477
- "x-endpoint-count": 460,
29478
- "x-schema-count": 492,
29524
+ "x-endpoint-count": 461,
29525
+ "x-schema-count": 493,
29479
29526
  "x-undocumented-bodies": 12,
29480
- "x-response-schemas": 334,
29527
+ "x-response-schemas": 335,
29481
29528
  "x-generated-by": "scripts/gds/gen-api-docs.js"
29482
29529
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Bongos API reference
4
4
 
5
- > **Generated from the live route files** — the route file is authoritative. 460 endpoints across 82 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 461 endpoints across 82 route files.
6
6
  > Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
7
7
 
8
8
  Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
@@ -698,7 +698,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
698
698
  |---|---|---|---|---|
699
699
  | GET | `/api/bongos/software-update` | `any-builder` | — | GET /software-update — Settings → Software update (task 1004296): this project's core, the newest release its channel allows, what the ve… |
700
700
 
701
- ## `specialities` (14)
701
+ ## `specialities` (15)
702
702
 
703
703
  | Method | Path | Rank | Body | Description |
704
704
  |---|---|---|---|---|
@@ -715,6 +715,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
715
715
  | GET | `/api/bongos/specialities/:id/skills` | `any-builder` | — | GET /specialities/:id/skills — what the adoption WALKTHROUGH shows (task 1004073, ADR 0310 §3): each skill the speciality offers, explain… |
716
716
  | PUT | `/api/bongos/specialities/:id/skills` | `any-builder` | `enabled_skills` | PUT /specialities/:id/skills — the caller's ENABLED set for a speciality they hold (task 1004072, ADR 0310 §2). |
717
717
  | POST | `/api/bongos/specialities/:id/unoffer` | `metic+archon` | — | |
718
+ | GET | `/api/bongos/specialities/installed-skills` | `any-builder` | — | GET /specialities/installed-skills — every skill THIS instance has, each explained the way the adoption walkthrough explains it, so a spe… |
718
719
  | GET | `/api/bongos/specialities/offered` | `any-builder` | — | GET /specialities/offered — the suggestions for THIS builder. |
719
720
 
720
721
  ## `sso` (8)