agents-city 0.4.0 → 0.5.2

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 (98) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/README.es.md +240 -11
  3. package/README.md +238 -11
  4. package/benchmarks/latency/fake-claude-cli.mjs +2 -1
  5. package/benchmarks/reception/README.md +16 -0
  6. package/benchmarks/reception/run.mjs +84 -0
  7. package/bin/agents-city.js +1 -0
  8. package/bin/connect +5 -0
  9. package/bin/hall.html +117 -18
  10. package/bin/navegador.mjs +170 -1
  11. package/bin/serve.py +201 -101
  12. package/bin/test +15 -3
  13. package/bin/test-arnes.py +192 -0
  14. package/bin/test-cage.py +9 -0
  15. package/bin/test-channel.py +178 -12
  16. package/bin/test-claude-runtime.py +132 -4
  17. package/bin/test-connect-client.mjs +609 -0
  18. package/bin/test-connect.py +52 -0
  19. package/bin/test-contracts.py +214 -0
  20. package/bin/test-diario.py +185 -0
  21. package/bin/test-doctor.py +31 -0
  22. package/bin/test-i18n.py +189 -0
  23. package/bin/test-navegador.py +61 -0
  24. package/bin/test-seat.py +78 -20
  25. package/bin/test-security.py +2 -0
  26. package/bin/test-serve.py +366 -0
  27. package/city/web/dist-hall/hall.js +789 -214
  28. package/city/web/src/bienvenida.ts +14 -13
  29. package/city/web/src/casa.ts +143 -56
  30. package/city/web/src/demo.ts +61 -31
  31. package/city/web/src/es.ts +187 -27
  32. package/city/web/src/explorador.ts +70 -43
  33. package/city/web/src/hall.ts +520 -103
  34. package/city/web/src/idioma.ts +21 -1
  35. package/city/web/src/motores.ts +48 -1
  36. package/city/web/src/vista.ts +58 -0
  37. package/demo/graba.py +5 -10
  38. package/docs/managed-connect.md +237 -0
  39. package/docs/security.md +41 -2
  40. package/package.json +8 -4
  41. package/plugin/.claude-plugin/plugin.json +1 -1
  42. package/plugin/channel/adapter-prompts.ts +10 -0
  43. package/plugin/channel/adapter.js +78 -31
  44. package/plugin/channel/agents_city_hybrid_crypto_bg.wasm +0 -0
  45. package/plugin/channel/bus.js +109 -65
  46. package/plugin/channel/bus.ts +11 -1
  47. package/plugin/channel/client.js +67 -30
  48. package/plugin/channel/delivery-queue.ts +160 -21
  49. package/plugin/channel/hub/remote-roads.ts +32 -1
  50. package/plugin/channel/hub/road-controller.ts +116 -16
  51. package/plugin/channel/kinsh_vodozemac_wasm_bg.wasm +0 -0
  52. package/plugin/channel/licenses/CONNECT_CLIENT_THIRD_PARTY_NOTICES.md +21 -0
  53. package/plugin/channel/licenses/HYBRID_CRYPTO_THIRD_PARTY_NOTICES.md +12 -0
  54. package/plugin/channel/licenses/hybrid-crypto-Apache-2.0.txt +201 -0
  55. package/plugin/channel/licenses/keyring-MIT.txt +21 -0
  56. package/plugin/channel/licenses/vodozemac-Apache-2.0.txt +201 -0
  57. package/plugin/channel/local-hub.js +2080 -97
  58. package/plugin/channel/local-hub.ts +5 -4
  59. package/plugin/channel/managed-connect/bridge.ts +208 -0
  60. package/plugin/channel/managed-connect/cli.ts +416 -0
  61. package/plugin/channel/managed-connect/device.ts +15 -0
  62. package/plugin/channel/managed-connect/local-cities.ts +94 -0
  63. package/plugin/channel/managed-connect/person-message.ts +74 -0
  64. package/plugin/channel/managed-connect/reception-bridge.ts +341 -0
  65. package/plugin/channel/managed-connect/relay-session.ts +7 -0
  66. package/plugin/channel/managed-connect/storage.ts +653 -0
  67. package/plugin/channel/managed-connect/transport.ts +87 -0
  68. package/plugin/channel/managed-connect-cli.js +4777 -0
  69. package/plugin/channel/managed-connect-cli.ts +7 -0
  70. package/plugin/channel/managed-connect-client.d.ts +261 -0
  71. package/plugin/channel/managed-connect-client.js +6572 -0
  72. package/plugin/channel/managed-connect-client.manifest.json +38 -0
  73. package/plugin/channel/package-lock.json +123 -105
  74. package/plugin/channel/package.json +4 -4
  75. package/plugin/channel/protocol.ts +4 -0
  76. package/plugin/channel/reception.ts +896 -0
  77. package/plugin/channel/road-cli.ts +1 -1
  78. package/plugin/channel/runtime/arnes.json +189 -0
  79. package/plugin/channel/runtime/arnes.ts +47 -0
  80. package/plugin/channel/runtime/claude.ts +18 -0
  81. package/plugin/channel/runtime/codex-config.ts +51 -1
  82. package/plugin/channel/runtime/codex.ts +31 -11
  83. package/plugin/channel/runtime/kimi.ts +6 -4
  84. package/plugin/channel/runtime-files.ts +39 -5
  85. package/plugin/channel/runtime-gateway.js +426 -100
  86. package/plugin/channel/runtime-gateway.ts +12 -0
  87. package/plugin/channel/trust/agents-city-sandbox-roots.json +66 -0
  88. package/plugin/scripts/arnes.py +271 -0
  89. package/plugin/scripts/busca.py +46 -10
  90. package/plugin/scripts/cage.py +5 -0
  91. package/plugin/scripts/city-session.sh +144 -28
  92. package/plugin/scripts/crecimiento.py +4 -1
  93. package/plugin/scripts/demos.py +58 -43
  94. package/plugin/scripts/desinstala.py +36 -21
  95. package/plugin/scripts/diario.py +119 -0
  96. package/plugin/scripts/doctor.py +90 -15
  97. package/plugin/scripts/read-card.py +48 -8
  98. package/plugin/scripts/reception.py +665 -0
