@bongos/core 1.21.93 → 1.21.94

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.
Files changed (33) hide show
  1. package/.bongos-core.json +55 -35
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +2 -0
  4. package/clients/bongos-client/index.cjs +2 -0
  5. package/clients/bongos-client/index.d.ts +4 -2
  6. package/clients/bongos-client/index.mjs +2 -0
  7. package/docs/api/openapi.json +38 -7
  8. package/docs/api-reference.md +4 -3
  9. package/docs/copy-inventory.md +354 -354
  10. package/docs/copy-registry.json +420 -420
  11. package/docs/design/project-startup-direction.md +7 -0
  12. package/docs/module-api-changelog.md +2 -0
  13. package/docs/page-readings.json +963 -992
  14. package/modules/provisioning/github-setup.js +129 -0
  15. package/modules/provisioning/module.json +2 -1
  16. package/modules/provisioning/provisioning.js +3 -0
  17. package/modules/provisioning/routes/callback-page.js +66 -1
  18. package/modules/provisioning/routes/github-setup.js +113 -0
  19. package/modules/provisioning/routes/provisioning.js +11 -45
  20. package/modules/public-landing/public/projects.html +105 -57
  21. package/package-lock.json +2 -2
  22. package/package.json +1 -1
  23. package/release-notes.json +6 -0
  24. package/scripts/gds/oauth-secret.js +4 -2
  25. package/scripts/gds/provision-github-setup.js +148 -0
  26. package/scripts/gds/provision.js +19 -5
  27. package/src/module-api.js +1 -1
  28. package/tests/github_one_trip.mjs +297 -0
  29. package/tests/projects_hub_dns_ready.mjs +2 -1
  30. package/tests/projects_hub_pre_uat.mjs +17 -9
  31. package/tests/provision.mjs +51 -9
  32. package/tests/provisioning_github_app_routes.mjs +94 -8
  33. package/tests/wizard_github_feedback.mjs +8 -5
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.21.93",
6
- "core_contract": "1.21.93",
7
- "source_commit": "4c275841c75ef2bebdaed532f3b5e57c7a789d90",
5
+ "core_version": "1.21.94",
6
+ "core_contract": "1.21.94",
7
+ "source_commit": "04eb025dc97e59ea5197b03ace52613f7c994568",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-10-09T07:16:47.997Z",
9
+ "built_at": "2026-10-09T07:52:21.563Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 590,
13
13
  "agent_docs_stubbed": 28,
14
- "functional_verbatim": 3008,
14
+ "functional_verbatim": 3012,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 3627,
20
- "tree_sha256": "49bb2f826dddbdaabbcfe2ace12bc326ab12234fc2ce4514883ad7aa6ca0e018",
19
+ "file_count": 3631,
20
+ "tree_sha256": "8388b6818944b7acc6215a9cd5b9f18ba7dc84a7afdeffecd68793d74bdbcd21",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -312,12 +312,12 @@
312
312
  {
313
313
  "path": "clients/bongos-client/README.md",
314
314
  "mode": "0000644",
315
- "sha256": "dcf1cdc17f4d1d51341528d4048705d4be394f6187e1c643f8380f264ba8a6a4"
315
+ "sha256": "2d0587d4dc0cc403c9cf13d907dba3532cf5db972a0203e2bd3c15ae5e723f19"
316
316
  },
317
317
  {
318
318
  "path": "clients/bongos-client/bongos-client.global.js",
319
319
  "mode": "0000644",
320
- "sha256": "d61265ccb120da7888b3b46af4cfdf1ce237a254c585e66066c9c3c514cd508e"
320
+ "sha256": "6f18acc228869c7c96dfaf533ceef9d76d56736a9d576e7b55ee5dcc0e65d158"
321
321
  },
