@bongos/core 1.21.51 → 1.21.53

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 (70) hide show
  1. package/.bongos-core.json +88 -73
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +4 -0
  4. package/clients/bongos-client/index.cjs +4 -0
  5. package/clients/bongos-client/index.d.ts +7 -0
  6. package/clients/bongos-client/index.mjs +4 -0
  7. package/docs/api/openapi.json +135 -3
  8. package/docs/api-reference.md +4 -2
  9. package/docs/copy-inventory.md +195 -150
  10. package/docs/copy-registry.json +740 -281
  11. package/docs/module-api-changelog.md +4 -0
  12. package/docs/page-inventory.json +8 -4
  13. package/docs/page-readings.json +336 -333
  14. package/modules/hall-ui/public/atlas.html +3 -3
  15. package/modules/hall-ui/public/blockers.html +3 -3
  16. package/modules/hall-ui/public/board-room.html +3 -3
  17. package/modules/hall-ui/public/city.html +3 -3
  18. package/modules/hall-ui/public/collab.html +3 -3
  19. package/modules/hall-ui/public/commands.html +3 -3
  20. package/modules/hall-ui/public/copy-desk.html +3 -3
  21. package/modules/hall-ui/public/craft-mode.js +7 -1
  22. package/modules/hall-ui/public/deploy.html +3 -3
  23. package/modules/hall-ui/public/diagrams.html +3 -3
  24. package/modules/hall-ui/public/drachmae.html +3 -3
  25. package/modules/hall-ui/public/fleet.html +3 -3
  26. package/modules/hall-ui/public/gate.html +3 -3
  27. package/modules/hall-ui/public/goal-map.html +3 -3
  28. package/modules/hall-ui/public/goals.html +3 -3
  29. package/modules/hall-ui/public/government.html +3 -3
  30. package/modules/hall-ui/public/idea.html +3 -3
  31. package/modules/hall-ui/public/ideas.html +3 -3
  32. package/modules/hall-ui/public/index.html +3 -3
  33. package/modules/hall-ui/public/lightbulb.js +213 -0
  34. package/modules/hall-ui/public/modules.html +3 -3
  35. package/modules/hall-ui/public/primer.html +3 -3
  36. package/modules/hall-ui/public/profile.html +3 -3
  37. package/modules/hall-ui/public/project-settings.html +3 -3
  38. package/modules/hall-ui/public/ranks.html +3 -3
  39. package/modules/hall-ui/public/roadmap.html +3 -3
  40. package/modules/hall-ui/public/roster.html +3 -3
  41. package/modules/hall-ui/public/sessions.html +3 -3
  42. package/modules/hall-ui/public/settings.html +3 -3
  43. package/modules/hall-ui/public/street.html +3 -3
  44. package/modules/hall-ui/public/studio.html +3 -3
  45. package/modules/hall-ui/public/style.css +1 -0
  46. package/modules/hall-ui/public/task.html +3 -3
  47. package/modules/hall-ui/public/thinking.html +3 -3
  48. package/modules/hall-ui/public/tweak-editor.html +3 -3
  49. package/modules/hall-ui/public/watch.html +3 -3
  50. package/modules/hall-ui/public/work.html +3 -3
  51. package/modules/hall-ui/records/craft-mode.md +8 -0
  52. package/modules/page-notes/db.js +34 -0
  53. package/modules/page-notes/notes.js +54 -8
  54. package/modules/page-notes/routes/page-notes.js +49 -1
  55. package/modules/page-notes/split.js +39 -8
  56. package/modules/public-landing/public/account.html +12 -101
  57. package/modules/public-landing/public/assets/hub-bar.js +127 -0
  58. package/modules/public-landing/public/contact.html +60 -9
  59. package/modules/public-landing/public/privacy.html +60 -9
  60. package/modules/public-landing/public/terms.html +60 -9
  61. package/package-lock.json +2 -2
  62. package/package.json +1 -1
  63. package/release-notes.json +12 -0
  64. package/src/module-api.js +1 -1
  65. package/tests/hall_tweak_editor.mjs +1 -1
  66. package/tests/hub_account_page.mjs +22 -5
  67. package/tests/landing_legal_pages.mjs +275 -0
  68. package/tests/lightbulb.mjs +385 -0
  69. package/tests/page_notes_panel.mjs +3 -1
  70. package/tests/paintbrush.mjs +2 -1
@@ -118,6 +118,7 @@ export interface GetMyProjectsInvitesResponse { invites: unknown }
118
118
  export interface GetMyProjectsResponse { owned: unknown; building: unknown; applied: unknown }
119
119
  export interface GetOverrideRequestsResponse { requests: unknown }
120
120
  export interface GetPageNotesIdResponse { note: unknown; images: unknown; ideas: unknown }
121
+ export interface GetPageNotesIdeasResponse { page_path: unknown; ideas: unknown }
121
122
  export interface GetPageNotesResponse { page_id: unknown; notes: unknown }
122
123
  export interface GetProfilesHandleResponse { account: unknown; cross_project: unknown }
123
124
  export interface GetProjectSettingsResponse { rows: unknown }
