bantou 0.1.0 → 0.2.0

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 (515) hide show
  1. package/.output/nitro.json +13 -0
  2. package/.output/public/_nuxt/BmGsA4i2.js +1 -0
  3. package/.output/public/_nuxt/D_G6gzEa.js +1 -0
  4. package/.output/public/_nuxt/builds/latest.json +1 -0
  5. package/.output/public/_nuxt/builds/meta/1a8fc623-6671-445b-bdd3-c3d073520a3a.json +1 -0
  6. package/.output/public/_nuxt/entry.CZSvzYhH.css +1 -0
  7. package/.output/public/_nuxt/error-404.C3wqHTJz.css +1 -0
  8. package/.output/public/_nuxt/error-500.D6rBzoDj.css +1 -0
  9. package/.output/public/_nuxt/pdFQkwM_.js +4 -0
  10. package/.output/server/chunks/_/error-500.mjs +20 -0
  11. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  12. package/.output/server/chunks/nitro/nitro.mjs +5870 -0
  13. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  14. package/.output/server/chunks/routes/mcp.mjs +22 -0
  15. package/.output/server/chunks/routes/mcp.mjs.map +1 -0
  16. package/.output/server/chunks/routes/renderer.mjs +462 -0
  17. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  18. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  19. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  20. package/.output/server/chunks/virtual/precomputed.mjs +4 -0
  21. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -0
  22. package/.output/server/index.mjs +18 -0
  23. package/.output/server/index.mjs.map +1 -0
  24. package/.output/server/node_modules/@babel/parser/lib/index.js +14657 -0
  25. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  26. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +64 -0
  27. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +16 -0
  28. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js +32 -0
  29. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +246 -0
  30. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/package.json +1 -0
  31. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js +41 -0
  32. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +429 -0
  33. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +971 -0
  34. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/requestBody.js +58 -0
  35. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  36. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +961 -0
  37. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +228 -0
  38. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +51 -0
  39. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  40. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +1137 -0
  41. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js +92 -0
  42. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/uriTemplate.js +239 -0
  43. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +2065 -0
  44. package/.output/server/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +87 -0
  45. package/.output/server/node_modules/@modelcontextprotocol/sdk/package.json +165 -0
  46. package/.output/server/node_modules/@parcel/watcher-wasm/index.mjs +349 -0
  47. package/.output/server/node_modules/@parcel/watcher-wasm/package.json +44 -0
  48. package/.output/server/node_modules/@parcel/watcher-wasm/watcher.wasm +0 -0
  49. package/.output/server/node_modules/@parcel/watcher-wasm/wrapper.js +88 -0
  50. package/.output/server/node_modules/@unagents/messenger-broker/dist/index.mjs +12 -0
  51. package/.output/server/node_modules/@unagents/messenger-broker/dist/shared/messenger-broker.B8W77sqB.mjs +1177 -0
  52. package/.output/server/node_modules/@unagents/messenger-broker/package.json +37 -0
  53. package/.output/server/node_modules/@unagents/messenger-client/dist/index.mjs +9 -0
  54. package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CfQVmH_Z.mjs +975 -0
  55. package/.output/server/node_modules/@unagents/messenger-client/dist/shared/messenger-client.CoDKzubj.mjs +1000 -0
  56. package/.output/server/node_modules/@unagents/messenger-client/package.json +37 -0
  57. package/.output/server/node_modules/@unagents/messenger-protocol/dist/index.mjs +103 -0
  58. package/.output/server/node_modules/@unagents/messenger-protocol/package.json +29 -0
  59. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6802 -0
  60. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  61. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +729 -0
  62. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  63. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1420 -0
  64. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  65. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1933 -0
  66. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  67. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +7085 -0
  68. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  69. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1917 -0
  70. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  71. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +951 -0
  72. package/.output/server/node_modules/@vue/server-renderer/package.json +53 -0
  73. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +655 -0
  74. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  75. package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
  76. package/.output/server/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  77. package/.output/server/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  78. package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  79. package/.output/server/node_modules/ajv/dist/compile/errors.js +123 -0
  80. package/.output/server/node_modules/ajv/dist/compile/index.js +242 -0
  81. package/.output/server/node_modules/ajv/dist/compile/names.js +28 -0
  82. package/.output/server/node_modules/ajv/dist/compile/ref_error.js +12 -0
  83. package/.output/server/node_modules/ajv/dist/compile/resolve.js +155 -0
  84. package/.output/server/node_modules/ajv/dist/compile/rules.js +26 -0
  85. package/.output/server/node_modules/ajv/dist/compile/util.js +178 -0
  86. package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  87. package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  88. package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  89. package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  90. package/.output/server/node_modules/ajv/dist/compile/validate/index.js +520 -0
  91. package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  92. package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  93. package/.output/server/node_modules/ajv/dist/core.js +618 -0
  94. package/.output/server/node_modules/ajv/dist/refs/data.json +13 -0
  95. package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  96. package/.output/server/node_modules/ajv/dist/runtime/equal.js +7 -0
  97. package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  98. package/.output/server/node_modules/ajv/dist/runtime/uri.js +6 -0
  99. package/.output/server/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  100. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  101. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  102. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  103. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  104. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  105. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  106. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  107. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  108. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  109. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  110. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  111. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  112. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  113. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  114. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  115. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  116. package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  117. package/.output/server/node_modules/ajv/dist/vocabularies/code.js +131 -0
  118. package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  119. package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  120. package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  121. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  122. package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  123. package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  124. package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  125. package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  126. package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  127. package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  128. package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  129. package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  130. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  131. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  132. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  133. package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  134. package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  135. package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js +33 -0
  136. package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  137. package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  138. package/.output/server/node_modules/ajv/package.json +126 -0
  139. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  140. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  141. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  142. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  143. package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  144. package/.output/server/node_modules/consola/dist/core.mjs +512 -0
  145. package/.output/server/node_modules/consola/dist/index.mjs +651 -0
  146. package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  147. package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  148. package/.output/server/node_modules/consola/dist/utils.mjs +54 -0
  149. package/.output/server/node_modules/consola/package.json +136 -0
  150. package/.output/server/node_modules/content-type/index.js +225 -0
  151. package/.output/server/node_modules/content-type/package.json +42 -0
  152. package/.output/server/node_modules/cookie-es/dist/index.mjs +268 -0
  153. package/.output/server/node_modules/cookie-es/package.json +46 -0
  154. package/.output/server/node_modules/crossws/dist/_chunks/_request.mjs +83 -0
  155. package/.output/server/node_modules/crossws/dist/_chunks/adapter.mjs +234 -0
  156. package/.output/server/node_modules/crossws/dist/_chunks/error.mjs +7 -0
  157. package/.output/server/node_modules/crossws/dist/_chunks/libs/ws.mjs +6 -0
  158. package/.output/server/node_modules/crossws/dist/_chunks/node.mjs +220 -0
  159. package/.output/server/node_modules/crossws/dist/_chunks/peer.mjs +208 -0
  160. package/.output/server/node_modules/crossws/dist/adapters/node.mjs +1 -0
  161. package/.output/server/node_modules/crossws/package.json +115 -0
  162. package/.output/server/node_modules/defu/dist/defu.mjs +69 -0
  163. package/.output/server/node_modules/defu/package.json +48 -0
  164. package/.output/server/node_modules/destr/dist/index.mjs +72 -0
  165. package/.output/server/node_modules/destr/package.json +47 -0
  166. package/.output/server/node_modules/devalue/index.js +17 -0
  167. package/.output/server/node_modules/devalue/package.json +39 -0
  168. package/.output/server/node_modules/devalue/src/base64.js +60 -0
  169. package/.output/server/node_modules/devalue/src/constants.js +12 -0
  170. package/.output/server/node_modules/devalue/src/operations.js +221 -0
  171. package/.output/server/node_modules/devalue/src/parse.js +279 -0
  172. package/.output/server/node_modules/devalue/src/stringify.js +433 -0
  173. package/.output/server/node_modules/devalue/src/uneval.js +698 -0
  174. package/.output/server/node_modules/devalue/src/utils.js +190 -0
  175. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  176. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  177. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  178. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  179. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  180. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  181. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  182. package/.output/server/node_modules/entities/package.json +120 -0
  183. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  184. package/.output/server/node_modules/estree-walker/package.json +37 -0
  185. package/.output/server/node_modules/fast-deep-equal/index.js +46 -0
  186. package/.output/server/node_modules/fast-deep-equal/package.json +61 -0
  187. package/.output/server/node_modules/fast-uri/index.js +711 -0
  188. package/.output/server/node_modules/fast-uri/lib/schemes.js +272 -0
  189. package/.output/server/node_modules/fast-uri/lib/utils.js +799 -0
  190. package/.output/server/node_modules/fast-uri/package.json +68 -0
  191. package/.output/server/node_modules/get-port-please/dist/index.mjs +430 -0
  192. package/.output/server/node_modules/get-port-please/package.json +39 -0
  193. package/.output/server/node_modules/h3/dist/index.mjs +2498 -0
  194. package/.output/server/node_modules/h3/package.json +75 -0
  195. package/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  196. package/.output/server/node_modules/hookable/package.json +54 -0
  197. package/.output/server/node_modules/http-shutdown/index.js +85 -0
  198. package/.output/server/node_modules/http-shutdown/package.json +32 -0
  199. package/.output/server/node_modules/iron-webcrypto/dist/index.js +298 -0
  200. package/.output/server/node_modules/iron-webcrypto/package.json +72 -0
  201. package/.output/server/node_modules/is-extglob/index.js +20 -0
  202. package/.output/server/node_modules/is-extglob/package.json +69 -0
  203. package/.output/server/node_modules/is-glob/index.js +150 -0
  204. package/.output/server/node_modules/is-glob/package.json +81 -0
  205. package/.output/server/node_modules/jiti/dist/jiti.cjs +1 -0
  206. package/.output/server/node_modules/jiti/lib/jiti.mjs +29 -0
  207. package/.output/server/node_modules/jiti/package.json +146 -0
  208. package/.output/server/node_modules/json-schema-traverse/index.js +93 -0
  209. package/.output/server/node_modules/json-schema-traverse/package.json +43 -0
  210. package/.output/server/node_modules/listhen/dist/chunks/xdg-open.mjs +1069 -0
  211. package/.output/server/node_modules/listhen/dist/index.mjs +19 -0
  212. package/.output/server/node_modules/listhen/dist/shared/listhen.tqe5I1Rl.mjs +1040 -0
  213. package/.output/server/node_modules/listhen/package.json +84 -0
  214. package/.output/server/node_modules/napi-wasm/index.mjs +1371 -0
  215. package/.output/server/node_modules/napi-wasm/package.json +33 -0
  216. package/.output/server/node_modules/node-forge/lib/aes.js +1091 -0
  217. package/.output/server/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  218. package/.output/server/node_modules/node-forge/lib/asn1-validator.js +91 -0
  219. package/.output/server/node_modules/node-forge/lib/asn1.js +1522 -0
  220. package/.output/server/node_modules/node-forge/lib/baseN.js +186 -0
  221. package/.output/server/node_modules/node-forge/lib/cipher.js +230 -0
  222. package/.output/server/node_modules/node-forge/lib/cipherModes.js +1027 -0
  223. package/.output/server/node_modules/node-forge/lib/des.js +496 -0
  224. package/.output/server/node_modules/node-forge/lib/ed25519.js +1091 -0
  225. package/.output/server/node_modules/node-forge/lib/forge.js +13 -0
  226. package/.output/server/node_modules/node-forge/lib/hmac.js +146 -0
  227. package/.output/server/node_modules/node-forge/lib/index.js +33 -0
  228. package/.output/server/node_modules/node-forge/lib/jsbn.js +1294 -0
  229. package/.output/server/node_modules/node-forge/lib/kem.js +168 -0
  230. package/.output/server/node_modules/node-forge/lib/log.js +319 -0
  231. package/.output/server/node_modules/node-forge/lib/md.all.js +13 -0
  232. package/.output/server/node_modules/node-forge/lib/md.js +11 -0
  233. package/.output/server/node_modules/node-forge/lib/md5.js +289 -0
  234. package/.output/server/node_modules/node-forge/lib/mgf.js +12 -0
  235. package/.output/server/node_modules/node-forge/lib/mgf1.js +57 -0
  236. package/.output/server/node_modules/node-forge/lib/oids.js +180 -0
  237. package/.output/server/node_modules/node-forge/lib/pbe.js +1029 -0
  238. package/.output/server/node_modules/node-forge/lib/pbkdf2.js +211 -0
  239. package/.output/server/node_modules/node-forge/lib/pem.js +413 -0
  240. package/.output/server/node_modules/node-forge/lib/pkcs1.js +276 -0
  241. package/.output/server/node_modules/node-forge/lib/pkcs12.js +1081 -0
  242. package/.output/server/node_modules/node-forge/lib/pkcs7.js +1260 -0
  243. package/.output/server/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
  244. package/.output/server/node_modules/node-forge/lib/pki.js +102 -0
  245. package/.output/server/node_modules/node-forge/lib/prime.js +297 -0
  246. package/.output/server/node_modules/node-forge/lib/prng.js +419 -0
  247. package/.output/server/node_modules/node-forge/lib/pss.js +241 -0
  248. package/.output/server/node_modules/node-forge/lib/random.js +191 -0
  249. package/.output/server/node_modules/node-forge/lib/rc2.js +410 -0
  250. package/.output/server/node_modules/node-forge/lib/rsa.js +2014 -0
  251. package/.output/server/node_modules/node-forge/lib/sha1.js +319 -0
  252. package/.output/server/node_modules/node-forge/lib/sha256.js +327 -0
  253. package/.output/server/node_modules/node-forge/lib/sha512.js +561 -0
  254. package/.output/server/node_modules/node-forge/lib/ssh.js +236 -0
  255. package/.output/server/node_modules/node-forge/lib/tls.js +4334 -0
  256. package/.output/server/node_modules/node-forge/lib/util.js +2652 -0
  257. package/.output/server/node_modules/node-forge/lib/x509.js +3257 -0
  258. package/.output/server/node_modules/node-forge/package.json +123 -0
  259. package/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs +1 -0
  260. package/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs +1 -0
  261. package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -0
  262. package/.output/server/node_modules/node-mock-http/package.json +63 -0
  263. package/.output/server/node_modules/nostics/dist/formatters/ansi.mjs +19 -0
  264. package/.output/server/node_modules/nostics/dist/index.mjs +194 -0
  265. package/.output/server/node_modules/nostics/package.json +126 -0
  266. package/.output/server/node_modules/pathe/dist/index.mjs +19 -0
  267. package/.output/server/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs +249 -0
  268. package/.output/server/node_modules/pathe/package.json +61 -0
  269. package/.output/server/node_modules/picomatch/index.js +17 -0
  270. package/.output/server/node_modules/picomatch/lib/constants.js +184 -0
  271. package/.output/server/node_modules/picomatch/lib/parse.js +1425 -0
  272. package/.output/server/node_modules/picomatch/lib/picomatch.js +361 -0
  273. package/.output/server/node_modules/picomatch/lib/scan.js +403 -0
  274. package/.output/server/node_modules/picomatch/lib/utils.js +72 -0
  275. package/.output/server/node_modules/picomatch/package.json +83 -0
  276. package/.output/server/node_modules/radix3/dist/index.mjs +262 -0
  277. package/.output/server/node_modules/radix3/package.json +52 -0
  278. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  279. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  280. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  281. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  282. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  283. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +141 -0
  284. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  285. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  286. package/.output/server/node_modules/source-map-js/lib/source-node.js +420 -0
  287. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  288. package/.output/server/node_modules/source-map-js/package.json +71 -0
  289. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  290. package/.output/server/node_modules/std-env/dist/index.mjs +1 -0
  291. package/.output/server/node_modules/std-env/package.json +43 -0
  292. package/.output/server/node_modules/tinyclip/dist/index.js +143 -0
  293. package/.output/server/node_modules/tinyclip/package.json +48 -0
  294. package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  295. package/.output/server/node_modules/ufo/package.json +48 -0
  296. package/.output/server/node_modules/uncrypto/dist/crypto.node.mjs +16 -0
  297. package/.output/server/node_modules/uncrypto/package.json +60 -0
  298. package/.output/server/node_modules/unhead/dist/client.mjs +22 -0
  299. package/.output/server/node_modules/unhead/dist/legacy.mjs +33 -0
  300. package/.output/server/node_modules/unhead/dist/minify.mjs +183 -0
  301. package/.output/server/node_modules/unhead/dist/parser.mjs +518 -0
  302. package/.output/server/node_modules/unhead/dist/plugins.mjs +782 -0
  303. package/.output/server/node_modules/unhead/dist/server.mjs +99 -0
  304. package/.output/server/node_modules/unhead/dist/shared/unhead.BEmVMkeA.mjs +673 -0
  305. package/.output/server/node_modules/unhead/dist/shared/unhead.Bf_fPVYA.mjs +6 -0
  306. package/.output/server/node_modules/unhead/dist/shared/unhead.Bm4Y6XQI.mjs +17 -0
  307. package/.output/server/node_modules/unhead/dist/shared/unhead.C5Bksi2B.mjs +49 -0
  308. package/.output/server/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs +32 -0
  309. package/.output/server/node_modules/unhead/dist/shared/unhead.CHEy9ana.mjs +7 -0
  310. package/.output/server/node_modules/unhead/dist/shared/unhead.C_7zwq8E.mjs +11 -0
  311. package/.output/server/node_modules/unhead/dist/shared/unhead.CaeaMM5q.mjs +19 -0
  312. package/.output/server/node_modules/unhead/dist/shared/unhead.D7HkBzZn.mjs +59 -0
  313. package/.output/server/node_modules/unhead/dist/shared/unhead.D9VfQWNo.mjs +240 -0
  314. package/.output/server/node_modules/unhead/dist/shared/unhead.DD4N5B4k.mjs +224 -0
  315. package/.output/server/node_modules/unhead/dist/shared/unhead.DGl9jcjg.mjs +196 -0
  316. package/.output/server/node_modules/unhead/dist/shared/unhead.DJuZwX9c.mjs +400 -0
  317. package/.output/server/node_modules/unhead/dist/shared/unhead.DkxnqlHC.mjs +264 -0
  318. package/.output/server/node_modules/unhead/dist/shared/unhead.DspMpm6y.mjs +48 -0
  319. package/.output/server/node_modules/unhead/dist/shared/unhead.o8j9utSy.mjs +208 -0
  320. package/.output/server/node_modules/unhead/dist/stream/client.mjs +33 -0
  321. package/.output/server/node_modules/unhead/dist/stream/iife.mjs +2 -0
  322. package/.output/server/node_modules/unhead/dist/stream/server.mjs +446 -0
  323. package/.output/server/node_modules/unhead/dist/utils.mjs +7 -0
  324. package/.output/server/node_modules/unhead/package.json +179 -0
  325. package/.output/server/node_modules/untun/dist/_chunks/cloudflared.mjs +179 -0
  326. package/.output/server/node_modules/untun/dist/_chunks/log.mjs +27 -0
  327. package/.output/server/node_modules/untun/dist/index.mjs +47 -0
  328. package/.output/server/node_modules/untun/package.json +44 -0
  329. package/.output/server/node_modules/uqr/dist/index.mjs +739 -0
  330. package/.output/server/node_modules/uqr/package.json +69 -0
  331. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  332. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  333. package/.output/server/node_modules/vue/index.js +7 -0
  334. package/.output/server/node_modules/vue/index.mjs +1 -0
  335. package/.output/server/node_modules/vue/package.json +112 -0
  336. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  337. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +687 -0
  338. package/.output/server/node_modules/vue-bundle-renderer/package.json +66 -0
  339. package/.output/server/node_modules/zod/index.js +7 -0
  340. package/.output/server/node_modules/zod/package.json +147 -0
  341. package/.output/server/node_modules/zod/v3/ZodError.js +143 -0
  342. package/.output/server/node_modules/zod/v3/errors.js +9 -0
  343. package/.output/server/node_modules/zod/v3/external.js +6 -0
  344. package/.output/server/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  345. package/.output/server/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  346. package/.output/server/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  347. package/.output/server/node_modules/zod/v3/helpers/util.js +133 -0
  348. package/.output/server/node_modules/zod/v3/index.js +4 -0
  349. package/.output/server/node_modules/zod/v3/locales/en.js +109 -0
  350. package/.output/server/node_modules/zod/v3/package.json +7 -0
  351. package/.output/server/node_modules/zod/v3/types.js +3697 -0
  352. package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
  353. package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
  354. package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
  355. package/.output/server/node_modules/zod/v4/classic/deep-partial.js +13 -0
  356. package/.output/server/node_modules/zod/v4/classic/errors.js +57 -0
  357. package/.output/server/node_modules/zod/v4/classic/external.js +17 -0
  358. package/.output/server/node_modules/zod/v4/classic/from-json-schema.js +881 -0
  359. package/.output/server/node_modules/zod/v4/classic/in-out.js +36 -0
  360. package/.output/server/node_modules/zod/v4/classic/index.js +4 -0
  361. package/.output/server/node_modules/zod/v4/classic/iso.js +15 -0
  362. package/.output/server/node_modules/zod/v4/classic/package.json +7 -0
  363. package/.output/server/node_modules/zod/v4/classic/parse.js +16 -0
  364. package/.output/server/node_modules/zod/v4/classic/schemas.js +1535 -0
  365. package/.output/server/node_modules/zod/v4/core/api.js +1107 -0
  366. package/.output/server/node_modules/zod/v4/core/checks.js +516 -0
  367. package/.output/server/node_modules/zod/v4/core/compile.js +1866 -0
  368. package/.output/server/node_modules/zod/v4/core/core.js +141 -0
  369. package/.output/server/node_modules/zod/v4/core/doc.js +38 -0
  370. package/.output/server/node_modules/zod/v4/core/errors.js +267 -0
  371. package/.output/server/node_modules/zod/v4/core/index.js +19 -0
  372. package/.output/server/node_modules/zod/v4/core/json-schema-generator.js +99 -0
  373. package/.output/server/node_modules/zod/v4/core/json-schema-processors.js +843 -0
  374. package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
  375. package/.output/server/node_modules/zod/v4/core/memoizer.js +311 -0
  376. package/.output/server/node_modules/zod/v4/core/package.json +7 -0
  377. package/.output/server/node_modules/zod/v4/core/parse.js +175 -0
  378. package/.output/server/node_modules/zod/v4/core/regexes.js +156 -0
  379. package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
  380. package/.output/server/node_modules/zod/v4/core/schemas.js +2636 -0
  381. package/.output/server/node_modules/zod/v4/core/to-json-schema.js +651 -0
  382. package/.output/server/node_modules/zod/v4/core/util.js +873 -0
  383. package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
  384. package/.output/server/node_modules/zod/v4/core/visit.js +169 -0
  385. package/.output/server/node_modules/zod/v4/index.js +4 -0
  386. package/.output/server/node_modules/zod/v4/locales/ar.js +111 -0
  387. package/.output/server/node_modules/zod/v4/locales/az.js +110 -0
  388. package/.output/server/node_modules/zod/v4/locales/be.js +168 -0
  389. package/.output/server/node_modules/zod/v4/locales/bg.js +125 -0
  390. package/.output/server/node_modules/zod/v4/locales/bn.js +113 -0
  391. package/.output/server/node_modules/zod/v4/locales/ca.js +112 -0
  392. package/.output/server/node_modules/zod/v4/locales/ckb.js +133 -0
  393. package/.output/server/node_modules/zod/v4/locales/cs.js +116 -0
  394. package/.output/server/node_modules/zod/v4/locales/da.js +120 -0
  395. package/.output/server/node_modules/zod/v4/locales/de.js +113 -0
  396. package/.output/server/node_modules/zod/v4/locales/el.js +112 -0
  397. package/.output/server/node_modules/zod/v4/locales/en.js +125 -0
  398. package/.output/server/node_modules/zod/v4/locales/eo.js +114 -0
  399. package/.output/server/node_modules/zod/v4/locales/es.js +136 -0
  400. package/.output/server/node_modules/zod/v4/locales/fa.js +119 -0
  401. package/.output/server/node_modules/zod/v4/locales/fi.js +117 -0
  402. package/.output/server/node_modules/zod/v4/locales/fr-CA.js +112 -0
  403. package/.output/server/node_modules/zod/v4/locales/fr.js +129 -0
  404. package/.output/server/node_modules/zod/v4/locales/gu.js +113 -0
  405. package/.output/server/node_modules/zod/v4/locales/he.js +221 -0
  406. package/.output/server/node_modules/zod/v4/locales/hi.js +111 -0
  407. package/.output/server/node_modules/zod/v4/locales/hr.js +126 -0
  408. package/.output/server/node_modules/zod/v4/locales/hu.js +113 -0
  409. package/.output/server/node_modules/zod/v4/locales/hy.js +158 -0
  410. package/.output/server/node_modules/zod/v4/locales/id.js +111 -0
  411. package/.output/server/node_modules/zod/v4/locales/index.js +63 -0
  412. package/.output/server/node_modules/zod/v4/locales/is.js +114 -0
  413. package/.output/server/node_modules/zod/v4/locales/it.js +113 -0
  414. package/.output/server/node_modules/zod/v4/locales/ja.js +112 -0
  415. package/.output/server/node_modules/zod/v4/locales/ka.js +117 -0
  416. package/.output/server/node_modules/zod/v4/locales/kh.js +5 -0
  417. package/.output/server/node_modules/zod/v4/locales/km.js +115 -0
  418. package/.output/server/node_modules/zod/v4/locales/kn.js +116 -0
  419. package/.output/server/node_modules/zod/v4/locales/ko.js +116 -0
  420. package/.output/server/node_modules/zod/v4/locales/lt.js +207 -0
  421. package/.output/server/node_modules/zod/v4/locales/mk.js +114 -0
  422. package/.output/server/node_modules/zod/v4/locales/ms.js +112 -0
  423. package/.output/server/node_modules/zod/v4/locales/ne.js +111 -0
  424. package/.output/server/node_modules/zod/v4/locales/nl.js +115 -0
  425. package/.output/server/node_modules/zod/v4/locales/nn.js +113 -0
  426. package/.output/server/node_modules/zod/v4/locales/no.js +113 -0
  427. package/.output/server/node_modules/zod/v4/locales/ota.js +114 -0
  428. package/.output/server/node_modules/zod/v4/locales/package.json +7 -0
  429. package/.output/server/node_modules/zod/v4/locales/pl.js +114 -0
  430. package/.output/server/node_modules/zod/v4/locales/ps.js +119 -0
  431. package/.output/server/node_modules/zod/v4/locales/pt-BR.js +143 -0
  432. package/.output/server/node_modules/zod/v4/locales/pt.js +142 -0
  433. package/.output/server/node_modules/zod/v4/locales/ro.js +122 -0
  434. package/.output/server/node_modules/zod/v4/locales/ru.js +168 -0
  435. package/.output/server/node_modules/zod/v4/locales/sk.js +116 -0
  436. package/.output/server/node_modules/zod/v4/locales/sl.js +114 -0
  437. package/.output/server/node_modules/zod/v4/locales/sv.js +115 -0
  438. package/.output/server/node_modules/zod/v4/locales/ta.js +115 -0
  439. package/.output/server/node_modules/zod/v4/locales/tg.js +117 -0
  440. package/.output/server/node_modules/zod/v4/locales/th.js +115 -0
  441. package/.output/server/node_modules/zod/v4/locales/tk.js +107 -0
  442. package/.output/server/node_modules/zod/v4/locales/tr.js +110 -0
  443. package/.output/server/node_modules/zod/v4/locales/ua.js +5 -0
  444. package/.output/server/node_modules/zod/v4/locales/uk.js +113 -0
  445. package/.output/server/node_modules/zod/v4/locales/ur.js +115 -0
  446. package/.output/server/node_modules/zod/v4/locales/uz.js +113 -0
  447. package/.output/server/node_modules/zod/v4/locales/vi.js +113 -0
  448. package/.output/server/node_modules/zod/v4/locales/yo.js +112 -0
  449. package/.output/server/node_modules/zod/v4/locales/zh-CN.js +114 -0
  450. package/.output/server/node_modules/zod/v4/locales/zh-TW.js +112 -0
  451. package/.output/server/node_modules/zod/v4/mini/checks.js +1 -0
  452. package/.output/server/node_modules/zod/v4/mini/coerce.js +22 -0
  453. package/.output/server/node_modules/zod/v4/mini/deep-partial.js +13 -0
  454. package/.output/server/node_modules/zod/v4/mini/external.js +16 -0
  455. package/.output/server/node_modules/zod/v4/mini/in-out.js +36 -0
  456. package/.output/server/node_modules/zod/v4/mini/iso.js +34 -0
  457. package/.output/server/node_modules/zod/v4/mini/package.json +7 -0
  458. package/.output/server/node_modules/zod/v4/mini/parse.js +1 -0
  459. package/.output/server/node_modules/zod/v4/mini/schemas.js +1002 -0
  460. package/.output/server/node_modules/zod/v4/package.json +7 -0
  461. package/.output/server/node_modules/zod/v4-mini/index.js +3 -0
  462. package/.output/server/node_modules/zod/v4-mini/package.json +7 -0
  463. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Options.js +46 -0
  464. package/.output/server/node_modules/zod-to-json-schema/dist/esm/Refs.js +22 -0
  465. package/.output/server/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +14 -0
  466. package/.output/server/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +8 -0
  467. package/.output/server/node_modules/zod-to-json-schema/dist/esm/index.js +40 -0
  468. package/.output/server/node_modules/zod-to-json-schema/dist/esm/package.json +1 -0
  469. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseDef.js +62 -0
  470. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
  471. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +17 -0
  472. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +26 -0
  473. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +49 -0
  474. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +5 -0
  475. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +4 -0
  476. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +4 -0
  477. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +46 -0
  478. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +7 -0
  479. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +7 -0
  480. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +6 -0
  481. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +52 -0
  482. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +21 -0
  483. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +26 -0
  484. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +16 -0
  485. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +11 -0
  486. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +10 -0
  487. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +33 -0
  488. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +52 -0
  489. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +72 -0
  490. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +21 -0
  491. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +20 -0
  492. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +4 -0
  493. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +4 -0
  494. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +61 -0
  495. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +20 -0
  496. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +352 -0
  497. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +32 -0
  498. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +6 -0
  499. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +80 -0
  500. package/.output/server/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +4 -0
  501. package/.output/server/node_modules/zod-to-json-schema/dist/esm/selectParser.js +105 -0
  502. package/.output/server/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +87 -0
  503. package/.output/server/node_modules/zod-to-json-schema/package.json +85 -0
  504. package/.output/server/package.json +64 -0
  505. package/README.md +227 -24
  506. package/bin/bantou.mjs +33 -0
  507. package/package.json +18 -8
  508. package/protocol/PROTOCOL.md +26 -0
  509. package/protocol/protocol.json +92 -0
  510. package/dist/cap.js +0 -7
  511. package/dist/cli.js +0 -27
  512. package/dist/config.js +0 -23
  513. package/dist/daemon.js +0 -23
  514. package/dist/session.js +0 -7
  515. package/dist/workspace.js +0 -8