322
322
  {
323
323
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -327,17 +327,17 @@
327
327
  {
328
328
  "path": "clients/bongos-client/index.cjs",
329
329
  "mode": "0000644",
330
- "sha256": "75047820355916932baf6b8bb75c22d4f2a6550231dd13f007b5747c78709d23"
330
+ "sha256": "901215b9d2a3119b36e58087fa6657a0869c7a06d78cd5e088210f5e091e8bd8"
331
331
  },
332
332
  {
333
333
  "path": "clients/bongos-client/index.d.ts",
334
334
  "mode": "0000644",
335
- "sha256": "f07e2e8d492facff691af7f75f3aa79e0b2eedb10dcf64a85a50ff9ae65b0e87"
335
+ "sha256": "4eae2c37e7ff4af282a4b397535ca59b8cc38c90cf42a99d62e417ffa0abdc69"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/index.mjs",
339
339
  "mode": "0000644",
340
- "sha256": "527bd7e60247b932b85793d9cf27e1e2e907f99646ae8642d3b560fed63338b3"
340
+ "sha256": "728ec9a7b74aa8f775a3d3355694ad240f6a7a5180bb045a986c1d5f84518303"
341
341
  },
342
342
  {
343
343
  "path": "clients/bongos-client/package.json",
@@ -2317,12 +2317,12 @@
2317
2317
  {
2318
2318
  "path": "docs/api-reference.md",
2319
2319
  "mode": "0000644",
2320
- "sha256": "d8b883f06a11a6b7fceab24a610d5ff7a51b3608c39bb776a4c50c27c8a26d2b"
2320
+ "sha256": "9040a7fc570772b0d28d0db07fa603b31647a1958bdc2cf98b787992e189596b"
2321
2321
  },
2322
2322
  {
2323
2323
  "path": "docs/api/openapi.json",
2324
2324
  "mode": "0000644",
2325
- "sha256": "ec3d2d57bebe8ba74b74fb8e47f36f411729099b662feeaf9ac5c6590ba94c79"
2325
+ "sha256": "8ff2cb4c702848e15e2baf0e92ef055a9bd060d10ebd0991f3d6ee131a399c9f"
2326
2326
  },
2327
2327
  {
2328
2328
  "path": "docs/architecture.md",
@@ -2347,12 +2347,12 @@
2347
2347
  {
2348
2348
  "path": "docs/copy-inventory.md",
2349
2349
  "mode": "0000644",
2350
- "sha256": "d866d91fd677266103f6ca61042cb1ad2d4e2912545259764cf5caa27f9aaa39"
2350
+ "sha256": "d9eb86aa5d3c208883783df0deef2ad776e403fa5896a422d88adc5e11079e6d"
2351
2351
  },
2352
2352
  {
2353
2353
  "path": "docs/copy-registry.json",
2354
2354
  "mode": "0000644",
2355
- "sha256": "33e0605886cc8554d1fed3ed4904ec9e2c2ea5a926f1adc0eed689d395a18953"
2355
+ "sha256": "d5af39196ca0a235dcb225c0966f2df4d930417c109298f86e03429cdc4d7a91"
2356
2356
  },
2357
2357
  {
2358
2358
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2432,7 +2432,7 @@
2432
2432
  {
2433
2433
  "path": "docs/design/project-startup-direction.md",
2434
2434
  "mode": "0000644",
2435
- "sha256": "8cac194bfa4e7e0cfa6785ff72fd141980eb2abed6497ce56e42585c2f4a918c"
2435
+ "sha256": "1948e880f19c1bb2ee973e816455449c0170acee2c59bc070054760bc32ae867"
2436
2436
  },
2437
2437
  {
2438
2438
  "path": "docs/design/projects-hub-direction-v2.md",
@@ -2862,7 +2862,7 @@
2862
2862
  {
2863
2863
  "path": "docs/module-api-changelog.md",
2864
2864
  "mode": "0000644",
2865
- "sha256": "63e2775e1139816091d9e9629b5e2b1d16a2862ad7caaacfa817cee89eb90809"
2865
+ "sha256": "68fbc54195d7fb5acd38c28fc5690b3e62fad65b18daa5530fadf3fc86ad4ff4"
2866
2866
  },
2867
2867
  {
2868
2868
  "path": "docs/modules-contract.md",
@@ -2952,7 +2952,7 @@
2952
2952
  {
2953
2953
  "path": "docs/page-readings.json",
2954
2954
  "mode": "0000644",
2955
- "sha256": "3ec786d4af42a799f66a9cb11c8fc5cb6ebb2c0d1e5479a6437a6b511f96a5ee"
2955
+ "sha256": "156f2ba353e667857b5573f4ba333af3796dea1d1042e5faa35316369e3aa114"
2956
2956
  },
2957
2957
  {
2958
2958
  "path": "docs/project-context.template.md",
@@ -8264,6 +8264,11 @@
8264
8264
  "mode": "0000644",
8265
8265
  "sha256": "82b9f7ee39820735ca4d0f55b12fd72903b9909d3c9f0abedb684dcc98ac77c6"
8266
8266
  },
8267
+ {
8268
+ "path": "modules/provisioning/github-setup.js",
8269
+ "mode": "0000644",
8270
+ "sha256": "e97ee19b2ba5e607557d0794e528f2e7e19d68cbe6e208ab88af7a9dba92d06b"
8271
+ },
8267
8272
  {
8268
8273
  "path": "modules/provisioning/look.js",
8269
8274
  "mode": "0000644",
@@ -8457,7 +8462,7 @@
8457
8462
  {
8458
8463
  "path": "modules/provisioning/module.json",
8459
8464
  "mode": "0000644",
8460
- "sha256": "6faff6cecb10f65437819c8dc79e22dc8d2317b5cfe3c107d4b803e2a3760c13"
8465
+ "sha256": "6ae32503a3950dffd68187a02a9918bdfb51582e715f552c4c421fbea55c9f8c"
8461
8466
  },
8462
8467
  {
8463
8468
  "path": "modules/provisioning/onboard-plan.js",
@@ -8507,7 +8512,7 @@
8507
8512
  {
8508
8513
  "path": "modules/provisioning/provisioning.js",
8509
8514
  "mode": "0000644",
8510
- "sha256": "436287030388ae105372d864460e50ca6380bb5a5ea3d9d6d140e9b2345feae6"
8515
+ "sha256": "b45bcb38497d8999ea0e5e3d0844785a7514a829cfd6cbb58c9b3167ccce37f9"
8511
8516
  },
8512
8517
  {
8513
8518
  "path": "modules/provisioning/public-refusal.js",
@@ -8547,7 +8552,7 @@
8547
8552
  {
8548
8553
  "path": "modules/provisioning/routes/callback-page.js",
8549
8554
  "mode": "0000644",
8550
- "sha256": "2fede95d3be1859e99df1f1e616be6a7744b15379ae9c2b800bf4b1014997f32"
8555
+ "sha256": "b81fa153fe693e8a734d028f67cab629e2b90a148bffbd92cd9023e29428a558"
8551
8556
  },
8552
8557
  {
8553
8558
  "path": "modules/provisioning/routes/core-upgrade.js",
@@ -8569,6 +8574,11 @@
8569
8574
  "mode": "0000644",
8570
8575
  "sha256": "dbc156fa4cb2c74132a8034c481ec676f818f4f19139cb10d7d5d669e2e4bbd9"
8571
8576
  },
8577
+ {
8578
+ "path": "modules/provisioning/routes/github-setup.js",
8579
+ "mode": "0000644",
8580
+ "sha256": "ba653473e0a1fa0b4e5a62308de8be9a2a8a1d1b4f838bf9dafd8508429e9da8"
8581
+ },
8572
8582
  {
8573
8583
  "path": "modules/provisioning/routes/look.js",
8574
8584
  "mode": "0000644",
@@ -8577,7 +8587,7 @@
8577
8587
  {
8578
8588
  "path": "modules/provisioning/routes/provisioning.js",
8579
8589
  "mode": "0000644",
8580
- "sha256": "9a2d62d388e0b6051ea222d5254bb8e0bd986702f52b9cdda32475ba2a508d67"
8590
+ "sha256": "a4ab4c1f5c98f5fe85489f0f2f7e23e6897c178b62f2bcc9b2d9e5502fd26458"
8581
8591
  },
8582
8592
  {
8583
8593
  "path": "modules/provisioning/routes/render-standup.js",
@@ -9327,7 +9337,7 @@
9327
9337
  {
9328
9338
  "path": "modules/public-landing/public/projects.html",
9329
9339
  "mode": "0000644",
9330
- "sha256": "48bdc97c32c116c89fe9461b49cc2814bd6b43d5ba3f89673e625555d01e2d98"
9340
+ "sha256": "f461704616f4b6a4c50dd1b8da5441a12786268b26fab1e31c941720abb82bc4"
9331
9341
  },
9332
9342
  {
9333
9343
  "path": "modules/public-landing/public/projects.probes.json",
@@ -10107,12 +10117,12 @@
10107
10117
  {
10108
10118
  "path": "package-lock.json",
10109
10119
  "mode": "0000644",
10110
- "sha256": "c5cb988b5bb2255930679a818cdcc5cf278646176ef15bbd2dc113f36698af02"
10120
+ "sha256": "7998607661e397160f9bbed3c39e5d25a1f8e339a33e1583b7d8c7b61fcd981b"
10111
10121
  },
10112
10122
  {
10113
10123
  "path": "package.json",
10114
10124
  "mode": "0000644",
10115
- "sha256": "4e05f7203accb56a762ab83c6ad71a8c91dcf58218665625ae993c3825f13da7"
10125
+ "sha256": "e12d7b166a78fcf82c456218fa12967a566f73a5c2d919708e6b504c0143a789"
10116
10126
  },
10117
10127
  {
10118
10128
  "path": "public-docs/index.html",
@@ -10132,7 +10142,7 @@
10132
10142
  {
10133
10143
  "path": "release-notes.json",
10134
10144
  "mode": "0000644",
10135
- "sha256": "ccf38aea55687532ade59d10785095bc50b266095c37901865b3e7db6777e16f"
10145
+ "sha256": "2f02fecacd57c662ec2439823135a4ae81bdf1535da9e2538550e9c929f68d60"
10136
10146
  },
10137
10147
  {
10138
10148
  "path": "scripts/cron/style_guide_audit.sh",
@@ -11042,7 +11052,7 @@
11042
11052
  {
11043
11053
  "path": "scripts/gds/oauth-secret.js",
11044
11054
  "mode": "0000644",
11045
- "sha256": "39e8a37e623a8a5746fd83c9a572f1a5435e93afe5e0bd185f8760b4ef9ad31a"
11055
+ "sha256": "34863bef7688e5a0341fea4bd869cfa4e606ac02ce1b08e4fb7fd1089e1e7be3"
11046
11056
  },
11047
11057
  {
11048
11058
  "path": "scripts/gds/onboard.js",
@@ -11144,6 +11154,11 @@
11144
11154
  "mode": "0000644",
11145
11155
  "sha256": "43aabd985e5ec2b2eff12b5d624158c3240e7777887705228945fedf691d95c3"
11146
11156
  },
11157
+ {
11158
+ "path": "scripts/gds/provision-github-setup.js",
11159
+ "mode": "0000644",
11160
+ "sha256": "aa0927e26143328727f3c752f2ebb337a840ae76bf699bc10930cb6182c51146"
11161
+ },
11147
11162
  {
11148
11163
  "path": "scripts/gds/provision-net.js",
11149
11164
  "mode": "0000644",
@@ -11192,7 +11207,7 @@
11192
11207
  {
11193
11208
  "path": "scripts/gds/provision.js",
11194
11209
  "mode": "0000644",
11195
- "sha256": "f58a7db598467d02e496688f71327a2c39b0e680a4b3c24fc0d7dd6346e07c8b"
11210
+ "sha256": "4f4857e34141db1d78cfec4b0b7f735658893aba946f53348c2430fe852b2a93"
11196
11211
  },
11197
11212
  {
11198
11213
  "path": "scripts/gds/publish-credential-check.js",
@@ -12397,7 +12412,7 @@
12397
12412
  {
12398
12413
  "path": "src/module-api.js",
12399
12414
  "mode": "0000644",
12400
- "sha256": "93548f4008e232c69ca994b86cb82c971d7b3830271e28b5251d60e6a958e777"
12415
+ "sha256": "3f71efbd68543de424e2d6eea488e0f6167890b28bfbd99f936a22f89a37268e"
12401
12416
  },
12402
12417
  {
12403
12418
  "path": "src/module-loader/catalog.js",
@@ -14019,6 +14034,11 @@
14019
14034
  "mode": "0000644",
14020
14035
  "sha256": "79208b90f1b785af56ab057c858e96cea4e67ebf247858457addedce55e71b06"
14021
14036
  },
14037
+ {
14038
+ "path": "tests/github_one_trip.mjs",
14039
+ "mode": "0000644",
14040
+ "sha256": "b04dbcd87504e696367a03db39c0a3c0ae9b647039ab25b354c89884c74d2ba5"
14041
+ },
14022
14042
  {
14023
14043
  "path": "tests/github_push_ancestry.mjs",
14024
14044
  "mode": "0000644",
@@ -16392,7 +16412,7 @@
16392
16412
  {
16393
16413
  "path": "tests/projects_hub_dns_ready.mjs",
16394
16414
  "mode": "0000644",
16395
- "sha256": "867a98a8f9c51d2f5ad24cafbf3bcf49118690edb8fbe96a29f44d6e164b27db"
16415
+ "sha256": "532af0a1c9e4961888b1ba1dae29af053c43dc166c14962d2318b04d1baa6d3c"
16396
16416
  },
16397
16417
  {
16398
16418
  "path": "tests/projects_hub_look.mjs",
@@ -16407,7 +16427,7 @@
16407
16427
  {
16408
16428
  "path": "tests/projects_hub_pre_uat.mjs",
16409
16429
  "mode": "0000644",
16410
- "sha256": "99cee166dc5f2a1656bcf78461c420d321d3f1915d2fea163042cd069bf94c33"
16430
+ "sha256": "e580ed2ea20556cc60f4160ace7316e8691b30f020c0701e783811ae0f134860"
16411
16431
  },
16412
16432
  {
16413
16433
  "path": "tests/projects_hub_render_connect.mjs",
@@ -16452,7 +16472,7 @@
16452
16472
  {
16453
16473
  "path": "tests/provision.mjs",
16454
16474
  "mode": "0000644",
16455
- "sha256": "4ffddc6128eb9860d6b48493c4d9b6fd9e108f7c0e656f003bbbe32866b97675"
16475
+ "sha256": "64ffc593089622c6901669a29eee6a0d75ae6b47cbfc0729e2c8eae09e8386e1"
16456
16476
  },
16457
16477
  {
16458
16478
  "path": "tests/provision_account_identity.mjs",
@@ -16572,7 +16592,7 @@
16572
16592
  {
16573
16593
  "path": "tests/provisioning_github_app_routes.mjs",
16574
16594
  "mode": "0000644",
16575
- "sha256": "a223db1dfa5a34f28b5303dd672b39a1dbfa20dc88801c5c4b0941c846c004c3"
16595
+ "sha256": "e80789df044437fa96306063343889e9378e337b7753e208ae9cea86c28ea457"
16576
16596
  },
16577
16597
  {
16578
16598
  "path": "tests/provisioning_look.mjs",
@@ -18082,7 +18102,7 @@
18082
18102
  {
18083
18103
  "path": "tests/wizard_github_feedback.mjs",
18084
18104
  "mode": "0000644",
18085
- "sha256": "c22b6d452db01032541444c5782618af5e4b3d960fcf58692d22f0ad893f793c"
18105
+ "sha256": "0e9aae041edc457202b40ae2228720fcf99a60c6ad0dfd82ad76302e077fd7f0"
18086
18106
  },
18087
18107
  {
18088
18108
  "path": "tests/wizard_intent_resume.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
- - 533 operations across 76 resource groups
8
+ - 534 operations across 76 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -895,6 +895,8 @@ function createClient(opts = {}) {
895
895
  getProvisioningFleetCostLedger: (args) => request("GET", "/provisioning/fleet/cost-ledger", { hasBody: false }, args),
896
896
  // GET /provisioning/github-app/callback — rank: public — GET /provisioning/github-app/callback
897
897
  getProvisioningGithubAppCallback: (args) => request("GET", "/provisioning/github-app/callback", { hasBody: false }, args),
898
+ // GET /provisioning/github-app/setup — rank: public — GET /provisioning/github-app/setup
899
+ getProvisioningGithubAppSetup: (args) => request("GET", "/provisioning/github-app/setup", { hasBody: false }, args),
898
900
  // GET /provisioning/github-app/status — rank: public — GET /provisioning/github-app/status
899
901
  getProvisioningGithubAppStatus: (args) => request("GET", "/provisioning/github-app/status", { hasBody: false }, args),
900
902
  // GET /provisioning/health — rank: public — GET /provisioning/health
@@ -894,6 +894,8 @@ function createClient(opts = {}) {
894
894
  getProvisioningFleetCostLedger: (args) => request("GET", "/provisioning/fleet/cost-ledger", { hasBody: false }, args),
895
895
  // GET /provisioning/github-app/callback — rank: public — GET /provisioning/github-app/callback
896
896
  getProvisioningGithubAppCallback: (args) => request("GET", "/provisioning/github-app/callback", { hasBody: false }, args),
897
+ // GET /provisioning/github-app/setup — rank: public — GET /provisioning/github-app/setup
898
+ getProvisioningGithubAppSetup: (args) => request("GET", "/provisioning/github-app/setup", { hasBody: false }, args),
897
899
  // GET /provisioning/github-app/status — rank: public — GET /provisioning/github-app/status
898
900
  getProvisioningGithubAppStatus: (args) => request("GET", "/provisioning/github-app/status", { hasBody: false }, args),
899
901
  // GET /provisioning/health — rank: public — GET /provisioning/health
@@ -132,13 +132,13 @@ export interface GetProjectSettingsShipModeResponse { mode: unknown; chosen: unk
132
132
  export interface GetProjectsFeaturedResponse { projects: unknown; page: PageInfo }
133
133
  export interface GetProjectsResponse { projects: unknown }
134
134
  export interface GetProvisioningFleetResponse { instances: unknown; capacity: unknown }
135
- export interface GetProvisioningGithubAppStatusResponse { ok: boolean; status: unknown; failure: unknown; ready: unknown; terminal: unknown; domain: unknown; instance_status: unknown; app_slug: unknown }
135
+ export interface GetProvisioningGithubAppStatusResponse { ok: boolean; status: unknown; failure: unknown; ready: unknown; terminal: unknown; domain: unknown; instance_status: unknown; app_slug: unknown; checklist: unknown; install_url: unknown; repo: unknown; verifying: unknown }
136
136
  export interface GetProvisioningHealthResponse { module: unknown; ok: boolean; coreVersion: unknown }
137
137
  export interface GetProvisioningInstancesIdEnvManifestResponse { instance: unknown; env_vars: unknown; environments: unknown; values_held: boolean; note: unknown }
138
138
  export interface GetProvisioningInstancesIdInviteSuggestionsResponse { suggested: unknown; seeking: unknown; reason: unknown; unavailable?: unknown }
139
139
  export interface GetProvisioningInstancesIdLookResponse { ok: boolean; look: unknown; options: unknown; logo_max_bytes: unknown }
140
140
  export interface GetProvisioningInstancesIdRenderResponse { ok: boolean; app: unknown; env_vars: unknown; values_held: boolean }
141
- export interface GetProvisioningInstancesIdResponse { instance: unknown; open_intent: unknown; github_app: unknown }
141
+ export interface GetProvisioningInstancesIdResponse { instance: unknown; open_intent: unknown; github_app: unknown; github_setup: unknown }
142
142
  export interface GetProvisioningInstancesIdSettingsResponse { ok: boolean; settings: unknown; planet: unknown; options: unknown }
143
143
  export interface GetProvisioningInstancesResponse { instances: unknown }
144
144
  export interface GetProvisioningOnboardPlanResponse { mode: unknown; steps: unknown }
@@ -1402,6 +1402,8 @@ export interface BongosClient {
1402
1402
  getProvisioningFleetCostLedger(args?: RequestArgs): Promise<ApiResponse>;
1403
1403
  /** GET /provisioning/github-app/callback — rank: public */
1404
1404
  getProvisioningGithubAppCallback(args?: RequestArgs): Promise<ApiResponse>;
1405
+ /** GET /provisioning/github-app/setup — rank: public */
1406
+ getProvisioningGithubAppSetup(args?: RequestArgs): Promise<ApiResponse>;
1405
1407
  /** GET /provisioning/github-app/status — rank: public */
1406
1408
  getProvisioningGithubAppStatus(args?: RequestArgs): Promise<GetProvisioningGithubAppStatusResponse>;
1407
1409
  /** GET /provisioning/health — rank: public */
@@ -891,6 +891,8 @@ export function createClient(opts = {}) {
891
891
  getProvisioningFleetCostLedger: (args) => request("GET", "/provisioning/fleet/cost-ledger", { hasBody: false }, args),
892
892
  // GET /provisioning/github-app/callback — rank: public — GET /provisioning/github-app/callback
893
893
  getProvisioningGithubAppCallback: (args) => request("GET", "/provisioning/github-app/callback", { hasBody: false }, args),
894
+ // GET /provisioning/github-app/setup — rank: public — GET /provisioning/github-app/setup
895
+ getProvisioningGithubAppSetup: (args) => request("GET", "/provisioning/github-app/setup", { hasBody: false }, args),
894
896
  // GET /provisioning/github-app/status — rank: public — GET /provisioning/github-app/status
895
897
  getProvisioningGithubAppStatus: (args) => request("GET", "/provisioning/github-app/status", { hasBody: false }, args),
896
898
  // GET /provisioning/health — rank: public — GET /provisioning/health
@@ -16460,6 +16460,27 @@
16460
16460
  "security": []
16461
16461
  }
16462
16462
  },
16463
+ "/provisioning/github-app/setup": {
16464
+ "get": {
16465
+ "operationId": "get_provisioning_github_app_setup",
16466
+ "tags": [
16467
+ "provisioning"
16468
+ ],
16469
+ "summary": "GET /provisioning/github-app/setup",
16470
+ "description": "GET /provisioning/github-app/setup?installation_id=&setup_action=&state= — the App's setup_url (task 1004649). GitHub sends the founder's BROWSER here after they install the app (or change its repos), carrying the state we put on the install link. GitHub's own docs warn the installation_id can be spoofed, so this route trusts NOTHING it is handed: it records only that an install was REPORTED for the attempt — which makes the runner ask GitHub, with the app's own key, whether the app really is on the repo — and hands the founder back to the project page. A missing or unknown state gets the same way back, without the attempt. rank: public — a browser redirect with no session; no secret revealed, no authority changed, the only write an audit row.\n\n**Rank:** `public` — No authentication — any caller.",
16471
+ "x-rank": "public",
16472
+ "x-source": "modules/provisioning/routes/github-setup.js",
16473
+ "responses": {
16474
+ "200": {
16475
+ "description": "Success."
16476
+ },
16477
+ "400": {
16478
+ "$ref": "#/components/responses/BadRequest"
16479
+ }
16480
+ },
16481
+ "security": []
16482
+ }
16483
+ },
16463
16484
  "/provisioning/github-app/status": {
16464
16485
  "get": {
16465
16486
  "operationId": "get_provisioning_github_app_status",
@@ -16467,9 +16488,9 @@
16467
16488
  "provisioning"
16468
16489
  ],
16469
16490
  "summary": "GET /provisioning/github-app/status",
16470
- "description": "GET /provisioning/github-app/status?state=<> — the PUBLIC progress read the onboarding setup checklist polls (task 1004548) to know when setup is done + where to send the owner. Same public-by-state model as the callback: the unguessable, single-use `state` token is the only key, and the response reveals only the manifest lifecycle status + the instance's own (already-public) domain — never a secret. Per-IP rate-limited because the page polls it every ~3s. `ready` is true iff the manifest reached 'done' (creds placed + /healthz verified) — the setup checklist then opens https://<domain>. rank: public — no session, no mutation, no secret; an unknown state is a 404 no-op.\n\n**Rank:** `public` — No authentication — any caller.",
16491
+ "description": "GET /provisioning/github-app/status?state=<> — the PUBLIC progress read (task 1004548; the checklist since task 1004649). Reveals the manifest lifecycle status, the instance's own (already-public) domain and repo, the App's public slug, and the four-step checklist with the one-trip install link — never a secret. `ready` is true iff sign-in is verified (the auto-open signal). `terminal` now waits for the install too: a finished sign-in with the app not yet installed is not the end of the trip. rank: public — no session, no mutation, no secret; an unknown state is a 404 no-op.\n\n**Rank:** `public` — No authentication — any caller.",
16471
16492
  "x-rank": "public",
16472
- "x-source": "modules/provisioning/routes/provisioning.js",
16493
+ "x-source": "modules/provisioning/routes/github-setup.js",
16473
16494
  "responses": {
16474
16495
  "200": {
16475
16496
  "description": "Success.",
@@ -26764,7 +26785,11 @@
26764
26785
  "terminal": {},
26765
26786
  "domain": {},
26766
26787
  "instance_status": {},
26767
- "app_slug": {}
26788
+ "app_slug": {},
26789
+ "checklist": {},
26790
+ "install_url": {},
26791
+ "repo": {},
26792
+ "verifying": {}
26768
26793
  },
26769
26794
  "required": [
26770
26795
  "ok",
@@ -26774,7 +26799,11 @@
26774
26799
  "terminal",
26775
26800
  "domain",
26776
26801
  "instance_status",
26777
- "app_slug"
26802
+ "app_slug",
26803
+ "checklist",
26804
+ "install_url",
26805
+ "repo",
26806
+ "verifying"
26778
26807
  ]
26779
26808
  },
26780
26809
  "GetProvisioningHealthResponse": {
@@ -26866,12 +26895,14 @@
26866
26895
  "properties": {
26867
26896
  "instance": {},
26868
26897
  "open_intent": {},
26869
- "github_app": {}
26898
+ "github_app": {},
26899
+ "github_setup": {}
26870
26900
  },
26871
26901
  "required": [
26872
26902
  "instance",
26873
26903
  "open_intent",
26874
- "github_app"
26904
+ "github_app",
26905
+ "github_setup"
26875
26906
  ]
26876
26907
  },
26877
26908
  "GetProvisioningInstancesIdSettingsResponse": {
@@ -34222,7 +34253,7 @@
34222
34253
  "description": "A required dependency/feature is not configured or is temporarily down."
34223
34254
  }
34224
34255
  },
34225
- "x-endpoint-count": 533,
34256
+ "x-endpoint-count": 534,
34226
34257
  "x-schema-count": 574,
34227
34258
  "x-undocumented-bodies": 12,
34228
34259
  "x-response-schemas": 380,
@@ -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. 533 endpoints across 94 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 534 endpoints across 95 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`.
@@ -636,7 +636,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
636
636
  | POST | `/api/bongos/projects/invite` | `metic+archon` | `client_id`, `github_login` | own-or-metic in effect: where to invite a builder into a project, asked by a `project.curate` holder OR the project's OWN OWNER (task 100… |
637
637
  | POST | `/api/bongos/projects/invite-guild` | `metic+archon` | `client_id`, `guild` | own-or-metic in effect, the SAME gate as POST /projects/invite above and for the same reasons (a non-inviter gets that route's unchanged … |
638
638
 
639
- ## `provisioning` (42)
639
+ ## `provisioning` (43)
640
640
 
641
641
  | Method | Path | Rank | Body | Description |
642
642
  |---|---|---|---|---|
@@ -644,7 +644,8 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
644
644
  | GET | `/api/bongos/provisioning/fleet` | `metic+archon` | — | GET /provisioning/fleet — the full instance roster across all owners. |
645
645
  | GET | `/api/bongos/provisioning/fleet/cost-ledger` | `metic+archon` | — | GET /provisioning/fleet/cost-ledger — per-instance monthly cost to us + estimated cost to its owner, with totals. |
646
646
  | GET | `/api/bongos/provisioning/github-app/callback` | `public` | — | GET /provisioning/github-app/callback?code=&state= — GitHub redirects the owner's BROWSER here after they approve the App Manifest (task … |
647
- | GET | `/api/bongos/provisioning/github-app/status` | `public` | — | GET /provisioning/github-app/status?state=<> — the PUBLIC progress read the onboarding setup checklist polls (task 1004548) to know when … |
647
+ | GET | `/api/bongos/provisioning/github-app/setup` | `public` | — | GET /provisioning/github-app/setup?installation_id=&setup_action=&state= — the App's setup_url (task 1004649). |
648
+ | GET | `/api/bongos/provisioning/github-app/status` | `public` | — | GET /provisioning/github-app/status?state=<> — the PUBLIC progress read (task 1004548; the checklist since task 1004649). |
648
649
  | GET | `/api/bongos/provisioning/health` | `public` | — | GET /provisioning/health — liveness + the core version this module mounted against. |
649
650
  | GET | `/api/bongos/provisioning/instances` | `any-builder` | — | GET /provisioning/instances — the caller's own instances + each open intent. |
650
651
  | POST | `/api/bongos/provisioning/instances` | `any-builder` | `slug`, `target_ref`, `hosting_shape`, `domain`, `no_address`, `tier`, `onboard_mode`, `type`, `description`, `detail`, `modules`, `terms_acknowledged`, `demo`, `ship_mode` | POST /provisioning/instances — request a new instance. |