@bongos/core 1.25.19 → 1.25.20

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 (78) hide show
  1. package/.bongos-core.json +108 -78
  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 -1
  6. package/clients/bongos-client/index.mjs +2 -0
  7. package/docs/api/openapi.json +36 -2
  8. package/docs/api-reference.md +5 -4
  9. package/docs/copy-inventory.md +217 -215
  10. package/docs/copy-registry.json +256 -238
  11. package/docs/module-api-changelog.md +2 -0
  12. package/docs/page-readings.json +348 -347
  13. package/docs/project-context.template.md +1 -1
  14. package/modules/front-door-guide/handoff.js +120 -0
  15. package/modules/front-door-guide/module.json +1 -1
  16. package/modules/front-door-guide/routes/front-door-guide-plan.js +24 -0
  17. package/modules/hall-ui/public/ai-studio.html +1 -1
  18. package/modules/hall-ui/public/atlas.html +1 -1
  19. package/modules/hall-ui/public/blockers.html +1 -1
  20. package/modules/hall-ui/public/board-room.html +1 -1
  21. package/modules/hall-ui/public/city.html +1 -1
  22. package/modules/hall-ui/public/collab.html +1 -1
  23. package/modules/hall-ui/public/commands.html +1 -1
  24. package/modules/hall-ui/public/copy-desk.html +1 -1
  25. package/modules/hall-ui/public/deploy.html +1 -1
  26. package/modules/hall-ui/public/genesis-home.js +23 -4
  27. package/modules/hall-ui/public/goal-map.html +1 -1
  28. package/modules/hall-ui/public/goals.html +1 -1
  29. package/modules/hall-ui/public/government.html +1 -1
  30. package/modules/hall-ui/public/home-city-draw.js +14 -1
  31. package/modules/hall-ui/public/idea.html +1 -1
  32. package/modules/hall-ui/public/ideas.html +1 -1
  33. package/modules/hall-ui/public/index.html +1 -1
  34. package/modules/hall-ui/public/market-watch-item.html +1 -1
  35. package/modules/hall-ui/public/market-watch-rules.html +1 -1
  36. package/modules/hall-ui/public/market-watch.html +1 -1
  37. package/modules/hall-ui/public/modules.html +1 -1
  38. package/modules/hall-ui/public/money.html +1 -1
  39. package/modules/hall-ui/public/my-agents.html +1 -1
  40. package/modules/hall-ui/public/primer.html +1 -1
  41. package/modules/hall-ui/public/profile.html +1 -1
  42. package/modules/hall-ui/public/project-settings.html +1 -1
  43. package/modules/hall-ui/public/roster.html +1 -1
  44. package/modules/hall-ui/public/settings.html +1 -1
  45. package/modules/hall-ui/public/shell.js +32 -20
  46. package/modules/hall-ui/public/street.html +1 -1
  47. package/modules/hall-ui/public/studio.html +1 -1
  48. package/modules/hall-ui/public/style.css +9 -4
  49. package/modules/hall-ui/public/task.html +1 -1
  50. package/modules/hall-ui/public/thinking.html +1 -1
  51. package/modules/hall-ui/public/tweak-editor.html +1 -1
  52. package/modules/hall-ui/public/watch.html +1 -1
  53. package/modules/hall-ui/public/work.html +1 -1
  54. package/modules/lifecycle/home-city.js +17 -3
  55. package/modules/onboarding/founding-mode.js +45 -1
  56. package/modules/onboarding/genesis-home.js +2 -0
  57. package/modules/onboarding/guide-handoff.js +109 -0
  58. package/modules/onboarding/routes/genesis-work.js +9 -5
  59. package/modules/provisioning/guide-handoff.js +65 -0
  60. package/modules/provisioning/provisioning.js +2 -2
  61. package/modules/provisioning/routes/provisioning.js +4 -2
  62. package/modules/public-landing/public/projects.html +79 -0
  63. package/package-lock.json +2 -2
  64. package/package.json +1 -1
  65. package/release-notes.json +10 -0
  66. package/src/bongos/founding-page-gate.js +67 -0
  67. package/src/bongos/serve-internal.js +3 -0
  68. package/src/branding.js +4 -0
  69. package/src/module-api.js +1 -1
  70. package/tests/founding_mode.mjs +84 -8
  71. package/tests/founding_page_gate.mjs +105 -0
  72. package/tests/front_door_guide_existing.mjs +1 -0
  73. package/tests/genesis_home.mjs +24 -0
  74. package/tests/guide_handoff.mjs +322 -0
  75. package/tests/home_city.mjs +52 -0
  76. package/tests/nav_permission_atoms.mjs +1 -1
  77. package/tests/provision_settings_apply.mjs +2 -1
  78. package/tests/provisioning_settings_env.mjs +2 -2