@@ -0,0 +1,4 @@
1
+ import { parseAnyDef } from "./any.js";
2
+ export function parseUnknownDef(refs) {
3
+ return parseAnyDef(refs);
4
+ }
@@ -0,0 +1,105 @@
1
+ import { ZodFirstPartyTypeKind } from "zod/v3";
2
+ import { parseAnyDef } from "./parsers/any.js";
3
+ import { parseArrayDef } from "./parsers/array.js";
4
+ import { parseBigintDef } from "./parsers/bigint.js";
5
+ import { parseBooleanDef } from "./parsers/boolean.js";
6
+ import { parseBrandedDef } from "./parsers/branded.js";
7
+ import { parseCatchDef } from "./parsers/catch.js";
8
+ import { parseDateDef } from "./parsers/date.js";
9
+ import { parseDefaultDef } from "./parsers/default.js";
10
+ import { parseEffectsDef } from "./parsers/effects.js";
11
+ import { parseEnumDef } from "./parsers/enum.js";
12
+ import { parseIntersectionDef } from "./parsers/intersection.js";
13
+ import { parseLiteralDef } from "./parsers/literal.js";
14
+ import { parseMapDef } from "./parsers/map.js";
15
+ import { parseNativeEnumDef } from "./parsers/nativeEnum.js";
16
+ import { parseNeverDef } from "./parsers/never.js";
17
+ import { parseNullDef } from "./parsers/null.js";
18
+ import { parseNullableDef } from "./parsers/nullable.js";
19
+ import { parseNumberDef } from "./parsers/number.js";
20
+ import { parseObjectDef } from "./parsers/object.js";
21
+ import { parseOptionalDef } from "./parsers/optional.js";
22
+ import { parsePipelineDef } from "./parsers/pipeline.js";
23
+ import { parsePromiseDef } from "./parsers/promise.js";
24
+ import { parseRecordDef } from "./parsers/record.js";
25
+ import { parseSetDef } from "./parsers/set.js";
26
+ import { parseStringDef } from "./parsers/string.js";
27
+ import { parseTupleDef } from "./parsers/tuple.js";
28
+ import { parseUndefinedDef } from "./parsers/undefined.js";
29
+ import { parseUnionDef } from "./parsers/union.js";
30
+ import { parseUnknownDef } from "./parsers/unknown.js";
31
+ import { parseReadonlyDef } from "./parsers/readonly.js";
32
+ export const selectParser = (def, typeName, refs) => {
33
+ switch (typeName) {
34
+ case ZodFirstPartyTypeKind.ZodString:
35
+ return parseStringDef(def, refs);
36
+ case ZodFirstPartyTypeKind.ZodNumber:
37
+ return parseNumberDef(def, refs);
38
+ case ZodFirstPartyTypeKind.ZodObject:
39
+ return parseObjectDef(def, refs);
40
+ case ZodFirstPartyTypeKind.ZodBigInt:
41
+ return parseBigintDef(def, refs);
42
+ case ZodFirstPartyTypeKind.ZodBoolean:
43
+ return parseBooleanDef();
44
+ case ZodFirstPartyTypeKind.ZodDate:
45
+ return parseDateDef(def, refs);
46
+ case ZodFirstPartyTypeKind.ZodUndefined:
47
+ return parseUndefinedDef(refs);
48
+ case ZodFirstPartyTypeKind.ZodNull:
49
+ return parseNullDef(refs);
50
+ case ZodFirstPartyTypeKind.ZodArray:
51
+ return parseArrayDef(def, refs);
52
+ case ZodFirstPartyTypeKind.ZodUnion:
53
+ case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
54
+ return parseUnionDef(def, refs);
55
+ case ZodFirstPartyTypeKind.ZodIntersection:
56
+ return parseIntersectionDef(def, refs);
57
+ case ZodFirstPartyTypeKind.ZodTuple:
58
+ return parseTupleDef(def, refs);
59
+ case ZodFirstPartyTypeKind.ZodRecord:
60
+ return parseRecordDef(def, refs);
61
+ case ZodFirstPartyTypeKind.ZodLiteral:
62
+ return parseLiteralDef(def, refs);
63
+ case ZodFirstPartyTypeKind.ZodEnum:
64
+ return parseEnumDef(def);
65
+ case ZodFirstPartyTypeKind.ZodNativeEnum:
66
+ return parseNativeEnumDef(def);
67
+ case ZodFirstPartyTypeKind.ZodNullable:
68
+ return parseNullableDef(def, refs);
69
+ case ZodFirstPartyTypeKind.ZodOptional:
70
+ return parseOptionalDef(def, refs);
71
+ case ZodFirstPartyTypeKind.ZodMap:
72
+ return parseMapDef(def, refs);
73
+ case ZodFirstPartyTypeKind.ZodSet:
74
+ return parseSetDef(def, refs);
75
+ case ZodFirstPartyTypeKind.ZodLazy:
76
+ return () => def.getter()._def;
77
+ case ZodFirstPartyTypeKind.ZodPromise:
78
+ return parsePromiseDef(def, refs);
79
+ case ZodFirstPartyTypeKind.ZodNaN:
80
+ case ZodFirstPartyTypeKind.ZodNever:
81
+ return parseNeverDef(refs);
82
+ case ZodFirstPartyTypeKind.ZodEffects:
83
+ return parseEffectsDef(def, refs);
84
+ case ZodFirstPartyTypeKind.ZodAny:
85
+ return parseAnyDef(refs);
86
+ case ZodFirstPartyTypeKind.ZodUnknown:
87
+ return parseUnknownDef(refs);
88
+ case ZodFirstPartyTypeKind.ZodDefault:
89
+ return parseDefaultDef(def, refs);
90
+ case ZodFirstPartyTypeKind.ZodBranded:
91
+ return parseBrandedDef(def, refs);
92
+ case ZodFirstPartyTypeKind.ZodReadonly:
93
+ return parseReadonlyDef(def, refs);
94
+ case ZodFirstPartyTypeKind.ZodCatch:
95
+ return parseCatchDef(def, refs);
96
+ case ZodFirstPartyTypeKind.ZodPipeline:
97
+ return parsePipelineDef(def, refs);
98
+ case ZodFirstPartyTypeKind.ZodFunction:
99
+ case ZodFirstPartyTypeKind.ZodVoid:
100
+ case ZodFirstPartyTypeKind.ZodSymbol:
101
+ return undefined;
102
+ default:
103
+ return ((_) => undefined)(typeName);
104
+ }
105
+ };
@@ -0,0 +1,87 @@
1
+ import { parseDef } from "./parseDef.js";
2
+ import { getRefs } from "./Refs.js";
3
+ import { parseAnyDef } from "./parsers/any.js";
4
+ const zodToJsonSchema = (schema, options) => {
5
+ const refs = getRefs(options);
6
+ let definitions = typeof options === "object" && options.definitions
7
+ ? Object.entries(options.definitions).reduce((acc, [name, schema]) => ({
8
+ ...acc,
9
+ [name]: parseDef(schema._def, {
10
+ ...refs,
11
+ currentPath: [...refs.basePath, refs.definitionPath, name],
12
+ }, true) ?? parseAnyDef(refs),
13
+ }), {})
14
+ : undefined;
15
+ const name = typeof options === "string"
16
+ ? options
17
+ : options?.nameStrategy === "title"
18
+ ? undefined
19
+ : options?.name;
20
+ const main = parseDef(schema._def, name === undefined
21
+ ? refs
22
+ : {
23
+ ...refs,
24
+ currentPath: [...refs.basePath, refs.definitionPath, name],
25
+ }, false) ?? parseAnyDef(refs);
26
+ const title = typeof options === "object" &&
27
+ options.name !== undefined &&
28
+ options.nameStrategy === "title"
29
+ ? options.name
30
+ : undefined;
31
+ if (title !== undefined) {
32
+ main.title = title;
33
+ }
34
+ if (refs.flags.hasReferencedOpenAiAnyType) {
35
+ if (!definitions) {
36
+ definitions = {};
37
+ }
38
+ if (!definitions[refs.openAiAnyTypeName]) {
39
+ definitions[refs.openAiAnyTypeName] = {
40
+ // Skipping "object" as no properties can be defined and additionalProperties must be "false"
41
+ type: ["string", "number", "integer", "boolean", "array", "null"],
42
+ items: {
43
+ $ref: refs.$refStrategy === "relative"
44
+ ? "1"
45
+ : [
46
+ ...refs.basePath,
47
+ refs.definitionPath,
48
+ refs.openAiAnyTypeName,
49
+ ].join("/"),
50
+ },
51
+ };
52
+ }
53
+ }
54
+ const combined = name === undefined
55
+ ? definitions
56
+ ? {
57
+ ...main,
58
+ [refs.definitionPath]: definitions,
59
+ }
60
+ : main
61
+ : {
62
+ $ref: [
63
+ ...(refs.$refStrategy === "relative" ? [] : refs.basePath),
64
+ refs.definitionPath,
65
+ name,
66
+ ].join("/"),
67
+ [refs.definitionPath]: {
68
+ ...definitions,
69
+ [name]: main,
70
+ },
71
+ };
72
+ if (refs.target === "jsonSchema7") {
73
+ combined.$schema = "http://json-schema.org/draft-07/schema#";
74
+ }
75
+ else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") {
76
+ combined.$schema = "https://json-schema.org/draft/2019-09/schema#";
77
+ }
78
+ if (refs.target === "openAi" &&
79
+ ("anyOf" in combined ||
80
+ "oneOf" in combined ||
81
+ "allOf" in combined ||
82
+ ("type" in combined && Array.isArray(combined.type)))) {
83
+ console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");
84
+ }
85
+ return combined;
86
+ };
87
+ export { zodToJsonSchema };
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "zod-to-json-schema",
3
+ "version": "3.25.2",
4
+ "description": "Converts Zod schemas to Json Schemas",
5
+ "types": "./dist/types/index.d.ts",
6
+ "main": "./dist/cjs/index.js",
7
+ "module": "./dist/esm/index.js",
8
+ "exports": {
9
+ "import": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "default": "./dist/esm/index.js"
12
+ },
13
+ "require": {
14
+ "types": "./dist/types/index.d.ts",
15
+ "default": "./dist/cjs/index.js"
16
+ }
17
+ },
18
+ "scripts": {
19
+ "build:test": "npm --prefix ./dist-test-v3 test && npm --prefix ./dist-test-v4 test",
20
+ "build:types": "tsc -p tsconfig.types.json",
21
+ "build:cjs": "tsc -p tsconfig.cjs.json && tsx postcjs.ts",
22
+ "build:esm": "tsc -p tsconfig.esm.json && tsx postesm.ts",
23
+ "build": "npm i && npm run gen && npm test && rimraf ./dist && npm run build:types && npm run build:cjs && npm run build:esm && npm run build:test",
24
+ "dry": "npm run build && npm pub --dry-run",
25
+ "test:watch": "tsx watch test/index.ts",
26
+ "test:gen": "tsx test/createIndex.ts",
27
+ "test": "tsx test/index.ts",
28
+ "gen": "tsx createIndex.ts"
29
+ },
30
+ "keywords": [
31
+ "zod",
32
+ "json",
33
+ "schema",
34
+ "open",
35
+ "api",
36
+ "conversion"
37
+ ],
38
+ "author": "Stefan Terdell",
39
+ "contributors": [
40
+ "Hammad Asif (https://github.com/mrhammadasif)",
41
+ "Noah Rosenzweig (https://github.com/Noah2610)",
42
+ "John Wright (https://github.com/johngeorgewright)",
43
+ "Krzysztof Ciombor (https://github.com/krzysztofciombor)",
44
+ "Yuta Mombetsu (https://github.com/mokocm)",
45
+ "Tom Arad (https://github.com/tomarad)",
46
+ "Isaac Way (https://github.com/iway1)",
47
+ "Andreas Berger (https://github.com/Andy2003)",
48
+ "Jan Potoms (https://github.com/Janpot)",
49
+ "Santiago Cammi (https://github.com/scammi)",
50
+ "Philipp Burckhardt (https://github.com/Planeshifter)",
51
+ "Bram del Canho (https://github.com/Bram-dc)",
52
+ "Gilad Hecht (https://github.com/gthecht)",
53
+ "Colin McDonnell (https://github.com/colinhacks)",
54
+ "Spappz (https://github.com/Spappz)",
55
+ "Jacob Lee (https://github.com/jacoblee93)",
56
+ "Brett Zamir (https://github.com/brettz9)",
57
+ "Isaiah Marc Sanchez (https://github.com/imsanchez)",
58
+ "Mitchell Merry (https://github.com/mitchell-merry)",
59
+ "Enzo Monjardín (https://github.com/enzomonjardin)",
60
+ "Víctor Hernández (https://github.com/NanezX)",
61
+ "Faïz Hernawan Abdillah (https://github.com/Abdillah)",
62
+ "Felix Mosheev (https://github.com/felixmosh)"
63
+ ],
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/StefanTerdell/zod-to-json-schema"
67
+ },
68
+ "license": "ISC",
69
+ "peerDependencies": {
70
+ "zod": "^3.25.28 || ^4"
71
+ },
72
+ "devDependencies": {
73
+ "@types/json-schema": "^7.0.9",
74
+ "@types/node": "^20.9.0",
75
+ "ajv": "^8.6.3",
76
+ "ajv-errors": "^3.0.0",
77
+ "ajv-formats": "^2.1.1",
78
+ "fast-diff": "^1.3.0",
79
+ "local-ref-resolver": "^0.2.0",
80
+ "rimraf": "^6.1.3",
81
+ "tsx": "^4.19.0",
82
+ "typescript": "^5.1.3",
83
+ "zod": "^3.25.28 || ^4"
84
+ }
85
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "bantou-prod",
3
+ "version": "0.2.0",
4
+ "type": "module",
5
+ "private": true,
6
+ "dependencies": {
7
+ "@babel/parser": "7.29.11",
8
+ "@modelcontextprotocol/sdk": "1.32.2",
9
+ "@parcel/watcher-wasm": "2.6.0",
10
+ "@unagents/messenger-broker": "0.10.0",
11
+ "@unagents/messenger-client": "0.10.0",
12
+ "@unagents/messenger-protocol": "0.10.0",
13
+ "@vue/compiler-core": "3.5.44",
14
+ "@vue/compiler-dom": "3.5.44",
15
+ "@vue/compiler-ssr": "3.5.44",
16
+ "@vue/reactivity": "3.5.44",
17
+ "@vue/runtime-core": "3.5.44",
18
+ "@vue/runtime-dom": "3.5.44",
19
+ "@vue/server-renderer": "3.5.44",
20
+ "@vue/shared": "3.5.44",
21
+ "ajv": "8.20.0",
22
+ "ajv-formats": "3.0.1",
23
+ "consola": "3.4.2",
24
+ "content-type": "1.0.5",
25
+ "cookie-es": "1.2.3",
26
+ "crossws": "0.4.17",
27
+ "defu": "6.1.7",
28
+ "destr": "2.0.5",
29
+ "devalue": "5.9.4",
30
+ "entities": "7.0.1",
31
+ "estree-walker": "2.0.2",
32
+ "fast-deep-equal": "3.1.3",
33
+ "fast-uri": "3.1.9",
34
+ "get-port-please": "3.2.0",
35
+ "h3": "1.15.11",
36
+ "hookable": "6.1.2",
37
+ "http-shutdown": "1.2.2",
38
+ "iron-webcrypto": "1.2.1",
39
+ "is-extglob": "2.1.1",
40
+ "is-glob": "4.0.3",
41
+ "jiti": "2.7.0",
42
+ "json-schema-traverse": "1.0.0",
43
+ "listhen": "1.10.1",
44
+ "napi-wasm": "1.1.0",
45
+ "node-forge": "1.4.2",
46
+ "node-mock-http": "1.0.5",
47
+ "nostics": "1.3.0",
48
+ "pathe": "2.0.3",
49
+ "picomatch": "4.0.7",
50
+ "radix3": "1.1.2",
51
+ "source-map-js": "1.2.2",
52
+ "std-env": "4.3.0",
53
+ "tinyclip": "0.1.15",
54
+ "ufo": "1.6.4",
55
+ "uncrypto": "0.1.3",
56
+ "unhead": "3.4.3",
57
+ "untun": "0.2.2",
58
+ "uqr": "0.1.3",
59
+ "vue": "3.5.44",
60
+ "vue-bundle-renderer": "2.4.0",
61
+ "zod": "4.6.7",
62
+ "zod-to-json-schema": "3.25.2"
63
+ }
64
+ }
package/README.md CHANGED
@@ -1,13 +1,21 @@
1
1
  # bantou-server