@@ -0,0 +1,38 @@
1
+ {
2
+ "protocol": "agents-city-public-connect-client/1",
3
+ "generatedFrom": "agents-city-web",
4
+ "sourceFiles": {
5
+ "packages/connect-client/src/device.ts": "ec53e4833841d14540ec7c82b15268396ef8794d7f2915cf0e6ad80b7b430b65",
6
+ "packages/connect-client/src/encoding.ts": "79101839d73936e19df58e64c7a4a08c7506849ed62b608160b8aa1473b5c840",
7
+ "packages/connect-client/src/hybrid-crypto.ts": "88039aab66586ebc82a8ac0ee7cdce0384bb30eba225af13993b7bf784b254e5",
8
+ "packages/connect-client/src/index.ts": "ea2d1c932e8409138806cd2d2792684205b533badbf478db1265d41a70483593",
9
+ "packages/connect-client/src/keyring-secret.ts": "0bec9531a4fd8dff9239229590ef35e740e686d5a7295380d8edf083b3ee166f",
10
+ "packages/connect-client/src/node-persistence.ts": "34de5a67a5168907afe9394edbb4b6d5c87dc66b74524a1abac9d4b50618862f",
11
+ "packages/connect-client/src/node.ts": "0aff832557684758c323ff768753e2da693766df21e35079e2f40cd31fbd1c27",
12
+ "packages/connect-client/src/ratchet.ts": "f6f900f6c78a1db20f44ae4582c7c3a56236c2342a406bfa3a4c158446890395",
13
+ "packages/connect-client/src/relay-session.ts": "113fcb5ee9db8ee3a0e9c4778a04367d8e1c5213bcb590dabe4fc73c34ea2259",
14
+ "packages/connect-client/src/road.ts": "0f6be1e5a7ee29efe7159cfa13d91e42505af454bfb281f5308e65a91fce1f1b",
15
+ "packages/connect-client/src/sealed-client.ts": "be8a88438548f44be5ec12f6e0c8fa3dcb7abf2739f11ab7da6cfe3e20462877",
16
+ "packages/service-protocol/src/index.ts": "4bec14f75b1bfa6ccadb59724dce53d0c60723384cf92e51b99fd5689ecaeddc",
17
+ "packages/service-protocol/src/hybrid-establishment.ts": "4e8edee13cc6f63afeebd6224b9b1978670df901eb521a37d72f3ca6de559024",
18
+ "packages/service-protocol/src/key-transparency.ts": "0b8b55b26ac8c9ae18a7c286f7fd7cd483a94e804b0c76820368418e98960eea",
19
+ "packages/service-protocol/src/key-transparency-root.ts": "01fff4dedfb06fc72334c02b84d7247cfc16390604b40f96ed3e8b35f892ad62",
20
+ "packages/service-protocol/src/key-transparency-root-chain.ts": "187638d50fb7a167f2a68f980ce534f302d4eedb53e08f20e74fae87efef2afe",
21
+ "packages/service-protocol/src/sealed-sender.ts": "3700bd6175e440a184e39f6754d05533f4c4a8c786e70d3094fcf4a31e0df3fe",
22
+ "packages/service-protocol/src/validation.ts": "ea49e43805cc507e59cf183904bf9f6a0896ca8017f474788640cacf486789d1",
23
+ "scripts/templates/managed-connect-client.d.ts": "e5c7992f9b163234d3fc56cbf1469244902d0ede220d7d025eeb30359dc7f301",
24
+ "config/sandbox-key-transparency-root-chain.json": "29067a5fd0d7bc6f5ad0810677c430bdd3b7f5177bbb304da4d1ce7fa815585f"
25
+ },
26
+ "exported": {
27
+ "plugin/channel/managed-connect-client.js": "39369414df546e839034c6c693201d17ae50d5d9661a006939ee2073c913c03c",
28
+ "plugin/channel/managed-connect-client.d.ts": "e5c7992f9b163234d3fc56cbf1469244902d0ede220d7d025eeb30359dc7f301",
29
+ "plugin/channel/trust/agents-city-sandbox-roots.json": "29067a5fd0d7bc6f5ad0810677c430bdd3b7f5177bbb304da4d1ce7fa815585f",
30
+ "plugin/channel/kinsh_vodozemac_wasm_bg.wasm": "b05699476752705a95100a9c54874be89b636bd361497b524b798944b401ba12",
31
+ "plugin/channel/agents_city_hybrid_crypto_bg.wasm": "bd14542b287c9166d2b6c55f8ad667b67bd8734c991115eb4c3aac50a54474e7",
32
+ "plugin/channel/licenses/CONNECT_CLIENT_THIRD_PARTY_NOTICES.md": "360aae50a7fdf2029c6ce85eb72cee4f05f3d96b814745c15d41ca5be53281d3",
33
+ "plugin/channel/licenses/keyring-MIT.txt": "02965ed67e29f871a53f7a7afa593a0ddc8020f86ccce0faaf1aa59215b5269e",
34
+ "plugin/channel/licenses/vodozemac-Apache-2.0.txt": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
35
+ "plugin/channel/licenses/hybrid-crypto-Apache-2.0.txt": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
36
+ "plugin/channel/licenses/HYBRID_CRYPTO_THIRD_PARTY_NOTICES.md": "715ef4eb3be41b6392a467c640869cba2e394ba7313c83f139d6bec5965d2aa8"
37
+ }
38
+ }
@@ -7,19 +7,19 @@
7
7
  "name": "city-channel",
