@bongos/core 1.19.535 → 1.19.537
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 +63 -33
- 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 +187 -4
- 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 +4 -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/modules/provisioning/provisioning.js +33 -3
- package/modules/provisioning/routes/provisioning.js +15 -1
- package/modules/provisioning/tests/provisioning.mjs +29 -2
- 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/tests/provisioning_module_selection.mjs +114 -5
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.537",
|
|
6
|
+
"core_contract": "1.19.537",
|
|
7
|
+
"source_commit": "171115727a6362835dd549dbed353a8bc817e4ee",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-04T15:20:04.870Z",
|
|
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": "2db763cfb805a63a9dd4a04cacedb717acd4aab6b9a8f3ce795a57f1bc49a0d4",
|
|
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": "8ae264d8c9983ff2841a8309c141b6fb57b395bb4b52894a4b49f58280d8fb1b"
|
|
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": "1b719e47366fff0090cc4f3a18743953191d612e150e59a6c68e5d27c7b71624"
|
|
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",
|
|
@@ -6087,7 +6112,7 @@
|
|
|
6087
6112
|
{
|
|
6088
6113
|
"path": "modules/provisioning/provisioning.js",
|
|
6089
6114
|
"mode": "0000644",
|
|
6090
|
-
"sha256": "
|
|
6115
|
+
"sha256": "b073e5c362797e221f5e0f9ad322ee8e1c3206ea44ed98c527b3c1c7b696879c"
|
|
6091
6116
|
},
|
|
6092
6117
|
{
|
|
6093
6118
|
"path": "modules/provisioning/rate-limit.js",
|
|
@@ -6107,7 +6132,7 @@
|
|
|
6107
6132
|
{
|
|
6108
6133
|
"path": "modules/provisioning/routes/provisioning.js",
|
|
6109
6134
|
"mode": "0000644",
|
|
6110
|
-
"sha256": "
|
|
6135
|
+
"sha256": "f9231eb18211a2586d2ee1919ff817ac5fa14f1ea5ad1906ad5c58437f6238f6"
|
|
6111
6136
|
},
|
|
6112
6137
|
{
|
|
6113
6138
|
"path": "modules/provisioning/starter-bundles.js",
|
|
@@ -6122,7 +6147,7 @@
|
|
|
6122
6147
|
{
|
|
6123
6148
|
"path": "modules/provisioning/tests/provisioning.mjs",
|
|
6124
6149
|
"mode": "0000644",
|
|
6125
|
-
"sha256": "
|
|
6150
|
+
"sha256": "aac930ed566f9b6fb7ec9fa4e240f42025e854369a94f6a8c63aa20b5d1995a8"
|
|
6126
6151
|
},
|
|
6127
6152
|
{
|
|
6128
6153
|
"path": "modules/provisioning/ui/.gitkeep",
|
|
@@ -7367,12 +7392,12 @@
|
|
|
7367
7392
|
{
|
|
7368
7393
|
"path": "package-lock.json",
|
|
7369
7394
|
"mode": "0000644",
|
|
7370
|
-
"sha256": "
|
|
7395
|
+
"sha256": "b52e9fc284a5e725c64604313074cc5b72653d3158a38ed20556a7a79d6649e8"
|
|
7371
7396
|
},
|
|
7372
7397
|
{
|
|
7373
7398
|
"path": "package.json",
|
|
7374
7399
|
"mode": "0000644",
|
|
7375
|
-
"sha256": "
|
|
7400
|
+
"sha256": "a035e8e7a14e9ebce98dada6fd2bad96f3f9f0028707412394714c9edd538b77"
|
|
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": "bbd37b696a4b36e1e5a572719a92e7a187b8653fcf360a658de83c43ef4e8331"
|
|
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",
|
|
@@ -11377,7 +11407,7 @@
|
|
|
11377
11407
|
{
|
|
11378
11408
|
"path": "tests/provisioning_module_selection.mjs",
|
|
11379
11409
|
"mode": "0000644",
|
|
11380
|
-
"sha256": "
|
|
11410
|
+
"sha256": "92db65b8da5b849379bab03e70287239deab8b9a2b2e47b4574f12b8acac013e"
|
|
11381
11411
|
},
|
|
11382
11412
|
{
|
|
11383
11413
|
"path": "tests/provisioning_onboard_mode.mjs",
|
|
@@ -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",
|
|
@@ -11458,7 +11555,7 @@
|
|
|
11458
11555
|
"provisioning"
|
|
11459
11556
|
],
|
|
11460
11557
|
"summary": "PATCH /provisioning/instances/:id/detail",
|
|
11461
|
-
"description": "── The optional project detail (task 1002334, goal 1000046) ────────────── PATCH /provisioning/instances/:id/detail — answer (or re-answer) the wizard's OPTIONAL creation steps after creation. Body: any subset of { description, detail, modules }. rank: any authenticated builder (own resource; archon may change any — same gate as settings). THIS ROUTE IS WHAT MAKES THE STEP SKIPPABLE. Skipping at creation leaves the project dark-matter — off the map and un-joinable (ADR 0182 D4) — and that is a supported default only because there is a way back. Without this route \"optional\" would mean \"permanently unpublishable\", i.e. a dead end, which is precisely what criterion `proj-detail-interview` refuses. Deliberately NOT a settings-apply: nothing here is a policy the running instance obeys, so there is no web.env to patch and no restart to queue. The answers live on the platform row until a catalog row materializes (the provisioning_007 `type` precedent), and R16 (task 1002335) is the surface that reads `description` to compute publishability and name what is still missing. `modules` rides the SAME route for the same reason (BV1.R23, task 1002342, ADR 0245): step 4 of the wizard is skippable exactly as step 3 is, so it needs the same way back, and it lands on the same platform row under the same ownership gate. Only an ARRAY is a change — an omitted or null key leaves the column alone, so the \"never asked\" NULL (ADR 0240 §2) can never be written by a later edit. The always-on core stays unremovable by construction: badModuleSelection refuses its keys and `effectiveModules` re-adds it on read.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
11558
|
+
"description": "── The optional project detail (task 1002334, goal 1000046) ────────────── PATCH /provisioning/instances/:id/detail — answer (or re-answer) the wizard's OPTIONAL creation steps after creation. Body: any subset of { description, detail, modules }. rank: any authenticated builder (own resource; archon may change any — same gate as settings). THIS ROUTE IS WHAT MAKES THE STEP SKIPPABLE. Skipping at creation leaves the project dark-matter — off the map and un-joinable (ADR 0182 D4) — and that is a supported default only because there is a way back. Without this route \"optional\" would mean \"permanently unpublishable\", i.e. a dead end, which is precisely what criterion `proj-detail-interview` refuses. Deliberately NOT a settings-apply: nothing here is a policy the running instance obeys, so there is no web.env to patch and no restart to queue. The answers live on the platform row until a catalog row materializes (the provisioning_007 `type` precedent), and R16 (task 1002335) is the surface that reads `description` to compute publishability and name what is still missing. `modules` rides the SAME route for the same reason (BV1.R23, task 1002342, ADR 0245): step 4 of the wizard is skippable exactly as step 3 is, so it needs the same way back, and it lands on the same platform row under the same ownership gate. Only an ARRAY is a change — an omitted or null key leaves the column alone, so the \"never asked\" NULL (ADR 0240 §2) can never be written by a later edit. The always-on core stays unremovable by construction: badModuleSelection refuses its keys and `effectiveModules` re-adds it on read. AN ANSWER CAN BE TAKEN BACK (task 1003577). `detail` merges, so before this the first `team_shape` an owner sent was permanent — and \"never answered\" is a state `effectiveModules` reads (ADR 0240), not merely the absence of one. Sending `detail: { <key>: null }` UN-ANSWERS that question: the key is dropped from the jsonb, so the row reads back exactly as one that was never asked and the bundle the answer moved moves back. Only null does it — an empty string or any other value is still refused as off-vocabulary, and `detail: {}` still changes nothing, because a form that collected no answers is not asking for any to be erased.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
11462
11559
|
"x-rank": "any-builder",
|
|
11463
11560
|
"x-source": "modules/provisioning/routes/provisioning.js",
|
|
11464
11561
|
"parameters": [
|
|
@@ -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
|
}
|