2
2
 
3
- **雛形のみ(業務ロジック未実装)。** 起動・設定読込・workspace 準備・終了処理だけを持つ常駐プロセス。
3
+ claude を headless(`claude -p`)で起動する常駐プロセス。messenger 経由で指示を受ける。
4
4
 
5
5
  ## 役割
6
6
 
7
7
  - linux / mac で動く npm package(`bantou`)。`npx` で起動する。
8
- - bantou-desktop(`../desktop/`、mac / windows のネイティブアプリ)からの指示を受ける。
9
- - 担当は 2 つ。remote session の起動(`src/session.ts`)と、remote cap(オーケストレーター)の起動(`src/cap.ts`)。
10
- - desktop が指示を出す側。server は受ける側で、自律的に方針を決めない。
8
+ - headless 実行層。端末多重化ツールは使わない。
9
+ - messenger broker を内蔵し、peer `bantou-server` として指示を待つ。起動時に agent-messenger の protocol `bantou` の待受としても登録する(下記「protocol 登録」)。
10
+ - worker からの報告の受け口として MCP(HTTP)の `/mcp` を持つ(下記「worker 報告(MCP)」)。
11
+ - bantou-desktop(`../desktop/`)など任意の messenger peer からの指示を受ける。
12
+ - 実行モデルの全体は [`../docs/architecture.md`](../docs/architecture.md)。要約は次の通り。
13
+ - `kick_cap` で cap を起動する。初回は `claude -p --session-id <uuid>`、2 回目以降は `--resume <uuid>`。
14
+ - cap ごとに path(`<workspace>/caps/<cap_id>`)を持つ。worker も同様(`workers/<worker_id>`)。
15
+ - 同一 cap(worker)への指示は直列。別の cap(worker)は並行して走る。
16
+ - 状態は path 直下の `state.json` に残す。
17
+ - 起動時に、前回の実行が残した孤児 claude プロセスを回収する。
18
+ - 実行方式は差し替え口(`AgentRunner`)で抽象化。claudep 方式(Agent SDK)は interface のみで未実装。
11
19
 