@@ -419,6 +420,8 @@ export interface PostOverrideRequestsIdDecideRequest { decision: string; note?:
419
420
  export interface PostPageNotesIdImagesRequest { content_type: string; data: string; name?: string }
420
421
  export interface PostPageNotesIdImagesResponse { image: unknown }
421
422
  export interface PostPageNotesIdSubmitResponse { ok: boolean; status: unknown; note_id: unknown }
423
+ export interface PostPageNotesIdeasRequest { page_id: string; page_path?: string; page_title?: string; body_md: string }
424
+ export interface PostPageNotesIdeasResponse { ideas: unknown; split_by: unknown }
422
425
  export interface PostPageNotesRequest { page_id: string; page_path?: string; page_title?: string }
423
426
  export interface PostPageNotesResponse { note: unknown; images: unknown }
424
427
  export interface PostProjectsInviteRequest { client_id: string; github_login: string }
@@ -1300,6 +1303,10 @@ export interface BongosClient {
1300
1303
  postPageNotesIdImages(args: RequestArgs & { body: PostPageNotesIdImagesRequest }): Promise<PostPageNotesIdImagesResponse>;
1301
1304
  /** POST /page-notes/{id}/submit — rank: any-builder */
1302
1305
  postPageNotesIdSubmit(args?: RequestArgs): Promise<PostPageNotesIdSubmitResponse>;
1306
+ /** GET /page-notes/ideas — rank: any-builder */
1307
+ getPageNotesIdeas(args?: RequestArgs): Promise<GetPageNotesIdeasResponse>;
1308
+ /** POST /page-notes/ideas — rank: any-builder */
1309
+ postPageNotesIdeas(args: RequestArgs & { body: PostPageNotesIdeasRequest }): Promise<PostPageNotesIdeasResponse>;
1303
1310
  /** GET /page-notes/images/{id} — rank: any-builder */
1304
1311
  getPageNotesImagesId(args?: RequestArgs): Promise<ApiResponse>;
1305
1312
  };
@@ -817,6 +817,10 @@ export function createClient(opts = {}) {
817
817
  postPageNotesIdImages: (args) => request("POST", "/page-notes/{id}/images", { hasBody: true }, args),
818
818
  // POST /page-notes/{id}/submit — rank: any-builder — POST /page-notes/:id/submit
819
819
  postPageNotesIdSubmit: (args) => request("POST", "/page-notes/{id}/submit", { hasBody: true }, args),
820
+ // GET /page-notes/ideas — rank: any-builder — GET /page-notes/ideas
821
+ getPageNotesIdeas: (args) => request("GET", "/page-notes/ideas", { hasBody: false }, args),
822
+ // POST /page-notes/ideas — rank: any-builder — POST /page-notes/ideas
823
+ postPageNotesIdeas: (args) => request("POST", "/page-notes/ideas", { hasBody: true }, args),
820
824
  // GET /page-notes/images/{id} — rank: any-builder — GET /page-notes/images/:id
821
825
  getPageNotesImagesId: (args) => request("GET", "/page-notes/images/{id}", { hasBody: false }, args),
822
826
  },
@@ -14820,6 +14820,91 @@
14820
14820
  ]
14821
14821
  }
14822
14822
  },
14823
+ "/page-notes/ideas": {
14824
+ "get": {
14825
+ "operationId": "get_page_notes_ideas",
14826
+ "tags": [
14827
+ "page-notes"
14828
+ ],
14829
+ "summary": "GET /page-notes/ideas",
14830
+ "description": "---------- the ideator's lightbulb (task 1004498) ---------- Registered before /page-notes/:id, which would read 'ideas' as a bad id.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
14831
+ "x-rank": "any-builder",
14832
+ "x-source": "modules/page-notes/routes/page-notes.js",
14833
+ "responses": {
14834
+ "200": {
14835
+ "description": "Success.",
14836
+ "content": {
14837
+ "application/json": {
14838
+ "schema": {
14839
+ "$ref": "#/components/schemas/GetPageNotesIdeasResponse"
14840
+ }
14841
+ }
14842
+ }
14843
+ },
14844
+ "400": {
14845
+ "$ref": "#/components/responses/BadRequest"
14846
+ },
14847
+ "401": {
14848
+ "$ref": "#/components/responses/Unauthorized"
14849
+ },
14850
+ "403": {
14851
+ "$ref": "#/components/responses/Forbidden"
14852
+ }
14853
+ },
14854
+ "security": [
14855
+ {
14856
+ "builderSession": []
14857
+ }
14858
+ ]
14859
+ },
14860
+ "post": {
14861
+ "operationId": "post_page_notes_ideas",
14862
+ "tags": [
14863
+ "page-notes"
14864
+ ],
14865
+ "summary": "POST /page-notes/ideas",
14866
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
14867
+ "x-rank": "any-builder",
14868
+ "x-source": "modules/page-notes/routes/page-notes.js",
14869
+ "requestBody": {
14870
+ "required": true,
14871
+ "content": {
14872
+ "application/json": {
14873
+ "schema": {
14874
+ "$ref": "#/components/schemas/PostPageNotesIdeasRequest"
14875
+ }
14876
+ }
14877
+ },
14878
+ "x-validated": true
14879
+ },
14880
+ "responses": {
14881
+ "200": {
14882
+ "description": "Success.",
14883
+ "content": {
14884
+ "application/json": {
14885
+ "schema": {
14886
+ "$ref": "#/components/schemas/PostPageNotesIdeasResponse"
14887
+ }
14888
+ }
14889
+ }
14890
+ },
14891
+ "400": {
14892
+ "$ref": "#/components/responses/ValidationFailed"
14893
+ },
14894
+ "401": {
14895
+ "$ref": "#/components/responses/Unauthorized"
14896
+ },
14897
+ "403": {
14898
+ "$ref": "#/components/responses/Forbidden"
14899
+ }
14900
+ },
14901
+ "security": [
14902
+ {
14903
+ "builderSession": []
14904
+ }
14905
+ ]
14906
+ }
14907
+ },
14823
14908
  "/page-notes/images/{id}": {
14824
14909
  "get": {
14825
14910
  "operationId": "get_page_notes_images_id",
@@ -25529,6 +25614,17 @@
25529
25614
  "ideas"
25530
25615
  ]
25531
25616
  },
