@bongos/core 1.24.9 → 1.24.10

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 (74) hide show
  1. package/.bongos-core.json +113 -73
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +8 -0
  4. package/clients/bongos-client/index.cjs +8 -0
  5. package/clients/bongos-client/index.d.ts +10 -0
  6. package/clients/bongos-client/index.mjs +8 -0
  7. package/docs/api/openapi.json +178 -2
  8. package/docs/api-reference.md +6 -2
  9. package/docs/copy-inventory.md +47 -19
  10. package/docs/copy-registry.json +306 -24
  11. package/docs/module-api-changelog.md +2 -0
  12. package/docs/page-inventory.json +34 -4
  13. package/docs/page-readings.json +296 -239
  14. package/modules/hall-ui/public/ai-studio.html +2 -2
  15. package/modules/hall-ui/public/atlas.html +2 -2
  16. package/modules/hall-ui/public/blockers.html +2 -2
  17. package/modules/hall-ui/public/board-room.html +2 -2
  18. package/modules/hall-ui/public/city.html +2 -2
  19. package/modules/hall-ui/public/collab.html +2 -2
  20. package/modules/hall-ui/public/commands.html +2 -2
  21. package/modules/hall-ui/public/copy-desk.html +2 -2
  22. package/modules/hall-ui/public/craft-mode.js +1 -1
  23. package/modules/hall-ui/public/deploy.html +2 -2
  24. package/modules/hall-ui/public/diagrams.html +2 -2
  25. package/modules/hall-ui/public/drachmae.html +2 -2
  26. package/modules/hall-ui/public/fleet.html +2 -2
  27. package/modules/hall-ui/public/gate.html +2 -2
  28. package/modules/hall-ui/public/goal-map.html +2 -2
  29. package/modules/hall-ui/public/goals.html +2 -2
  30. package/modules/hall-ui/public/government.html +2 -2
  31. package/modules/hall-ui/public/idea.html +2 -2
  32. package/modules/hall-ui/public/ideas.html +2 -2
  33. package/modules/hall-ui/public/index.html +2 -2
  34. package/modules/hall-ui/public/market-watch-rules.html +2 -2
  35. package/modules/hall-ui/public/market-watch-settings.css +217 -0
  36. package/modules/hall-ui/public/market-watch-settings.html +113 -0
  37. package/modules/hall-ui/public/market-watch-settings.js +230 -0
  38. package/modules/hall-ui/public/market-watch-settings.states.json +14 -0
  39. package/modules/hall-ui/public/modules.html +2 -2
  40. package/modules/hall-ui/public/my-agents.html +2 -2
  41. package/modules/hall-ui/public/primer.html +2 -2
  42. package/modules/hall-ui/public/profile.html +2 -2
  43. package/modules/hall-ui/public/project-settings.html +2 -2
  44. package/modules/hall-ui/public/ranks.html +2 -2
  45. package/modules/hall-ui/public/roadmap.html +2 -2
  46. package/modules/hall-ui/public/roster.html +2 -2
  47. package/modules/hall-ui/public/sessions.html +2 -2
  48. package/modules/hall-ui/public/settings.html +2 -2
  49. package/modules/hall-ui/public/shell.js +3 -0
  50. package/modules/hall-ui/public/street.html +2 -2
  51. package/modules/hall-ui/public/studio.html +2 -2
  52. package/modules/hall-ui/public/task.html +2 -2
  53. package/modules/hall-ui/public/thinking.html +2 -2
  54. package/modules/hall-ui/public/tweak-editor.html +2 -2
  55. package/modules/hall-ui/public/watch.html +2 -2
  56. package/modules/hall-ui/public/work.html +2 -2
  57. package/modules/hall-ui/records/market-watch-settings.md +11 -0
  58. package/modules/market-watch/module.json +3 -2
  59. package/modules/market-watch/routes/settings.js +128 -0
  60. package/modules/market-watch/settings.js +207 -0
  61. package/modules/provisioning/starter-bundles.js +11 -6
  62. package/modules/ui-design/kit/serve.js +1 -0
  63. package/package-lock.json +2 -2
  64. package/package.json +1 -1
  65. package/release-notes.json +6 -0
  66. package/src/bongos/module-scope-map.js +1 -0
  67. package/src/bongos/serve-internal.js +2 -2
  68. package/src/module-api.js +1 -1
  69. package/tests/hall_nav.mjs +4 -2
  70. package/tests/hall_page_gate_map.mjs +4 -0
  71. package/tests/market_watch_data_db.mjs +27 -0
  72. package/tests/market_watch_module.mjs +8 -4
  73. package/tests/market_watch_settings.mjs +392 -0
  74. package/tests/nav_permission_atoms.mjs +3 -2