8
8
  "dependencies": {
9
9
  "@modelcontextprotocol/sdk": "^1.30.0",
10
- "ws": "^8.18.0"
10
+ "ws": "^8.21.0"
11
11
  },
12
12
  "devDependencies": {
13
13
  "@types/node": "^22.0.0",
14
14
  "@types/ws": "^8.18.0",
15
- "esbuild": "^0.24.0",
15
+ "esbuild": "^0.28.2",
16
16
  "typescript": "^5.7.0"
17
17
  }
18
18
  },
19
19
  "node_modules/@esbuild/aix-ppc64": {
20
- "version": "0.24.2",
21
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
22
- "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
20
+ "version": "0.28.2",
21
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz",
22
+ "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==",
23
23
  "cpu": [
24
24
  "ppc64"
25
25
  ],
@@ -34,9 +34,9 @@
34
34
  }
35
35
  },
36
36
  "node_modules/@esbuild/android-arm": {
37
- "version": "0.24.2",
38
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
39
- "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
37
+ "version": "0.28.2",
38
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz",
39
+ "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==",
40
40
  "cpu": [
41
41
  "arm"
42
42
  ],
@@ -51,9 +51,9 @@
51
51
  }
52
52
  },
53
53
  "node_modules/@esbuild/android-arm64": {
54
- "version": "0.24.2",
55
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
56
- "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
54
+ "version": "0.28.2",
55
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz",
56
+ "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==",
57
57
  "cpu": [
58
58
  "arm64"
59
59
  ],
@@ -68,9 +68,9 @@
68
68
  }