12
20
  ## 起動方法
13
21
 
@@ -15,47 +23,242 @@
15
23
  npx bantou --config <path>
16
24
  ```
17
25
 
18
- - `--config` 省略時は `~/.config/bantou-server/config.json`。
26
+ - `--config` 省略時は `~/.config/bantou/config.json`。
19
27
  - それ以外の引数は exit 2。実行時エラーは exit 1。
20
- - SIGTERM / SIGINT で後始末して exit 0。
28
+ - SIGTERM / SIGINT で実行中の claude を止め、peer 解除・broker 停止して exit 0(5 秒で打ち切り)。
21
29
 
22
- 開発時は `server/` で実行する。
30
+ ## config.json
23
31
 
32
+ ```json
33
+ {
34
+ "workspace": "/path/to/workspace",
35
+ "broker": { "port": 7901, "bind": "127.0.0.1", "discovery": "on", "token": "" },
36
+ "mcp": { "port": 7902, "bind": "127.0.0.1" },
37
+ "session": {
38
+ "claude": "claude",
39
+ "permissionMode": "auto",
40
+ "timeoutMs": 1800000,
41
+ "maxRetries": 1,
42
+ "allowedTools": [],
43
+ "disallowedTools": [],
44
+ "extraArgs": [],
45
+ "capBashSandbox": false,
46
+ "env": {}
47
+ }
48
+ }
24
49
  ```
25
- npm install
26
- npm run typecheck
27
- npm run build
28
- npm test
29
- npm run dev -- --config <path>
50
+
51
+ | キー | 必須 | 既定値 | 内容 |
52
+ |---|---|---|---|
53
+ | `workspace` | 必須 | - | workspace フォルダの絶対パス |
54
+ | `broker.port` | 任意 | `7901` | broker の HTTP port。0..65535 の整数。0 はランダム |
55
+ | `broker.bind` | 任意 | `127.0.0.1` | broker の bind アドレス |
56
+ | `broker.discovery` | 任意 | `"on"` | UDP discovery の応答。`"on"` か `"off"` |
57
+ | `broker.token` | 任意 | `""` | Bearer token。空は認証なし |
58
+ | `mcp.port` | 任意 | `7902` | `/mcp` の HTTP port。0..65535 の整数。0 はランダム(e2e 専用。worker は起動時に URL を受け取り cap より長く生きるため、通常は固定 port) |
59
+ | `mcp.bind` | 任意 | `127.0.0.1` | `/mcp` の bind アドレス |
60
+ | `session.claude` | 任意 | `claude` | claude 実行ファイル |
61
+ | `session.permissionMode` | 任意 | `auto` | `--permission-mode`。`acceptEdits` / `auto` / `bypassPermissions` / `manual` / `dontAsk` / `plan` |
62
+ | `session.timeoutMs` | 任意 | `1800000`(30 分) | 1 回の実行の打ち切り時間。正の整数。超えたら SIGKILL |
63
+ | `session.maxRetries` | 任意 | `1` | タイムアウト・起動失敗時の再試行回数。0 以上の整数 |
64
+ | `session.allowedTools` | 任意 | `[]` | 空でなければ `--allowedTools` に渡す。文字列の配列 |
65
+ | `session.disallowedTools` | 任意 | `[]` | 空でなければ `--disallowedTools` に渡す。文字列の配列 |
66
+ | `session.extraArgs` | 任意 | `[]` | `--` の前にそのまま付ける追加引数。文字列の配列。`--settings` の後ろに並ぶため、同じ指定が重なれば extraArgs が後勝ち |
67
+ | `session.capBashSandbox` | 任意 | `false` | cap の `claude -p` の Bash sandbox。`false` は `--settings {"sandbox":{"enabled":false}}` を付けて切る(新規・resume とも)。`true` は付けず claude の設定のまま(sandbox が有効だと worker が cap の終了で消える)。真偽値 |
68
+ | `session.env` | 任意 | `{}` | spawn する claude に追加で渡す環境変数。文字列値のオブジェクト。bantou-server 自身の環境変数に上書きで合成する |
69
+
70
+ - `broker` / `mcp` / `session` は省略可。書く場合はオブジェクト。
71
+ - LAN に公開するには `broker.bind`(例 `0.0.0.0`)を明示する。その場合は `broker.token` の設定を推奨する。
72
+ - 例: 204 の claudeAgent ユーザーは `"env": { "CLAUDE_CONFIG_DIR": "/home/vagrant/.claude-agent" }` を指定する。
73
+ - 旧 `session.command` は廃止。残っていると起動時にエラーになる。`session.claude` を使う。
74
+
75
+ ## workspace レイアウト
76
+
77
+ ```
78
+ <workspace>/
79
+ broker.json broker の状態ファイル
80
+ caps/<cap-id>/ cap の path(claude の cwd)
81
+ state.json 状態
82
+ logs/<session_id>.jsonl claude の生出力(stream-json)
83
+ logs/center.json この cap を依頼した center(messenger の peer id)
84
+ logs/reports.jsonl worker から受けた report の記録(1 行 1 件)
85
+ workers/<worker-id>/ worker の path。構成は cap と同じ
30
86
  ```
31
87
 
32
- dev / test は `node --import tsx` を使う。Node >=22 のみで動き、bun を要しない。
88
+ - 起動時に `<workspace>/caps` と `<workspace>/workers` が無ければ作る。
89
+ - `cap_id` / `worker_id` は `[A-Za-z0-9_-]+`。
90
+ - `repo` を指定した指示では、path を git repo として扱う。path が無ければ clone、`.git` があれば fetch、`.git` が無い既存 path はエラー。clone 後は `.git/info/exclude` に `state.json` と `logs/` を追記する。
91
+ - 既存の `.git` がある場合は `fetch` だけ行う。`repo` / `branch` の違いは検知しない。
92
+ - `repo` 無しなら path を作るだけ。
33
93
 
34
- ## config.json
94
+ ## 内蔵 broker と peer
95
+
96
+ - 起動時に broker を `broker.port` / `broker.bind` で立てる。discovery と token は config の通り。
97
+ - 前回異常終了で残った自分の peer(name `bantou-server`、同一 host)は起動時に解除する。
98
+ - 自分は loopback(bind が全 IF の時)経由で接続し、peer `bantou-server` として登録する。
99
+
100
+ ## protocol 登録
101
+
102
+ - 接続後に `setProtocol(<protocol dir>)` で bantou protocol(name `bantou`、version は `packages/protocol/messenger/protocol.json` の通り)を登録する。ログ: `protocol 登録: bantou@1.0.0 hash=...`。終了時に `unsetProtocol`(`protocol 解除`)。
103
+ - protocol dir は npm package の `protocol/`(`scripts/copy-protocol.mjs` が `../packages/protocol/messenger/` をコピー。build / dev / e2e / prepack の先頭で実行、`server/protocol` は git 管理外)。`bin/bantou.mjs` が `NUXT_BANTOU_PROTOCOL_DIR`(runtimeConfig `bantou.protocolDir`)に設定する。
104
+ - 登録に失敗しても致命にしない。ログに出して従来の名前待受(peer `bantou-server`)で続ける。
105
+ - 受信 message の `meta.protocol` が `bantou` なら処理、meta 無しは旧形式として処理、他 protocol は無視(`無視(他 protocol)`)。返信は送信元の peer id へ `meta: {protocol: "bantou", version}` 付きで返す(report 起因の `cap_result` も同じ)。
106
+ - center は `list_peers`(`protocol: "bantou"`)で server を発見できる。
107
+ - summary は `<host> <workspace>`。
108
+ - loopback 以外に bind して token が空だと、起動直後に `警告: token 無しで ...` をログに出す。
109
+
110
+ ## worker 報告(MCP)
111
+
112
+ - Nitro の `/mcp`(Streamable HTTP、stateless、JSON 応答)。listener は `mcp.bind` / `mcp.port` で server が自前で立てる(preset `node-listener` は listen しないため)。起動ログ `mcp 起動: url=http://<host>:<port>/mcp` に実 URL が出る。
113
+ - tool は `report` 1 つ。引数は `kind`(`progress` / `ask` / `approve` / `done`)と `text`(1..20000 文字)。
114
+ - 送信元は header `x-bantou-cap-id` / `x-bantou-worker-id` で判定する(token は使わない。認証は全体で後回し)。
115
+ - tool は記録して queue に積んだ時点で `accepted` を返す。worker はそこでターンを終える。不正な id・存在しない cap・終了中は `isError` で返す。
116
+ - 受けた report は `logs/reports.jsonl` に追記し、該当 cap の queue に積んで `--resume` で起動する。prompt は `worker <id> から <kind>: <text>` と、worker へ返す時の MCP 情報(URL・header 名)。実行中の cap には、終わってから渡す。
117
+ - cap の結果(stdout の result)は、`kick_cap` の送信元 center へ `cap_result` で返す。report 起因の resume の結果も同じ。center は cap ごとに `logs/center.json` へ保存する(再起動後も復元)。resume が失敗した時は `error`(`command: "kick_cap"`、`cap_id`)を返す。
118
+ - worker の MCP 設定(cap が `claude -p` に渡す `--mcp-config`。resume のたびに渡す):
35
119
 