@@ -771,6 +771,14 @@ function createClient(opts = {}) {
771
771
  getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
772
772
  // POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
773
773
  postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
774
+ // GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
775
+ getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
776
+ // PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
777
+ patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
778
+ // DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
779
+ deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
780
+ // PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
781
+ putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
774
782
  },
775
783
  "me": {
776
784
  // GET /me — rank: any-builder — GET /me
@@ -770,6 +770,14 @@ function createClient(opts = {}) {
770
770
  getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
771
771
  // POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
772
772
  postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
773
+ // GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
774
+ getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
775
+ // PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
776
+ patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
777
+ // DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
778
+ deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
779
+ // PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
780
+ putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
773
781
  },
774
782
  "me": {
775
783
  // GET /me — rank: any-builder — GET /me
@@ -243,6 +243,7 @@ export interface PatchInboxIdBodyRequest { body_md: string }
243
243
  export interface PatchInboxIdBodyResponse { ok: boolean; idea: unknown; delta: unknown; unchanged: unknown }
244
244
  export interface PatchInboxIdRequest { status?: "open" | "promoted" | "discarded" | "merged"; kind?: string; promoted_to_task_id?: number; reviewed_at?: unknown; merged_into_idea_id?: number; triage_note?: string }
245
245
  export interface PatchInboxIdResponse { idea: unknown }
246
+ export interface PatchMarketWatchSettingsRequest { enabled?: unknown; monthly_cap_usd?: unknown; cadence?: unknown }
246
247
  export interface PatchMeCoreMoveSeenRequest { id: string }
247
248
  export interface PatchMeCoreMoveSeenResponse { ok: boolean; seen: unknown }
248
249
  export interface PatchMeCrossProjectRequest { hide_stats?: boolean; account_visibility?: string; recruiter_discoverable?: boolean }
@@ -680,6 +681,7 @@ export interface PutDoneWhenCriterionIdBackendOnlyResponse { ok: boolean; criter
680
681
  export interface PutGovernmentAsksMatterIdResponse { ok: boolean; matter_id: unknown; ask: unknown }
681
682
  export interface PutGovernmentRanksRankKeyPermissionsPermissionKeyResponse { ok: boolean; rank_key: unknown; permission_key: unknown; granted: unknown }
682
683
  export interface PutGovernmentTreasuryPotsGoalIdRequest { budget_usd?: unknown }
684
+ export interface PutMarketWatchSettingsKeyRequest { key: string }
683
685
  export interface PutMingleOptInRequest { opted_in: boolean }
684
686
  export interface PutMingleOptInResponse { opted_in: unknown; updated_at: unknown }
685
687
  export interface PutMingleProjectRequest { enabled: boolean }
@@ -1395,6 +1397,14 @@ export interface BongosClient {
1395
1397
  getMarketWatchRules(args?: RequestArgs): Promise<ApiResponse>;
1396
1398
  /** POST /market-watch/rules/proposals — rank: any-builder */
1397
1399
  postMarketWatchRulesProposals(args: RequestArgs & { body: PostMarketWatchRulesProposalsRequest }): Promise<PostMarketWatchRulesProposalsResponse>;
1400
+ /** GET /market-watch/settings — rank: metic+archon */
1401
+ getMarketWatchSettings(args?: RequestArgs): Promise<ApiResponse>;
1402
+ /** PATCH /market-watch/settings — rank: metic+archon */
1403
+ patchMarketWatchSettings(args?: RequestArgs & { body?: PatchMarketWatchSettingsRequest }): Promise<ApiResponse>;
1404
+ /** DELETE /market-watch/settings/key — rank: metic+archon */
1405
+ deleteMarketWatchSettingsKey(args?: RequestArgs): Promise<ApiResponse>;
1406
+ /** PUT /market-watch/settings/key — rank: metic+archon */
1407
+ putMarketWatchSettingsKey(args: RequestArgs & { body: PutMarketWatchSettingsKeyRequest }): Promise<ApiResponse>;
1398
1408
  };
1399
1409
  "me": {
1400
1410
  /** GET /me — rank: any-builder */
@@ -767,6 +767,14 @@ export function createClient(opts = {}) {
767
767
  getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
768
768
  // POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
769
769
  postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
770
+ // GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
771
+ getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
772
+ // PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
773
+ patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
774
+ // DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
775
+ deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
776
+ // PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
777
+ putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
770
778
  },
771
779
  "me": {
772
780
  // GET /me — rank: any-builder — GET /me
@@ -14269,6 +14269,160 @@
14269
14269
  ]
14270
14270
  }
14271
14271
  },
14272
+ "/market-watch/settings": {
14273
+ "get": {
14274
+ "operationId": "get_market_watch_settings",
14275
+ "tags": [
14276
+ "market-watch"
14277
+ ],
14278
+ "summary": "GET /market-watch/settings",
14279
+ "description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
14280
+ "x-rank": "metic+archon",
14281
+ "x-source": "modules/market-watch/routes/settings.js",
14282
+ "x-permissions": [
14283
+ "project.settings.manage"
14284
+ ],
14285
+ "responses": {
14286
+ "200": {
14287
+ "description": "Success."
14288
+ },
14289
+ "400": {
14290
+ "$ref": "#/components/responses/BadRequest"
14291
+ },
14292
+ "401": {
14293
+ "$ref": "#/components/responses/Unauthorized"
14294
+ },
14295
+ "403": {
14296
+ "$ref": "#/components/responses/Forbidden"
14297
+ }
14298
+ },
14299
+ "security": [
14300
+ {
14301
+ "builderSession": []
14302
+ }
14303
+ ]
14304
+ },
14305
+ "patch": {
14306
+ "operationId": "patch_market_watch_settings",
14307
+ "tags": [
14308
+ "market-watch"
14309
+ ],
14310
+ "summary": "PATCH /market-watch/settings",
14311
+ "description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
14312
+ "x-rank": "metic+archon",
14313
+ "x-source": "modules/market-watch/routes/settings.js",
14314
+ "x-permissions": [
14315
+ "project.settings.manage"
14316
+ ],
14317
+ "requestBody": {
14318
+ "required": false,
14319
+ "content": {
14320
+ "application/json": {
14321
+ "schema": {
14322
+ "$ref": "#/components/schemas/PatchMarketWatchSettingsRequest"
14323
+ }
14324
+ }
14325
+ },
14326
+ "x-validated": true
14327
+ },
14328
+ "responses": {
14329
+ "200": {
14330
+ "description": "Success."
14331
+ },
14332
+ "400": {
14333
+ "$ref": "#/components/responses/ValidationFailed"
14334
+ },
14335
+ "401": {
14336
+ "$ref": "#/components/responses/Unauthorized"
14337
+ },
14338
+ "403": {
14339
+ "$ref": "#/components/responses/Forbidden"
14340
+ }
14341
+ },
14342
+ "security": [
14343
+ {
14344
+ "builderSession": []
14345
+ }
14346
+ ]
14347
+ }
14348
+ },
14349
+ "/market-watch/settings/key": {
14350
+ "put": {
14351
+ "operationId": "put_market_watch_settings_key",
14352
+ "tags": [
14353
+ "market-watch"
14354
+ ],
14355
+ "summary": "PUT /market-watch/settings/key",
14356
+ "description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
14357
+ "x-rank": "metic+archon",
14358
+ "x-source": "modules/market-watch/routes/settings.js",
14359
+ "x-permissions": [
14360
+ "project.settings.manage"
14361
+ ],
14362
+ "requestBody": {
14363
+ "required": true,
14364
+ "content": {
14365
+ "application/json": {
14366
+ "schema": {
14367
+ "$ref": "#/components/schemas/PutMarketWatchSettingsKeyRequest"
14368
+ }
14369
+ }
14370
+ },
14371
+ "x-validated": true
14372
+ },
14373
+ "responses": {
14374
+ "200": {
14375
+ "description": "Success."
14376
+ },
14377
+ "400": {
14378
+ "$ref": "#/components/responses/ValidationFailed"
14379
+ },
14380
+ "401": {
14381
+ "$ref": "#/components/responses/Unauthorized"
14382
+ },
14383
+ "403": {
14384
+ "$ref": "#/components/responses/Forbidden"
14385
+ }
14386
+ },
14387
+ "security": [
14388
+ {
14389
+ "builderSession": []
14390
+ }
14391
+ ]
14392
+ },
14393
+ "delete": {
14394
+ "operationId": "delete_market_watch_settings_key",
14395
+ "tags": [
14396
+ "market-watch"
14397
+ ],
14398
+ "summary": "DELETE /market-watch/settings/key",
14399
+ "description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
14400
+ "x-rank": "metic+archon",
14401
+ "x-source": "modules/market-watch/routes/settings.js",
14402
+ "x-permissions": [
14403
+ "project.settings.manage"
14404
+ ],
14405
+ "responses": {
14406
+ "200": {
14407
+ "description": "Success."
14408
+ },
14409
+ "400": {
14410
+ "$ref": "#/components/responses/BadRequest"
14411
+ },
14412
+ "401": {
14413
+ "$ref": "#/components/responses/Unauthorized"
14414
+ },
14415
+ "403": {
14416
+ "$ref": "#/components/responses/Forbidden"
14417
+ }
14418
+ },
14419
+ "security": [
14420
+ {
14421
+ "builderSession": []
14422
+ }
14423
+ ]
14424
+ }
14425
+ },
14272
14426
  "/me": {
14273
14427
  "get": {
14274
14428
  "operationId": "get_me",
@@ -33196,6 +33350,15 @@
33196
33350
  "idea"
33197
33351
  ]
33198
33352
  },
33353
+ "PatchMarketWatchSettingsRequest": {
33354
+ "type": "object",
33355
+ "properties": {
33356
+ "enabled": {},
33357
+ "monthly_cap_usd": {},
33358
+ "cadence": {}
33359
+ },
33360
+ "additionalProperties": false
33361
+ },
33199
33362
  "PatchMeCoreMoveSeenRequest": {
33200
33363
  "type": "object",
33201
33364
  "properties": {
@@ -40503,6 +40666,19 @@
40503
40666
  },
40504
40667
  "additionalProperties": false
40505
40668
  },
40669
+ "PutMarketWatchSettingsKeyRequest": {
40670
+ "type": "object",
40671
+ "properties": {
40672
+ "key": {
40673
+ "type": "string",
40674
+ "maxLength": 512
40675
+ }
40676
+ },
40677
+ "required": [
40678
+ "key"
40679
+ ],
40680
+ "additionalProperties": false
40681
+ },
40506
40682
  "PutMingleOptInRequest": {
40507
40683
  "type": "object",
40508
40684
  "properties": {
@@ -40804,8 +40980,8 @@
40804
40980
  "description": "A required dependency/feature is not configured or is temporarily down."
40805
40981
  }
40806
40982
  },
40807
- "x-endpoint-count": 643,
40808
- "x-schema-count": 691,
40983
+ "x-endpoint-count": 647,
40984
+ "x-schema-count": 693,
40809
40985
  "x-undocumented-bodies": 12,
40810
40986
  "x-response-schemas": 444,
40811
40987
  "x-generated-by": "scripts/bongos/gen-api-docs.js"
@@ -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. 643 endpoints across 107 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 647 endpoints across 108 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`.
@@ -520,7 +520,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
520
520
  | POST | `/api/bongos/llm-cache/lookup` | `metic+archon` | `cache_key`, `tokens_saved_est` | POST /llm-cache/lookup — hit/miss + atomic hit_count bump. |
521
521
  | POST | `/api/bongos/llm-cache/store` | `metic+archon` | `spec`, `result_stdout`, `result_cost_usd` | POST /llm-cache/store — upsert a freshly-produced result. |
522
522
 
523
- ## `market-watch` (6)
523
+ ## `market-watch` (10)
524
524
 
525
525
  | Method | Path | Rank | Body | Description |
526
526
  |---|---|---|---|---|
@@ -530,6 +530,10 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
530
530
  | POST | `/api/bongos/market-watch/proposals/:id/vote` | `metic+archon` | — | PUT TO A VOTE. |
531
531
  | GET | `/api/bongos/market-watch/rules` | `any-builder` | — | every member reads the rules (the task); the read grants nothing. |
532
532
  | POST | `/api/bongos/market-watch/rules/proposals` | `any-builder` | `step`, `change`, `reason` | Any signed-in member may propose (the task: "every member can read the page and can propose"). |
533
+ | GET | `/api/bongos/market-watch/settings` | `metic+archon` | — | |
534
+ | PATCH | `/api/bongos/market-watch/settings` | `metic+archon` | `enabled`, `monthly_cap_usd`, `cadence` | |
535
+ | PUT | `/api/bongos/market-watch/settings/key` | `metic+archon` | `key` | |
536
+ | DELETE | `/api/bongos/market-watch/settings/key` | `metic+archon` | — | |
533
537
 
534
538
  ## `me` (55)
535
539