@bongos/core 1.19.535 → 1.19.536
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.
- package/.bongos-core.json +59 -29
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +8 -0
- package/clients/bongos-client/index.cjs +8 -0
- package/clients/bongos-client/index.d.ts +11 -0
- package/clients/bongos-client/index.mjs +8 -0
- package/docs/api/openapi.json +186 -3
- package/docs/api-reference.md +10 -2
- package/docs/copy-inventory.md +34 -15
- package/docs/copy-registry.json +233 -30
- package/docs/module-api-changelog.md +2 -0
- package/modules/dev-box/app/src/vendor/bongos-client.cjs +8 -0
- package/modules/government/catalog.js +1 -0
- package/modules/government/migrations/government_010_project_settings_manage.sql +58 -0
- package/modules/hall-ui/public/project-settings.css +90 -0
- package/modules/hall-ui/public/project-settings.html +68 -0
- package/modules/hall-ui/public/project-settings.js +249 -0
- package/modules/hall-ui/public/shell.js +3 -0
- package/modules/lifecycle/goal-category.js +82 -0
- package/modules/lifecycle/module.json +2 -1
- package/modules/lifecycle/routes/goals.js +16 -0
- package/modules/lifecycle/routes/project-settings.js +263 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/src/bongos/serve-internal.js +12 -1
- package/src/module-api.js +13 -1
- package/tests/hall_nav.mjs +3 -1
- package/tests/hall_page_gate_map.mjs +4 -0
- package/tests/project_settings_page.mjs +337 -0
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.19.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.536",
|
|
6
|
+
"core_contract": "1.19.536",
|
|
7
|
+
"source_commit": "91d912719b37497561bd71e9aff21b0d07128ce7",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-04T15:11:58.158Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 439,
|
|
13
13
|
"agent_docs_stubbed": 24,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 1995,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 2458,
|
|
20
|
+
"tree_sha256": "d97db0f024e5887d1e765ab22ac86d124015c3a97cf3f44989b82c2d0f1493ac",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -367,12 +367,12 @@
|
|
|
367
367
|
{
|
|
368
368
|
"path": "clients/bongos-client/README.md",
|
|
369
369
|
"mode": "0000644",
|
|
370
|
-
"sha256": "
|
|
370
|
+
"sha256": "b1abf8c13f89ba8fe2ebca540d1a8b22fac0ad293595e51f464e189dfaf1a1ad"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"path": "clients/bongos-client/bongos-client.global.js",
|
|
374
374
|
"mode": "0000644",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "1178634ee16c7b1a83defe0c6ece5754a92901370ce18f114a84d3922f7065ca"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "clients/bongos-client/examples/hello-world.mjs",
|
|
@@ -382,17 +382,17 @@
|
|
|
382
382
|
{
|
|
383
383
|
"path": "clients/bongos-client/index.cjs",
|
|
384
384
|
"mode": "0000644",
|
|
385
|
-
"sha256": "
|
|
385
|
+
"sha256": "be9e267735c41c695157c01fb82efb9219c2f6769febfa46495395d6dcc887ec"
|
|
386
386
|
},
|
|
387
387
|
{
|
|
388
388
|
"path": "clients/bongos-client/index.d.ts",
|
|
389
389
|
"mode": "0000644",
|
|
390
|
-
"sha256": "
|
|
390
|
+
"sha256": "73e1e22f18262eb0cb73edfe58aef773f802bae33b68b9ca2e4430403d03d7c9"
|
|
391
391
|
},
|
|
392
392
|
{
|
|
393
393
|
"path": "clients/bongos-client/index.mjs",
|
|
394
394
|
"mode": "0000644",
|
|
395
|
-
"sha256": "
|
|
395
|
+
"sha256": "f9c26f336f8b7808ed1c07e844191abd0de7bc39657dda5d0363f5d472b6c2c4"
|
|
396
396
|
},
|
|
397
397
|
{
|
|
398
398
|
"path": "clients/bongos-client/package.json",
|
|
@@ -1757,12 +1757,12 @@
|
|
|
1757
1757
|
{
|
|
1758
1758
|
"path": "docs/api-reference.md",
|
|
1759
1759
|
"mode": "0000644",
|
|
1760
|
-
"sha256": "
|
|
1760
|
+
"sha256": "88fb38cb095713380c1c70187816c33c930cf962d9e4641ec4bb740da56ba90b"
|
|
1761
1761
|
},
|
|
1762
1762
|
{
|
|
1763
1763
|
"path": "docs/api/openapi.json",
|
|
1764
1764
|
"mode": "0000644",
|
|
1765
|
-
"sha256": "
|
|
1765
|
+
"sha256": "b2ce137944f23684f4ba805d4bda73ba1ab7477279e2a24fbcd5c068f7a25bad"
|
|
1766
1766
|
},
|
|
1767
1767
|
{
|
|
1768
1768
|
"path": "docs/architecture.md",
|
|
@@ -1787,12 +1787,12 @@
|
|
|
1787
1787
|
{
|
|
1788
1788
|
"path": "docs/copy-inventory.md",
|
|
1789
1789
|
"mode": "0000644",
|
|
1790
|
-
"sha256": "
|
|
1790
|
+
"sha256": "9a1c38c7134017a58f8bcee28ca7b1098a4c654f95908939328fd735e5c26984"
|
|
1791
1791
|
},
|
|
1792
1792
|
{
|
|
1793
1793
|
"path": "docs/copy-registry.json",
|
|
1794
1794
|
"mode": "0000644",
|
|
1795
|
-
"sha256": "
|
|
1795
|
+
"sha256": "ded4329d04fdde729da3e8fdf4af7b59d39223da6343096d815472b8d573f1ef"
|
|
1796
1796
|
},
|
|
1797
1797
|
{
|
|
1798
1798
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -2637,7 +2637,7 @@
|
|
|
2637
2637
|
{
|
|
2638
2638
|
"path": "docs/module-api-changelog.md",
|
|
2639
2639
|
"mode": "0000644",
|
|
2640
|
-
"sha256": "
|
|
2640
|
+
"sha256": "1107b8275d73b7e9e3410a6153bee4107718272c3bc7c2471241ea9f5c076fc0"
|
|
2641
2641
|
},
|
|
2642
2642
|
{
|
|
2643
2643
|
"path": "docs/modules-contract.md",
|
|
@@ -4012,7 +4012,7 @@
|
|
|
4012
4012
|
{
|
|
4013
4013
|
"path": "modules/dev-box/app/src/vendor/bongos-client.cjs",
|
|
4014
4014
|
"mode": "0000644",
|
|
4015
|
-
"sha256": "
|
|
4015
|
+
"sha256": "be9e267735c41c695157c01fb82efb9219c2f6769febfa46495395d6dcc887ec"
|
|
4016
4016
|
},
|
|
4017
4017
|
{
|
|
4018
4018
|
"path": "modules/dev-box/app/test/unit.mjs",
|
|
@@ -4252,7 +4252,7 @@
|
|
|
4252
4252
|
{
|
|
4253
4253
|
"path": "modules/government/catalog.js",
|
|
4254
4254
|
"mode": "0000644",
|
|
4255
|
-
"sha256": "
|
|
4255
|
+
"sha256": "913b7ab33c6785903376b0bf7804d7d8d2db620112b983ae4c0368f33a6b8c0f"
|
|
4256
4256
|
},
|
|
4257
4257
|
{
|
|
4258
4258
|
"path": "modules/government/config.js",
|
|
@@ -4349,6 +4349,11 @@
|
|
|
4349
4349
|
"mode": "0000644",
|
|
4350
4350
|
"sha256": "986be40845d7a5d786d088dc9c0b8d6f9990062299418edb648c246c5a49fb07"
|
|
4351
4351
|
},
|
|
4352
|
+
{
|
|
4353
|
+
"path": "modules/government/migrations/government_010_project_settings_manage.sql",
|
|
4354
|
+
"mode": "0000644",
|
|
4355
|
+
"sha256": "2b729acbc94c933ff2558d59e3cb811e7725450f0d646f9d9bc89209c1340d0f"
|
|
4356
|
+
},
|
|
4352
4357
|
{
|
|
4353
4358
|
"path": "modules/government/module.json",
|
|
4354
4359
|
"mode": "0000644",
|
|
@@ -4999,6 +5004,21 @@
|
|
|
4999
5004
|
"mode": "0000644",
|
|
5000
5005
|
"sha256": "3df74097937e52577f25255a4612b7be93effc491bc32f2f6bc81ddb91b28929"
|
|
5001
5006
|
},
|
|
5007
|
+
{
|
|
5008
|
+
"path": "modules/hall-ui/public/project-settings.css",
|
|
5009
|
+
"mode": "0000644",
|
|
5010
|
+
"sha256": "5015849e7273ecea7a044a133eab54913930b949e20e206a9503a08074fab3fa"
|
|
5011
|
+
},
|
|
5012
|
+
{
|
|
5013
|
+
"path": "modules/hall-ui/public/project-settings.html",
|
|
5014
|
+
"mode": "0000644",
|
|
5015
|
+
"sha256": "d96bd79671787688cbfb58633236b6287a06356767bc53a8b9f96294e2850335"
|
|
5016
|
+
},
|
|
5017
|
+
{
|
|
5018
|
+
"path": "modules/hall-ui/public/project-settings.js",
|
|
5019
|
+
"mode": "0000644",
|
|
5020
|
+
"sha256": "5f042e8ca4059ea3d60440b8887416a29835ebb79ddae08742fc145a6dd4d3b4"
|
|
5021
|
+
},
|
|
5002
5022
|
{
|
|
5003
5023
|
"path": "modules/hall-ui/public/ranks.html",
|
|
5004
5024
|
"mode": "0000644",
|
|
@@ -5112,7 +5132,7 @@
|
|
|
5112
5132
|
{
|
|
5113
5133
|
"path": "modules/hall-ui/public/shell.js",
|
|
5114
5134
|
"mode": "0000644",
|
|
5115
|
-
"sha256": "
|
|
5135
|
+
"sha256": "07cd3fd4ea92c91d4a421dfc9cbded01a7951e06b0b7c42edb8354348401e26e"
|
|
5116
5136
|
},
|
|
5117
5137
|
{
|
|
5118
5138
|
"path": "modules/hall-ui/public/ship.wav",
|
|
@@ -5417,7 +5437,7 @@
|
|
|
5417
5437
|
{
|
|
5418
5438
|
"path": "modules/lifecycle/goal-category.js",
|
|
5419
5439
|
"mode": "0000644",
|
|
5420
|
-
"sha256": "
|
|
5440
|
+
"sha256": "db3c71498cf0c6d8fae8ebab3084104e0d9f4e587472815eec75e48b24727720"
|
|
5421
5441
|
},
|
|
5422
5442
|
{
|
|
5423
5443
|
"path": "modules/lifecycle/goal-conflicts.js",
|
|
@@ -5507,7 +5527,7 @@
|
|
|
5507
5527
|
{
|
|
5508
5528
|
"path": "modules/lifecycle/module.json",
|
|
5509
5529
|
"mode": "0000644",
|
|
5510
|
-
"sha256": "
|
|
5530
|
+
"sha256": "8f2c194dda59deb035eda86014da71bc0dfb27602488297fbe99a1acf002999a"
|
|
5511
5531
|
},
|
|
5512
5532
|
{
|
|
5513
5533
|
"path": "modules/lifecycle/pollers/publish-reconciler.js",
|
|
@@ -5562,7 +5582,7 @@
|
|
|
5562
5582
|
{
|
|
5563
5583
|
"path": "modules/lifecycle/routes/goals.js",
|
|
5564
5584
|
"mode": "0000644",
|
|
5565
|
-
"sha256": "
|
|
5585
|
+
"sha256": "1729e085b7d83b2e4579ada11ab2b51f75a9f92686cc1d48a19f34a839fe5b73"
|
|
5566
5586
|
},
|
|
5567
5587
|
{
|
|
5568
5588
|
"path": "modules/lifecycle/routes/help-requests.js",
|
|
@@ -5584,6 +5604,11 @@
|
|
|
5584
5604
|
"mode": "0000644",
|
|
5585
5605
|
"sha256": "0adbbe794703d0d9fe71b22caee9563b664a510241fc3cfed1c103517ecfaeff"
|
|
5586
5606
|
},
|
|
5607
|
+
{
|
|
5608
|
+
"path": "modules/lifecycle/routes/project-settings.js",
|
|
5609
|
+
"mode": "0000644",
|
|
5610
|
+
"sha256": "5a8271bed02a4e34e10444bf42fc3b43248219797726fe426ceb7bbe5cde01ad"
|
|
5611
|
+
},
|
|
5587
5612
|
{
|
|
5588
5613
|
"path": "modules/lifecycle/routes/recommendations.js",
|
|
5589
5614
|
"mode": "0000644",
|
|
@@ -7367,12 +7392,12 @@
|
|
|
7367
7392
|
{
|
|
7368
7393
|
"path": "package-lock.json",
|
|
7369
7394
|
"mode": "0000644",
|
|
7370
|
-
"sha256": "
|
|
7395
|
+
"sha256": "76834cd1d1173b36db4f414f60b9457e8eeb1682ca54f25f662e29254ea22bd9"
|
|
7371
7396
|
},
|
|
7372
7397
|
{
|
|
7373
7398
|
"path": "package.json",
|
|
7374
7399
|
"mode": "0000644",
|
|
7375
|
-
"sha256": "
|
|
7400
|
+
"sha256": "c1ecc7233b18bd5b058b6af3757d7e2ae3a64fcef67ef6de2d743a72013c8602"
|
|
7376
7401
|
},
|
|
7377
7402
|
{
|
|
7378
7403
|
"path": "public-docs/index.html",
|
|
@@ -9022,7 +9047,7 @@
|
|
|
9022
9047
|
{
|
|
9023
9048
|
"path": "src/bongos/serve-internal.js",
|
|
9024
9049
|
"mode": "0000644",
|
|
9025
|
-
"sha256": "
|
|
9050
|
+
"sha256": "628beaca086bc9f793a342f858ced847a889e205b299cb0269797b61ff5ff382"
|
|
9026
9051
|
},
|
|
9027
9052
|
{
|
|
9028
9053
|
"path": "src/bongos/stealth-gate.js",
|
|
@@ -9057,7 +9082,7 @@
|
|
|
9057
9082
|
{
|
|
9058
9083
|
"path": "src/module-api.js",
|
|
9059
9084
|
"mode": "0000644",
|
|
9060
|
-
"sha256": "
|
|
9085
|
+
"sha256": "aff15cb73c3ed3851d94ded69d4a75f9cf1e38dbe28146e51d6cd25c320f630e"
|
|
9061
9086
|
},
|
|
9062
9087
|
{
|
|
9063
9088
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10492,7 +10517,7 @@
|
|
|
10492
10517
|
{
|
|
10493
10518
|
"path": "tests/hall_nav.mjs",
|
|
10494
10519
|
"mode": "0000644",
|
|
10495
|
-
"sha256": "
|
|
10520
|
+
"sha256": "08b0c9585aca63a52e7c89abc630392b80faf8b053fba24d1796771d253bf26a"
|
|
10496
10521
|
},
|
|
10497
10522
|
{
|
|
10498
10523
|
"path": "tests/hall_oversight_world.mjs",
|
|
@@ -10502,7 +10527,7 @@
|
|
|
10502
10527
|
{
|
|
10503
10528
|
"path": "tests/hall_page_gate_map.mjs",
|
|
10504
10529
|
"mode": "0000644",
|
|
10505
|
-
"sha256": "
|
|
10530
|
+
"sha256": "eb8026d8001595c11eaf52880f4a46cba00f4eea4fbe2c1ceb16fe977f5e33e9"
|
|
10506
10531
|
},
|
|
10507
10532
|
{
|
|
10508
10533
|
"path": "tests/hall_palette.mjs",
|
|
@@ -11304,6 +11329,11 @@
|
|
|
11304
11329
|
"mode": "0000644",
|
|
11305
11330
|
"sha256": "e728a4c1d13ea3a54910d0a706522a780db138783202a09f300900b8c661ae2e"
|
|
11306
11331
|
},
|
|
11332
|
+
{
|
|
11333
|
+
"path": "tests/project_settings_page.mjs",
|
|
11334
|
+
"mode": "0000644",
|
|
11335
|
+
"sha256": "7fbee4c75fe95ba9c49ace4b492c2fb0a8a6c964da6ce84251e7daa27b974611"
|
|
11336
|
+
},
|
|
11307
11337
|
{
|
|
11308
11338
|
"path": "tests/project_stats.mjs",
|
|
11309
11339
|
"mode": "0000644",
|
|
@@ -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
|
-
-
|
|
8
|
+
- 355 operations across 55 resource groups
|
|
9
9
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
@@ -634,6 +634,12 @@ function createClient(opts = {}) {
|
|
|
634
634
|
// GET /profiles/{handle} — rank: public — GET /profiles/:handle
|
|
635
635
|
getProfilesHandle: (args) => request("GET", "/profiles/{handle}", { hasBody: false }, args),
|
|
636
636
|
},
|
|
637
|
+
"projectSettings": {
|
|
638
|
+
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
639
|
+
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
640
|
+
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
641
|
+
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
642
|
+
},
|
|
637
643
|
"projects": {
|
|
638
644
|
// GET /projects — rank: metic+archon — GET /projects
|
|
639
645
|
getProjects: (args) => request("GET", "/projects", { hasBody: false }, args),
|
|
@@ -895,6 +901,8 @@ function createClient(opts = {}) {
|
|
|
895
901
|
getWorkCategories: (args) => request("GET", "/work-categories", { hasBody: false }, args),
|
|
896
902
|
// POST /work-categories — rank: metic+archon — POST /work-categories
|
|
897
903
|
postWorkCategories: (args) => request("POST", "/work-categories", { hasBody: true }, args),
|
|
904
|
+
// PATCH /work-categories/{id} — rank: metic+archon — PATCH /work-categories/:id
|
|
905
|
+
patchWorkCategoriesId: (args) => request("PATCH", "/work-categories/{id}", { hasBody: true }, args),
|
|
898
906
|
},
|
|
899
907
|
};
|
|
900
908
|
}
|
|
@@ -633,6 +633,12 @@ function createClient(opts = {}) {
|
|
|
633
633
|
// GET /profiles/{handle} — rank: public — GET /profiles/:handle
|
|
634
634
|
getProfilesHandle: (args) => request("GET", "/profiles/{handle}", { hasBody: false }, args),
|
|
635
635
|
},
|
|
636
|
+
"projectSettings": {
|
|
637
|
+
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
638
|
+
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
639
|
+
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
640
|
+
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
641
|
+
},
|
|
636
642
|
"projects": {
|
|
637
643
|
// GET /projects — rank: metic+archon — GET /projects
|
|
638
644
|
getProjects: (args) => request("GET", "/projects", { hasBody: false }, args),
|
|
@@ -894,6 +900,8 @@ function createClient(opts = {}) {
|
|
|
894
900
|
getWorkCategories: (args) => request("GET", "/work-categories", { hasBody: false }, args),
|
|
895
901
|
// POST /work-categories — rank: metic+archon — POST /work-categories
|
|
896
902
|
postWorkCategories: (args) => request("POST", "/work-categories", { hasBody: true }, args),
|
|
903
|
+
// PATCH /work-categories/{id} — rank: metic+archon — PATCH /work-categories/:id
|
|
904
|
+
patchWorkCategoriesId: (args) => request("PATCH", "/work-categories/{id}", { hasBody: true }, args),
|
|
897
905
|
},
|
|
898
906
|
};
|
|
899
907
|
}
|
|
@@ -89,6 +89,7 @@ export interface GetMyProjectsInvitesResponse { invites: unknown }
|
|
|
89
89
|
export interface GetMyProjectsResponse { owned: unknown; building: unknown; applied: unknown }
|
|
90
90
|
export interface GetOverrideRequestsResponse { requests: unknown }
|
|
91
91
|
export interface GetProfilesHandleResponse { account: unknown; cross_project: unknown }
|
|
92
|
+
export interface GetProjectSettingsResponse { rows: unknown }
|
|
92
93
|
export interface GetProjectsFeaturedResponse { projects: unknown }
|
|
93
94
|
export interface GetProjectsResponse { projects: unknown }
|
|
94
95
|
export interface GetProvisioningFleetResponse { instances: unknown }
|
|
@@ -169,6 +170,8 @@ export interface PatchMeProfileRequest { display_name?: unknown; bio?: unknown;
|
|
|
169
170
|
export interface PatchMeProfileResponse { display_name: unknown; bio: unknown; links: unknown }
|
|
170
171
|
export interface PatchMeSkillPrefsResponse { prefs: unknown; effective: unknown; defaults: unknown; known_skills: unknown; allowed_models: unknown }
|
|
171
172
|
export interface PatchMeSoundPrefsResponse { prefs: unknown; effective: unknown; effective_map: unknown; volume: unknown; defaults: unknown; known_sounds: unknown }
|
|
173
|
+
export interface PatchProjectSettingsRotDaysRequest { days: number }
|
|
174
|
+
export interface PatchProjectSettingsRotDaysResponse { ok: boolean; rot_days: unknown; source: unknown; describe: unknown }
|
|
172
175
|
export interface PatchProjectsIdFeaturedRequest { featured: boolean }
|
|
173
176
|
export interface PatchProjectsIdFeaturedResponse { project: unknown }
|
|
174
177
|
export interface PatchProvisioningInstancesIdDetailRequest { description?: string; detail?: Record<string, unknown>; modules?: string[] }
|
|
@@ -954,6 +957,12 @@ export interface BongosClient {
|
|
|
954
957
|
/** GET /profiles/{handle} — rank: public */
|
|
955
958
|
getProfilesHandle(args?: RequestArgs): Promise<GetProfilesHandleResponse>;
|
|
956
959
|
};
|
|
960
|
+
"projectSettings": {
|
|
961
|
+
/** GET /project-settings — rank: metic+archon */
|
|
962
|
+
getProjectSettings(args?: RequestArgs): Promise<GetProjectSettingsResponse>;
|
|
963
|
+
/** PATCH /project-settings/rot-days — rank: metic+archon */
|
|
964
|
+
patchProjectSettingsRotDays(args: RequestArgs & { body: PatchProjectSettingsRotDaysRequest }): Promise<PatchProjectSettingsRotDaysResponse>;
|
|
965
|
+
};
|
|
957
966
|
"projects": {
|
|
958
967
|
/** GET /projects — rank: metic+archon */
|
|
959
968
|
getProjects(args?: RequestArgs): Promise<GetProjectsResponse>;
|
|
@@ -1215,6 +1224,8 @@ export interface BongosClient {
|
|
|
1215
1224
|
getWorkCategories(args?: RequestArgs): Promise<ApiResponse>;
|
|
1216
1225
|
/** POST /work-categories — rank: metic+archon */
|
|
1217
1226
|
postWorkCategories(args?: RequestArgs): Promise<ApiResponse>;
|
|
1227
|
+
/** PATCH /work-categories/{id} — rank: metic+archon */
|
|
1228
|
+
patchWorkCategoriesId(args?: RequestArgs): Promise<ApiResponse>;
|
|
1218
1229
|
};
|
|
1219
1230
|
}
|
|
1220
1231
|
export declare function createClient(opts?: ClientOptions): BongosClient;
|
|
@@ -630,6 +630,12 @@ export function createClient(opts = {}) {
|
|
|
630
630
|
// GET /profiles/{handle} — rank: public — GET /profiles/:handle
|
|
631
631
|
getProfilesHandle: (args) => request("GET", "/profiles/{handle}", { hasBody: false }, args),
|
|
632
632
|
},
|
|
633
|
+
"projectSettings": {
|
|
634
|
+
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
635
|
+
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
636
|
+
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
637
|
+
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
638
|
+
},
|
|
633
639
|
"projects": {
|
|
634
640
|
// GET /projects — rank: metic+archon — GET /projects
|
|
635
641
|
getProjects: (args) => request("GET", "/projects", { hasBody: false }, args),
|
|
@@ -891,6 +897,8 @@ export function createClient(opts = {}) {
|
|
|
891
897
|
getWorkCategories: (args) => request("GET", "/work-categories", { hasBody: false }, args),
|
|
892
898
|
// POST /work-categories — rank: metic+archon — POST /work-categories
|
|
893
899
|
postWorkCategories: (args) => request("POST", "/work-categories", { hasBody: true }, args),
|
|
900
|
+
// PATCH /work-categories/{id} — rank: metic+archon — PATCH /work-categories/:id
|
|
901
|
+
patchWorkCategoriesId: (args) => request("PATCH", "/work-categories/{id}", { hasBody: true }, args),
|
|
894
902
|
},
|
|
895
903
|
};
|
|
896
904
|
}
|
package/docs/api/openapi.json
CHANGED
|
@@ -181,6 +181,10 @@
|
|
|
181
181
|
"name": "profiles",
|
|
182
182
|
"description": "Endpoints under `/api/bongos/profiles`."
|
|
183
183
|
},
|
|
184
|
+
{
|
|
185
|
+
"name": "project-settings",
|
|
186
|
+
"description": "Endpoints under `/api/bongos/project-settings`."
|
|
187
|
+
},
|
|
184
188
|
{
|
|
185
189
|
"name": "projects",
|
|
186
190
|
"description": "Endpoints under `/api/bongos/projects`."
|
|
@@ -10939,6 +10943,99 @@
|
|
|
10939
10943
|
"security": []
|
|
10940
10944
|
}
|
|
10941
10945
|
},
|
|
10946
|
+
"/project-settings": {
|
|
10947
|
+
"get": {
|
|
10948
|
+
"operationId": "get_project_settings",
|
|
10949
|
+
"tags": [
|
|
10950
|
+
"project-settings"
|
|
10951
|
+
],
|
|
10952
|
+
"summary": "GET /project-settings",
|
|
10953
|
+
"description": "GET /project-settings — all five rows in ONE read. rank: project.settings.manage (metic+, government_010), the SAME floor as the page it serves (requireGovernmentPage). The first cut gated this any-builder on the reasoning that it is \"the project's own published terms\" — but the payload also carries reward-policy internals (marginPct, usdPeg, mode), a raw rejected project_settings value, and internal file/migration paths, and a xenos who cannot even load the page could still curl those. Matching the read floor to the page's (task 1003280 grade, hacker lens) closes that asymmetry; the two WRITES already gate on this same atom, so the whole surface is now one floor. One read, not five: the page draws five rows, so it asks for five rows. Fetching per-row would put the hall's own settings page in the shape goal 1000072's criterion names (hall-ui/CLAUDE.md, \"a card asks the server for the rows it draws\").\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
10954
|
+
"x-rank": "metic+archon",
|
|
10955
|
+
"x-source": "modules/lifecycle/routes/project-settings.js",
|
|
10956
|
+
"x-permissions": [
|
|
10957
|
+
"project.settings.manage"
|
|
10958
|
+
],
|
|
10959
|
+
"responses": {
|
|
10960
|
+
"200": {
|
|
10961
|
+
"description": "Success.",
|
|
10962
|
+
"content": {
|
|
10963
|
+
"application/json": {
|
|
10964
|
+
"schema": {
|
|
10965
|
+
"$ref": "#/components/schemas/GetProjectSettingsResponse"
|
|
10966
|
+
}
|
|
10967
|
+
}
|
|
10968
|
+
}
|
|
10969
|
+
},
|
|
10970
|
+
"400": {
|
|
10971
|
+
"$ref": "#/components/responses/BadRequest"
|
|
10972
|
+
},
|
|
10973
|
+
"401": {
|
|
10974
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
10975
|
+
},
|
|
10976
|
+
"403": {
|
|
10977
|
+
"$ref": "#/components/responses/Forbidden"
|
|
10978
|
+
}
|
|
10979
|
+
},
|
|
10980
|
+
"security": [
|
|
10981
|
+
{
|
|
10982
|
+
"builderSession": []
|
|
10983
|
+
}
|
|
10984
|
+
]
|
|
10985
|
+
}
|
|
10986
|
+
},
|
|
10987
|
+
"/project-settings/rot-days": {
|
|
10988
|
+
"patch": {
|
|
10989
|
+
"operationId": "patch_project_settings_rot_days",
|
|
10990
|
+
"tags": [
|
|
10991
|
+
"project-settings"
|
|
10992
|
+
],
|
|
10993
|
+
"summary": "PATCH /project-settings/rot-days",
|
|
10994
|
+
"description": "PATCH /project-settings/rot-days — body { days }. The one number this page writes. rank: project.settings.manage (metic+, government_010). Validated HERE against the resolver's own parser rather than a re-typed range, so the page and the reader of the value can never disagree about what is acceptable — the second copy of \"1..365\" would be the drift this file exists to prevent. rank: project.settings.manage (metic+, granted by government_010). THE ATOM IS A STRING LITERAL, not a named constant, and that is load-bearing: the route-rank auditor (src/bongos/route-rank-check.js) reads this file statically and pulls the atom out of `requirePermission(...)` with a QUOTED-STRING match. A `requirePermission(SETTINGS_ATOM)` therefore resolves to an EMPTY gate — rank 'unknown' — which is a hard ADR 0016 build failure, and the generated OpenAPI would have carried no `x-permissions` either. This route was written with a constant first and fitness.js caught it; that is why every gated route in the tree spells its atom inline. (Wrapping the middleware list across lines is fine — the sibling PATCH /work-categories/:id does exactly that and still classifies metic+archon.)\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
10995
|
+
"x-rank": "metic+archon",
|
|
10996
|
+
"x-source": "modules/lifecycle/routes/project-settings.js",
|
|
10997
|
+
"x-permissions": [
|
|
10998
|
+
"project.settings.manage"
|
|
10999
|
+
],
|
|
11000
|
+
"requestBody": {
|
|
11001
|
+
"required": true,
|
|
11002
|
+
"content": {
|
|
11003
|
+
"application/json": {
|
|
11004
|
+
"schema": {
|
|
11005
|
+
"$ref": "#/components/schemas/PatchProjectSettingsRotDaysRequest"
|
|
11006
|
+
}
|
|
11007
|
+
}
|
|
11008
|
+
},
|
|
11009
|
+
"x-validated": true
|
|
11010
|
+
},
|
|
11011
|
+
"responses": {
|
|
11012
|
+
"200": {
|
|
11013
|
+
"description": "Success.",
|
|
11014
|
+
"content": {
|
|
11015
|
+
"application/json": {
|
|
11016
|
+
"schema": {
|
|
11017
|
+
"$ref": "#/components/schemas/PatchProjectSettingsRotDaysResponse"
|
|
11018
|
+
}
|
|
11019
|
+
}
|
|
11020
|
+
}
|
|
11021
|
+
},
|
|
11022
|
+
"400": {
|
|
11023
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
11024
|
+
},
|
|
11025
|
+
"401": {
|
|
11026
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
11027
|
+
},
|
|
11028
|
+
"403": {
|
|
11029
|
+
"$ref": "#/components/responses/Forbidden"
|
|
11030
|
+
}
|
|
11031
|
+
},
|
|
11032
|
+
"security": [
|
|
11033
|
+
{
|
|
11034
|
+
"builderSession": []
|
|
11035
|
+
}
|
|
11036
|
+
]
|
|
11037
|
+
}
|
|
11038
|
+
},
|
|
10942
11039
|
"/projects": {
|
|
10943
11040
|
"get": {
|
|
10944
11041
|
"operationId": "get_projects",
|
|
@@ -16012,6 +16109,54 @@
|
|
|
16012
16109
|
}
|
|
16013
16110
|
]
|
|
16014
16111
|
}
|
|
16112
|
+
},
|
|
16113
|
+
"/work-categories/{id}": {
|
|
16114
|
+
"patch": {
|
|
16115
|
+
"operationId": "patch_work_categories_id",
|
|
16116
|
+
"tags": [
|
|
16117
|
+
"work-categories"
|
|
16118
|
+
],
|
|
16119
|
+
"summary": "PATCH /work-categories/:id",
|
|
16120
|
+
"description": "PATCH /work-categories/:id — body { label?, sort_order?, active? }: rename a category, move it in the order, or stop offering it. The set has been list+add only since core_226 even though the table carries both columns, so a project could grow its vocabulary and never tidy it (task 1003280). rank: project.settings.manage (metic+, government_010) — the SHAPE of the set, one tier up from POST's goal.create, because reordering and deactivating affect what every future author is offered rather than adding one label to the tail. The slug is deliberately NOT patchable: it is the stable key goal prose and the /goal-create prompt refer to. Deactivating never deletes — goals already carrying a retired category keep a resolvable label.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
16121
|
+
"x-rank": "metic+archon",
|
|
16122
|
+
"x-source": "modules/lifecycle/routes/goals.js",
|
|
16123
|
+
"x-permissions": [
|
|
16124
|
+
"project.settings.manage"
|
|
16125
|
+
],
|
|
16126
|
+
"parameters": [
|
|
16127
|
+
{
|
|
16128
|
+
"name": "id",
|
|
16129
|
+
"in": "path",
|
|
16130
|
+
"required": true,
|
|
16131
|
+
"schema": {
|
|
16132
|
+
"type": "string"
|
|
16133
|
+
},
|
|
16134
|
+
"description": "Path parameter `id`."
|
|
16135
|
+
}
|
|
16136
|
+
],
|
|
16137
|
+
"responses": {
|
|
16138
|
+
"200": {
|
|
16139
|
+
"description": "Success."
|
|
16140
|
+
},
|
|
16141
|
+
"400": {
|
|
16142
|
+
"$ref": "#/components/responses/BadRequest"
|
|
16143
|
+
},
|
|
16144
|
+
"401": {
|
|
16145
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
16146
|
+
},
|
|
16147
|
+
"403": {
|
|
16148
|
+
"$ref": "#/components/responses/Forbidden"
|
|
16149
|
+
},
|
|
16150
|
+
"404": {
|
|
16151
|
+
"$ref": "#/components/responses/NotFound"
|
|
16152
|
+
}
|
|
16153
|
+
},
|
|
16154
|
+
"security": [
|
|
16155
|
+
{
|
|
16156
|
+
"builderSession": []
|
|
16157
|
+
}
|
|
16158
|
+
]
|
|
16159
|
+
}
|
|
16015
16160
|
}
|
|
16016
16161
|
},
|
|
16017
16162
|
"components": {
|
|
@@ -17176,6 +17321,15 @@
|
|
|
17176
17321
|
"cross_project"
|
|
17177
17322
|
]
|
|
17178
17323
|
},
|
|
17324
|
+
"GetProjectSettingsResponse": {
|
|
17325
|
+
"type": "object",
|
|
17326
|
+
"properties": {
|
|
17327
|
+
"rows": {}
|
|
17328
|
+
},
|
|
17329
|
+
"required": [
|
|
17330
|
+
"rows"
|
|
17331
|
+
]
|
|
17332
|
+
},
|
|
17179
17333
|
"GetProjectsFeaturedResponse": {
|
|
17180
17334
|
"type": "object",
|
|
17181
17335
|
"properties": {
|
|
@@ -18208,6 +18362,35 @@
|
|
|
18208
18362
|
"known_sounds"
|
|
18209
18363
|
]
|
|
18210
18364
|
},
|
|
18365
|
+
"PatchProjectSettingsRotDaysRequest": {
|
|
18366
|
+
"type": "object",
|
|
18367
|
+
"properties": {
|
|
18368
|
+
"days": {
|
|
18369
|
+
"type": "number"
|
|
18370
|
+
}
|
|
18371
|
+
},
|
|
18372
|
+
"required": [
|
|
18373
|
+
"days"
|
|
18374
|
+
],
|
|
18375
|
+
"additionalProperties": false
|
|
18376
|
+
},
|
|
18377
|
+
"PatchProjectSettingsRotDaysResponse": {
|
|
18378
|
+
"type": "object",
|
|
18379
|
+
"properties": {
|
|
18380
|
+
"ok": {
|
|
18381
|
+
"type": "boolean"
|
|
18382
|
+
},
|
|
18383
|
+
"rot_days": {},
|
|
18384
|
+
"source": {},
|
|
18385
|
+
"describe": {}
|
|
18386
|
+
},
|
|
18387
|
+
"required": [
|
|
18388
|
+
"ok",
|
|
18389
|
+
"rot_days",
|
|
18390
|
+
"source",
|
|
18391
|
+
"describe"
|
|
18392
|
+
]
|
|
18393
|
+
},
|
|
18211
18394
|
"PatchProjectsIdFeaturedRequest": {
|
|
18212
18395
|
"type": "object",
|
|
18213
18396
|
"properties": {
|
|
@@ -22201,9 +22384,9 @@
|
|
|
22201
22384
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
22202
22385
|
}
|
|
22203
22386
|
},
|
|
22204
|
-
"x-endpoint-count":
|
|
22205
|
-
"x-schema-count":
|
|
22387
|
+
"x-endpoint-count": 355,
|
|
22388
|
+
"x-schema-count": 390,
|
|
22206
22389
|
"x-undocumented-bodies": 9,
|
|
22207
|
-
"x-response-schemas":
|
|
22390
|
+
"x-response-schemas": 265,
|
|
22208
22391
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
22209
22392
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -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.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 355 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`.
|
|
@@ -442,6 +442,13 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
442
442
|
|---|---|---|---|---|
|
|
443
443
|
| GET | `/api/bongos/profiles/:handle` | `public` | — | a handle-addressed public profile. |
|
|
444
444
|
|
|
445
|
+
## `project-settings` (2)
|
|
446
|
+
|
|
447
|
+
| Method | Path | Rank | Body | Description |
|
|
448
|
+
|---|---|---|---|---|
|
|
449
|
+
| GET | `/api/bongos/project-settings` | `metic+archon` | — | GET /project-settings — all five rows in ONE read. |
|
|
450
|
+
| PATCH | `/api/bongos/project-settings/rot-days` | `metic+archon` | `days` | PATCH /project-settings/rot-days — body { days }. |
|
|
451
|
+
|
|
445
452
|
## `projects` (5)
|
|
446
453
|
|
|
447
454
|
| Method | Path | Rank | Body | Description |
|
|
@@ -622,12 +629,13 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
622
629
|
| GET | `/api/bongos/versions/close-suggestions` | `public` | — | Close-flow gate suggestions for every version still 'building'. |
|
|
623
630
|
| GET | `/api/bongos/versions/progress` | `public` | — | read-only progress aggregate; mirrors /public/progress. |
|
|
624
631
|
|
|
625
|
-
## `work-categories` (
|
|
632
|
+
## `work-categories` (3)
|
|
626
633
|
|
|
627
634
|
| Method | Path | Rank | Body | Description |
|
|
628
635
|
|---|---|---|---|---|
|
|
629
636
|
| GET | `/api/bongos/work-categories` | `any-builder` | — | ---- the ADVISORY human category (task 1003275, criterion legibility-categories) ---- A category ORIENTS a person and steers Claude; it a… |
|
|
630
637
|
| POST | `/api/bongos/work-categories` | `metic+archon` | — | POST /work-categories — the endpoint the "Claude could not place this goal" prompt writes into. |
|
|
638
|
+
| PATCH | `/api/bongos/work-categories/:id` | `metic+archon` | — | PATCH /work-categories/:id — body { label?, sort_order?, active? }: rename a category, move it in the order, or stop offering it. |
|
|
631
639
|
|
|
632
640
|
---
|
|
633
641
|
|