36
120
  ```json
37
- { "workspace": "/path/to/workspace" }
121
+ {"mcpServers":{"bantou":{"type":"http","url":"http://127.0.0.1:7902/mcp","headers":{"x-bantou-cap-id":"cap-a","x-bantou-worker-id":"w1"}}}}
38
122
  ```
39
123
 
40
- - `workspace`(必須): workspace フォルダの絶対パス。
124
+ - 併せて `--strict-mcp-config --allowedTools mcp__bantou__report` を付ける。`--allowedTools` / `--mcp-config` は可変長引数なので、prompt はそれらより前に置く。
125
+ - cap の `claude -p` の Bash sandbox は既定で切る(`session.capBashSandbox: false`)。claude の sandbox が有効だと、cap の Bash が起動した子(worker)は setsid しても cap の終了で消える(204 の user settings は `sandbox.enabled: true`)。実測は `docs/history/20261028-1600-server-nuxt-flow/report.md`。`--settings` の値は user settings より優先される。sandbox を残したい環境は `capBashSandbox: true`(その場合 worker の生存は保証されない)。worker 自体は server が起動しない(cap の責務)。
41
126
 
42
- ## workspace レイアウト
127
+ ## 指示
128
+
129
+ 任意の messenger peer が `bantou-server` 宛てに JSON 1 つをテキストで送る。
43
130
 