69
69
  },
70
70
  "node_modules/@esbuild/android-x64": {
71
- "version": "0.24.2",
72
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
73
- "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
71
+ "version": "0.28.2",
72
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz",
73
+ "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==",
74
74
  "cpu": [
75
75
  "x64"
76
76
  ],
@@ -85,9 +85,9 @@
85
85
  }
86
86
  },
87
87
  "node_modules/@esbuild/darwin-arm64": {
88
- "version": "0.24.2",
89
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
90
- "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
88
+ "version": "0.28.2",
89
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz",
90
+ "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==",
91
91
  "cpu": [
92
92
  "arm64"
93
93
  ],
@@ -102,9 +102,9 @@
102
102
  }
103
103
  },
104
104
  "node_modules/@esbuild/darwin-x64": {
105
- "version": "0.24.2",
106
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
107
- "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
105
+ "version": "0.28.2",
106
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz",
107
+ "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==",
108
108
  "cpu": [
109
109
  "x64"
110
110
  ],
@@ -119,9 +119,9 @@
119
119
  }
120
120
  },
121
121
  "node_modules/@esbuild/freebsd-arm64": {
122
- "version": "0.24.2",
123
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
124
- "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
122
+ "version": "0.28.2",
123
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz",
124
+ "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==",
125
125
  "cpu": [
126
126
  "arm64"
127
127
  ],
@@ -136,9 +136,9 @@
136
136
  }
137
137
  },
138
138
  "node_modules/@esbuild/freebsd-x64": {
139
- "version": "0.24.2",
140
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
141
- "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
139
+ "version": "0.28.2",
140
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz",
141
+ "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==",
142
142
  "cpu": [
143
143
  "x64"
144
144
  ],
@@ -153,9 +153,9 @@
153
153
  }
154
154
  },
155
155
  "node_modules/@esbuild/linux-arm": {
156
- "version": "0.24.2",
157
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
158
- "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
156
+ "version": "0.28.2",
157
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz",
158
+ "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==",
159
159
  "cpu": [
160
160
  "arm"
161
161
  ],
@@ -170,9 +170,9 @@
170
170
  }
171
171
  },
172
172
  "node_modules/@esbuild/linux-arm64": {
173
- "version": "0.24.2",
174
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
175
- "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
173
+ "version": "0.28.2",
174
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz",
175
+ "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==",
176
176
  "cpu": [
177
177
  "arm64"
178
178
  ],
@@ -187,9 +187,9 @@
187
187
  }