@@ -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
- - 730 operations across 88 resource groups
8
+ - 731 operations across 88 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -541,6 +541,8 @@ function createClient(opts = {}) {
541
541
  postFrontDoorGuideConversationsIdPlan: (args) => request("POST", "/front-door-guide/conversations/{id}/plan", { hasBody: true }, args),
542
542
  // GET /front-door-guide/mine — rank: any-builder — GET /front-door-guide/mine
543
543
  getFrontDoorGuideMine: (args) => request("GET", "/front-door-guide/mine", { hasBody: false }, args),
544
+ // GET /front-door-guide/mine/handoff.md — rank: any-builder — GET /front-door-guide/mine/handoff.md
545
+ getFrontDoorGuideMineHandoffMd: (args) => request("GET", "/front-door-guide/mine/handoff.md", { hasBody: false }, args),
544
546
  // GET /front-door-guide/status — rank: public — GET /front-door-guide/status
545
547
  getFrontDoorGuideStatus: (args) => request("GET", "/front-door-guide/status", { hasBody: false }, args),
546
548
  },
@@ -540,6 +540,8 @@ function createClient(opts = {}) {
540
540
  postFrontDoorGuideConversationsIdPlan: (args) => request("POST", "/front-door-guide/conversations/{id}/plan", { hasBody: true }, args),
541
541
  // GET /front-door-guide/mine — rank: any-builder — GET /front-door-guide/mine
542
542
  getFrontDoorGuideMine: (args) => request("GET", "/front-door-guide/mine", { hasBody: false }, args),
543
+ // GET /front-door-guide/mine/handoff.md — rank: any-builder — GET /front-door-guide/mine/handoff.md
544
+ getFrontDoorGuideMineHandoffMd: (args) => request("GET", "/front-door-guide/mine/handoff.md", { hasBody: false }, args),
543
545
  // GET /front-door-guide/status — rank: public — GET /front-door-guide/status
544
546
  getFrontDoorGuideStatus: (args) => request("GET", "/front-door-guide/status", { hasBody: false }, args),
545
547
  },
@@ -620,7 +620,7 @@ export interface PostProvisioningInstancesIdRestartResponse { ok: boolean; queue
620
620
  export interface PostProvisioningInstancesIdTeardownResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; superseded: unknown; sandbox_key_lent: unknown; message: unknown }
621
621
  export interface PostProvisioningInstancesIdUpdateSubscriptionRequest { subscribed: boolean }
622
622
  export interface PostProvisioningInstancesIdUpdateSubscriptionResponse { ok: boolean; update_subscribed: unknown; previous: unknown; changed: unknown }
623
- 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[]; terms_acknowledged?: boolean; demo?: Record<string, unknown>; ship_mode?: "auto" | "manual"; genesis?: boolean; test?: boolean }
623
+ 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[]; terms_acknowledged?: boolean; demo?: Record<string, unknown>; ship_mode?: "auto" | "manual"; genesis?: boolean; test?: boolean; from_guide?: boolean }
624
624
  export interface PostProvisioningPhysicsCheckRequest { description?: string; detail?: Record<string, unknown> }
625
625
  export interface PostProvisioningPhysicsCheckResponse { stop: boolean; message: unknown; soft_limits: unknown }
626
626
  export interface PostProvisioningRenderLookupRequest { key: string; owner_id?: string }