131
+ | type | 内容 |
132
+ |---|---|
133
+ | `kick_cap` | cap を起動する(初回は新規 session、以降は resume) |
134
+ | `status` | cap / worker の状態一覧 |
135
+
136
+ `kick_cap`(`cap_id` と `prompt` 以外は任意):
137
+
138
+ ```json
139
+ { "bantou": 1, "type": "kick_cap", "cap_id": "cap-a", "repo": "https://github.com/o/r.git", "branch": "main", "prompt": "Review the open issues.", "reason": "desktop から手動起動" }
44
140
  ```
45
- <workspace>/
46
- repos/ repo の展開先
141
+
142
+ - `cap_id`: cap の識別子。`caps/<cap_id>` が path になる。
143
+ - `repo` / `branch`: path の git 取得に使う。`-` で始まる値は拒否。
144
+ - `prompt`: claude に渡す指示。
145
+ - `reason`: 起動理由。ログ用で、claude には渡さない。
146
+
147
+ `status`:
148
+
149
+ ```json
150
+ { "bantou": 1, "type": "status" }
47
151
  ```
48
152
 
49
- 起動時に `<workspace>/` と `<workspace>/repos/` が無ければ作る。
153
+ ## 返信
154
+
155
+ 指示の送信元 peer へ JSON で返す。
156
+
157
+ ```json
158
+ { "bantou": 1, "type": "cap_result", "cap_id": "cap-a", "session_id": "0b6f...-uuid", "ok": true, "result_text": "kicked" }
159
+ { "bantou": 1, "type": "status_result", "ok": true, "caps": [{ "kind": "cap", "id": "cap-a", "path": "/ws/caps/cap-a", "session_id": "0b6f...-uuid", "state": "idle", "last_started_at": "2026-10-28T05:00:00.000Z", "last_finished_at": "2026-10-28T05:01:10.000Z", "retries": 0, "queued": 0 }], "workers": [] }
160
+ { "bantou": 1, "type": "error", "ok": false, "message": "git clone 失敗: ...", "command": "kick_cap" }
161
+ ```
50
162
 