188
188
  },
189
189
  "node_modules/@esbuild/linux-ia32": {
190
- "version": "0.24.2",
191
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
192
- "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
190
+ "version": "0.28.2",
191
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz",
192
+ "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==",
193
193
  "cpu": [
194
194
  "ia32"
195
195
  ],
@@ -204,9 +204,9 @@
204
204
  }
205
205
  },
206
206
  "node_modules/@esbuild/linux-loong64": {
207
- "version": "0.24.2",
208
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
209
- "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
207
+ "version": "0.28.2",
208
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz",
209
+ "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==",
210
210
  "cpu": [
211
211
  "loong64"
212
212
  ],
@@ -221,9 +221,9 @@
221
221
  }
222
222
  },
223
223
  "node_modules/@esbuild/linux-mips64el": {
224
- "version": "0.24.2",
225
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
226
- "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
224
+ "version": "0.28.2",
225
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz",
226
+ "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==",
227
227
  "cpu": [
228
228
  "mips64el"
229
229
  ],
@@ -238,9 +238,9 @@
238
238
  }
239
239
  },
240
240
  "node_modules/@esbuild/linux-ppc64": {
241
- "version": "0.24.2",
242
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
243
- "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
241
+ "version": "0.28.2",
242
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz",
243
+ "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==",
244
244
  "cpu": [
245
245
  "ppc64"
246
246
  ],
@@ -255,9 +255,9 @@
255
255
  }
256
256
  },
257
257
  "node_modules/@esbuild/linux-riscv64": {
258
- "version": "0.24.2",
259
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
260
- "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
258
+ "version": "0.28.2",
259
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz",
260
+ "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==",
261
261
  "cpu": [
262
262
  "riscv64"
263
263
  ],
@@ -272,9 +272,9 @@
272
272
  }
273
273
  },
274
274
  "node_modules/@esbuild/linux-s390x": {
275
- "version": "0.24.2",
276
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
277
- "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
275
+ "version": "0.28.2",
276
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz",
277
+ "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==",
278
278
  "cpu": [
279
279
  "s390x"
280
280
  ],
@@ -289,9 +289,9 @@
289
289
  }
290
290
  },
291
291
  "node_modules/@esbuild/linux-x64": {
292
- "version": "0.24.2",
293
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
294
- "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
292
+ "version": "0.28.2",
293
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz",
294
+ "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==",
295
295
  "cpu": [
296
296
  "x64"
297
297
  ],
@@ -306,9 +306,9 @@
306
306
  }
307
307
  },
308
308
  "node_modules/@esbuild/netbsd-arm64": {
309
- "version": "0.24.2",
310
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
311
- "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
309
+ "version": "0.28.2",
310
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz",
311
+ "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==",
312
312
  "cpu": [
313
313
  "arm64"
314
314
  ],
@@ -323,9 +323,9 @@
323
323
  }
324
324
  },
325
325
  "node_modules/@esbuild/netbsd-x64": {
326
- "version": "0.24.2",
327
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
328
- "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
326
+ "version": "0.28.2",
327
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz",
328
+ "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==",
329
329
  "cpu": [
330
330
  "x64"
331
331
  ],
@@ -340,9 +340,9 @@
340
340
  }
341
341
  },
342
342
  "node_modules/@esbuild/openbsd-arm64": {
343
- "version": "0.24.2",
344
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
345
- "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
343
+ "version": "0.28.2",
344
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz",
345
+ "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==",
346
346
  "cpu": [
347
347
  "arm64"
348
348
  ],
@@ -357,9 +357,9 @@
357
357
  }
358
358
  },
359
359
  "node_modules/@esbuild/openbsd-x64": {
360
- "version": "0.24.2",
361
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
362
- "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
360
+ "version": "0.28.2",
361
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz",
362
+ "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==",
363
363
  "cpu": [
364
364
  "x64"
365
365
  ],
@@ -373,10 +373,27 @@
373
373
  "node": ">=18"
374
374
  }
