@bongos/core 1.19.562 → 1.19.564

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 (30) hide show
  1. package/.bongos-core.json +61 -31
  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 +3 -0
  6. package/clients/bongos-client/index.mjs +2 -0
  7. package/docs/adr/0251-a-suggestion-of-who-to-invite-is-a-recruiting-surface-and-owes-the-opt-out.md +79 -0
  8. package/docs/adr/0252-the-self-hosted-visibility-report-is-a-pull-and-auto-appear-buys-a-retraction-lever.md +109 -0
  9. package/docs/adr/README.md +2 -0
  10. package/docs/api/openapi.json +69 -3
  11. package/docs/api-reference.md +3 -2
  12. package/docs/copy-inventory.md +127 -127
  13. package/docs/copy-registry.json +162 -162
  14. package/docs/module-api-changelog.md +4 -0
  15. package/modules/dev-box/app/src/vendor/bongos-client.cjs +2 -0
  16. package/modules/lifecycle/db-versions.js +22 -0
  17. package/modules/lifecycle/db.js +2 -1
  18. package/modules/lifecycle/routes/version-route-authz.js +56 -0
  19. package/modules/lifecycle/routes/versions.js +22 -0
  20. package/modules/platform-identity/invite-suggestions.js +57 -0
  21. package/modules/platform-identity/routes/sso.js +8 -0
  22. package/modules/provisioning/routes/provisioning.js +56 -0
  23. package/modules/public-landing/public/assets/cosmos.css +16 -0
  24. package/modules/public-landing/public/projects.html +85 -3
  25. package/package-lock.json +2 -2
  26. package/package.json +1 -1
  27. package/src/module-api.js +1 -1
  28. package/tests/one_planning_version.mjs +161 -0
  29. package/tests/project_invite_suggestions.mjs +133 -0
  30. package/tests/project_invite_ui.mjs +171 -18
@@ -11785,6 +11785,58 @@
11785
11785
  ]
11786
11786
  }
11787
11787
  },
11788
+ "/provisioning/instances/{id}/invite-suggestions": {
11789
+ "get": {
11790
+ "operationId": "get_provisioning_instances_id_invite_suggestions",
11791
+ "tags": [
11792
+ "provisioning"
11793
+ ],
11794
+ "summary": "GET /provisioning/instances/:id/invite-suggestions",
11795
+ "description": "── Who is worth inviting (BV1.R28, task 1002347, goal 1000046 C6) ──────── GET /provisioning/instances/:id/invite-suggestions — turn the engine's `invites.seeking` into NAMES. ADR 0239 §6 left `invites.suggested` empty on purpose: ranking builders is a directory read the pure engine may not run. This is the resolution, and ADR 0251 is why it looks like this. rank: any authenticated builder, own resource — `instanceAccessDenied`, the same gate and the same 404 as the manage read above. That is deliberate and not a new authorization idea: REACHING this route IS the ownership answer (ADR 0249 §4), so the surface never re-derives \"is this theirs\" and can never become a weaker second copy of a server rule (ADR 0016). It also 404s rather than 403s, so it leaks no more instance existence than the read beside it. `seeking: null` COSTS NOTHING AND ASKS NOBODY. A solo owner is suggested nobody on purpose (ADR 0239 §6), which is a different statement from an empty list nobody filled — so that answer returns its own reason and never touches the directory at all.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
11796
+ "x-rank": "any-builder",
11797
+ "x-source": "modules/provisioning/routes/provisioning.js",
11798
+ "parameters": [
11799
+ {
11800
+ "name": "id",
11801
+ "in": "path",
11802
+ "required": true,
11803
+ "schema": {
11804
+ "type": "string"
11805
+ },
11806
+ "description": "Path parameter `id`."
11807
+ }
11808
+ ],
11809
+ "responses": {
11810
+ "200": {
11811
+ "description": "Success.",
11812
+ "content": {
11813
+ "application/json": {
11814
+ "schema": {
11815
+ "$ref": "#/components/schemas/GetProvisioningInstancesIdInviteSuggestionsResponse"
11816
+ }
11817
+ }
11818
+ }
11819
+ },
11820
+ "400": {
11821
+ "$ref": "#/components/responses/BadRequest"
11822
+ },
11823
+ "401": {
11824
+ "$ref": "#/components/responses/Unauthorized"
11825
+ },
11826
+ "403": {
11827
+ "$ref": "#/components/responses/Forbidden"
11828
+ },
11829
+ "404": {
11830
+ "$ref": "#/components/responses/NotFound"
11831
+ }
11832
+ },
11833
+ "security": [
11834
+ {
11835
+ "builderSession": []
11836
+ }
11837
+ ]
11838
+ }
11839
+ },
11788
11840
  "/provisioning/instances/{id}/restart": {
11789
11841
  "post": {
11790
11842
  "operationId": "post_provisioning_instances_id_restart",
@@ -17447,6 +17499,20 @@
17447
17499
  "coreVersion"
17448
17500
  ]
17449
17501
  },
17502
+ "GetProvisioningInstancesIdInviteSuggestionsResponse": {
17503
+ "type": "object",
17504
+ "properties": {
17505
+ "suggested": {},
17506
+ "seeking": {},
17507
+ "reason": {},
17508
+ "unavailable": {}
17509
+ },
17510
+ "required": [
17511
+ "suggested",
17512
+ "seeking",
17513
+ "reason"
17514
+ ]
17515
+ },
17450
17516
  "GetProvisioningInstancesIdResponse": {
17451
17517
  "type": "object",
17452
17518
  "properties": {
@@ -22439,9 +22505,9 @@
22439
22505
  "description": "A required dependency/feature is not configured or is temporarily down."
22440
22506
  }
22441
22507
  },
22442
- "x-endpoint-count": 356,
22443
- "x-schema-count": 390,
22508
+ "x-endpoint-count": 357,
22509
+ "x-schema-count": 391,
22444
22510
  "x-undocumented-bodies": 9,
22445
- "x-response-schemas": 264,
22511
+ "x-response-schemas": 265,
22446
22512
  "x-generated-by": "scripts/gds/gen-api-docs.js"
22447
22513
  }
@@ -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. 356 endpoints across 58 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 357 endpoints across 58 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/<redacted>.md)): `public` < `any-builder` < `metic+archon` < `archon`.
@@ -459,7 +459,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
459
459
  | GET | `/api/bongos/projects/featured` | `public` | — | the public map of projects; no auth by design. |
460
460
  | 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'… |
461
461
 
462
- ## `provisioning` (21)
462
+ ## `provisioning` (22)
463
463
 
464
464
  | Method | Path | Rank | Body | Description |
465
465
  |---|---|---|---|---|
@@ -475,6 +475,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
475
475
  | POST | `/api/bongos/provisioning/instances/:id/domain` | `any-builder` | `domain` | POST /provisioning/instances/:id/domain — give the caller's OWN instance its address (task 1002692, gap 5: no path existed to add a domai… |
476
476
  | POST | `/api/bongos/provisioning/instances/:id/force-teardown` | `metic+archon` | — | POST /provisioning/instances/:id/force-teardown — Archon tears down ANY instance. |
477
477
  | 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… |
478
+ | 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 … |
478
479
  | POST | `/api/bongos/provisioning/instances/:id/restart` | `any-builder` | — | POST /provisioning/instances/:id/restart — restart an ACTIVE project the heartbeat cannot reach (task 1003238). |
479
480
  | 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). |
480
481
  | PATCH | `/api/bongos/provisioning/instances/:id/settings` | `any-builder` | validated | PATCH /provisioning/instances/:id/settings — change a project's settings. |