51
- ## 未決定事項
163
+ - `cap_result` は claude の実行が終わってから返る。数分かかることがある。
164
+ - 実行が失敗しても `cap_result` で返る(`ok: false` と `error`)。
165
+ - `error` は実行に入る前の失敗(git 失敗、state が `running` / `error` で起動できない、state 破損など)。
166
+ - `cap_id` / `worker_id` が不正(`[A-Za-z0-9_-]+` でない)な指示は `error` を返さず、指示でないメッセージとして無視する(ログに `無視:`)。
167
+ - `status_result` の `state` は `idle` / `running` / `failed` / `error`。`queued` は待ち行列の件数。state.json が壊れていれば `error`。
168
+
169
+ ## state.json
170
+
171
+ ```json
172
+ {
173
+ "session_id": "0b6f...-uuid",
174
+ "state": "idle",
175
+ "last_started_at": "2026-10-28T05:00:00.000Z",
176
+ "last_finished_at": "2026-10-28T05:01:10.000Z",
177
+ "retries": 0
178
+ }
179
+ ```
180
+
181
+ - `state`: `idle`(待機)/ `running`(実行中)/ `failed`(直近の実行が失敗)/ `error`(孤児回収で判定できなかった時など)。
182
+ - `last_error`: 失敗の理由。成功時は無い。
183
+ - `retries`: 直近の実行で使った再試行回数。
184
+ - `error` の agent は起動しない(`state=error のため起動しない`)。解除は手動で、state.json を削除するか内容を直す。
185
+ - 書き込みは tmp ファイルへ書いて rename する。
186
+
187
+ ## retry と session 消失
188
+
189
+ - 再試行の対象はタイムアウトと claude の起動失敗。`session.maxRetries` 回まで。
190
+ - 新規 session(`--session-id`)の再試行は、新しい session_id で行う。作成済みか不明な id を再利用しないため。
191
+ - 継続(`--resume`)で `No conversation found with session ID` が出たら、新しい session_id で新規実行に切り替える。1 回だけで、再試行回数には数えない。
192
+ - それ以外の失敗(非ゼロ終了、成功として読めない応答)は再試行せず `failed`。
193
+
194
+ ## 起動時の孤児回収
195
+
196
+ - `state.json` が `running` の cap / worker を対象にする。前回 server が落ちた時の残りに当たる。
197
+ - `ps` から argv に `--session-id <sid>` か `--resume <sid>` を含むプロセスを探す。
198
+ - 見つかれば SIGKILL して消えるのを確認し、`failed`(`起動時に孤児プロセスを回収`)にする。
199
+ - 見つからなければ `failed`(`前回の実行が終了しないまま server が落ちた`)にする。
200
+ - `ps` が使えなければ `error` にする。
201
+ - 結果は `孤児回収: killed=<n> failed=<n> error=<n>` でログに出す。
202
+ - 終了時(SIGTERM / SIGINT)は実行中の claude を SIGKILL し、`failed`(`server 終了により中断`)にする。
203
+
204
+ ## 送り方
205
+
206
+ - 任意の messenger peer から `send_message` で `bantou-server` 宛てに送る。
207
+ - CLI の `send` は `from_id` が `cli` で peer ではないため、返信を受け取れない(サーバーは「返信失敗」をログに出して続行する)。
208
+ - 指示でないメッセージ(非 JSON、他の JSON)は無視し、ログに `無視:` を出す。ping も無視する。
209
+ - 指示は受信ごとに処理を始め、完了したら返信する。同一 id の指示は順番待ち、別 id は並行。`status` は実行中でも即答する。
210
+
211
+ ## ログ
212
+
213
+ 標準出力に 1 行 1 件。
214
+
215
+ ```
216
+ 2026-10-28T05:00:00.000Z bantou: 指示受信: type=kick_cap from=... cap_id=cap-a prompt=Review the open issues.
217
+ ```
218
+
219
+ 起動 / 孤児回収 / broker 起動 / mcp 起動 / peer 登録 / report 受信 / 指示受信 / claude 起動 / claude 終了 / 再試行 / 返信 / エラー / 終了処理 が出る。
220
+
221
+ - `指示受信` は prompt の先頭 80 文字だけを出す。repo URL の userinfo は伏せる。
222
+ - claude の生出力は `logs/<session_id>.jsonl` に追記する。1 回の実行ごとに `# <ISO> mode=<mode> session=<id>` の見出し行が付く。
223
+
224
+ ## 開発
225
+
226
+ 依存は `@unagents/messenger-broker` / `@unagents/messenger-client`(0.10.0、npmjs)と、`file:../packages/protocol` 経由の `@agent-hand/bantou-protocol`。
227
+ `../packages/protocol` を先にビルドする。npm publish はプロトコル package の公開まで保留している。
228
+
229
+ ```
230
+ (cd ../packages/protocol && npm run build)
231
+ npm install
232
+ npm run typecheck
233
+ npm run build
234
+ npm test
235
+ npm run dev -- --config <path>
236
+ ```
237
+
238
+ - server は Nuxt 4(Nitro のみ、UI なし、preset `node-listener`)。`npm run build`(`nuxt build`)が `.output/server/index.mjs` を作り、`bin/bantou.mjs` がそれを import して起動する(Nitro は listen しない)。
239
+ - 実装は `server/utils/bantou/`(Nitro 非依存の純 TS)と `server/plugins/01.bantou.ts`(起動・signal・exit)。
240
+ - `--config` は `bin/bantou.mjs` が解釈し、パスだけを `NUXT_BANTOU_CONFIG_PATH`(runtimeConfig `bantou.configPath`)へ渡す。config の中身は env に載せない。
241
+ - `npm pack` は `prepack` で build し、`bin` と `.output` を同梱する。runtime 依存は `.output/server/node_modules` に含まれる。
242
+ - test は `node --import tsx --test`。Node >=22 のみで動き、bun を要しない。unit test は claude もネットワークも使わない。
243
+
244
+ ## e2e
245
+
246
+ ```
247
+ npm run e2e
248
+ ```
52
249
 
