@bongos/core 1.19.980 → 1.19.982
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 +47 -32
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +2 -0
- package/clients/bongos-client/index.cjs +2 -0
- package/clients/bongos-client/index.d.ts +3 -0
- package/clients/bongos-client/index.mjs +2 -0
- package/docs/adr/0176-private-repo-deploy-keys.md +5 -4
- package/docs/api/openapi.json +87 -4
- package/docs/api-reference.md +3 -2
- package/docs/copy-inventory.md +204 -208
- package/docs/copy-registry.json +268 -304
- package/docs/module-api-changelog.md +4 -0
- package/modules/hall-ui/public/blockers-lib.js +14 -19
- package/modules/hall-ui/public/blockers.js +7 -5
- package/modules/hall-ui/public/goal-inbox.js +2 -0
- package/modules/provisioning/module.json +2 -1
- package/modules/provisioning/routes/repo-private.js +82 -0
- package/modules/public-landing/public/projects.html +129 -21
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/src/bongos/routes/github.js +10 -9
- package/src/module-api.js +1 -1
- package/tests/blockers_lib.mjs +22 -14
- package/tests/github_repo_visibility.mjs +9 -6
- package/tests/projects_hub.mjs +18 -24
- package/tests/projects_hub_pre_uat.mjs +5 -4
- package/tests/projects_hub_repo_private.mjs +238 -0
- package/tests/provisioning_repo_private_route.mjs +224 -0
- package/tests/public_landing_projects.mjs +7 -13
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.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.982",
|
|
6
|
+
"core_contract": "1.19.982",
|
|
7
|
+
"source_commit": "a5257c54873e65bbbc155ed297456b95d5fc6dba",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-23T17:16:41.214Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 517,
|
|
13
13
|
"agent_docs_stubbed": 26,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2389,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 2932,
|
|
20
|
+
"tree_sha256": "4fe68956083c075cc0d1a986e3f70788f301484ede1ca13cbea6736f8aa0207f",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -347,12 +347,12 @@
|
|
|
347
347
|
{
|
|
348
348
|
"path": "clients/bongos-client/README.md",
|
|
349
349
|
"mode": "0000644",
|
|
350
|
-
"sha256": "
|
|
350
|
+
"sha256": "11c3f5d462872cf65a44f18df3962f305f9ad74b26342240ae8905587964c82d"
|
|
351
351
|
},
|
|
352
352
|
{
|
|
353
353
|
"path": "clients/bongos-client/bongos-client.global.js",
|
|
354
354
|
"mode": "0000644",
|
|
355
|
-
"sha256": "
|
|
355
|
+
"sha256": "f06b1cdeaecb450c800d108227c26755f311593f75a3d15d2023df217a87a310"
|
|
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": "
|
|
365
|
+
"sha256": "9090588dea0d315cf37dd4333d2d8785989681b1380518fe831cfbd9b1545457"
|
|
366
366
|
},
|
|
367
367
|
{
|
|
368
368
|
"path": "clients/bongos-client/index.d.ts",
|
|
369
369
|
"mode": "0000644",
|
|
370
|
-
"sha256": "
|
|
370
|
+
"sha256": "01c1f524af646a8dfceb37f5c25748b05da851891dff06d66d7c42659531af78"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"path": "clients/bongos-client/index.mjs",
|
|
374
374
|
"mode": "0000644",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "0ed448c51d0d65b288cd8c38cf8cbd480791abd10c198c0e15cd52d31f7021b2"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "clients/bongos-client/package.json",
|
|
@@ -1362,7 +1362,7 @@
|
|
|
1362
1362
|
{
|
|
1363
1363
|
"path": "docs/adr/0176-private-repo-deploy-keys.md",
|
|
1364
1364
|
"mode": "0000644",
|
|
1365
|
-
"sha256": "
|
|
1365
|
+
"sha256": "6a3e592b377ec23a9de965834f27234bd818956c05435c9e56258b54edc436d8"
|
|
1366
1366
|
},
|
|
1367
1367
|
{
|
|
1368
1368
|
"path": "docs/adr/0177-goal-membership-kind.md",
|
|
@@ -2142,12 +2142,12 @@
|
|
|
2142
2142
|
{
|
|
2143
2143
|
"path": "docs/api-reference.md",
|
|
2144
2144
|
"mode": "0000644",
|
|
2145
|
-
"sha256": "
|
|
2145
|
+
"sha256": "84d9a8e9b4616bf051529a4788e30553716c576a8b6daf268e754fabe038a2ad"
|
|
2146
2146
|
},
|
|
2147
2147
|
{
|
|
2148
2148
|
"path": "docs/api/openapi.json",
|
|
2149
2149
|
"mode": "0000644",
|
|
2150
|
-
"sha256": "
|
|
2150
|
+
"sha256": "b227cab471090f0e961366e0299ad4ac7195c9123e46215f4af7b3bd7cf7713b"
|
|
2151
2151
|
},
|
|
2152
2152
|
{
|
|
2153
2153
|
"path": "docs/architecture.md",
|
|
@@ -2172,12 +2172,12 @@
|
|
|
2172
2172
|
{
|
|
2173
2173
|
"path": "docs/copy-inventory.md",
|
|
2174
2174
|
"mode": "0000644",
|
|
2175
|
-
"sha256": "
|
|
2175
|
+
"sha256": "f30f0e6d96320996a43c9dc1e86259cdee14017ffc382c520915e5e45bd2fbfc"
|
|
2176
2176
|
},
|
|
2177
2177
|
{
|
|
2178
2178
|
"path": "docs/copy-registry.json",
|
|
2179
2179
|
"mode": "0000644",
|
|
2180
|
-
"sha256": "
|
|
2180
|
+
"sha256": "47d8ce9cf66304fa6e7fb6afd0066d639ee36a2224c7d14d58fbfb2c73682150"
|
|
2181
2181
|
},
|
|
2182
2182
|
{
|
|
2183
2183
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -2707,7 +2707,7 @@
|
|
|
2707
2707
|
{
|
|
2708
2708
|
"path": "docs/module-api-changelog.md",
|
|
2709
2709
|
"mode": "0000644",
|
|
2710
|
-
"sha256": "
|
|
2710
|
+
"sha256": "5b812786a676f9c4d5a8a50dbaf9d9b6ef8fd836e8967f90ff4d29548637d0ee"
|
|
2711
2711
|
},
|
|
2712
2712
|
{
|
|
2713
2713
|
"path": "docs/modules-contract.md",
|
|
@@ -4712,7 +4712,7 @@
|
|
|
4712
4712
|
{
|
|
4713
4713
|
"path": "modules/hall-ui/public/blockers-lib.js",
|
|
4714
4714
|
"mode": "0000644",
|
|
4715
|
-
"sha256": "
|
|
4715
|
+
"sha256": "c251924697bf5f1157f3660b4b236c21c73d6b30394d6a3385dc8a4426c64d59"
|
|
4716
4716
|
},
|
|
4717
4717
|
{
|
|
4718
4718
|
"path": "modules/hall-ui/public/blockers.html",
|
|
@@ -4722,7 +4722,7 @@
|
|
|
4722
4722
|
{
|
|
4723
4723
|
"path": "modules/hall-ui/public/blockers.js",
|
|
4724
4724
|
"mode": "0000644",
|
|
4725
|
-
"sha256": "
|
|
4725
|
+
"sha256": "ad3e3ea63283c31a6602a06695a9248444bd7306fa3624b53f8687c4534e4171"
|
|
4726
4726
|
},
|
|
4727
4727
|
{
|
|
4728
4728
|
"path": "modules/hall-ui/public/board-lib.js",
|
|
@@ -4927,7 +4927,7 @@
|
|
|
4927
4927
|
{
|
|
4928
4928
|
"path": "modules/hall-ui/public/goal-inbox.js",
|
|
4929
4929
|
"mode": "0000644",
|
|
4930
|
-
"sha256": "
|
|
4930
|
+
"sha256": "d5466b9d9717ed3bcb4919b1d05c338945d73ad185fdfc7efffea5db382a2f7e"
|
|
4931
4931
|
},
|
|
4932
4932
|
{
|
|
4933
4933
|
"path": "modules/hall-ui/public/goal-map-lib.js",
|
|
@@ -6742,7 +6742,7 @@
|
|
|
6742
6742
|
{
|
|
6743
6743
|
"path": "modules/provisioning/module.json",
|
|
6744
6744
|
"mode": "0000644",
|
|
6745
|
-
"sha256": "
|
|
6745
|
+
"sha256": "cfe235ec6835cc7fa101642dff2d0757806a45b27bdf0823059d3c3d11587c5e"
|
|
6746
6746
|
},
|
|
6747
6747
|
{
|
|
6748
6748
|
"path": "modules/provisioning/onboard-plan.js",
|
|
@@ -6824,6 +6824,11 @@
|
|
|
6824
6824
|
"mode": "0000644",
|
|
6825
6825
|
"sha256": "a10d9ac50f6be584c33a6bb559ad9d0431c2ac7f4655c23fcdf47baedf540cd2"
|
|
6826
6826
|
},
|
|
6827
|
+
{
|
|
6828
|
+
"path": "modules/provisioning/routes/repo-private.js",
|
|
6829
|
+
"mode": "0000644",
|
|
6830
|
+
"sha256": "d3e027abebdf6e799bf63bd18aa5958bbe212c8da73b20055b62f7250cd83927"
|
|
6831
|
+
},
|
|
6827
6832
|
{
|
|
6828
6833
|
"path": "modules/provisioning/seams.js",
|
|
6829
6834
|
"mode": "0000644",
|
|
@@ -7347,7 +7352,7 @@
|
|
|
7347
7352
|
{
|
|
7348
7353
|
"path": "modules/public-landing/public/projects.html",
|
|
7349
7354
|
"mode": "0000644",
|
|
7350
|
-
"sha256": "
|
|
7355
|
+
"sha256": "1f8f6bdbe6c4ef451acd357c1ad277132ec2bee4d688c2f700da2ed582d1e50b"
|
|
7351
7356
|
},
|
|
7352
7357
|
{
|
|
7353
7358
|
"path": "modules/public-landing/public/projects.probes.json",
|
|
@@ -8147,12 +8152,12 @@
|
|
|
8147
8152
|
{
|
|
8148
8153
|
"path": "package-lock.json",
|
|
8149
8154
|
"mode": "0000644",
|
|
8150
|
-
"sha256": "
|
|
8155
|
+
"sha256": "eace0d80d6fa83b011c78c5fd079d1cae88ae901e67df3a33be0031b9e222d4f"
|
|
8151
8156
|
},
|
|
8152
8157
|
{
|
|
8153
8158
|
"path": "package.json",
|
|
8154
8159
|
"mode": "0000644",
|
|
8155
|
-
"sha256": "
|
|
8160
|
+
"sha256": "b41e008a0dadf8ab96c9801153e0075950bb415881784369df2c96b5963b68e5"
|
|
8156
8161
|
},
|
|
8157
8162
|
{
|
|
8158
8163
|
"path": "public-docs/index.html",
|
|
@@ -10082,7 +10087,7 @@
|
|
|
10082
10087
|
{
|
|
10083
10088
|
"path": "src/bongos/routes/github.js",
|
|
10084
10089
|
"mode": "0000644",
|
|
10085
|
-
"sha256": "
|
|
10090
|
+
"sha256": "752056364c7a826bdd4d6da2f14a0ce48284c93621ccdf5bea10bac3bbb2941f"
|
|
10086
10091
|
},
|
|
10087
10092
|
{
|
|
10088
10093
|
"path": "src/bongos/routes/healthz.js",
|
|
@@ -10177,7 +10182,7 @@
|
|
|
10177
10182
|
{
|
|
10178
10183
|
"path": "src/module-api.js",
|
|
10179
10184
|
"mode": "0000644",
|
|
10180
|
-
"sha256": "
|
|
10185
|
+
"sha256": "6eb9e78bf371f8206b07336bf485fefc822966b2e13200a3b0dd688f1aa8967a"
|
|
10181
10186
|
},
|
|
10182
10187
|
{
|
|
10183
10188
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10707,7 +10712,7 @@
|
|
|
10707
10712
|
{
|
|
10708
10713
|
"path": "tests/blockers_lib.mjs",
|
|
10709
10714
|
"mode": "0000644",
|
|
10710
|
-
"sha256": "
|
|
10715
|
+
"sha256": "74ace2b06e545cf110094ad46e141e545dc00daff63292bdfeda9fa286e45c43"
|
|
10711
10716
|
},
|
|
10712
10717
|
{
|
|
10713
10718
|
"path": "tests/blockers_page_ui.mjs",
|
|
@@ -11562,7 +11567,7 @@
|
|
|
11562
11567
|
{
|
|
11563
11568
|
"path": "tests/github_repo_visibility.mjs",
|
|
11564
11569
|
"mode": "0000644",
|
|
11565
|
-
"sha256": "
|
|
11570
|
+
"sha256": "18b0bcd5a8b9a91ae7301b13816d1ea05cf940669b9c6cb50ba5b3cf5d186533"
|
|
11566
11571
|
},
|
|
11567
11572
|
{
|
|
11568
11573
|
"path": "tests/github_repos_helpers.mjs",
|
|
@@ -13247,7 +13252,7 @@
|
|
|
13247
13252
|
{
|
|
13248
13253
|
"path": "tests/projects_hub.mjs",
|
|
13249
13254
|
"mode": "0000644",
|
|
13250
|
-
"sha256": "
|
|
13255
|
+
"sha256": "70f6f093aeec0c995cfa377511921c81a014ba6833751cd2ad661ce767e58c4e"
|
|
13251
13256
|
},
|
|
13252
13257
|
{
|
|
13253
13258
|
"path": "tests/projects_hub_module_picker.mjs",
|
|
@@ -13257,7 +13262,12 @@
|
|
|
13257
13262
|
{
|
|
13258
13263
|
"path": "tests/projects_hub_pre_uat.mjs",
|
|
13259
13264
|
"mode": "0000644",
|
|
13260
|
-
"sha256": "
|
|
13265
|
+
"sha256": "5e85019ba86c519e01b2f58f18f8b7af7d8250c1a3319109f625df1fc989369c"
|
|
13266
|
+
},
|
|
13267
|
+
{
|
|
13268
|
+
"path": "tests/projects_hub_repo_private.mjs",
|
|
13269
|
+
"mode": "0000644",
|
|
13270
|
+
"sha256": "f4447800f87257cf6bb6c438293fee0762e693fdb97ea557af08b5928c1a27ce"
|
|
13261
13271
|
},
|
|
13262
13272
|
{
|
|
13263
13273
|
"path": "tests/promote_deps_gate.mjs",
|
|
@@ -13409,6 +13419,11 @@
|
|
|
13409
13419
|
"mode": "0000644",
|
|
13410
13420
|
"sha256": "587c6e640493939be17f6f293ceba8d22d125c79e43c070793b0325458132c71"
|
|
13411
13421
|
},
|
|
13422
|
+
{
|
|
13423
|
+
"path": "tests/provisioning_repo_private_route.mjs",
|
|
13424
|
+
"mode": "0000644",
|
|
13425
|
+
"sha256": "d7bdf82b4196f7037af476353ec562dc2e661bae0163526827413981ef61f438"
|
|
13426
|
+
},
|
|
13412
13427
|
{
|
|
13413
13428
|
"path": "tests/provisioning_restart.mjs",
|
|
13414
13429
|
"mode": "0000644",
|
|
@@ -13462,7 +13477,7 @@
|
|
|
13462
13477
|
{
|
|
13463
13478
|
"path": "tests/public_landing_projects.mjs",
|
|
13464
13479
|
"mode": "0000644",
|
|
13465
|
-
"sha256": "
|
|
13480
|
+
"sha256": "0e694ff6b1b2281fcc5a2d13a5099b9802f22589425d9cdb7b9a7f4cc08d696e"
|
|
13466
13481
|
},
|
|
13467
13482
|
{
|
|
13468
13483
|
"path": "tests/public_mirror_export.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
|
-
-
|
|
8
|
+
- 411 operations across 61 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -759,6 +759,8 @@ function createClient(opts = {}) {
|
|
|
759
759
|
postProvisioningInstancesIdGithubApp: (args) => request("POST", "/provisioning/instances/{id}/github-app", { hasBody: true }, args),
|
|
760
760
|
// GET /provisioning/instances/{id}/invite-suggestions — rank: any-builder — GET /provisioning/instances/:id/invite-suggestions
|
|
761
761
|
getProvisioningInstancesIdInviteSuggestions: (args) => request("GET", "/provisioning/instances/{id}/invite-suggestions", { hasBody: false }, args),
|
|
762
|
+
// POST /provisioning/instances/{id}/repo-private — rank: any-builder — POST /provisioning/instances/:id/repo-private
|
|
763
|
+
postProvisioningInstancesIdRepoPrivate: (args) => request("POST", "/provisioning/instances/{id}/repo-private", { hasBody: true }, args),
|
|
762
764
|
// POST /provisioning/instances/{id}/restart — rank: any-builder — POST /provisioning/instances/:id/restart
|
|
763
765
|
postProvisioningInstancesIdRestart: (args) => request("POST", "/provisioning/instances/{id}/restart", { hasBody: true }, args),
|
|
764
766
|
// GET /provisioning/instances/{id}/settings — rank: any-builder — GET /provisioning/instances/:id/settings
|
|
@@ -758,6 +758,8 @@ function createClient(opts = {}) {
|
|
|
758
758
|
postProvisioningInstancesIdGithubApp: (args) => request("POST", "/provisioning/instances/{id}/github-app", { hasBody: true }, args),
|
|
759
759
|
// GET /provisioning/instances/{id}/invite-suggestions — rank: any-builder — GET /provisioning/instances/:id/invite-suggestions
|
|
760
760
|
getProvisioningInstancesIdInviteSuggestions: (args) => request("GET", "/provisioning/instances/{id}/invite-suggestions", { hasBody: false }, args),
|
|
761
|
+
// POST /provisioning/instances/{id}/repo-private — rank: any-builder — POST /provisioning/instances/:id/repo-private
|
|
762
|
+
postProvisioningInstancesIdRepoPrivate: (args) => request("POST", "/provisioning/instances/{id}/repo-private", { hasBody: true }, args),
|
|
761
763
|
// POST /provisioning/instances/{id}/restart — rank: any-builder — POST /provisioning/instances/:id/restart
|
|
762
764
|
postProvisioningInstancesIdRestart: (args) => request("POST", "/provisioning/instances/{id}/restart", { hasBody: true }, args),
|
|
763
765
|
// GET /provisioning/instances/{id}/settings — rank: any-builder — GET /provisioning/instances/:id/settings
|
|
@@ -376,6 +376,7 @@ export interface PostProvisioningInstancesIdEnvManifestRequest { name: string; d
|
|
|
376
376
|
export interface PostProvisioningInstancesIdForceTeardownResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; superseded: unknown; message: unknown }
|
|
377
377
|
export interface PostProvisioningInstancesIdGithubAppRequest { account?: string }
|
|
378
378
|
export interface PostProvisioningInstancesIdGithubAppResponse { state: unknown; account: unknown; post_url: unknown; personal_url: unknown; org_url: unknown; org_login: unknown; manifest: unknown; redirect_url: unknown; expires_at: unknown }
|
|
379
|
+
export interface PostProvisioningInstancesIdRepoPrivateResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; message: unknown }
|
|
379
380
|
export interface PostProvisioningInstancesIdRestartResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; message: unknown }
|
|
380
381
|
export interface PostProvisioningInstancesIdTeardownResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; superseded: unknown; message: unknown }
|
|
381
382
|
export interface PostProvisioningInstancesRequest { slug: string; target_ref?: string; hosting_shape?: string; domain?: string; no_address?: boolean; tier?: string; onboard_mode?: string; type?: string; description?: string; detail?: Record<string, unknown>; modules?: string[] }
|
|
@@ -1140,6 +1141,8 @@ export interface BongosClient {
|
|
|
1140
1141
|
postProvisioningInstancesIdGithubApp(args?: RequestArgs & { body?: PostProvisioningInstancesIdGithubAppRequest }): Promise<PostProvisioningInstancesIdGithubAppResponse>;
|
|
1141
1142
|
/** GET /provisioning/instances/{id}/invite-suggestions — rank: any-builder */
|
|
1142
1143
|
getProvisioningInstancesIdInviteSuggestions(args?: RequestArgs): Promise<GetProvisioningInstancesIdInviteSuggestionsResponse>;
|
|
1144
|
+
/** POST /provisioning/instances/{id}/repo-private — rank: any-builder */
|
|
1145
|
+
postProvisioningInstancesIdRepoPrivate(args?: RequestArgs): Promise<PostProvisioningInstancesIdRepoPrivateResponse>;
|
|
1143
1146
|
/** POST /provisioning/instances/{id}/restart — rank: any-builder */
|
|
1144
1147
|
postProvisioningInstancesIdRestart(args?: RequestArgs): Promise<PostProvisioningInstancesIdRestartResponse>;
|
|
1145
1148
|
/** GET /provisioning/instances/{id}/settings — rank: any-builder */
|
|
@@ -755,6 +755,8 @@ export function createClient(opts = {}) {
|
|
|
755
755
|
postProvisioningInstancesIdGithubApp: (args) => request("POST", "/provisioning/instances/{id}/github-app", { hasBody: true }, args),
|
|
756
756
|
// GET /provisioning/instances/{id}/invite-suggestions — rank: any-builder — GET /provisioning/instances/:id/invite-suggestions
|
|
757
757
|
getProvisioningInstancesIdInviteSuggestions: (args) => request("GET", "/provisioning/instances/{id}/invite-suggestions", { hasBody: false }, args),
|
|
758
|
+
// POST /provisioning/instances/{id}/repo-private — rank: any-builder — POST /provisioning/instances/:id/repo-private
|
|
759
|
+
postProvisioningInstancesIdRepoPrivate: (args) => request("POST", "/provisioning/instances/{id}/repo-private", { hasBody: true }, args),
|
|
758
760
|
// POST /provisioning/instances/{id}/restart — rank: any-builder — POST /provisioning/instances/:id/restart
|
|
759
761
|
postProvisioningInstancesIdRestart: (args) => request("POST", "/provisioning/instances/{id}/restart", { hasBody: true }, args),
|
|
760
762
|
// GET /provisioning/instances/{id}/settings — rank: any-builder — GET /provisioning/instances/:id/settings
|
|
@@ -53,10 +53,11 @@ best-effort revokes the key by title. Pushes keep preferring the owner-token HTT
|
|
|
53
53
|
origin still rides the shared alias.
|
|
54
54
|
**Progress (2026-09-23):** the runner half has landed — task 1004167 let the wiring run
|
|
55
55
|
before a flip (`intendedPrivate`), and task 1004193 added the `repo-private` intent whose
|
|
56
|
-
runner leg wires the key and only then flips.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
runner leg wires the key and only then flips. Task 1003078 then added the route
|
|
57
|
+
(`POST /provisioning/instances/:id/repo-private`) and the manage-page control that enqueue it,
|
|
58
|
+
and the refusal is gone. **That route is owner-only** (owner decision, task 1004194): the
|
|
59
|
+
runner acts with the owner's stored GitHub token whoever queued the intent, so an archon
|
|
60
|
+
override would act on another person's GitHub account.
|
|
60
61
|
- Builder **dev boxes** of a private-repo project were parked here as out of scope.
|
|
61
62
|
**Answered on hardware 2026-08-25 (task 1003247): a box CAN read the private repo, and the
|
|
62
63
|
auth design needed no change.** The GDS-backed credential helper (`otb-git-credential`,
|
package/docs/api/openapi.json
CHANGED
|
@@ -5582,7 +5582,7 @@
|
|
|
5582
5582
|
"github"
|
|
5583
5583
|
],
|
|
5584
5584
|
"summary": "POST /github/repo/visibility",
|
|
5585
|
-
"description": "flips one of the caller's repos PUBLIC, with their own credential. The private direction is REFUSED here, before GitHub is ever called:
|
|
5585
|
+
"description": "flips one of the caller's repos PUBLIC, with their own credential. The private direction is REFUSED here, before GitHub is ever called: a project stood up public reads its code with the shared key, which cannot read a private repo (walk finding N4), so a bare flip would break its next deploy. Making it private is POST /provisioning/instances/:id/repo-private (task 1003078), which wires the project's own deploy key before it flips.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
5586
5586
|
"x-rank": "any-builder",
|
|
5587
5587
|
"x-source": "src/bongos/routes/github.js",
|
|
5588
5588
|
"requestBody": {
|
|
@@ -13630,6 +13630,70 @@
|
|
|
13630
13630
|
]
|
|
13631
13631
|
}
|
|
13632
13632
|
},
|
|
13633
|
+
"/provisioning/instances/{id}/repo-private": {
|
|
13634
|
+
"post": {
|
|
13635
|
+
"operationId": "post_provisioning_instances_id_repo_private",
|
|
13636
|
+
"tags": [
|
|
13637
|
+
"provisioning"
|
|
13638
|
+
],
|
|
13639
|
+
"summary": "POST /provisioning/instances/:id/repo-private",
|
|
13640
|
+
"description": "POST /provisioning/instances/:id/repo-private — rank: any authenticated builder, and OWNER ONLY: no archon override, because the runner flips with the owner's stored GitHub token whoever asked (owner decision, task 1004194). 404 for everyone else, so another owner's id is never confirmed. Takes no body. The reply is a receipt — the repository is still public when it is sent; the manage page re-reads GitHub once the intent settles.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
13641
|
+
"x-rank": "any-builder",
|
|
13642
|
+
"x-source": "modules/provisioning/routes/repo-private.js",
|
|
13643
|
+
"parameters": [
|
|
13644
|
+
{
|
|
13645
|
+
"name": "id",
|
|
13646
|
+
"in": "path",
|
|
13647
|
+
"required": true,
|
|
13648
|
+
"schema": {
|
|
13649
|
+
"type": "string"
|
|
13650
|
+
},
|
|
13651
|
+
"description": "Path parameter `id`."
|
|
13652
|
+
}
|
|
13653
|
+
],
|
|
13654
|
+
"requestBody": {
|
|
13655
|
+
"required": false,
|
|
13656
|
+
"content": {
|
|
13657
|
+
"application/json": {
|
|
13658
|
+
"schema": {
|
|
13659
|
+
"type": "object",
|
|
13660
|
+
"additionalProperties": true
|
|
13661
|
+
}
|
|
13662
|
+
}
|
|
13663
|
+
},
|
|
13664
|
+
"x-validated": true
|
|
13665
|
+
},
|
|
13666
|
+
"responses": {
|
|
13667
|
+
"200": {
|
|
13668
|
+
"description": "Success.",
|
|
13669
|
+
"content": {
|
|
13670
|
+
"application/json": {
|
|
13671
|
+
"schema": {
|
|
13672
|
+
"$ref": "#/components/schemas/PostProvisioningInstancesIdRepoPrivateResponse"
|
|
13673
|
+
}
|
|
13674
|
+
}
|
|
13675
|
+
}
|
|
13676
|
+
},
|
|
13677
|
+
"400": {
|
|
13678
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
13679
|
+
},
|
|
13680
|
+
"401": {
|
|
13681
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
13682
|
+
},
|
|
13683
|
+
"403": {
|
|
13684
|
+
"$ref": "#/components/responses/Forbidden"
|
|
13685
|
+
},
|
|
13686
|
+
"404": {
|
|
13687
|
+
"$ref": "#/components/responses/NotFound"
|
|
13688
|
+
}
|
|
13689
|
+
},
|
|
13690
|
+
"security": [
|
|
13691
|
+
{
|
|
13692
|
+
"builderSession": []
|
|
13693
|
+
}
|
|
13694
|
+
]
|
|
13695
|
+
}
|
|
13696
|
+
},
|
|
13633
13697
|
"/provisioning/instances/{id}/restart": {
|
|
13634
13698
|
"post": {
|
|
13635
13699
|
"operationId": "post_provisioning_instances_id_restart",
|
|
@@ -24519,6 +24583,25 @@
|
|
|
24519
24583
|
"expires_at"
|
|
24520
24584
|
]
|
|
24521
24585
|
},
|
|
24586
|
+
"PostProvisioningInstancesIdRepoPrivateResponse": {
|
|
24587
|
+
"type": "object",
|
|
24588
|
+
"properties": {
|
|
24589
|
+
"ok": {
|
|
24590
|
+
"type": "boolean"
|
|
24591
|
+
},
|
|
24592
|
+
"queued": {},
|
|
24593
|
+
"action": {},
|
|
24594
|
+
"status": {},
|
|
24595
|
+
"message": {}
|
|
24596
|
+
},
|
|
24597
|
+
"required": [
|
|
24598
|
+
"ok",
|
|
24599
|
+
"queued",
|
|
24600
|
+
"action",
|
|
24601
|
+
"status",
|
|
24602
|
+
"message"
|
|
24603
|
+
]
|
|
24604
|
+
},
|
|
24522
24605
|
"PostProvisioningInstancesIdRestartResponse": {
|
|
24523
24606
|
"type": "object",
|
|
24524
24607
|
"properties": {
|
|
@@ -26060,9 +26143,9 @@
|
|
|
26060
26143
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
26061
26144
|
}
|
|
26062
26145
|
},
|
|
26063
|
-
"x-endpoint-count":
|
|
26064
|
-
"x-schema-count":
|
|
26146
|
+
"x-endpoint-count": 411,
|
|
26147
|
+
"x-schema-count": 449,
|
|
26065
26148
|
"x-undocumented-bodies": 9,
|
|
26066
|
-
"x-response-schemas":
|
|
26149
|
+
"x-response-schemas": 305,
|
|
26067
26150
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
26068
26151
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -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.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 411 endpoints across 68 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`.
|
|
@@ -507,7 +507,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
507
507
|
| GET | `/api/bongos/projects/featured` | `public` | — | the public map of projects; no auth by design. |
|
|
508
508
|
| POST | `/api/bongos/projects/invite` | `metic+archon` | `client_id`, `github_login` | own-or-metic in effect: invite a builder into a project (ADR 0141 §5, task #1002115), called by a `project.curate` holder OR the project'… |
|
|
509
509
|
|
|
510
|
-
## `provisioning` (
|
|
510
|
+
## `provisioning` (31)
|
|
511
511
|
|
|
512
512
|
| Method | Path | Rank | Body | Description |
|
|
513
513
|
|---|---|---|---|---|
|
|
@@ -532,6 +532,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
532
532
|
| POST | `/api/bongos/provisioning/instances/:id/force-teardown` | `metic+archon` | — | POST /provisioning/instances/:id/force-teardown — Archon tears down ANY instance. |
|
|
533
533
|
| POST | `/api/bongos/provisioning/instances/:id/github-app` | `any-builder` | `account` | POST /provisioning/instances/:id/github-app — mint a GitHub-App-Manifest onboarding link for the caller's OWN instance (task 2080, ADR 01… |
|
|
534
534
|
| GET | `/api/bongos/provisioning/instances/:id/invite-suggestions` | `any-builder` | — | ── Who is worth inviting (BV1.R28, task 1002347, goal 1000046 C6) ──────── GET /provisioning/instances/:id/invite-suggestions — turn the … |
|
|
535
|
+
| POST | `/api/bongos/provisioning/instances/:id/repo-private` | `any-builder` | validated | POST /provisioning/instances/:id/repo-private — rank: any authenticated builder, and OWNER ONLY: no archon override, because the runner f… |
|
|
535
536
|
| POST | `/api/bongos/provisioning/instances/:id/restart` | `any-builder` | — | POST /provisioning/instances/:id/restart — restart an ACTIVE project the heartbeat cannot reach (task 1003238). |
|
|
536
537
|
| GET | `/api/bongos/provisioning/instances/:id/settings` | `any-builder` | — | GET /provisioning/instances/:id/settings — read a project's effective settings + the allowed values (so a form can render its choices). |
|
|
537
538
|
| PATCH | `/api/bongos/provisioning/instances/:id/settings` | `any-builder` | validated | PATCH /provisioning/instances/:id/settings — change a project's settings. |
|