@bongos/core 1.24.77 → 1.24.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.bongos-core.json +89 -44
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +8 -0
  4. package/clients/bongos-client/index.cjs +8 -0
  5. package/clients/bongos-client/index.d.ts +12 -1
  6. package/clients/bongos-client/index.mjs +8 -0
  7. package/docs/adr/0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md +15 -0
  8. package/docs/api/openapi.json +209 -4
  9. package/docs/api-reference.md +7 -3
  10. package/docs/copy-inventory.md +109 -92
  11. package/docs/copy-registry.json +291 -108
  12. package/docs/module-api-changelog.md +2 -0
  13. package/docs/page-inventory.json +2 -0
  14. package/docs/page-readings.json +111 -97
  15. package/docs/recipes/autobongos-runner-setup.md +148 -0
  16. package/docs/recipes/autobongos-windows-host.md +10 -7
  17. package/modules/autonomy/cadence.js +3 -0
  18. package/modules/autonomy/db.js +86 -7
  19. package/modules/autonomy/fence.js +20 -5
  20. package/modules/autonomy/migrations/autonomy_006_runner_device.sql +45 -0
  21. package/modules/autonomy/module.json +2 -1
  22. package/modules/autonomy/routes/autonomy.js +165 -3
  23. package/modules/autonomy/runner-health.js +27 -0
  24. package/modules/autonomy/skills/autobongos-setup/SKILL.md +86 -0
  25. package/modules/hall-ui/public/commands-lib.js +1 -1
  26. package/modules/hall-ui/public/gate.js +12 -5
  27. package/modules/hall-ui/public/runner-button.css +55 -0
  28. package/modules/hall-ui/public/runner-button.js +187 -0
  29. package/modules/hall-ui/public/settings-autobongos.js +349 -63
  30. package/modules/hall-ui/public/settings.html +23 -10
  31. package/modules/hall-ui/records/runner-button.md +16 -0
  32. package/package-lock.json +2 -2
  33. package/package.json +1 -1
  34. package/release-notes.json +14 -0
  35. package/scripts/bongos/autobongos-host.js +16 -2
  36. package/scripts/bongos/autobongos-run.js +18 -3
  37. package/scripts/bongos/stranded-rows.js +39 -2
  38. package/scripts/hall-preview/server.js +7 -0
  39. package/src/module-api.js +1 -1
  40. package/tests/autobongos_host.mjs +28 -0
  41. package/tests/autonomy_config_idle.mjs +9 -4
  42. package/tests/autonomy_runner_device.mjs +444 -0
  43. package/tests/autonomy_runner_identity.mjs +3 -1
  44. package/tests/hall_runner_button.mjs +467 -0
  45. package/tests/hall_runner_panel_connect.mjs +73 -0
  46. package/tests/stranded_rows.mjs +50 -0
package/.bongos-core.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/bongos/package-core.js",
5
- "core_version": "1.24.77",
6
- "core_contract": "1.24.77",
7
- "source_commit": "173fce6916dbd53657d18e5f132ff3b3540d647b",
5
+ "core_version": "1.24.78",
6
+ "core_contract": "1.24.78",
7
+ "source_commit": "5669446151f5810f23c227cbf1ea4ceccd3a332c",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-11-10T01:28:52.098Z",
9
+ "built_at": "2026-11-10T02:56:51.808Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
- "docs_redacted": 639,
12
+ "docs_redacted": 642,
13
13
  "agent_docs_stubbed": 32,
14
- "functional_verbatim": 3927,
14
+ "functional_verbatim": 3933,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 4599,
20
- "tree_sha256": "44e851fe33c0399bd0bb45be9fcb39e837ca19041fbc1b0f7231fa40d101a3f9",
19
+ "file_count": 4608,
20
+ "tree_sha256": "99fde7f5962423cd5cce767bb2aa3861f688cb5f8ac5b7ad4e734ff75bd40647",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -332,12 +332,12 @@
332
332
  {
333
333
  "path": "clients/bongos-client/README.md",
334
334
  "mode": "0000644",
335
- "sha256": "3d9e7c4316d2a75319841e91a44387572d56bdb3505ca41d4df90ff774630a18"
335
+ "sha256": "6bd841612c86681215326bb2d4241acb8fdf6e4025a143e8c8984ebe58cfe2a8"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/bongos-client.global.js",
339
339
  "mode": "0000644",
340
- "sha256": "03c191583a91f0080d4ce7639101fdf2e9cd39234ce2dc5ad047b222f190496e"
340
+ "sha256": "f4cba2714918b9a0d74db3ed0b6b10b5a1ac06afa3ddebe1791a4bc8f766d551"
341
341
  },