53
- - desktop と server の通信方式
54
- - remote session と remote cap の起動手順の詳細
55
- - 配置先ホスト
250
+ - 要: host に claude。claude を実際に複数回起動するため数分かかる。claude のログイン(claudeAgent)を使う。
251
+ - `E2E_ROOT` で一時ディレクトリの親を変えられる(既定は OS の tmp)。`E2E_CLAUDE_CONFIG_DIR` で `CLAUDE_CONFIG_DIR` を渡す。`E2E_MODEL` で `--model` を指定する(worker の model は未指定なら `sonnet`)。cap の Bash sandbox は server の既定(`session.capBashSandbox: false`)で切れる。probe-survival は `E2E_CAP_BASH_SANDBOX=1` で sandbox 有効のまま計測する。
252
+ - 内蔵 broker は port 0 / 127.0.0.1 / discovery off、`/mcp` も port 0。server・cap・worker に本番 broker を使わせない(`AGENT_MESSENGER_*` / `CLAUDE_CODE_MESSAGING_*` を除去、cap と worker は `--strict-mcp-config`)。
253
+ - 検証内容: protocol 登録(`protocol 登録` ログ)→ center 相当の client が `listPeers("all", {protocol: "bantou"})` で発見 → meta 付きで送り、返信(`cap_result` / `status_result` / report 起因の `cap_result`)に meta が付くことを確認 → `kick_cap`(新規)→ `kick_cap`(resume、同じ session_id)→ worker 報告(cap が worker を `setsid claude -p` で起動 → worker が `report` done → server が受信 → cap が resume → 結果が送信元へ返る。worker と cap の `system/init` の `mcp_servers` も確認)→ `status` → meta 無しの旧形式 `status` も受ける → 他 protocol の meta は無視 → 非コマンドの無視 → 終了時の `protocol 解除`。
254
+ - 失敗時は一時ディレクトリを残し、パスを `E2E_DIR=` に出す。
255
+ - `npx tsx scripts/probe-survival.ts`(`E2E_*` は同じ): cap が起動したプロセスが cap の終了後も残るかを `kick_cap` 経由で計測する。`PROBE_SIGTERM=1` で server の SIGTERM 経路も測る。
256
+ - 後始末: messenger client、server プロセス(SIGTERM、exit 0 と port 解放も確認)、一時ディレクトリ。
257
+ - 成功時は `E2E OK` と主要ログを出す。失敗時は理由を出して exit 1。
56
258
 
57
259
  ## 関連資料
58
260
 
261
+ - [`../docs/architecture.md`](../docs/architecture.md)
59
262
  - [`../docs/protocol.md`](../docs/protocol.md)
60
263
  - [`../docs/guardrail.md`](../docs/guardrail.md)
61
264
  - [`../desktop/README.md`](../desktop/README.md)