@@ -1233,6 +1233,8 @@ export interface BongosClient {
1233
1233
  postFrontDoorGuideConversationsIdPlan(args: RequestArgs & { body: PostFrontDoorGuideConversationsIdPlanRequest }): Promise<ApiResponse>;
1234
1234
  /** GET /front-door-guide/mine — rank: any-builder */
1235
1235
  getFrontDoorGuideMine(args?: RequestArgs): Promise<GetFrontDoorGuideMineResponse>;
1236
+ /** GET /front-door-guide/mine/handoff.md — rank: any-builder */
1237
+ getFrontDoorGuideMineHandoffMd(args?: RequestArgs): Promise<ApiResponse>;
1236
1238
  /** GET /front-door-guide/status — rank: public */
1237
1239
  getFrontDoorGuideStatus(args?: RequestArgs): Promise<ApiResponse>;
1238
1240
  };
@@ -537,6 +537,8 @@ export function createClient(opts = {}) {
537
537
  postFrontDoorGuideConversationsIdPlan: (args) => request("POST", "/front-door-guide/conversations/{id}/plan", { hasBody: true }, args),
538
538
  // GET /front-door-guide/mine — rank: any-builder — GET /front-door-guide/mine
539
539
  getFrontDoorGuideMine: (args) => request("GET", "/front-door-guide/mine", { hasBody: false }, args),
540
+ // GET /front-door-guide/mine/handoff.md — rank: any-builder — GET /front-door-guide/mine/handoff.md
541
+ getFrontDoorGuideMineHandoffMd: (args) => request("GET", "/front-door-guide/mine/handoff.md", { hasBody: false }, args),
540
542
  // GET /front-door-guide/status — rank: public — GET /front-door-guide/status
541
543
  getFrontDoorGuideStatus: (args) => request("GET", "/front-door-guide/status", { hasBody: false }, args),
542
544
  },
@@ -8312,7 +8312,7 @@
8312
8312
  "founding"
8313
8313
  ],
8314
8314
  "summary": "GET /founding/work",
8315
- "description": "The read path for every door and for AI sessions planning a goal or task.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
8315
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
8316
8316
  "x-rank": "any-builder",
8317
8317
  "x-source": "modules/onboarding/routes/genesis-work.js",
8318
8318
  "responses": {
@@ -9070,6 +9070,37 @@
9070
9070
  ]
9071
9071
  }
9072
9072
  },
9073
+ "/front-door-guide/mine/handoff.md": {
9074
+ "get": {
9075
+ "operationId": "get_front_door_guide_mine_handoff_md",
9076
+ "tags": [
9077
+ "front-door-guide"
9078
+ ],
9079
+ "summary": "GET /front-door-guide/mine/handoff.md",
9080
+ "description": "my plan as the hand-off file (task 1005274), offered as a download on the creation page. 404 with no plan. The name is only the file's title; it is never stored.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
9081
+ "x-rank": "any-builder",
9082
+ "x-source": "modules/front-door-guide/routes/front-door-guide-plan.js",
9083
+ "responses": {
9084
+ "200": {
9085
+ "description": "Success."
9086
+ },
9087
+ "400": {
9088
+ "$ref": "#/components/responses/BadRequest"
9089
+ },
9090
+ "401": {
9091
+ "$ref": "#/components/responses/Unauthorized"
9092
+ },
9093
+ "403": {
9094
+ "$ref": "#/components/responses/Forbidden"
9095
+ }
9096
+ },
9097
+ "security": [
9098
+ {
9099
+ "builderSession": []
9100
+ }
9101
+ ]
9102
+ }
9103
+ },
9073
9104
  "/front-door-guide/status": {
9074
9105
  "get": {
9075
9106
  "operationId": "get_front_door_guide_status",
@@ -43119,6 +43150,9 @@
43119
43150
  },
43120
43151
  "test": {
43121
43152
  "type": "boolean"
43153
+ },
43154
+ "from_guide": {
43155
+ "type": "boolean"
43122
43156
  }
43123
43157
  },