375
375
  },
376
+ "node_modules/@esbuild/openharmony-arm64": {
377
+ "version": "0.28.2",
378
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz",
379
+ "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==",
380
+ "cpu": [
381
+ "arm64"
382
+ ],
383
+ "dev": true,
384
+ "license": "MIT",
385
+ "optional": true,
386
+ "os": [
387
+ "openharmony"
388
+ ],
389
+ "engines": {
390
+ "node": ">=18"
391
+ }
392
+ },
376
393
  "node_modules/@esbuild/sunos-x64": {
377
- "version": "0.24.2",
378
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
379
- "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
394
+ "version": "0.28.2",
395
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz",
396
+ "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==",
380
397
  "cpu": [
381
398
  "x64"
382
399
  ],
@@ -391,9 +408,9 @@
391
408
  }
392
409
  },
393
410
  "node_modules/@esbuild/win32-arm64": {
394
- "version": "0.24.2",
395
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
396
- "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
411
+ "version": "0.28.2",
412
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz",
413
+ "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==",
397
414
  "cpu": [
398
415
  "arm64"
399
416
  ],
@@ -408,9 +425,9 @@
408
425
  }
409
426
  },
410
427
  "node_modules/@esbuild/win32-ia32": {
411
- "version": "0.24.2",
412
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
413
- "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
428
+ "version": "0.28.2",
429
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz",
430
+ "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==",
414
431
  "cpu": [
415
432
  "ia32"
416
433
  ],
@@ -425,9 +442,9 @@
425
442
  }
426
443
  },
427
444
  "node_modules/@esbuild/win32-x64": {
428
- "version": "0.24.2",
429
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
430
- "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
445
+ "version": "0.28.2",
446
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz",
447
+ "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==",
431
448
  "cpu": [
432
449
  "x64"
433
450
  ],
@@ -791,9 +808,9 @@
791
808
  }
792
809
  },
793
810
  "node_modules/esbuild": {
794
- "version": "0.24.2",
795
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
796
- "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
811
+ "version": "0.28.2",
812
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz",
813
+ "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==",
797
814
  "dev": true,
798
815
  "hasInstallScript": true,
799
816
  "license": "MIT",
@@ -804,31 +821,32 @@
804
821
  "node": ">=18"
805
822
  },