342
342
  {
343
343
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -347,17 +347,17 @@
347
347
  {
348
348
  "path": "clients/bongos-client/index.cjs",
349
349
  "mode": "0000644",
350
- "sha256": "26bb239e64f5480e06297a2b81bed5039cce7c9d2aa84466fa6c48848b52d6f9"
350
+ "sha256": "c8aeb3a432a7a0fb50e998974f4e8d89cffa9222bccab4f12ef4c977af12463e"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/index.d.ts",
354
354
  "mode": "0000644",
355
- "sha256": "47075b582fd1583433d455dc3f5bea7880956e4bcdc7b27f1299655c88c7764d"
355
+ "sha256": "e85383e3d82b1310d61fae036bf7d595334b1b1697bcdb6f5faa43b20fb97178"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/index.mjs",
359
359
  "mode": "0000644",
360
- "sha256": "2279facf87867b3bb522ca99d5fadd8e212f40c120dfc583491358ef97bf7728"
360
+ "sha256": "96e0e6275e51e8079a25d4ae2b6aed0210feb1cf8081d6fe8fe45b8a2b13b23d"
361
361
  },
362
362
  {
363
363
  "path": "clients/bongos-client/package.json",
@@ -2012,7 +2012,7 @@
2012
2012
  {
2013
2013
  "path": "docs/adr/0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md",
2014
2014
  "mode": "0000644",
2015
- "sha256": "a83d794a07569c0490894d5889c8616ceb4e973ca6879e3e68a3b1e7ad784bda"
2015
+ "sha256": "4961da4882099b44e85e4d2be52197dd5948d6c615c3c2a20009c4f6b4224b46"
2016
2016
  },
2017
2017
  {
2018
2018
  "path": "docs/adr/0308-an-eleventh-working-area.md",
@@ -2462,12 +2462,12 @@
2462
2462
  {
2463
2463
  "path": "docs/api-reference.md",
2464
2464
  "mode": "0000644",
2465
- "sha256": "9d750c92b059bc8fe1be930fcd5802f2bfb1ea9a98de31a6120985d663dc6bd6"
2465
+ "sha256": "feec35d469c59bef44739925043f40b8413126d906f8bafd11f43f8ff2a08846"
2466
2466
  },
2467
2467
  {
2468
2468
  "path": "docs/api/openapi.json",
2469
2469
  "mode": "0000644",
2470
- "sha256": "616082dc01d19295a0edfcfd80fa286507644a946ed832cb92dfd31c6f31774c"
2470
+ "sha256": "7fe68e05b1aa472775fde3c30eee21e93cd14cddac68730be7e0af99e1bbefbd"
2471
2471
  },
2472
2472
  {
2473
2473
  "path": "docs/architecture.md",
@@ -2492,12 +2492,12 @@
2492
2492
  {
2493
2493
  "path": "docs/copy-inventory.md",
2494
2494
  "mode": "0000644",
2495
- "sha256": "f170bc73f34df6306a321754ab14f4468d0319eeef9dad75fbb1f959f94da42b"
2495
+ "sha256": "9a0fcc9808a804d427e63dd9f9e34f6d05a9abfc8d204a907f521ead7b3b18ee"
2496
2496
  },
2497
2497
  {
2498
2498
  "path": "docs/copy-registry.json",
2499
2499
  "mode": "0000644",
2500
- "sha256": "da27e538fd726d819e5ef172ec066378204102eb0ff632378e9a4bd1953d0b94"
2500
+ "sha256": "7ea5f85f0f41fc7a9701ddb038f332b721d9473317955b4a99a300c1c750784e"
2501
2501
  },
2502
2502
  {
2503
2503
  "path": "docs/design/apex-pass-2-direction.md",
@@ -3007,7 +3007,7 @@
3007
3007
  {
3008
3008
  "path": "docs/module-api-changelog.md",
3009
3009
  "mode": "0000644",
3010
- "sha256": "06cdc4704a3ea353cb13e35c2be7fb6f3ac9e87b84cf8b870e09b7086a1165ef"
3010
+ "sha256": "ceb89d34ddaa5b27edd58306e04e150318644c31a77931cc2959a2312b26c7c2"
3011
3011
  },
3012
3012
  {
3013
3013
  "path": "docs/modules-contract.md",
@@ -3092,12 +3092,12 @@
3092
3092
  {
3093
3093
  "path": "docs/page-inventory.json",
3094
3094
  "mode": "0000644",
3095
- "sha256": "9993f72c4ab8188e1171ae5d2aa6e0e7070b2bf57708563d849a2b30d472b599"
3095
+ "sha256": "17edc0207306911564f9a25de79be5c4b01ea210442d5447ba2ee551f31926b8"
3096
3096
  },
3097
3097
  {
3098
3098
  "path": "docs/page-readings.json",
3099
3099
  "mode": "0000644",
3100
- "sha256": "ed6a44d8f0a7756607f714a45a9afacdbdb8948ff22222ed85597a05c53cf843"
3100
+ "sha256": "c7dc09d0e5b2f35e4e47d1583e756ae1a69fef97c6224188a058e3977b4facb4"
3101
3101
  },
3102
3102
  {
3103
3103
  "path": "docs/project-context.template.md",
@@ -3114,10 +3114,15 @@
3114
3114
  "mode": "0000644",
3115
3115
  "sha256": "24c4419edac18437b5edc13ed8fd442b67cbd1696c07edb3f340693316fc8bd4"
3116
3116
  },
3117
+ {
3118
+ "path": "docs/recipes/autobongos-runner-setup.md",
3119
+ "mode": "0000644",
3120
+ "sha256": "8d63ed509569a3bed3c036eed58a91ec3a4446fab2b71f7f0ebe3f3f395be1a3"
3121
+ },
3117
3122
  {
3118
3123
  "path": "docs/recipes/autobongos-windows-host.md",
3119
3124
  "mode": "0000644",
3120
- "sha256": "d339dcc1d9501dcbb846f857ff297a9773df7f822fc4e5e7a5d38fb3477b86d6"
3125
+ "sha256": "db54b59b90b11ed3973a809d302216f76202e88a02237386eee5e151e5fbf528"
3121
3126
  },
3122
3127
  {
3123
3128
  "path": "docs/recipes/claude-design-loop.md",
@@ -4517,7 +4522,7 @@
4517
4522
  {
4518
4523
  "path": "modules/autonomy/cadence.js",
4519
4524
  "mode": "0000644",
4520
- "sha256": "cdbf5a191a7ae79f84ef8e4eea7ed6c2b952241ed3a551cc76d214f51e0de98f"
4525
+ "sha256": "5fb0e78ecc6a087cc19ff5cc6d6ca68cf0ebd884b6e0792faf9432679db1a05d"
4521
4526
  },
4522
4527
  {
4523
4528
  "path": "modules/autonomy/config-idle.js",
@@ -4527,7 +4532,7 @@
4527
4532
  {
4528
4533
  "path": "modules/autonomy/db.js",
4529
4534
  "mode": "0000644",
4530
- "sha256": "14f9a059fcc889abefd12e5592a8812eae866f423ba1d2132e03ac3492a65c57"
4535
+ "sha256": "ff139cf1247d7075df13ef675c18a14a2b4fe0eb17cf7017df607c77146c0631"
4531
4536
  },
4532
4537
  {
4533
4538
  "path": "modules/autonomy/digest.js",
@@ -4537,7 +4542,7 @@
4537
4542
  {
4538
4543
  "path": "modules/autonomy/fence.js",
4539
4544
  "mode": "0000644",
4540
- "sha256": "079049d055a7b47b3d08faea25acadf4a6a749575dba4c7e054262ee6569b59c"
4545
+ "sha256": "c196d30ee6a72b08e5ecefea111c4696d63c42df14e624d90a3c62781f3882ec"
4541
4546
  },
4542
4547
  {
4543
4548
  "path": "modules/autonomy/gauge.js",
@@ -4579,10 +4584,15 @@
4579
4584
  "mode": "0000644",
4580
4585
  "sha256": "0e88da0735f2074c03966fd3d993212c246e9c0eede8072eafd3b701aff95400"
4581
4586
  },
4587
+ {
4588
+ "path": "modules/autonomy/migrations/autonomy_006_runner_device.sql",
4589
+ "mode": "0000644",
4590
+ "sha256": "68c96f11dc0ea913849fc7df1dab428dbbee69f18b9c5b63a06aac502a731a43"
4591
+ },
4582
4592
  {
4583
4593
  "path": "modules/autonomy/module.json",
4584
4594
  "mode": "0000644",
4585
- "sha256": "f2b748be2571738d9ebdea2b68e6a9fd95c684679f74e4eda6f29c0053ad5c49"
4595
+ "sha256": "7a65846c7ac1dd73ad3eb01357a0e319fba372a220fca4f3239cef7a7dfea4e5"
4586
4596
  },
4587
4597
  {
4588
4598
  "path": "modules/autonomy/pollers/daily-checks.js",
@@ -4602,18 +4612,23 @@
4602
4612
  {
4603
4613
  "path": "modules/autonomy/routes/autonomy.js",
4604
4614
  "mode": "0000644",
4605
- "sha256": "00a6d4b2ef0de2ce05cf71c1e53e19faf72678aeeaf352d6fdf991a0b7ec0537"
4615
+ "sha256": "a31996f000c079421a8e726d0cba1d17974721f331c8d46330195cab5e3970db"
4606
4616
  },
4607
4617
  {
4608
4618
  "path": "modules/autonomy/runner-health.js",
4609
4619
  "mode": "0000644",
4610
- "sha256": "b0802d6e563c171ff5a4e0b0ce3844341cb8dd451fbcdb625a99910750f07f5f"
4620
+ "sha256": "c25bb637534ba41b9a71e3d34321415ff0edff7dae4edac40736436cd4e2bad2"
4611
4621
  },
4612
4622
  {
4613
4623
  "path": "modules/autonomy/server-schedule.js",
4614
4624
  "mode": "0000644",
4615
4625
  "sha256": "fb5eefc3833f43a2e7710aba97f049d9511cbb3c78c9301166eeee8564b03cac"
4616
4626
  },
4627
+ {
4628
+ "path": "modules/autonomy/skills/autobongos-setup/SKILL.md",
4629
+ "mode": "0000644",
4630
+ "sha256": "0a469a11c6e4a2efdc8aece10f02a9879f45cae7e50d5ed46f10fb42cc8da002"
4631
+ },
4617
4632
  {
4618
4633
  "path": "modules/builder-settings/CLAUDE.md",
4619
4634
  "mode": "0000644",
@@ -6197,7 +6212,7 @@
6197
6212
  {
6198
6213
  "path": "modules/hall-ui/public/commands-lib.js",
6199
6214
  "mode": "0000644",
6200
- "sha256": "06fe68a65f0be9c56f710d8f44d7accd68e4d93baa22f8ca503a692815c8c45d"
6215
+ "sha256": "774d3de496572025a72c615b151dcb47574ca80db92ff7d925cd237a582661d8"
6201
6216
  },
6202
6217
  {
6203
6218
  "path": "modules/hall-ui/public/commands.css",
@@ -6352,7 +6367,7 @@
6352
6367
  {
6353
6368
  "path": "modules/hall-ui/public/gate.js",
6354
6369
  "mode": "0000644",
6355
- "sha256": "b7df1ea5becddc2f30c478943d4b6ae0e562a90e90679526a8aac3283708529e"
6370
+ "sha256": "9b166e3028e034fc98bcff582c7e588f1bb0b2e7d82459c5a7ee1cac5f64269f"
6356
6371
  },
6357
6372
  {
6358
6373
  "path": "modules/hall-ui/public/genesis-home.js",
@@ -6999,6 +7014,16 @@
6999
7014
  "mode": "0000644",
7000
7015
  "sha256": "bd45adcc4b33b31a62551c340685d5fc24dcdd28db82627e7c2758f6e452b88c"
7001
7016
  },
7017
+ {
7018
+ "path": "modules/hall-ui/public/runner-button.css",
7019
+ "mode": "0000644",
7020
+ "sha256": "87765594ce17e600f850b133e6faf79d622436e6973869f7f8efed739f107748"
7021
+ },
7022
+ {
7023
+ "path": "modules/hall-ui/public/runner-button.js",
7024
+ "mode": "0000644",
7025
+ "sha256": "f083be214ca3ab6e6868c43a5d67a99ab904c9e8939e4f1566df4f1fe5b0c562"
7026
+ },
7002
7027
  {
7003
7028
  "path": "modules/hall-ui/public/sessions.css",
7004
7029
  "mode": "0000644",
@@ -7022,7 +7047,7 @@
7022
7047
  {
7023
7048
  "path": "modules/hall-ui/public/settings-autobongos.js",
7024
7049
  "mode": "0000644",
7025
- "sha256": "62dbb65ba5d66e5e00546f041331553cf1b0f1e7432d268594bd9480fde07f10"
7050
+ "sha256": "9fc26cdaa5fcaa0c7a085e4d25864dba8f7e9bebd180fd6a50862a2b77761814"
7026
7051
  },
7027
7052
  {
7028
7053
  "path": "modules/hall-ui/public/settings-moved.js",
@@ -7057,7 +7082,7 @@
7057
7082
  {
7058
7083
  "path": "modules/hall-ui/public/settings.html",
7059
7084
  "mode": "0000644",
7060
- "sha256": "84595a5af26bac0da62ee45d2a11526eafa04c4b3a8bc9a648c8ff102b4e47be"
7085
+ "sha256": "c2a3b46397cb219e738e3f8d072394933eacade9b795a4947886e5ae2a5ab1cc"
7061
7086
  },
7062
7087
  {
7063
7088
  "path": "modules/hall-ui/public/settings.js",
@@ -7589,6 +7614,11 @@
7589
7614
  "mode": "0000644",
7590
7615
  "sha256": "db57c22aba88582434c6211e8180d14a9cec773d142a40b2f4a95fd449eb48fb"
7591
7616
  },
7617
+ {
7618
+ "path": "modules/hall-ui/records/runner-button.md",
7619
+ "mode": "0000644",
7620
+ "sha256": "e7b9e5926119c9f652c308facefb4e8b9824eb15e83fc1beb6bd6cb293530aa4"
7621
+ },
7592
7622
  {
7593
7623
  "path": "modules/hall-ui/records/setup-gate.md",
7594
7624
  "mode": "0000644",
@@ -11947,12 +11977,12 @@
11947
11977
  {
11948
11978
  "path": "package-lock.json",
11949
11979
  "mode": "0000644",
11950
- "sha256": "3407de417eaa11f0f2234084d5355de1f4113089bea94c3c85b94c510ae46874"
11980
+ "sha256": "f2c44c87ee45ef37d685bab5b1f94253855a89e0678bb2a0f8ca6dd6fc327509"
11951
11981
  },
11952
11982
  {
11953
11983
  "path": "package.json",
11954
11984
  "mode": "0000644",
11955
- "sha256": "f9e06cafeea2ebf151c36023bda87156efafd3965ec1245e8781072ac4f51134"
11985
+ "sha256": "830e97c57efe4aa5ed3c314e3ed963b901f64003993035c31684c7ce02b95d56"
11956
11986
  },
11957
11987
  {
11958
11988
  "path": "public-docs/index.html",
@@ -11972,7 +12002,7 @@
11972
12002
  {
11973
12003
  "path": "release-notes.json",
11974
12004
  "mode": "0000644",
11975
- "sha256": "99def2fcf254ad4bcfca53ce46e3c21ee8ab543c9f84a4e676864b94cb91d2a3"
12005
+ "sha256": "0059d6b66925ee0437087a29c3eb94544ed06dbc503921b41f8cbb1b90804ebc"
11976
12006
  },
11977
12007
  {
11978
12008
  "path": "scripts/bongos/CLAUDE.md",
@@ -12112,7 +12142,7 @@
12112
12142
  {
12113
12143
  "path": "scripts/bongos/autobongos-host.js",
12114
12144
  "mode": "0000755",
12115
- "sha256": "25141335ab8a56b9c2897f5cd7bdcaf1e97294d9dcb21359dbeb220146fe524e"
12145
+ "sha256": "bfd216c8093cceffd1f3b76798acecc0a7cea25905613531ded01eca0763905f"
12116
12146
  },
12117
12147
  {
12118
12148
  "path": "scripts/bongos/autobongos-loop.js",
@@ -12122,7 +12152,7 @@
12122
12152
  {
12123
12153
  "path": "scripts/bongos/autobongos-run.js",
12124
12154
  "mode": "0000644",
12125
- "sha256": "f7ca5670e45a5f1cbdee91868e364e9e933b7a0ec1764f98634be500df4ba0e2"
12155
+ "sha256": "b051621396ec639d2503beec1c992be84e3fefc22d959a7124698da7e0a7a0fe"
12126
12156
  },
12127
12157
  {
12128
12158
  "path": "scripts/bongos/autobongos-service.cmd",
@@ -13542,7 +13572,7 @@
13542
13572
  {
13543
13573
  "path": "scripts/bongos/stranded-rows.js",
13544
13574
  "mode": "0000644",
13545
- "sha256": "267e95d8ff3b6c1dae3ffe4e73691447dc8d54d60c24e160b5a91a469cdcc8c0"
13575
+ "sha256": "d9ec0f3876d2824b25adaad9887feecb4cfdddb3713b73119f9707289259b514"
13546
13576
  },
13547
13577
  {
13548
13578
  "path": "scripts/bongos/stray-unit-sweep.sh",
@@ -15352,7 +15382,7 @@
15352
15382
  {
15353
15383
  "path": "scripts/hall-preview/server.js",
15354
15384
  "mode": "0000644",
15355
- "sha256": "3285ba54fc3e591f0054d1a415d05a197fed1071b89c39cf562e06405ab343b5"
15385
+ "sha256": "ee40f6c6aaadc2eec3ccab6f64c1f064ac57255eb4b003e70357f1cd03f593bb"
15356
15386
  },
15357
15387
  {
15358
15388
  "path": "scripts/hall-preview/task-visual.js",
@@ -15967,7 +15997,7 @@
15967
15997
  {
15968
15998
  "path": "src/module-api.js",
15969
15999
  "mode": "0000644",
15970
- "sha256": "206b745de49507349a5db6f044f6b7a841d736ae399dbee94e847a5d45a12bcc"
16000
+ "sha256": "c94b5a1e3ebdafc087668c3ebebaf71f1608229b384bc0b7d2486c4a3e8e71a7"
15971
16001
  },
15972
16002
  {
15973
16003
  "path": "src/module-loader/catalog.js",
@@ -16527,7 +16557,7 @@
16527
16557
  {
16528
16558
  "path": "tests/autobongos_host.mjs",
16529
16559
  "mode": "0000644",
16530
- "sha256": "6f3f7a7c473403851c34e608472121a51f6db14c11bd9134aa9a0a8c6820b972"
16560
+ "sha256": "49d6efa36ed5389624317fa33119af28f4b7e87a9eaa3b4d4319f255dee7a4f2"
16531
16561
  },
16532
16562
  {
16533
16563
  "path": "tests/autobongos_host_access.mjs",
@@ -16587,7 +16617,7 @@
16587
16617
  {
16588
16618
  "path": "tests/autonomy_config_idle.mjs",
16589
16619
  "mode": "0000644",
16590
- "sha256": "45dd2889b446d3def63c98e5a81a7c0a1b6aba213325fd6b12877db67a7401c0"
16620
+ "sha256": "cbbaad1ca409b640aed28968414de06bd27e39abb676bd3b27fc4ce055889414"
16591
16621
  },
16592
16622
  {
16593
16623
  "path": "tests/autonomy_daily_checks.mjs",
@@ -16614,6 +16644,11 @@
16614
16644
  "mode": "0000644",
16615
16645
  "sha256": "2c9497f481414f0d51a6c91658b70584dea5d0f6b2e1e8ecd718fccb985a2de2"
16616
16646
  },
16647
+ {
16648
+ "path": "tests/autonomy_runner_device.mjs",
16649
+ "mode": "0000644",
16650
+ "sha256": "0678a9c76e1d82dad997995d8d8bebef568d8aa085fefbc5e4d6142cb4ec06f2"
16651
+ },
16617
16652
  {
16618
16653
  "path": "tests/autonomy_runner_health.mjs",
16619
16654
  "mode": "0000644",
@@ -16622,7 +16657,7 @@
16622
16657
  {
16623
16658
  "path": "tests/autonomy_runner_identity.mjs",
16624
16659
  "mode": "0000644",
16625
- "sha256": "7a530f404c79260280d72c5e48c9a49645ad7d545f645302aaccbb3c072e73aa"
16660
+ "sha256": "5639685cc0391a14ff8dfff2bca45d092f0b0e956e19589fb438ecb8c738ad38"
16626
16661
  },
16627
16662
  {
16628
16663
  "path": "tests/autopickup_cap.mjs",
@@ -19064,6 +19099,16 @@
19064
19099
  "mode": "0000644",
19065
19100
  "sha256": "ad0a0c38da2010baae8e2e1498474ac17a92b12e968291bca0c17c827d156a55"
19066
19101
  },
19102
+ {
19103
+ "path": "tests/hall_runner_button.mjs",
19104
+ "mode": "0000644",
19105
+ "sha256": "ab3fad6220a1a323768e49f4df18799e03675a095be93c02114165d400f63549"
19106
+ },
19107
+ {
19108
+ "path": "tests/hall_runner_panel_connect.mjs",
19109
+ "mode": "0000644",
19110
+ "sha256": "d9ce8d54d55d51bd4448dcc96e9651f0851d6e815d2534d478dd659710f2faa8"
19111
+ },
19067
19112
  {
19068
19113
  "path": "tests/hall_sessions_ledger.mjs",
19069
19114
  "mode": "0000644",
@@ -22417,7 +22462,7 @@
22417
22462
  {
22418
22463
  "path": "tests/stranded_rows.mjs",
22419
22464
  "mode": "0000644",
22420
- "sha256": "7e7ea4cdc45c787b14afc90a9d2e458e25d9f64ca4fb99f7e3f0ad44b0c3a11f"
22465
+ "sha256": "960ffb1cac92971efbbb9c11e80f7e60002c67b11273d5cac4b56d08a3868313"
22421
22466
  },
22422
22467
  {
22423
22468
  "path": "tests/streak.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
- - 686 operations across 85 resource groups
8
+ - 690 operations across 85 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -229,8 +229,16 @@ function createClient(opts = {}) {
229
229
  putAutonomyMeGoals: (args) => request("PUT", "/autonomy/me/goals", { hasBody: true }, args),
230
230
  // GET /autonomy/precheck — rank: metic+archon — GET /autonomy/precheck
231
231
  getAutonomyPrecheck: (args) => request("GET", "/autonomy/precheck", { hasBody: false }, args),
232
+ // GET /autonomy/runner-setup.ps1 — rank: public — GET /autonomy/runner-setup.ps1
233
+ getAutonomyRunnerSetupPs1: (args) => request("GET", "/autonomy/runner-setup.ps1", { hasBody: false }, args),
234
+ // GET /autonomy/runner-setup.sh — rank: public — GET /autonomy/runner-setup.sh
235
+ getAutonomyRunnerSetupSh: (args) => request("GET", "/autonomy/runner-setup.sh", { hasBody: false }, args),
232
236
  // GET /autonomy/runners — rank: any-builder — GET /autonomy/runners
233
237
  getAutonomyRunners: (args) => request("GET", "/autonomy/runners", { hasBody: false }, args),
238
+ // DELETE /autonomy/runners/{host} — rank: any-builder — DELETE /autonomy/runners/:host
239
+ deleteAutonomyRunnersHost: (args) => request("DELETE", "/autonomy/runners/{host}", { hasBody: false }, args),
240
+ // POST /autonomy/runners/{host}/run — rank: metic+archon — POST /autonomy/runners/:host/run
241
+ postAutonomyRunnersHostRun: (args) => request("POST", "/autonomy/runners/{host}/run", { hasBody: true }, args),
234
242
  // GET /autonomy/runners/all — rank: archon — GET /autonomy/runners/all
235
243
  getAutonomyRunnersAll: (args) => request("GET", "/autonomy/runners/all", { hasBody: false }, args),
236
244
  // GET /autonomy/runs — rank: metic+archon — GET /autonomy/runs
@@ -228,8 +228,16 @@ function createClient(opts = {}) {
228
228
  putAutonomyMeGoals: (args) => request("PUT", "/autonomy/me/goals", { hasBody: true }, args),
229
229
  // GET /autonomy/precheck — rank: metic+archon — GET /autonomy/precheck
230
230
  getAutonomyPrecheck: (args) => request("GET", "/autonomy/precheck", { hasBody: false }, args),
231
+ // GET /autonomy/runner-setup.ps1 — rank: public — GET /autonomy/runner-setup.ps1
232
+ getAutonomyRunnerSetupPs1: (args) => request("GET", "/autonomy/runner-setup.ps1", { hasBody: false }, args),
233
+ // GET /autonomy/runner-setup.sh — rank: public — GET /autonomy/runner-setup.sh
234
+ getAutonomyRunnerSetupSh: (args) => request("GET", "/autonomy/runner-setup.sh", { hasBody: false }, args),
231
235
  // GET /autonomy/runners — rank: any-builder — GET /autonomy/runners
232
236
  getAutonomyRunners: (args) => request("GET", "/autonomy/runners", { hasBody: false }, args),
237
+ // DELETE /autonomy/runners/{host} — rank: any-builder — DELETE /autonomy/runners/:host
238
+ deleteAutonomyRunnersHost: (args) => request("DELETE", "/autonomy/runners/{host}", { hasBody: false }, args),
239
+ // POST /autonomy/runners/{host}/run — rank: metic+archon — POST /autonomy/runners/:host/run
240
+ postAutonomyRunnersHostRun: (args) => request("POST", "/autonomy/runners/{host}/run", { hasBody: true }, args),
233
241
  // GET /autonomy/runners/all — rank: archon — GET /autonomy/runners/all
234
242
  getAutonomyRunnersAll: (args) => request("GET", "/autonomy/runners/all", { hasBody: false }, args),
235
243
  // GET /autonomy/runs — rank: metic+archon — GET /autonomy/runs
@@ -7,6 +7,7 @@ export declare const DEFAULT_BASE_URL: string;
7
7
  export interface ApiErrorObject { code: string; message: string; details?: unknown }
8
8
  export interface DeleteAgentsNameResponse { ok: boolean; deleted: unknown }
9
9
  export interface DeleteAiStudioKeysProviderResponse { key: unknown; removed: unknown }
10
+ export interface DeleteAutonomyRunnersHostResponse { removed: boolean; host: unknown; had_own_login: boolean }
10
11
  export interface DeleteBlockersIdLinkTaskIdResponse { ok: boolean; unlinked: boolean; released: unknown }
11
12
  export interface DeleteConnectionsIdResponse { outcome: unknown }
12
13
  export interface DeleteDependenciesResponse { ok: boolean }
@@ -335,8 +336,10 @@ export interface PostAutonomyFenceGoalsRequest { goal_id: StringifiableId; note?
335
336
  export interface PostAutonomyFenceGoalsResponse { goal: unknown }
336
337
  export interface PostAutonomyFencePriorityRequest { goal_id?: StringifiableId }
337
338
  export interface PostAutonomyFenceRequest { enabled: boolean; reason?: string }
338
- export interface PostAutonomyHeartbeatRequest { host: string; pid?: number; started_at?: string; mode?: string; consecutive_failures?: number; last_event?: string; working_task_id?: number; working_goal_id?: number; head?: string; disk_head?: string; main_head?: string; claude_account?: string }
339
+ export interface PostAutonomyHeartbeatRequest { host: string; pid?: number; started_at?: string; mode?: string; consecutive_failures?: number; last_event?: string; working_task_id?: number; working_goal_id?: number; head?: string; disk_head?: string; main_head?: string; claude_account?: string; hold_until?: number }
339
340
  export interface PostAutonomyHeartbeatResponse { ok: boolean; heartbeat: unknown }
341
+ export interface PostAutonomyRunnersHostRunRequest { run: boolean }
342
+ export interface PostAutonomyRunnersHostRunResponse { host: unknown; run_requested: unknown; run_changed_at: unknown }
340
343
  export interface PostBackupTriggerResponse { ok: boolean; message: unknown; started_at: unknown }
341
344
  export interface PostBlockersIdLinkRequest { task_id: StringifiableId }
342
345
  export interface PostBlockersIdLinkResponse { ok: boolean; blocked: unknown }
@@ -885,8 +888,16 @@ export interface BongosClient {
885
888
  putAutonomyMeGoals(args: RequestArgs & { body: PutAutonomyMeGoalsRequest }): Promise<PutAutonomyMeGoalsResponse>;
886
889
  /** GET /autonomy/precheck — rank: metic+archon */
887
890
  getAutonomyPrecheck(args?: RequestArgs): Promise<ApiResponse>;
891
+ /** GET /autonomy/runner-setup.ps1 — rank: public */
892
+ getAutonomyRunnerSetupPs1(args?: RequestArgs): Promise<ApiResponse>;
893
+ /** GET /autonomy/runner-setup.sh — rank: public */
894
+ getAutonomyRunnerSetupSh(args?: RequestArgs): Promise<ApiResponse>;
888
895
  /** GET /autonomy/runners — rank: any-builder */
889
896
  getAutonomyRunners(args?: RequestArgs): Promise<GetAutonomyRunnersResponse>;
897
+ /** DELETE /autonomy/runners/{host} — rank: any-builder */
898
+ deleteAutonomyRunnersHost(args?: RequestArgs): Promise<DeleteAutonomyRunnersHostResponse>;
899
+ /** POST /autonomy/runners/{host}/run — rank: metic+archon */
900
+ postAutonomyRunnersHostRun(args: RequestArgs & { body: PostAutonomyRunnersHostRunRequest }): Promise<PostAutonomyRunnersHostRunResponse>;
890
901
  /** GET /autonomy/runners/all — rank: archon */
891
902
  getAutonomyRunnersAll(args?: RequestArgs): Promise<GetAutonomyRunnersAllResponse>;
892
903
  /** GET /autonomy/runs — rank: metic+archon */
@@ -225,8 +225,16 @@ export function createClient(opts = {}) {
225
225
  putAutonomyMeGoals: (args) => request("PUT", "/autonomy/me/goals", { hasBody: true }, args),
226
226
  // GET /autonomy/precheck — rank: metic+archon — GET /autonomy/precheck
227
227
  getAutonomyPrecheck: (args) => request("GET", "/autonomy/precheck", { hasBody: false }, args),
228
+ // GET /autonomy/runner-setup.ps1 — rank: public — GET /autonomy/runner-setup.ps1
229
+ getAutonomyRunnerSetupPs1: (args) => request("GET", "/autonomy/runner-setup.ps1", { hasBody: false }, args),
230
+ // GET /autonomy/runner-setup.sh — rank: public — GET /autonomy/runner-setup.sh
231
+ getAutonomyRunnerSetupSh: (args) => request("GET", "/autonomy/runner-setup.sh", { hasBody: false }, args),
228
232
  // GET /autonomy/runners — rank: any-builder — GET /autonomy/runners
229
233
  getAutonomyRunners: (args) => request("GET", "/autonomy/runners", { hasBody: false }, args),
234
+ // DELETE /autonomy/runners/{host} — rank: any-builder — DELETE /autonomy/runners/:host
235
+ deleteAutonomyRunnersHost: (args) => request("DELETE", "/autonomy/runners/{host}", { hasBody: false }, args),
236
+ // POST /autonomy/runners/{host}/run — rank: metic+archon — POST /autonomy/runners/:host/run
237
+ postAutonomyRunnersHostRun: (args) => request("POST", "/autonomy/runners/{host}/run", { hasBody: true }, args),
230
238
  // GET /autonomy/runners/all — rank: archon — GET /autonomy/runners/all
231
239
  getAutonomyRunnersAll: (args) => request("GET", "/autonomy/runners/all", { hasBody: false }, args),
232
240
  // GET /autonomy/runs — rank: metic+archon — GET /autonomy/runs
@@ -201,6 +201,21 @@ core moves are out of its reach, and the project-owner door to a core move is sh
201
201
  it. Removing the PC is the ordinary own-session revoke. The worktree-name check is
202
202
  kept for runners not yet moved to their own login.
203
203
 
204
+ **Each device has its own Run switch** (task 1005094, goal 1000139; owner direction
205
+ 2026-11-09: running the runner on a device is one button, and any cooldown is on
206
+ the button). Under the builder's goal picks sits one more layer, per device:
207
+ `autonomy_runner_heartbeat.run_requested`. The runner names its device on the fence
208
+ read it already makes (`?host=`) and the server folds the switch in as the last
209
+ reason to stop (`device_stopped`), so the runner still decides nothing. It is last
210
+ because it is the builder's own choice about one machine; every stop above it is
211
+ someone else's, and a runner should report the widest reason that applies. Three
212
+ properties keep it a brake the device cannot release: the two routes that move it
213
+ refuse a runner's own login, a check-in can only set the value a new row is born
214
+ with, and a device added through the new setup is born stopped, so the first press
215
+ is a person's. The column defaults to on, so a runner that predates it is unchanged.
216
+ The runner also reports when a rest ends (`hold_until`), which is only ever shown,
217
+ on the button; it decides nothing on the server.
218
+
204
219
  ### 7. Workers run with blanket `bypassPermissions`
205
220
 
206
221
  `--permission-prompt-tool` exists and is print-mode only, so routing every