25617
+ "GetPageNotesIdeasResponse": {
25618
+ "type": "object",
25619
+ "properties": {
25620
+ "page_path": {},
25621
+ "ideas": {}
25622
+ },
25623
+ "required": [
25624
+ "page_path",
25625
+ "ideas"
25626
+ ]
25627
+ },
25532
25628
  "GetPageNotesResponse": {
25533
25629
  "type": "object",
25534
25630
  "properties": {
@@ -30214,6 +30310,42 @@
30214
30310
  "note_id"
30215
30311
  ]
30216
30312
  },
30313
+ "PostPageNotesIdeasRequest": {
30314
+ "type": "object",
30315
+ "properties": {
30316
+ "page_id": {
30317
+ "type": "string",
30318
+ "maxLength": 97
30319
+ },
30320
+ "page_path": {
30321
+ "type": "string",
30322
+ "maxLength": 200
30323
+ },
30324
+ "page_title": {
30325
+ "type": "string",
30326
+ "maxLength": 400
30327
+ },
30328
+ "body_md": {
30329
+ "type": "string"
30330
+ }
30331
+ },
30332
+ "required": [
30333
+ "page_id",
30334
+ "body_md"
30335
+ ],
30336
+ "additionalProperties": false
30337
+ },
30338
+ "PostPageNotesIdeasResponse": {
30339
+ "type": "object",
30340
+ "properties": {
30341
+ "ideas": {},
30342
+ "split_by": {}
30343
+ },
30344
+ "required": [
30345
+ "ideas",
30346
+ "split_by"
30347
+ ]
30348
+ },
30217
30349
  "PostPageNotesRequest": {
30218
30350
  "type": "object",
30219
30351
  "properties": {
@@ -32725,9 +32857,9 @@
32725
32857
  "description": "A required dependency/feature is not configured or is temporarily down."
32726
32858
  }
32727
32859
  },
32728
- "x-endpoint-count": 510,
32729
- "x-schema-count": 546,
32860
+ "x-endpoint-count": 512,
32861
+ "x-schema-count": 549,
32730
32862
  "x-undocumented-bodies": 12,
32731
- "x-response-schemas": 362,
32863
+ "x-response-schemas": 364,
32732
32864
  "x-generated-by": "scripts/gds/gen-api-docs.js"
32733
32865
  }
@@ -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. 510 endpoints across 93 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 512 endpoints across 93 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`.
@@ -573,7 +573,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
573
573
  | GET | `/api/bongos/override-requests` | `metic+archon` | — | GET /override-requests?status=open — Archon queue. |
574
574
  | POST | `/api/bongos/override-requests/:id/decide` | `metic+archon` | `decision`, `note` | POST /override-requests/:id/decide — body: { decision: 'approve'\|'deny', note? } On approve, atomically flips the task completed→confirme… |
575
575
 
576
- ## `page-notes` (7)
576
+ ## `page-notes` (9)
577
577
 
578
578
  | Method | Path | Rank | Body | Description |
579
579
  |---|---|---|---|---|
@@ -583,6 +583,8 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
583
583
  | PATCH | `/api/bongos/page-notes/:id` | `any-builder` | `body_md` | |
584
584
  | POST | `/api/bongos/page-notes/:id/images` | `any-builder` | `content_type`, `data`, `name` | |
585
585
  | POST | `/api/bongos/page-notes/:id/submit` | `any-builder` | — | |
586
+ | GET | `/api/bongos/page-notes/ideas` | `any-builder` | — | ---------- the ideator's lightbulb (task 1004498) ---------- Registered before /page-notes/:id, which would read 'ideas' as a bad id. |
587
+ | POST | `/api/bongos/page-notes/ideas` | `any-builder` | `page_id`, `page_path`, `page_title`, `body_md` | |
586
588
  | GET | `/api/bongos/page-notes/images/:id` | `any-builder` | — | |
587
589
 
588
590
  ## `profiles` (1)