806
823
  "optionalDependencies": {
807
- "@esbuild/aix-ppc64": "0.24.2",
808
- "@esbuild/android-arm": "0.24.2",
809
- "@esbuild/android-arm64": "0.24.2",
810
- "@esbuild/android-x64": "0.24.2",
811
- "@esbuild/darwin-arm64": "0.24.2",
812
- "@esbuild/darwin-x64": "0.24.2",
813
- "@esbuild/freebsd-arm64": "0.24.2",
814
- "@esbuild/freebsd-x64": "0.24.2",
815
- "@esbuild/linux-arm": "0.24.2",
816
- "@esbuild/linux-arm64": "0.24.2",
817
- "@esbuild/linux-ia32": "0.24.2",
818
- "@esbuild/linux-loong64": "0.24.2",
819
- "@esbuild/linux-mips64el": "0.24.2",
820
- "@esbuild/linux-ppc64": "0.24.2",
821
- "@esbuild/linux-riscv64": "0.24.2",
822
- "@esbuild/linux-s390x": "0.24.2",
823
- "@esbuild/linux-x64": "0.24.2",
824
- "@esbuild/netbsd-arm64": "0.24.2",
825
- "@esbuild/netbsd-x64": "0.24.2",
826
- "@esbuild/openbsd-arm64": "0.24.2",
827
- "@esbuild/openbsd-x64": "0.24.2",
828
- "@esbuild/sunos-x64": "0.24.2",
829
- "@esbuild/win32-arm64": "0.24.2",
830
- "@esbuild/win32-ia32": "0.24.2",
831
- "@esbuild/win32-x64": "0.24.2"
824
+ "@esbuild/aix-ppc64": "0.28.2",
825
+ "@esbuild/android-arm": "0.28.2",
826
+ "@esbuild/android-arm64": "0.28.2",
827
+ "@esbuild/android-x64": "0.28.2",
828
+ "@esbuild/darwin-arm64": "0.28.2",
829
+ "@esbuild/darwin-x64": "0.28.2",
830
+ "@esbuild/freebsd-arm64": "0.28.2",
831
+ "@esbuild/freebsd-x64": "0.28.2",
832
+ "@esbuild/linux-arm": "0.28.2",
833
+ "@esbuild/linux-arm64": "0.28.2",
834
+ "@esbuild/linux-ia32": "0.28.2",
835
+ "@esbuild/linux-loong64": "0.28.2",
836
+ "@esbuild/linux-mips64el": "0.28.2",
837
+ "@esbuild/linux-ppc64": "0.28.2",
838
+ "@esbuild/linux-riscv64": "0.28.2",
839
+ "@esbuild/linux-s390x": "0.28.2",
840
+ "@esbuild/linux-x64": "0.28.2",
841
+ "@esbuild/netbsd-arm64": "0.28.2",
842
+ "@esbuild/netbsd-x64": "0.28.2",
843
+ "@esbuild/openbsd-arm64": "0.28.2",
844
+ "@esbuild/openbsd-x64": "0.28.2",
845
+ "@esbuild/openharmony-arm64": "0.28.2",
846
+ "@esbuild/sunos-x64": "0.28.2",
847
+ "@esbuild/win32-arm64": "0.28.2",
848
+ "@esbuild/win32-ia32": "0.28.2",
849
+ "@esbuild/win32-x64": "0.28.2"
832
850
  }
833
851
  },
834
852
  "node_modules/escape-html": {
@@ -4,16 +4,16 @@
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@modelcontextprotocol/sdk": "^1.30.0",
7
- "ws": "^8.18.0"
7
+ "ws": "^8.21.0"
8
8
  },
9
9
  "scripts": {
10
- "build": "esbuild bus.ts local-hub.ts client.ts adapter.ts runtime-gateway.ts --bundle --platform=node --target=node22 --format=esm --outdir=. --outbase=. --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url); // Generated from TypeScript; do not edit. npm run build\"",
11
- "typecheck": "tsc --noEmit --strict --target es2022 --module esnext --moduleResolution bundler --skipLibCheck *.ts committee/*.ts hub/*.ts runtime/*.ts"
10
+ "build": "esbuild bus.ts local-hub.ts client.ts adapter.ts runtime-gateway.ts managed-connect-cli.ts --bundle --platform=node --target=node22 --format=esm --outdir=. --outbase=. --external:./managed-connect-client.js --external:@napi-rs/keyring --banner:js=\"import { createRequire } from 'node:module'; const require = createRequire(import.meta.url); // Generated from TypeScript; do not edit. npm run build\"",
11
+ "typecheck": "tsc --noEmit --strict --target es2022 --module esnext --moduleResolution bundler --skipLibCheck *.ts committee/*.ts hub/*.ts runtime/*.ts managed-connect/*.ts"
12
12
  },
13
13
  "devDependencies": {
14
14
  "@types/node": "^22.0.0",
15
15
  "@types/ws": "^8.18.0",
16
- "esbuild": "^0.24.0",
16
+ "esbuild": "^0.28.2",
17
17
  "typescript": "^5.7.0"
18
18
  }
19
19
  }
@@ -30,6 +30,10 @@ export interface Road {
30
30
  owner: string;
31
31
  address: string;
32
32
  local?: boolean;
33
+ /** A bilateral Road learned from the managed relay directory. */
34
+ managed?: boolean;
35
+ /** Monotonic managed grant revision; absent on local/self-hosted Roads. */
36
+ revision?: number;
33
37
  domain?: string;
34
38
  role?: string;
35
39
  }