43124
43158
  "required": [
@@ -45588,7 +45622,7 @@
45588
45622
  "description": "A required dependency/feature is not configured or is temporarily down."
45589
45623
  }
45590
45624
  },
45591
- "x-endpoint-count": 730,
45625
+ "x-endpoint-count": 731,
45592
45626
  "x-schema-count": 759,
45593
45627
  "x-undocumented-bodies": 12,
45594
45628
  "x-response-schemas": 473,
@@ -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. 730 endpoints across 124 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 731 endpoints across 124 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`.
@@ -346,7 +346,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
346
346
  | POST | `/api/bongos/founding/skip` | `any-builder` | — | Skip genesis: the owner opens the full hall from any stage, no sitting, no gate. |
347
347
  | POST | `/api/bongos/founding/stages/:stage/close` | `any-builder` | — | task 1005121: one call. |
348
348
  | POST | `/api/bongos/founding/start` | `any-builder` | — | |
349
- | GET | `/api/bongos/founding/work` | `any-builder` | — | The read path for every door and for AI sessions planning a goal or task. |
349
+ | GET | `/api/bongos/founding/work` | `any-builder` | — | |
350
350
  | GET | `/api/bongos/founding/work/:stage` | `any-builder` | — | |
351
351
  | PUT | `/api/bongos/founding/work/:stage/answers/:question` | `any-builder` | `state`, `text`, `origin`, `if_empty` | |
352
352
  | DELETE | `/api/bongos/founding/work/:stage/answers/:question` | `any-builder` | — | Un-answer: back to empty, which is not the same as skipped. |
@@ -357,7 +357,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
357
357
  | PUT | `/api/bongos/founding/work/:stage/link` | `any-builder` | `url` | |
358
358
  | PUT | `/api/bongos/founding/work/:stage/page` | `any-builder` | `page` | |
359
359
 
360
- ## `front-door-guide` (7)
360
+ ## `front-door-guide` (8)
361
361
 
362
362
  | Method | Path | Rank | Body | Description |
363
363
  |---|---|---|---|---|
@@ -367,6 +367,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
367
367
  | POST | `/api/bongos/front-door-guide/conversations/:id/messages` | `public` | `token`, `text`, `website`, `starting_point` | one visitor message, one guide reply. |
368
368
  | POST | `/api/bongos/front-door-guide/conversations/:id/plan` | `public` | `token`, `website` | the visitor has no account yet. |
369
369
  | GET | `/api/bongos/front-door-guide/mine` | `any-builder` | — | my newest chat and plan (the creation wizard's pre-fill reads it). |
370
+ | GET | `/api/bongos/front-door-guide/mine/handoff.md` | `any-builder` | — | my plan as the hand-off file (task 1005274), offered as a download on the creation page. |
370
371
  | GET | `/api/bongos/front-door-guide/status` | `public` | — | the landing asks before it offers the chat. |
371
372
 
372
373
  ## `github` (8)
@@ -883,7 +884,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
883
884
  | 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). |
884
885
  | GET | `/api/bongos/provisioning/health` | `public` | — | GET /provisioning/health — liveness + the core version this module mounted against. |
885
886
  | GET | `/api/bongos/provisioning/instances` | `any-builder` | — | GET /provisioning/instances — the caller's own instances + each open intent. |
886
- | 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`, `genesis`, `test` | POST /provisioning/instances — request a new instance. |
887
+ | 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`, `genesis`, `test`, `from_guide` | POST /provisioning/instances — request a new instance. |
887
888
  | GET | `/api/bongos/provisioning/instances/:id` | `any-builder` | — | GET /provisioning/instances/:id — read one instance (the manage page's read). |
888
889
  | GET | `/api/bongos/provisioning/instances/:id/core-upgrade` | `archon` | — | GET the same path — step ONE of the two-step (ADR 0293 D4): what a move would do. |
889
890
  | POST | `/api/bongos/provisioning/instances/:id/core-upgrade` | `archon` | — | POST /provisioning/instances/:id/core-upgrade — move the core pin. |