@bongos/core 1.19.1042 → 1.19.1044
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 +64 -39
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +4 -0
- package/clients/bongos-client/index.cjs +4 -0
- package/clients/bongos-client/index.d.ts +5 -0
- package/clients/bongos-client/index.mjs +4 -0
- package/docs/api/openapi.json +129 -3
- package/docs/api-reference.md +5 -3
- package/docs/copy-inventory.md +38 -38
- package/docs/copy-registry.json +41 -41
- package/docs/file-map.md +1 -1
- package/docs/module-api-changelog.md +4 -0
- package/docs/modules-contract.md +4 -1
- package/migrations/core_256_blocker_unlink_releases_task.sql +84 -0
- package/modules/hall-ui/public/style.css +4 -0
- package/modules/hall-ui/public/task.css +6 -0
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/task.js +17 -0
- package/modules/hall-ui/records/record-family.md +2 -0
- package/modules/ideas/blockers.js +60 -0
- package/modules/ideas/routes/blockers.js +41 -0
- package/modules/npm-release/module.json +8 -2
- package/modules/npm-release/public/task-widget.js +79 -0
- package/modules/npm-release/routes/task-where.js +48 -0
- package/modules/npm-release/work.js +70 -9
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/gds/exec-path-guard.js +1 -1
- package/scripts/gds/seam-wiring-guard.js +4 -2
- package/scripts/hall-preview/server.js +14 -1
- package/src/bongos/serve-internal.js +18 -4
- package/src/module-api.js +1 -1
- package/src/module-loader/loader.js +13 -3
- package/tests/blocker_unlink.mjs +251 -0
- package/tests/hall_record_world.mjs +23 -1
- package/tests/module_loader.mjs +27 -0
- package/tests/npm_release_where.mjs +323 -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.1044",
|
|
6
|
+
"core_contract": "1.19.1044",
|
|
7
|
+
"source_commit": "34b337286c8c548570070f55a237ae07ff128c22",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-09-
|
|
9
|
+
"built_at": "2026-09-26T17:54:25.223Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 543,
|
|
13
13
|
"agent_docs_stubbed": 26,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2515,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 3085,
|
|
20
|
+
"tree_sha256": "9e1fcf88474d43f87fc0192c0deed9eedbb6ba08ac68bcb3d432e3acdc7ee237",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -352,12 +352,12 @@
|
|
|
352
352
|
{
|
|
353
353
|
"path": "clients/bongos-client/README.md",
|
|
354
354
|
"mode": "0000644",
|
|
355
|
-
"sha256": "
|
|
355
|
+
"sha256": "1a52f7ad05de6ca7410e4899cfecba6821ead741bc437afcfdf9904baf2cb403"
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
"path": "clients/bongos-client/bongos-client.global.js",
|
|
359
359
|
"mode": "0000644",
|
|
360
|
-
"sha256": "
|
|
360
|
+
"sha256": "7bbce7057aaad2ee184924e3f5cee7c7a543785c6f54a20bee82997b7825d27f"
|
|
361
361
|
},
|
|
362
362
|
{
|
|
363
363
|
"path": "clients/bongos-client/examples/hello-world.mjs",
|
|
@@ -367,17 +367,17 @@
|
|
|
367
367
|
{
|
|
368
368
|
"path": "clients/bongos-client/index.cjs",
|
|
369
369
|
"mode": "0000644",
|
|
370
|
-
"sha256": "
|
|
370
|
+
"sha256": "685b1eb0d4fac786d931b5cb97523c26cf3ff4f2b5da23dbf3460e16f65cddee"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"path": "clients/bongos-client/index.d.ts",
|
|
374
374
|
"mode": "0000644",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "a5b32997f5d8f8c2415e194a05c208c40efde8a9a0277fa08468cbde35aeebef"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "clients/bongos-client/index.mjs",
|
|
379
379
|
"mode": "0000644",
|
|
380
|
-
"sha256": "
|
|
380
|
+
"sha256": "e6ebb2574a13931d3777d27d45c620dd36e02b0bd9efd1d4b1d5cf7051f60990"
|
|
381
381
|
},
|
|
382
382
|
{
|
|
383
383
|
"path": "clients/bongos-client/package.json",
|
|
@@ -2207,12 +2207,12 @@
|
|
|
2207
2207
|
{
|
|
2208
2208
|
"path": "docs/api-reference.md",
|
|
2209
2209
|
"mode": "0000644",
|
|
2210
|
-
"sha256": "
|
|
2210
|
+
"sha256": "2830b600af9e930611ede0897e0da0678e92815288377254c2e29c3bb7f9ac97"
|
|
2211
2211
|
},
|
|
2212
2212
|
{
|
|
2213
2213
|
"path": "docs/api/openapi.json",
|
|
2214
2214
|
"mode": "0000644",
|
|
2215
|
-
"sha256": "
|
|
2215
|
+
"sha256": "d2512a57a976e3947fef2bbaeb441dd8077ad04d11168524fb64127b34da338e"
|
|
2216
2216
|
},
|
|
2217
2217
|
{
|
|
2218
2218
|
"path": "docs/architecture.md",
|
|
@@ -2237,12 +2237,12 @@
|
|
|
2237
2237
|
{
|
|
2238
2238
|
"path": "docs/copy-inventory.md",
|
|
2239
2239
|
"mode": "0000644",
|
|
2240
|
-
"sha256": "
|
|
2240
|
+
"sha256": "a6536844e71c39df8416385a4ee9acc26c30acf9c1d38da59dd31693978c1f91"
|
|
2241
2241
|
},
|
|
2242
2242
|
{
|
|
2243
2243
|
"path": "docs/copy-registry.json",
|
|
2244
2244
|
"mode": "0000644",
|
|
2245
|
-
"sha256": "
|
|
2245
|
+
"sha256": "2ed62b3b00838e6bc9d52575548dcc4b8a37a152de82130a65fdc046572e6e0d"
|
|
2246
2246
|
},
|
|
2247
2247
|
{
|
|
2248
2248
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -2762,7 +2762,7 @@
|
|
|
2762
2762
|
{
|
|
2763
2763
|
"path": "docs/file-map.md",
|
|
2764
2764
|
"mode": "0000644",
|
|
2765
|
-
"sha256": "
|
|
2765
|
+
"sha256": "35db6278668334aee92e4ecbd53a97ee7959a5c87f790c36cbdb28cfe68f439a"
|
|
2766
2766
|
},
|
|
2767
2767
|
{
|
|
2768
2768
|
"path": "docs/handoff-template.md",
|
|
@@ -2772,12 +2772,12 @@
|
|
|
2772
2772
|
{
|
|
2773
2773
|
"path": "docs/module-api-changelog.md",
|
|
2774
2774
|
"mode": "0000644",
|
|
2775
|
-
"sha256": "
|
|
2775
|
+
"sha256": "376bff3138af4e48742c5f3a4a89e4fb2f34d55a1a0ce1cbe26544d807b24317"
|
|
2776
2776
|
},
|
|
2777
2777
|
{
|
|
2778
2778
|
"path": "docs/modules-contract.md",
|
|
2779
2779
|
"mode": "0000644",
|
|
2780
|
-
"sha256": "
|
|
2780
|
+
"sha256": "f76d23b2492d65418d6ee9284b7220795d211e7d7cf7968e870e3b4e09f9d1be"
|
|
2781
2781
|
},
|
|
2782
2782
|
{
|
|
2783
2783
|
"path": "docs/onboarding/browser-terminal-guide.md",
|
|
@@ -3904,6 +3904,11 @@
|
|
|
3904
3904
|
"mode": "0000644",
|
|
3905
3905
|
"sha256": "14924b5db9c9620e17a4cd5baa4c7821aa97db3d11711831faeb45fbfb035213"
|
|
3906
3906
|
},
|
|
3907
|
+
{
|
|
3908
|
+
"path": "migrations/core_256_blocker_unlink_releases_task.sql",
|
|
3909
|
+
"mode": "0000644",
|
|
3910
|
+
"sha256": "a201e803f55458a1224bee5a48a88d311f663bcca2c5b8939e422f3ec90e4929"
|
|
3911
|
+
},
|
|
3907
3912
|
{
|
|
3908
3913
|
"path": "modules/agents/CLAUDE.md",
|
|
3909
3914
|
"mode": "0000644",
|
|
@@ -5532,7 +5537,7 @@
|
|
|
5532
5537
|
{
|
|
5533
5538
|
"path": "modules/hall-ui/public/style.css",
|
|
5534
5539
|
"mode": "0000644",
|
|
5535
|
-
"sha256": "
|
|
5540
|
+
"sha256": "ef373d4adfb24bd0742a69245e31e2a2f916cf824dab89fd59d754cfdf70add8"
|
|
5536
5541
|
},
|
|
5537
5542
|
{
|
|
5538
5543
|
"path": "modules/hall-ui/public/task-detail.js",
|
|
@@ -5547,17 +5552,17 @@
|
|
|
5547
5552
|
{
|
|
5548
5553
|
"path": "modules/hall-ui/public/task.css",
|
|
5549
5554
|
"mode": "0000644",
|
|
5550
|
-
"sha256": "
|
|
5555
|
+
"sha256": "b1671e5e5789f36ac787e854e48e9b2c2bf4ef1abef7a9816f044241d6ba0c06"
|
|
5551
5556
|
},
|
|
5552
5557
|
{
|
|
5553
5558
|
"path": "modules/hall-ui/public/task.html",
|
|
5554
5559
|
"mode": "0000644",
|
|
5555
|
-
"sha256": "
|
|
5560
|
+
"sha256": "0d5255b9148412b9ce33c9e1acc594537120e3ca874f93f6186931bceeb52993"
|
|
5556
5561
|
},
|
|
5557
5562
|
{
|
|
5558
5563
|
"path": "modules/hall-ui/public/task.js",
|
|
5559
5564
|
"mode": "0000644",
|
|
5560
|
-
"sha256": "
|
|
5565
|
+
"sha256": "2b393fed95b8cbd8546447b34a218adc53e9bd3682ef6bb5ea724702dac9ea8b"
|
|
5561
5566
|
},
|
|
5562
5567
|
{
|
|
5563
5568
|
"path": "modules/hall-ui/public/task.states.json",
|
|
@@ -5672,7 +5677,7 @@
|
|
|
5672
5677
|
{
|
|
5673
5678
|
"path": "modules/hall-ui/records/record-family.md",
|
|
5674
5679
|
"mode": "0000644",
|
|
5675
|
-
"sha256": "
|
|
5680
|
+
"sha256": "d4ad4e3200e54ed418619cfe18e17da6b1cc91ca68f6e358ededbc85923bcd24"
|
|
5676
5681
|
},
|
|
5677
5682
|
{
|
|
5678
5683
|
"path": "modules/hall-ui/records/reference-room.md",
|
|
@@ -5697,7 +5702,7 @@
|
|
|
5697
5702
|
{
|
|
5698
5703
|
"path": "modules/ideas/blockers.js",
|
|
5699
5704
|
"mode": "0000644",
|
|
5700
|
-
"sha256": "
|
|
5705
|
+
"sha256": "8bab6ae99fcc4b72e9d46ee51b8d1034931e22e77cf6537f0f11c63d62c46d7e"
|
|
5701
5706
|
},
|
|
5702
5707
|
{
|
|
5703
5708
|
"path": "modules/ideas/born-of.js",
|
|
@@ -5822,7 +5827,7 @@
|
|
|
5822
5827
|
{
|
|
5823
5828
|
"path": "modules/ideas/routes/blockers.js",
|
|
5824
5829
|
"mode": "0000644",
|
|
5825
|
-
"sha256": "
|
|
5830
|
+
"sha256": "0746d83375ce1f76c578d17aae21a8afe9ac4c07e081c519489d63028fee9147"
|
|
5826
5831
|
},
|
|
5827
5832
|
{
|
|
5828
5833
|
"path": "modules/ideas/routes/inbox.js",
|
|
@@ -6487,7 +6492,12 @@
|
|
|
6487
6492
|
{
|
|
6488
6493
|
"path": "modules/npm-release/module.json",
|
|
6489
6494
|
"mode": "0000644",
|
|
6490
|
-
"sha256": "
|
|
6495
|
+
"sha256": "7d8d1da0d972aecd0095338ff9318778d01cef6a36d3eec2cacc665949b43061"
|
|
6496
|
+
},
|
|
6497
|
+
{
|
|
6498
|
+
"path": "modules/npm-release/public/task-widget.js",
|
|
6499
|
+
"mode": "0000644",
|
|
6500
|
+
"sha256": "595ec73c075cae55b6a0d88a7586d19f43e821942bda3994e69aa8ee1b5583d1"
|
|
6491
6501
|
},
|
|
6492
6502
|
{
|
|
6493
6503
|
"path": "modules/npm-release/public/work.css",
|
|
@@ -6499,6 +6509,11 @@
|
|
|
6499
6509
|
"mode": "0000644",
|
|
6500
6510
|
"sha256": "c60a8c66e18a5f89965529c360da7f68ebfd3fcee22774c2f8040b0303de9de1"
|
|
6501
6511
|
},
|
|
6512
|
+
{
|
|
6513
|
+
"path": "modules/npm-release/routes/task-where.js",
|
|
6514
|
+
"mode": "0000644",
|
|
6515
|
+
"sha256": "73eabf312c639861177d3b19b491e2b689f8ef2c0ccbc4ea917ab06fbf82f560"
|
|
6516
|
+
},
|
|
6502
6517
|
{
|
|
6503
6518
|
"path": "modules/npm-release/routes/work.js",
|
|
6504
6519
|
"mode": "0000644",
|
|
@@ -6507,7 +6522,7 @@
|
|
|
6507
6522
|
{
|
|
6508
6523
|
"path": "modules/npm-release/work.js",
|
|
6509
6524
|
"mode": "0000644",
|
|
6510
|
-
"sha256": "
|
|
6525
|
+
"sha256": "6efc698a25cf0546fecc73401a0a5d9819ffbdf60143d77fae49858e4a5d0acc"
|
|
6511
6526
|
},
|
|
6512
6527
|
{
|
|
6513
6528
|
"path": "modules/onboarding/CLAUDE.md",
|
|
@@ -8492,12 +8507,12 @@
|
|
|
8492
8507
|
{
|
|
8493
8508
|
"path": "package-lock.json",
|
|
8494
8509
|
"mode": "0000644",
|
|
8495
|
-
"sha256": "
|
|
8510
|
+
"sha256": "1e36601af2ae18c0a0ece2e3a1eda00978d5cbe9b29bf89623be84fb3d1aa1c7"
|
|
8496
8511
|
},
|
|
8497
8512
|
{
|
|
8498
8513
|
"path": "package.json",
|
|
8499
8514
|
"mode": "0000644",
|
|
8500
|
-
"sha256": "
|
|
8515
|
+
"sha256": "18a7a52341443b1ebdeac607508a0559fa54850c6f44cb9b36be4fc59cb20ed3"
|
|
8501
8516
|
},
|
|
8502
8517
|
{
|
|
8503
8518
|
"path": "public-docs/index.html",
|
|
@@ -8517,7 +8532,7 @@
|
|
|
8517
8532
|
{
|
|
8518
8533
|
"path": "release-notes.json",
|
|
8519
8534
|
"mode": "0000644",
|
|
8520
|
-
"sha256": "
|
|
8535
|
+
"sha256": "4a6d22fce202bfef29ad1e4b2fe68f56207eaea1eb724a3f7c784321c78093de"
|
|
8521
8536
|
},
|
|
8522
8537
|
{
|
|
8523
8538
|
"path": "scripts/bongos-mcp.js",
|
|
@@ -9022,7 +9037,7 @@
|
|
|
9022
9037
|
{
|
|
9023
9038
|
"path": "scripts/gds/exec-path-guard.js",
|
|
9024
9039
|
"mode": "0000644",
|
|
9025
|
-
"sha256": "
|
|
9040
|
+
"sha256": "8ed7c35c0d6be3c8a11ee990b487114d7e422caeb70c67240b5060a0087cfdc4"
|
|
9026
9041
|
},
|
|
9027
9042
|
{
|
|
9028
9043
|
"path": "scripts/gds/feedback-latest.js",
|
|
@@ -9672,7 +9687,7 @@
|
|
|
9672
9687
|
{
|
|
9673
9688
|
"path": "scripts/gds/seam-wiring-guard.js",
|
|
9674
9689
|
"mode": "0000644",
|
|
9675
|
-
"sha256": "
|
|
9690
|
+
"sha256": "f046bc41f5dbd2d75046497080f65d3821ff8d1db79d052489c21151eef7e821"
|
|
9676
9691
|
},
|
|
9677
9692
|
{
|
|
9678
9693
|
"path": "scripts/gds/search-ingest-db.js",
|
|
@@ -10172,7 +10187,7 @@
|
|
|
10172
10187
|
{
|
|
10173
10188
|
"path": "scripts/hall-preview/server.js",
|
|
10174
10189
|
"mode": "0000644",
|
|
10175
|
-
"sha256": "
|
|
10190
|
+
"sha256": "5c2c480bea8acc9d74d17a27d60312ae8ef9dc2cb7bd18a776ea3bab8ca49ecc"
|
|
10176
10191
|
},
|
|
10177
10192
|
{
|
|
10178
10193
|
"path": "scripts/hall-preview/task-visual.js",
|
|
@@ -10557,7 +10572,7 @@
|
|
|
10557
10572
|
{
|
|
10558
10573
|
"path": "src/bongos/serve-internal.js",
|
|
10559
10574
|
"mode": "0000644",
|
|
10560
|
-
"sha256": "
|
|
10575
|
+
"sha256": "980e049cdebb321e8212ac978e615be26c5948800e95ecdfdf70e9632efb54c7"
|
|
10561
10576
|
},
|
|
10562
10577
|
{
|
|
10563
10578
|
"path": "src/bongos/software-update.js",
|
|
@@ -10587,7 +10602,7 @@
|
|
|
10587
10602
|
{
|
|
10588
10603
|
"path": "src/module-api.js",
|
|
10589
10604
|
"mode": "0000644",
|
|
10590
|
-
"sha256": "
|
|
10605
|
+
"sha256": "35c167db08eac18ea4cd0f3919855a5e2f3301ced410e556295ba5694af8cd1e"
|
|
10591
10606
|
},
|
|
10592
10607
|
{
|
|
10593
10608
|
"path": "src/module-loader/catalog.js",
|
|
@@ -10597,7 +10612,7 @@
|
|
|
10597
10612
|
{
|
|
10598
10613
|
"path": "src/module-loader/loader.js",
|
|
10599
10614
|
"mode": "0000644",
|
|
10600
|
-
"sha256": "
|
|
10615
|
+
"sha256": "d9db082af675b6e53ccfde76d14873ef22fffd774a44476544cf1b55b1eef8eb"
|
|
10601
10616
|
},
|
|
10602
10617
|
{
|
|
10603
10618
|
"path": "src/module-loader/manifest-schema.js",
|
|
@@ -11119,6 +11134,11 @@
|
|
|
11119
11134
|
"mode": "0000644",
|
|
11120
11135
|
"sha256": "3a85b9e9bee4258aa64d26ca025d52c605f5f33938d3fdd5a31c393f1ec3f249"
|
|
11121
11136
|
},
|
|
11137
|
+
{
|
|
11138
|
+
"path": "tests/blocker_unlink.mjs",
|
|
11139
|
+
"mode": "0000644",
|
|
11140
|
+
"sha256": "b1e13e7372d08f573072b47d0a41314fe33e3eb789dbf5ad4ae130efc7cc6419"
|
|
11141
|
+
},
|
|
11122
11142
|
{
|
|
11123
11143
|
"path": "tests/blockers_hall.mjs",
|
|
11124
11144
|
"mode": "0000644",
|
|
@@ -12692,7 +12712,7 @@
|
|
|
12692
12712
|
{
|
|
12693
12713
|
"path": "tests/hall_record_world.mjs",
|
|
12694
12714
|
"mode": "0000644",
|
|
12695
|
-
"sha256": "
|
|
12715
|
+
"sha256": "a9de1b1f1728d81d5ade4ebd2f4e7d3c3d1d9dc1940d70dbd5d898906861ca9d"
|
|
12696
12716
|
},
|
|
12697
12717
|
{
|
|
12698
12718
|
"path": "tests/hall_records.mjs",
|
|
@@ -13452,7 +13472,7 @@
|
|
|
13452
13472
|
{
|
|
13453
13473
|
"path": "tests/module_loader.mjs",
|
|
13454
13474
|
"mode": "0000644",
|
|
13455
|
-
"sha256": "
|
|
13475
|
+
"sha256": "cd5f6ed5880c9cce22e7a6f5c7ed018e9ebd0d3cb7e329dfeeaa9af9805cbf2d"
|
|
13456
13476
|
},
|
|
13457
13477
|
{
|
|
13458
13478
|
"path": "tests/module_manifest.mjs",
|
|
@@ -13544,6 +13564,11 @@
|
|
|
13544
13564
|
"mode": "0000644",
|
|
13545
13565
|
"sha256": "a6ace0029ba02051b4f8cda015f825b990c62b19754e43ce45c66e03dac35d01"
|
|
13546
13566
|
},
|
|
13567
|
+
{
|
|
13568
|
+
"path": "tests/npm_release_where.mjs",
|
|
13569
|
+
"mode": "0000644",
|
|
13570
|
+
"sha256": "95e826751d5ae490187a17bd6e343a3598333ce512078f7a72ffcb8de69e6314"
|
|
13571
|
+
},
|
|
13547
13572
|
{
|
|
13548
13573
|
"path": "tests/npm_release_work.mjs",
|
|
13549
13574
|
"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
|
+
- 443 operations across 68 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -207,6 +207,8 @@ function createClient(opts = {}) {
|
|
|
207
207
|
getBlockersId: (args) => request("GET", "/blockers/{id}", { hasBody: false }, args),
|
|
208
208
|
// POST /blockers/{id}/link — rank: metic+archon — POST /blockers/:id/link
|
|
209
209
|
postBlockersIdLink: (args) => request("POST", "/blockers/{id}/link", { hasBody: true }, args),
|
|
210
|
+
// DELETE /blockers/{id}/link/{taskId} — rank: metic+archon — DELETE /blockers/:id/link/:taskId
|
|
211
|
+
deleteBlockersIdLinkTaskId: (args) => request("DELETE", "/blockers/{id}/link/{taskId}", { hasBody: false }, args),
|
|
210
212
|
// POST /blockers/{id}/resolve — rank: metic+archon — POST /blockers/:id/resolve
|
|
211
213
|
postBlockersIdResolve: (args) => request("POST", "/blockers/{id}/resolve", { hasBody: true }, args),
|
|
212
214
|
},
|
|
@@ -745,6 +747,8 @@ function createClient(opts = {}) {
|
|
|
745
747
|
postMyProjectsJoin: (args) => request("POST", "/my-projects/join", { hasBody: true }, args),
|
|
746
748
|
},
|
|
747
749
|
"npmRelease": {
|
|
750
|
+
// GET /npm-release/task/{id} — rank: any-builder — GET /npm-release/task/:id
|
|
751
|
+
getNpmReleaseTaskId: (args) => request("GET", "/npm-release/task/{id}", { hasBody: false }, args),
|
|
748
752
|
// GET /npm-release/work — rank: archon — GET /npm-release/work
|
|
749
753
|
getNpmReleaseWork: (args) => request("GET", "/npm-release/work", { hasBody: false }, args),
|
|
750
754
|
},
|
|
@@ -206,6 +206,8 @@ function createClient(opts = {}) {
|
|
|
206
206
|
getBlockersId: (args) => request("GET", "/blockers/{id}", { hasBody: false }, args),
|
|
207
207
|
// POST /blockers/{id}/link — rank: metic+archon — POST /blockers/:id/link
|
|
208
208
|
postBlockersIdLink: (args) => request("POST", "/blockers/{id}/link", { hasBody: true }, args),
|
|
209
|
+
// DELETE /blockers/{id}/link/{taskId} — rank: metic+archon — DELETE /blockers/:id/link/:taskId
|
|
210
|
+
deleteBlockersIdLinkTaskId: (args) => request("DELETE", "/blockers/{id}/link/{taskId}", { hasBody: false }, args),
|
|
209
211
|
// POST /blockers/{id}/resolve — rank: metic+archon — POST /blockers/:id/resolve
|
|
210
212
|
postBlockersIdResolve: (args) => request("POST", "/blockers/{id}/resolve", { hasBody: true }, args),
|
|
211
213
|
},
|
|
@@ -744,6 +746,8 @@ function createClient(opts = {}) {
|
|
|
744
746
|
postMyProjectsJoin: (args) => request("POST", "/my-projects/join", { hasBody: true }, args),
|
|
745
747
|
},
|
|
746
748
|
"npmRelease": {
|
|
749
|
+
// GET /npm-release/task/{id} — rank: any-builder — GET /npm-release/task/:id
|
|
750
|
+
getNpmReleaseTaskId: (args) => request("GET", "/npm-release/task/{id}", { hasBody: false }, args),
|
|
747
751
|
// GET /npm-release/work — rank: archon — GET /npm-release/work
|
|
748
752
|
getNpmReleaseWork: (args) => request("GET", "/npm-release/work", { hasBody: false }, args),
|
|
749
753
|
},
|
|
@@ -6,6 +6,7 @@ export declare const DEFAULT_BASE_URL: string;
|
|
|
6
6
|
// Request-body + shared types, generated from the OpenAPI components.schemas.
|
|
7
7
|
export interface ApiErrorObject { code: string; message: string; details?: unknown }
|
|
8
8
|
export interface DeleteAgentsNameResponse { ok: boolean; deleted: unknown }
|
|
9
|
+
export interface DeleteBlockersIdLinkTaskIdResponse { ok: boolean; unlinked: boolean; released: unknown }
|
|
9
10
|
export interface DeleteBoxSshKeyIdResponse { ok: boolean; deleted: unknown }
|
|
10
11
|
export interface DeleteConnectionsIdResponse { outcome: unknown }
|
|
11
12
|
export interface DeleteDependenciesResponse { ok: boolean }
|
|
@@ -622,6 +623,8 @@ export interface BongosClient {
|
|
|
622
623
|
getBlockersId(args?: RequestArgs): Promise<GetBlockersIdResponse>;
|
|
623
624
|
/** POST /blockers/{id}/link — rank: metic+archon */
|
|
624
625
|
postBlockersIdLink(args: RequestArgs & { body: PostBlockersIdLinkRequest }): Promise<PostBlockersIdLinkResponse>;
|
|
626
|
+
/** DELETE /blockers/{id}/link/{taskId} — rank: metic+archon */
|
|
627
|
+
deleteBlockersIdLinkTaskId(args?: RequestArgs): Promise<DeleteBlockersIdLinkTaskIdResponse>;
|
|
625
628
|
/** POST /blockers/{id}/resolve — rank: metic+archon */
|
|
626
629
|
postBlockersIdResolve(args?: RequestArgs & { body?: PostBlockersIdResolveRequest }): Promise<ApiResponse>;
|
|
627
630
|
};
|
|
@@ -1160,6 +1163,8 @@ export interface BongosClient {
|
|
|
1160
1163
|
postMyProjectsJoin(args: RequestArgs & { body: PostMyProjectsJoinRequest }): Promise<PostMyProjectsJoinResponse>;
|
|
1161
1164
|
};
|
|
1162
1165
|
"npmRelease": {
|
|
1166
|
+
/** GET /npm-release/task/{id} — rank: any-builder */
|
|
1167
|
+
getNpmReleaseTaskId(args?: RequestArgs): Promise<ApiResponse>;
|
|
1163
1168
|
/** GET /npm-release/work — rank: archon */
|
|
1164
1169
|
getNpmReleaseWork(args?: RequestArgs): Promise<ApiResponse>;
|
|
1165
1170
|
};
|
|
@@ -203,6 +203,8 @@ export function createClient(opts = {}) {
|
|
|
203
203
|
getBlockersId: (args) => request("GET", "/blockers/{id}", { hasBody: false }, args),
|
|
204
204
|
// POST /blockers/{id}/link — rank: metic+archon — POST /blockers/:id/link
|
|
205
205
|
postBlockersIdLink: (args) => request("POST", "/blockers/{id}/link", { hasBody: true }, args),
|
|
206
|
+
// DELETE /blockers/{id}/link/{taskId} — rank: metic+archon — DELETE /blockers/:id/link/:taskId
|
|
207
|
+
deleteBlockersIdLinkTaskId: (args) => request("DELETE", "/blockers/{id}/link/{taskId}", { hasBody: false }, args),
|
|
206
208
|
// POST /blockers/{id}/resolve — rank: metic+archon — POST /blockers/:id/resolve
|
|
207
209
|
postBlockersIdResolve: (args) => request("POST", "/blockers/{id}/resolve", { hasBody: true }, args),
|
|
208
210
|
},
|
|
@@ -741,6 +743,8 @@ export function createClient(opts = {}) {
|
|
|
741
743
|
postMyProjectsJoin: (args) => request("POST", "/my-projects/join", { hasBody: true }, args),
|
|
742
744
|
},
|
|
743
745
|
"npmRelease": {
|
|
746
|
+
// GET /npm-release/task/{id} — rank: any-builder — GET /npm-release/task/:id
|
|
747
|
+
getNpmReleaseTaskId: (args) => request("GET", "/npm-release/task/{id}", { hasBody: false }, args),
|
|
744
748
|
// GET /npm-release/work — rank: archon — GET /npm-release/work
|
|
745
749
|
getNpmReleaseWork: (args) => request("GET", "/npm-release/work", { hasBody: false }, args),
|
|
746
750
|
},
|
package/docs/api/openapi.json
CHANGED
|
@@ -2456,6 +2456,70 @@
|
|
|
2456
2456
|
]
|
|
2457
2457
|
}
|
|
2458
2458
|
},
|
|
2459
|
+
"/blockers/{id}/link/{taskId}": {
|
|
2460
|
+
"delete": {
|
|
2461
|
+
"operationId": "delete_blockers_id_link_taskId",
|
|
2462
|
+
"tags": [
|
|
2463
|
+
"blockers"
|
|
2464
|
+
],
|
|
2465
|
+
"summary": "DELETE /blockers/:id/link/:taskId",
|
|
2466
|
+
"description": "Unlink a blocker from a task — the inverse of /link (task 1003518). Both ids sit in the PATH, matching DELETE /tasks/:id/dependencies/:depId, the closest existing shape: an edge between two rows, removed by naming both. Post-core_223 a task is released only when its LAST open blocker resolves, so a wrong link is permanent: the only way out was to resolve a blocker that was never real, putting a falsehood in the blocker ledger to clear a bookkeeping artifact. This is the honest way out. Promotion is the TRIGGER's job here exactly as it is on /resolve: core_256 fires AFTER DELETE on task_blockers and re-uses core_223's predicate, so \"nothing open is left against this task\" has one definition, not two. blockers.unlinkBlockerFromTask only deletes and reads back what happened. `released` says whether the task actually moved, never a bare {ok:true} (task 1002559 — a write that reports success without saying what changed is how a dead loop hides). Metic+ (task 360 / ADR 0018) — same blocker-review grant as link and resolve. rank: metic+archon — unlink a blocker from a task; same blocker-review grant as link.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `blocker.review` (all required).",
|
|
2467
|
+
"x-rank": "metic+archon",
|
|
2468
|
+
"x-source": "modules/ideas/routes/blockers.js",
|
|
2469
|
+
"x-permissions": [
|
|
2470
|
+
"blocker.review"
|
|
2471
|
+
],
|
|
2472
|
+
"parameters": [
|
|
2473
|
+
{
|
|
2474
|
+
"name": "id",
|
|
2475
|
+
"in": "path",
|
|
2476
|
+
"required": true,
|
|
2477
|
+
"schema": {
|
|
2478
|
+
"type": "string"
|
|
2479
|
+
},
|
|
2480
|
+
"description": "Path parameter `id`."
|
|
2481
|
+
},
|
|
2482
|
+
{
|
|
2483
|
+
"name": "taskId",
|
|
2484
|
+
"in": "path",
|
|
2485
|
+
"required": true,
|
|
2486
|
+
"schema": {
|
|
2487
|
+
"type": "string"
|
|
2488
|
+
},
|
|
2489
|
+
"description": "Path parameter `taskId`."
|
|
2490
|
+
}
|
|
2491
|
+
],
|
|
2492
|
+
"responses": {
|
|
2493
|
+
"200": {
|
|
2494
|
+
"description": "Success.",
|
|
2495
|
+
"content": {
|
|
2496
|
+
"application/json": {
|
|
2497
|
+
"schema": {
|
|
2498
|
+
"$ref": "#/components/schemas/DeleteBlockersIdLinkTaskIdResponse"
|
|
2499
|
+
}
|
|
2500
|
+
}
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2503
|
+
"400": {
|
|
2504
|
+
"$ref": "#/components/responses/BadRequest"
|
|
2505
|
+
},
|
|
2506
|
+
"401": {
|
|
2507
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
2508
|
+
},
|
|
2509
|
+
"403": {
|
|
2510
|
+
"$ref": "#/components/responses/Forbidden"
|
|
2511
|
+
},
|
|
2512
|
+
"404": {
|
|
2513
|
+
"$ref": "#/components/responses/NotFound"
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2516
|
+
"security": [
|
|
2517
|
+
{
|
|
2518
|
+
"builderSession": []
|
|
2519
|
+
}
|
|
2520
|
+
]
|
|
2521
|
+
}
|
|
2522
|
+
},
|
|
2459
2523
|
"/blockers/{id}/resolve": {
|
|
2460
2524
|
"post": {
|
|
2461
2525
|
"operationId": "post_blockers_id_resolve",
|
|
@@ -13322,6 +13386,51 @@
|
|
|
13322
13386
|
]
|
|
13323
13387
|
}
|
|
13324
13388
|
},
|
|
13389
|
+
"/npm-release/task/{id}": {
|
|
13390
|
+
"get": {
|
|
13391
|
+
"operationId": "get_npm_release_task_id",
|
|
13392
|
+
"tags": [
|
|
13393
|
+
"npm-release"
|
|
13394
|
+
],
|
|
13395
|
+
"summary": "GET /npm-release/task/:id",
|
|
13396
|
+
"description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
13397
|
+
"x-rank": "any-builder",
|
|
13398
|
+
"x-source": "modules/npm-release/routes/task-where.js",
|
|
13399
|
+
"parameters": [
|
|
13400
|
+
{
|
|
13401
|
+
"name": "id",
|
|
13402
|
+
"in": "path",
|
|
13403
|
+
"required": true,
|
|
13404
|
+
"schema": {
|
|
13405
|
+
"type": "string"
|
|
13406
|
+
},
|
|
13407
|
+
"description": "Path parameter `id`."
|
|
13408
|
+
}
|
|
13409
|
+
],
|
|
13410
|
+
"responses": {
|
|
13411
|
+
"200": {
|
|
13412
|
+
"description": "Success."
|
|
13413
|
+
},
|
|
13414
|
+
"400": {
|
|
13415
|
+
"$ref": "#/components/responses/BadRequest"
|
|
13416
|
+
},
|
|
13417
|
+
"401": {
|
|
13418
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
13419
|
+
},
|
|
13420
|
+
"403": {
|
|
13421
|
+
"$ref": "#/components/responses/Forbidden"
|
|
13422
|
+
},
|
|
13423
|
+
"404": {
|
|
13424
|
+
"$ref": "#/components/responses/NotFound"
|
|
13425
|
+
}
|
|
13426
|
+
},
|
|
13427
|
+
"security": [
|
|
13428
|
+
{
|
|
13429
|
+
"builderSession": []
|
|
13430
|
+
}
|
|
13431
|
+
]
|
|
13432
|
+
}
|
|
13433
|
+
},
|
|
13325
13434
|
"/npm-release/work": {
|
|
13326
13435
|
"get": {
|
|
13327
13436
|
"operationId": "get_npm_release_work",
|
|
@@ -20432,6 +20541,23 @@
|
|
|
20432
20541
|
"deleted"
|
|
20433
20542
|
]
|
|
20434
20543
|
},
|
|
20544
|
+
"DeleteBlockersIdLinkTaskIdResponse": {
|
|
20545
|
+
"type": "object",
|
|
20546
|
+
"properties": {
|
|
20547
|
+
"ok": {
|
|
20548
|
+
"type": "boolean"
|
|
20549
|
+
},
|
|
20550
|
+
"unlinked": {
|
|
20551
|
+
"type": "boolean"
|
|
20552
|
+
},
|
|
20553
|
+
"released": {}
|
|
20554
|
+
},
|
|
20555
|
+
"required": [
|
|
20556
|
+
"ok",
|
|
20557
|
+
"unlinked",
|
|
20558
|
+
"released"
|
|
20559
|
+
]
|
|
20560
|
+
},
|
|
20435
20561
|
"DeleteBoxSshKeyIdResponse": {
|
|
20436
20562
|
"type": "object",
|
|
20437
20563
|
"properties": {
|
|
@@ -27995,9 +28121,9 @@
|
|
|
27995
28121
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
27996
28122
|
}
|
|
27997
28123
|
},
|
|
27998
|
-
"x-endpoint-count":
|
|
27999
|
-
"x-schema-count":
|
|
28124
|
+
"x-endpoint-count": 443,
|
|
28125
|
+
"x-schema-count": 483,
|
|
28000
28126
|
"x-undocumented-bodies": 9,
|
|
28001
|
-
"x-response-schemas":
|
|
28127
|
+
"x-response-schemas": 331,
|
|
28002
28128
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
28003
28129
|
}
|
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. 443 endpoints across 76 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`.
|
|
@@ -104,7 +104,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
104
104
|
| GET | `/api/bongos/backup/status` | `metic+archon` | — | any working builder may check or trigger a backup. |
|
|
105
105
|
| POST | `/api/bongos/backup/trigger` | `metic+archon` | — | kicks off a fresh dump; same gate as the status read. |
|
|
106
106
|
|
|
107
|
-
## `blockers` (
|
|
107
|
+
## `blockers` (6)
|
|
108
108
|
|
|
109
109
|
| Method | Path | Rank | Body | Description |
|
|
110
110
|
|---|---|---|---|---|
|
|
@@ -112,6 +112,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
112
112
|
| POST | `/api/bongos/blockers` | `any-builder` | `title`, `body_md`, `source`, `source_ref` | FILE a blocker (contribution, not resolution). |
|
|
113
113
|
| GET | `/api/bongos/blockers/:id` | `any-builder` | — | single blocker detail read. |
|
|
114
114
|
| POST | `/api/bongos/blockers/:id/link` | `metic+archon` | `task_id` | Link an existing blocker to a task. |
|
|
115
|
+
| DELETE | `/api/bongos/blockers/:id/link/:taskId` | `metic+archon` | — | Unlink a blocker from a task — the inverse of /link (task 1003518). |
|
|
115
116
|
| POST | `/api/bongos/blockers/:id/resolve` | `metic+archon` | `resolution_note` | Resolve. |
|
|
116
117
|
|
|
117
118
|
## `box` (20)
|
|
@@ -521,10 +522,11 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
521
522
|
| POST | `/api/bongos/my-projects/invites/:clientId/decline` | `any-builder` | — | decline an invite (delete the pending row) for the caller's OWN account. |
|
|
522
523
|
| POST | `/api/bongos/my-projects/join` | `any-builder` | `origin`, `note` | request to join a project. |
|
|
523
524
|
|
|
524
|
-
## `npm-release` (
|
|
525
|
+
## `npm-release` (2)
|
|
525
526
|
|
|
526
527
|
| Method | Path | Rank | Body | Description |
|
|
527
528
|
|---|---|---|---|---|
|
|
529
|
+
| GET | `/api/bongos/npm-release/task/:id` | `any-builder` | — | |
|
|
528
530
|
| GET | `/api/bongos/npm-release/work` | `archon` | — | Query: days (ledger window, default 14, max 60), before + limit (history paging). |
|
|
529
531
|
|
|
530
532
|
## `override-requests` (2)
|