@vibesdotdev/mcp 0.0.0-stage → 1.0.0-rc.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 (602) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +96 -2
  3. package/dist/adapters/auth-middleware.d.ts +68 -0
  4. package/dist/adapters/auth-middleware.d.ts.map +1 -0
  5. package/dist/adapters/auth-middleware.js +161 -0
  6. package/dist/adapters/auth-middleware.js.map +1 -0
  7. package/dist/adapters/compatibility.d.ts +20 -0
  8. package/dist/adapters/compatibility.d.ts.map +1 -0
  9. package/dist/adapters/compatibility.js +57 -0
  10. package/dist/adapters/compatibility.js.map +1 -0
  11. package/dist/adapters/host-context.consumer.d.ts +12 -0
  12. package/dist/adapters/host-context.consumer.d.ts.map +1 -0
  13. package/dist/adapters/host-context.consumer.js +10 -0
  14. package/dist/adapters/host-context.consumer.js.map +1 -0
  15. package/dist/adapters/host-context.d.ts +32 -0
  16. package/dist/adapters/host-context.d.ts.map +1 -0
  17. package/dist/adapters/host-context.js +17 -0
  18. package/dist/adapters/host-context.js.map +1 -0
  19. package/dist/adapters/index.d.ts +12 -0
  20. package/dist/adapters/index.d.ts.map +1 -0
  21. package/dist/adapters/index.js +13 -0
  22. package/dist/adapters/index.js.map +1 -0
  23. package/dist/adapters/mcp/ambient-envelope.d.ts +26 -0
  24. package/dist/adapters/mcp/ambient-envelope.d.ts.map +1 -0
  25. package/dist/adapters/mcp/ambient-envelope.js +70 -0
  26. package/dist/adapters/mcp/ambient-envelope.js.map +1 -0
  27. package/dist/adapters/mcp/catalog.d.ts +15 -0
  28. package/dist/adapters/mcp/catalog.d.ts.map +1 -0
  29. package/dist/adapters/mcp/catalog.js +26 -0
  30. package/dist/adapters/mcp/catalog.js.map +1 -0
  31. package/dist/adapters/mcp/connection-identity.d.ts +81 -0
  32. package/dist/adapters/mcp/connection-identity.d.ts.map +1 -0
  33. package/dist/adapters/mcp/connection-identity.js +114 -0
  34. package/dist/adapters/mcp/connection-identity.js.map +1 -0
  35. package/dist/adapters/mcp/context.d.ts +137 -0
  36. package/dist/adapters/mcp/context.d.ts.map +1 -0
  37. package/dist/adapters/mcp/context.js +230 -0
  38. package/dist/adapters/mcp/context.js.map +1 -0
  39. package/dist/adapters/mcp/formatters.d.ts +41 -0
  40. package/dist/adapters/mcp/formatters.d.ts.map +1 -0
  41. package/dist/adapters/mcp/formatters.js +102 -0
  42. package/dist/adapters/mcp/formatters.js.map +1 -0
  43. package/dist/adapters/mcp/from-api-endpoint.d.ts +59 -0
  44. package/dist/adapters/mcp/from-api-endpoint.d.ts.map +1 -0
  45. package/dist/adapters/mcp/from-api-endpoint.js +206 -0
  46. package/dist/adapters/mcp/from-api-endpoint.js.map +1 -0
  47. package/dist/adapters/mcp/generation-contract.d.ts +5 -0
  48. package/dist/adapters/mcp/generation-contract.d.ts.map +1 -0
  49. package/dist/adapters/mcp/generation-contract.js +34 -0
  50. package/dist/adapters/mcp/generation-contract.js.map +1 -0
  51. package/dist/adapters/mcp/host-registry.d.ts +159 -0
  52. package/dist/adapters/mcp/host-registry.d.ts.map +1 -0
  53. package/dist/adapters/mcp/host-registry.js +237 -0
  54. package/dist/adapters/mcp/host-registry.js.map +1 -0
  55. package/dist/adapters/mcp/index.d.ts +12 -0
  56. package/dist/adapters/mcp/index.d.ts.map +1 -0
  57. package/dist/adapters/mcp/index.js +17 -0
  58. package/dist/adapters/mcp/index.js.map +1 -0
  59. package/dist/adapters/mcp/isolated-notice.d.ts +111 -0
  60. package/dist/adapters/mcp/isolated-notice.d.ts.map +1 -0
  61. package/dist/adapters/mcp/isolated-notice.js +217 -0
  62. package/dist/adapters/mcp/isolated-notice.js.map +1 -0
  63. package/dist/adapters/mcp/json-rpc.d.ts +16 -0
  64. package/dist/adapters/mcp/json-rpc.d.ts.map +1 -0
  65. package/dist/adapters/mcp/json-rpc.js +32 -0
  66. package/dist/adapters/mcp/json-rpc.js.map +1 -0
  67. package/dist/adapters/mcp/local-origin.d.ts +18 -0
  68. package/dist/adapters/mcp/local-origin.d.ts.map +1 -0
  69. package/dist/adapters/mcp/local-origin.js +37 -0
  70. package/dist/adapters/mcp/local-origin.js.map +1 -0
  71. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts +11 -0
  72. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts.map +1 -0
  73. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js +21 -0
  74. package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js.map +1 -0
  75. package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts +10 -0
  76. package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts.map +1 -0
  77. package/dist/adapters/mcp/logging/mcp-http.descriptor.js +20 -0
  78. package/dist/adapters/mcp/logging/mcp-http.descriptor.js.map +1 -0
  79. package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts +9 -0
  80. package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts.map +1 -0
  81. package/dist/adapters/mcp/logging/mcp-server.descriptor.js +25 -0
  82. package/dist/adapters/mcp/logging/mcp-server.descriptor.js.map +1 -0
  83. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts +10 -0
  84. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts.map +1 -0
  85. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js +20 -0
  86. package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js.map +1 -0
  87. package/dist/adapters/mcp/mcp-http-session.d.ts +140 -0
  88. package/dist/adapters/mcp/mcp-http-session.d.ts.map +1 -0
  89. package/dist/adapters/mcp/mcp-http-session.js +797 -0
  90. package/dist/adapters/mcp/mcp-http-session.js.map +1 -0
  91. package/dist/adapters/mcp/mcp-wire-name.d.ts +9 -0
  92. package/dist/adapters/mcp/mcp-wire-name.d.ts.map +1 -0
  93. package/dist/adapters/mcp/mcp-wire-name.js +52 -0
  94. package/dist/adapters/mcp/mcp-wire-name.js.map +1 -0
  95. package/dist/adapters/mcp/projection-doctor.d.ts +101 -0
  96. package/dist/adapters/mcp/projection-doctor.d.ts.map +1 -0
  97. package/dist/adapters/mcp/projection-doctor.js +285 -0
  98. package/dist/adapters/mcp/projection-doctor.js.map +1 -0
  99. package/dist/adapters/mcp/projection.d.ts +36 -0
  100. package/dist/adapters/mcp/projection.d.ts.map +1 -0
  101. package/dist/adapters/mcp/projection.js +136 -0
  102. package/dist/adapters/mcp/projection.js.map +1 -0
  103. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts +113 -0
  104. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts.map +1 -0
  105. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js +15 -0
  106. package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js.map +1 -0
  107. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts +113 -0
  108. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts.map +1 -0
  109. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js +18 -0
  110. package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js.map +1 -0
  111. package/dist/adapters/mcp/prompts/index.d.ts +113 -0
  112. package/dist/adapters/mcp/prompts/index.d.ts.map +1 -0
  113. package/dist/adapters/mcp/prompts/index.js +24 -0
  114. package/dist/adapters/mcp/prompts/index.js.map +1 -0
  115. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts +114 -0
  116. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts.map +1 -0
  117. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js +37 -0
  118. package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js.map +1 -0
  119. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts +113 -0
  120. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts.map +1 -0
  121. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js +20 -0
  122. package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js.map +1 -0
  123. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts +113 -0
  124. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts.map +1 -0
  125. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js +20 -0
  126. package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js.map +1 -0
  127. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts +114 -0
  128. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts.map +1 -0
  129. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js +21 -0
  130. package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js.map +1 -0
  131. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts +113 -0
  132. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts.map +1 -0
  133. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js +19 -0
  134. package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js.map +1 -0
  135. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts +113 -0
  136. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts.map +1 -0
  137. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js +18 -0
  138. package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js.map +1 -0
  139. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts +113 -0
  140. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts.map +1 -0
  141. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js +19 -0
  142. package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js.map +1 -0
  143. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts +113 -0
  144. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts.map +1 -0
  145. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js +18 -0
  146. package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js.map +1 -0
  147. package/dist/adapters/mcp/request-context.d.ts +28 -0
  148. package/dist/adapters/mcp/request-context.d.ts.map +1 -0
  149. package/dist/adapters/mcp/request-context.js +49 -0
  150. package/dist/adapters/mcp/request-context.js.map +1 -0
  151. package/dist/adapters/mcp/roster-announcer.d.ts +3 -0
  152. package/dist/adapters/mcp/roster-announcer.d.ts.map +1 -0
  153. package/dist/adapters/mcp/roster-announcer.js +22 -0
  154. package/dist/adapters/mcp/roster-announcer.js.map +1 -0
  155. package/dist/adapters/mcp/sampling-context.d.ts +12 -0
  156. package/dist/adapters/mcp/sampling-context.d.ts.map +1 -0
  157. package/dist/adapters/mcp/sampling-context.js +30 -0
  158. package/dist/adapters/mcp/sampling-context.js.map +1 -0
  159. package/dist/adapters/mcp/sampling.d.ts +17 -0
  160. package/dist/adapters/mcp/sampling.d.ts.map +1 -0
  161. package/dist/adapters/mcp/sampling.js +43 -0
  162. package/dist/adapters/mcp/sampling.js.map +1 -0
  163. package/dist/adapters/mcp/schemas/index.d.ts +37 -0
  164. package/dist/adapters/mcp/schemas/index.d.ts.map +1 -0
  165. package/dist/adapters/mcp/schemas/index.js +5 -0
  166. package/dist/adapters/mcp/schemas/index.js.map +1 -0
  167. package/dist/adapters/mcp/schemas/tool-selection.d.ts +12 -0
  168. package/dist/adapters/mcp/schemas/tool-selection.d.ts.map +1 -0
  169. package/dist/adapters/mcp/schemas/tool-selection.js +2 -0
  170. package/dist/adapters/mcp/schemas/tool-selection.js.map +1 -0
  171. package/dist/adapters/mcp/serve-identity.d.ts +64 -0
  172. package/dist/adapters/mcp/serve-identity.d.ts.map +1 -0
  173. package/dist/adapters/mcp/serve-identity.js +220 -0
  174. package/dist/adapters/mcp/serve-identity.js.map +1 -0
  175. package/dist/adapters/mcp/server.consumer.d.ts +5 -0
  176. package/dist/adapters/mcp/server.consumer.d.ts.map +1 -0
  177. package/dist/adapters/mcp/server.consumer.js +300 -0
  178. package/dist/adapters/mcp/server.consumer.js.map +1 -0
  179. package/dist/adapters/mcp/server.d.ts +56 -0
  180. package/dist/adapters/mcp/server.d.ts.map +1 -0
  181. package/dist/adapters/mcp/server.js +1423 -0
  182. package/dist/adapters/mcp/server.js.map +1 -0
  183. package/dist/adapters/mcp/stale-body.consumer.d.ts +85 -0
  184. package/dist/adapters/mcp/stale-body.consumer.d.ts.map +1 -0
  185. package/dist/adapters/mcp/stale-body.consumer.js +183 -0
  186. package/dist/adapters/mcp/stale-body.consumer.js.map +1 -0
  187. package/dist/adapters/mcp/startup-refusal.d.ts +8 -0
  188. package/dist/adapters/mcp/startup-refusal.d.ts.map +1 -0
  189. package/dist/adapters/mcp/startup-refusal.js +141 -0
  190. package/dist/adapters/mcp/startup-refusal.js.map +1 -0
  191. package/dist/adapters/mcp/stdio-relay.d.ts +232 -0
  192. package/dist/adapters/mcp/stdio-relay.d.ts.map +1 -0
  193. package/dist/adapters/mcp/stdio-relay.js +1169 -0
  194. package/dist/adapters/mcp/stdio-relay.js.map +1 -0
  195. package/dist/adapters/mcp/tool-audit-live.d.ts +109 -0
  196. package/dist/adapters/mcp/tool-audit-live.d.ts.map +1 -0
  197. package/dist/adapters/mcp/tool-audit-live.js +538 -0
  198. package/dist/adapters/mcp/tool-audit-live.js.map +1 -0
  199. package/dist/adapters/mcp/tool-audit.d.ts +44 -0
  200. package/dist/adapters/mcp/tool-audit.d.ts.map +1 -0
  201. package/dist/adapters/mcp/tool-audit.js +168 -0
  202. package/dist/adapters/mcp/tool-audit.js.map +1 -0
  203. package/dist/adapters/mcp/tool-catalog.d.ts +179 -0
  204. package/dist/adapters/mcp/tool-catalog.d.ts.map +1 -0
  205. package/dist/adapters/mcp/tool-catalog.js +330 -0
  206. package/dist/adapters/mcp/tool-catalog.js.map +1 -0
  207. package/dist/adapters/mcp/tool-selection.d.ts +77 -0
  208. package/dist/adapters/mcp/tool-selection.d.ts.map +1 -0
  209. package/dist/adapters/mcp/tool-selection.js +266 -0
  210. package/dist/adapters/mcp/tool-selection.js.map +1 -0
  211. package/dist/adapters/mcp/transport-registry.d.ts +5 -0
  212. package/dist/adapters/mcp/transport-registry.d.ts.map +1 -0
  213. package/dist/adapters/mcp/transport-registry.js +13 -0
  214. package/dist/adapters/mcp/transport-registry.js.map +1 -0
  215. package/dist/adapters/mcp/trust-tag.d.ts +69 -0
  216. package/dist/adapters/mcp/trust-tag.d.ts.map +1 -0
  217. package/dist/adapters/mcp/trust-tag.js +120 -0
  218. package/dist/adapters/mcp/trust-tag.js.map +1 -0
  219. package/dist/adapters/mcp/vibes-types.d.ts +115 -0
  220. package/dist/adapters/mcp/vibes-types.d.ts.map +1 -0
  221. package/dist/adapters/mcp/vibes-types.js +7 -0
  222. package/dist/adapters/mcp/vibes-types.js.map +1 -0
  223. package/dist/adapters/mcp/web-handler.d.ts +49 -0
  224. package/dist/adapters/mcp/web-handler.d.ts.map +1 -0
  225. package/dist/adapters/mcp/web-handler.js +129 -0
  226. package/dist/adapters/mcp/web-handler.js.map +1 -0
  227. package/dist/adapters/session-id.d.ts +3 -0
  228. package/dist/adapters/session-id.d.ts.map +1 -0
  229. package/dist/adapters/session-id.js +42 -0
  230. package/dist/adapters/session-id.js.map +1 -0
  231. package/dist/adapters/transport-bun-http.d.ts +39 -0
  232. package/dist/adapters/transport-bun-http.d.ts.map +1 -0
  233. package/dist/adapters/transport-bun-http.js +42 -0
  234. package/dist/adapters/transport-bun-http.js.map +1 -0
  235. package/dist/adapters/types.d.ts +135 -0
  236. package/dist/adapters/types.d.ts.map +1 -0
  237. package/dist/adapters/types.js +2 -0
  238. package/dist/adapters/types.js.map +1 -0
  239. package/dist/adapters/web-compatibility.d.ts +6 -0
  240. package/dist/adapters/web-compatibility.d.ts.map +1 -0
  241. package/dist/adapters/web-compatibility.js +13 -0
  242. package/dist/adapters/web-compatibility.js.map +1 -0
  243. package/dist/adapters/zod-mcp.d.ts +139 -0
  244. package/dist/adapters/zod-mcp.d.ts.map +1 -0
  245. package/dist/adapters/zod-mcp.js +617 -0
  246. package/dist/adapters/zod-mcp.js.map +1 -0
  247. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts +15 -0
  248. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts.map +1 -0
  249. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js +58 -0
  250. package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js.map +1 -0
  251. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts +6 -0
  252. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts.map +1 -0
  253. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js +180 -0
  254. package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js.map +1 -0
  255. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts +22 -0
  256. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts.map +1 -0
  257. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js +19 -0
  258. package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js.map +1 -0
  259. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts +23 -0
  260. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts.map +1 -0
  261. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js +41 -0
  262. package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js.map +1 -0
  263. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts +75 -0
  264. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts.map +1 -0
  265. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js +84 -0
  266. package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js.map +1 -0
  267. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts +35 -0
  268. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts.map +1 -0
  269. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js +28 -0
  270. package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js.map +1 -0
  271. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts +11 -0
  272. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts.map +1 -0
  273. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js +47 -0
  274. package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js.map +1 -0
  275. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts +18 -0
  276. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts.map +1 -0
  277. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js +18 -0
  278. package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js.map +1 -0
  279. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts +12 -0
  280. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts.map +1 -0
  281. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js +17 -0
  282. package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js.map +1 -0
  283. package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts +41 -0
  284. package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts.map +1 -0
  285. package/dist/cli/mcp/management/dev.mcp.install.descriptor.js +49 -0
  286. package/dist/cli/mcp/management/dev.mcp.install.descriptor.js.map +1 -0
  287. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts +16 -0
  288. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts.map +1 -0
  289. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js +244 -0
  290. package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js.map +1 -0
  291. package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts +22 -0
  292. package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts.map +1 -0
  293. package/dist/cli/mcp/management/dev.mcp.list.descriptor.js +24 -0
  294. package/dist/cli/mcp/management/dev.mcp.list.descriptor.js.map +1 -0
  295. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts +29 -0
  296. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts.map +1 -0
  297. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js +127 -0
  298. package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js.map +1 -0
  299. package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts +48 -0
  300. package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts.map +1 -0
  301. package/dist/cli/mcp/management/dev.mcp.status.descriptor.js +56 -0
  302. package/dist/cli/mcp/management/dev.mcp.status.descriptor.js.map +1 -0
  303. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts +9 -0
  304. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts.map +1 -0
  305. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js +253 -0
  306. package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js.map +1 -0
  307. package/dist/cli/mcp/management/install-helpers.d.ts +26 -0
  308. package/dist/cli/mcp/management/install-helpers.d.ts.map +1 -0
  309. package/dist/cli/mcp/management/install-helpers.js +95 -0
  310. package/dist/cli/mcp/management/install-helpers.js.map +1 -0
  311. package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts +38 -0
  312. package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts.map +1 -0
  313. package/dist/cli/mcp/management/process-audit.impl.consumer.js +145 -0
  314. package/dist/cli/mcp/management/process-audit.impl.consumer.js.map +1 -0
  315. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts +21 -0
  316. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts.map +1 -0
  317. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js +82 -0
  318. package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js.map +1 -0
  319. package/dist/cli/mcp/management/status-doctor.d.ts +22 -0
  320. package/dist/cli/mcp/management/status-doctor.d.ts.map +1 -0
  321. package/dist/cli/mcp/management/status-doctor.js +153 -0
  322. package/dist/cli/mcp/management/status-doctor.js.map +1 -0
  323. package/dist/cli/mcp/schemas/status-doctor.d.ts +75 -0
  324. package/dist/cli/mcp/schemas/status-doctor.d.ts.map +1 -0
  325. package/dist/cli/mcp/schemas/status-doctor.js +2 -0
  326. package/dist/cli/mcp/schemas/status-doctor.js.map +1 -0
  327. package/dist/cli/mcp/support/host-port.d.ts +31 -0
  328. package/dist/cli/mcp/support/host-port.d.ts.map +1 -0
  329. package/dist/cli/mcp/support/host-port.js +31 -0
  330. package/dist/cli/mcp/support/host-port.js.map +1 -0
  331. package/dist/cli/mcp/support/server-process.impl.consumer.d.ts +24 -0
  332. package/dist/cli/mcp/support/server-process.impl.consumer.d.ts.map +1 -0
  333. package/dist/cli/mcp/support/server-process.impl.consumer.js +86 -0
  334. package/dist/cli/mcp/support/server-process.impl.consumer.js.map +1 -0
  335. package/dist/cli/mcp/support/status-doctor.d.ts +33 -0
  336. package/dist/cli/mcp/support/status-doctor.d.ts.map +1 -0
  337. package/dist/cli/mcp/support/status-doctor.js +104 -0
  338. package/dist/cli/mcp/support/status-doctor.js.map +1 -0
  339. package/dist/cli/print.d.ts +12 -0
  340. package/dist/cli/print.d.ts.map +1 -0
  341. package/dist/cli/print.js +25 -0
  342. package/dist/cli/print.js.map +1 -0
  343. package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts +19 -0
  344. package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts.map +1 -0
  345. package/dist/cli/surface-mcp/client-connection-identity.consumer.js +53 -0
  346. package/dist/cli/surface-mcp/client-connection-identity.consumer.js.map +1 -0
  347. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts +7 -0
  348. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts.map +1 -0
  349. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js +345 -0
  350. package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js.map +1 -0
  351. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts +12 -0
  352. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts.map +1 -0
  353. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js +657 -0
  354. package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js.map +1 -0
  355. package/dist/cli/surface-mcp/local-dev-flag.d.ts +24 -0
  356. package/dist/cli/surface-mcp/local-dev-flag.d.ts.map +1 -0
  357. package/dist/cli/surface-mcp/local-dev-flag.js +37 -0
  358. package/dist/cli/surface-mcp/local-dev-flag.js.map +1 -0
  359. package/dist/cli/surface-mcp/shared-host-startup.d.ts +14 -0
  360. package/dist/cli/surface-mcp/shared-host-startup.d.ts.map +1 -0
  361. package/dist/cli/surface-mcp/shared-host-startup.js +46 -0
  362. package/dist/cli/surface-mcp/shared-host-startup.js.map +1 -0
  363. package/dist/cli/surface-mcp/stdio-relay-transport.d.ts +2 -0
  364. package/dist/cli/surface-mcp/stdio-relay-transport.d.ts.map +1 -0
  365. package/dist/cli/surface-mcp/stdio-relay-transport.js +21 -0
  366. package/dist/cli/surface-mcp/stdio-relay-transport.js.map +1 -0
  367. package/dist/cli/surface-mcp/teardown.d.ts +17 -0
  368. package/dist/cli/surface-mcp/teardown.d.ts.map +1 -0
  369. package/dist/cli/surface-mcp/teardown.js +28 -0
  370. package/dist/cli/surface-mcp/teardown.js.map +1 -0
  371. package/dist/client.d.ts +49 -0
  372. package/dist/client.d.ts.map +1 -0
  373. package/dist/client.js +131 -0
  374. package/dist/client.js.map +1 -0
  375. package/dist/config/load.d.ts +6 -0
  376. package/dist/config/load.d.ts.map +1 -0
  377. package/dist/config/load.js +18 -0
  378. package/dist/config/load.js.map +1 -0
  379. package/dist/config/mcp.config.descriptor.d.ts +108 -0
  380. package/dist/config/mcp.config.descriptor.d.ts.map +1 -0
  381. package/dist/config/mcp.config.descriptor.js +63 -0
  382. package/dist/config/mcp.config.descriptor.js.map +1 -0
  383. package/dist/docs/mcp.docs.descriptor.d.ts +4 -0
  384. package/dist/docs/mcp.docs.descriptor.d.ts.map +1 -0
  385. package/dist/docs/mcp.docs.descriptor.js +44 -0
  386. package/dist/docs/mcp.docs.descriptor.js.map +1 -0
  387. package/dist/docs/prompts.docs.descriptor.d.ts +4 -0
  388. package/dist/docs/prompts.docs.descriptor.d.ts.map +1 -0
  389. package/dist/docs/prompts.docs.descriptor.js +130 -0
  390. package/dist/docs/prompts.docs.descriptor.js.map +1 -0
  391. package/dist/docs/resources.docs.descriptor.d.ts +4 -0
  392. package/dist/docs/resources.docs.descriptor.d.ts.map +1 -0
  393. package/dist/docs/resources.docs.descriptor.js +390 -0
  394. package/dist/docs/resources.docs.descriptor.js.map +1 -0
  395. package/dist/docs/server.docs.descriptor.d.ts +4 -0
  396. package/dist/docs/server.docs.descriptor.d.ts.map +1 -0
  397. package/dist/docs/server.docs.descriptor.js +383 -0
  398. package/dist/docs/server.docs.descriptor.js.map +1 -0
  399. package/dist/docs/tools.docs.descriptor.d.ts +4 -0
  400. package/dist/docs/tools.docs.descriptor.d.ts.map +1 -0
  401. package/dist/docs/tools.docs.descriptor.js +316 -0
  402. package/dist/docs/tools.docs.descriptor.js.map +1 -0
  403. package/dist/harness-identity.descriptors.d.ts +11 -0
  404. package/dist/harness-identity.descriptors.d.ts.map +1 -0
  405. package/dist/harness-identity.descriptors.js +41 -0
  406. package/dist/harness-identity.descriptors.js.map +1 -0
  407. package/dist/index.d.ts +36 -0
  408. package/dist/index.d.ts.map +1 -0
  409. package/dist/index.js +36 -0
  410. package/dist/index.js.map +1 -0
  411. package/dist/kinds/harness-identity.kind.d.ts +3 -0
  412. package/dist/kinds/harness-identity.kind.d.ts.map +1 -0
  413. package/dist/kinds/harness-identity.kind.js +16 -0
  414. package/dist/kinds/harness-identity.kind.js.map +1 -0
  415. package/dist/kinds/sampling.kind.d.ts +15 -0
  416. package/dist/kinds/sampling.kind.d.ts.map +1 -0
  417. package/dist/kinds/sampling.kind.js +24 -0
  418. package/dist/kinds/sampling.kind.js.map +1 -0
  419. package/dist/lifecycle-repeat.d.ts +23 -0
  420. package/dist/lifecycle-repeat.d.ts.map +1 -0
  421. package/dist/lifecycle-repeat.js +21 -0
  422. package/dist/lifecycle-repeat.js.map +1 -0
  423. package/dist/mcp/dev.mcp.descriptor.d.ts +18 -0
  424. package/dist/mcp/dev.mcp.descriptor.d.ts.map +1 -0
  425. package/dist/mcp/dev.mcp.descriptor.js +18 -0
  426. package/dist/mcp/dev.mcp.descriptor.js.map +1 -0
  427. package/dist/mcp/index.d.ts +20 -0
  428. package/dist/mcp/index.d.ts.map +1 -0
  429. package/dist/mcp/index.js +19 -0
  430. package/dist/mcp/index.js.map +1 -0
  431. package/dist/mcp/mcp.plugin.d.ts +9 -0
  432. package/dist/mcp/mcp.plugin.d.ts.map +1 -0
  433. package/dist/mcp/mcp.plugin.js +59 -0
  434. package/dist/mcp/mcp.plugin.js.map +1 -0
  435. package/dist/mcp-client.plugin.d.ts +4 -0
  436. package/dist/mcp-client.plugin.d.ts.map +1 -0
  437. package/dist/mcp-client.plugin.js +13 -0
  438. package/dist/mcp-client.plugin.js.map +1 -0
  439. package/dist/mcp.client.descriptor.d.ts +27 -0
  440. package/dist/mcp.client.descriptor.d.ts.map +1 -0
  441. package/dist/mcp.client.descriptor.js +7 -0
  442. package/dist/mcp.client.descriptor.js.map +1 -0
  443. package/dist/mcp.consumer.plugin.d.ts +4 -0
  444. package/dist/mcp.consumer.plugin.d.ts.map +1 -0
  445. package/dist/mcp.consumer.plugin.js +19 -0
  446. package/dist/mcp.consumer.plugin.js.map +1 -0
  447. package/dist/mcp.runtime.plugin.d.ts +10 -0
  448. package/dist/mcp.runtime.plugin.d.ts.map +1 -0
  449. package/dist/mcp.runtime.plugin.js +40 -0
  450. package/dist/mcp.runtime.plugin.js.map +1 -0
  451. package/dist/root-state.d.ts +3 -0
  452. package/dist/root-state.d.ts.map +1 -0
  453. package/dist/root-state.js +3 -0
  454. package/dist/root-state.js.map +1 -0
  455. package/dist/schemas/api-endpoint.d.ts +12 -0
  456. package/dist/schemas/api-endpoint.d.ts.map +1 -0
  457. package/dist/schemas/api-endpoint.js +11 -0
  458. package/dist/schemas/api-endpoint.js.map +1 -0
  459. package/dist/schemas/audit.d.ts +172 -0
  460. package/dist/schemas/audit.d.ts.map +1 -0
  461. package/dist/schemas/audit.js +82 -0
  462. package/dist/schemas/audit.js.map +1 -0
  463. package/dist/schemas/harness-identity.d.ts +41 -0
  464. package/dist/schemas/harness-identity.d.ts.map +1 -0
  465. package/dist/schemas/harness-identity.js +19 -0
  466. package/dist/schemas/harness-identity.js.map +1 -0
  467. package/dist/schemas/host-adapters.d.ts +14 -0
  468. package/dist/schemas/host-adapters.d.ts.map +1 -0
  469. package/dist/schemas/host-adapters.js +7 -0
  470. package/dist/schemas/host-adapters.js.map +1 -0
  471. package/dist/schemas/projection.d.ts +10 -0
  472. package/dist/schemas/projection.d.ts.map +1 -0
  473. package/dist/schemas/projection.js +9 -0
  474. package/dist/schemas/projection.js.map +1 -0
  475. package/dist/schemas/tool.d.ts +8 -0
  476. package/dist/schemas/tool.d.ts.map +1 -0
  477. package/dist/schemas/tool.js +8 -0
  478. package/dist/schemas/tool.js.map +1 -0
  479. package/dist/surface-mcp/build-provenance.d.ts +67 -0
  480. package/dist/surface-mcp/build-provenance.d.ts.map +1 -0
  481. package/dist/surface-mcp/build-provenance.js +287 -0
  482. package/dist/surface-mcp/build-provenance.js.map +1 -0
  483. package/dist/surface-mcp/crash-reporting.d.ts +28 -0
  484. package/dist/surface-mcp/crash-reporting.d.ts.map +1 -0
  485. package/dist/surface-mcp/crash-reporting.js +41 -0
  486. package/dist/surface-mcp/crash-reporting.js.map +1 -0
  487. package/dist/surface-mcp/executable-freshness-watch.d.ts +89 -0
  488. package/dist/surface-mcp/executable-freshness-watch.d.ts.map +1 -0
  489. package/dist/surface-mcp/executable-freshness-watch.js +225 -0
  490. package/dist/surface-mcp/executable-freshness-watch.js.map +1 -0
  491. package/dist/surface-mcp/host-provenance-banner.d.ts +49 -0
  492. package/dist/surface-mcp/host-provenance-banner.d.ts.map +1 -0
  493. package/dist/surface-mcp/host-provenance-banner.js +135 -0
  494. package/dist/surface-mcp/host-provenance-banner.js.map +1 -0
  495. package/dist/surface-mcp/index.d.ts +51 -0
  496. package/dist/surface-mcp/index.d.ts.map +1 -0
  497. package/dist/surface-mcp/index.js +92 -0
  498. package/dist/surface-mcp/index.js.map +1 -0
  499. package/dist/surface-mcp/local-tools-bootstrap.d.ts +36 -0
  500. package/dist/surface-mcp/local-tools-bootstrap.d.ts.map +1 -0
  501. package/dist/surface-mcp/local-tools-bootstrap.js +43 -0
  502. package/dist/surface-mcp/local-tools-bootstrap.js.map +1 -0
  503. package/dist/surface-mcp/mcp-serve.plugin.d.ts +9 -0
  504. package/dist/surface-mcp/mcp-serve.plugin.d.ts.map +1 -0
  505. package/dist/surface-mcp/mcp-serve.plugin.js +24 -0
  506. package/dist/surface-mcp/mcp-serve.plugin.js.map +1 -0
  507. package/dist/surface-mcp/project-config.d.ts +35 -0
  508. package/dist/surface-mcp/project-config.d.ts.map +1 -0
  509. package/dist/surface-mcp/project-config.js +74 -0
  510. package/dist/surface-mcp/project-config.js.map +1 -0
  511. package/dist/surface-mcp/serve-lifecycle.d.ts +102 -0
  512. package/dist/surface-mcp/serve-lifecycle.d.ts.map +1 -0
  513. package/dist/surface-mcp/serve-lifecycle.js +343 -0
  514. package/dist/surface-mcp/serve-lifecycle.js.map +1 -0
  515. package/dist/surface-mcp/session-bridge.d.ts +18 -0
  516. package/dist/surface-mcp/session-bridge.d.ts.map +1 -0
  517. package/dist/surface-mcp/session-bridge.js +26 -0
  518. package/dist/surface-mcp/session-bridge.js.map +1 -0
  519. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts +13 -0
  520. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts.map +1 -0
  521. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js +13 -0
  522. package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js.map +1 -0
  523. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts +11 -0
  524. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts.map +1 -0
  525. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js +36 -0
  526. package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js.map +1 -0
  527. package/dist/surface-mcp/workspace-warning.d.ts +16 -0
  528. package/dist/surface-mcp/workspace-warning.d.ts.map +1 -0
  529. package/dist/surface-mcp/workspace-warning.js +44 -0
  530. package/dist/surface-mcp/workspace-warning.js.map +1 -0
  531. package/dist/svelte/index.d.ts +12 -0
  532. package/dist/svelte/index.d.ts.map +1 -0
  533. package/dist/svelte/index.js +11 -0
  534. package/dist/svelte/mcp-svelte.plugin.d.ts +10 -0
  535. package/dist/svelte/mcp-svelte.plugin.d.ts.map +1 -0
  536. package/dist/svelte/mcp-svelte.plugin.js +24 -0
  537. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte +91 -0
  538. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts +9 -0
  539. package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts.map +1 -0
  540. package/dist/svelte/tool-widgets/index.d.ts +3 -0
  541. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  542. package/dist/svelte/tool-widgets/index.js +2 -0
  543. package/dist/svelte/tool-widgets/summary.d.ts +48 -0
  544. package/dist/svelte/tool-widgets/summary.d.ts.map +1 -0
  545. package/dist/svelte/tool-widgets/summary.js +117 -0
  546. package/dist/tools/vibes-context/schemas.d.ts +85 -0
  547. package/dist/tools/vibes-context/schemas.d.ts.map +1 -0
  548. package/dist/tools/vibes-context/schemas.js +76 -0
  549. package/dist/tools/vibes-context/schemas.js.map +1 -0
  550. package/dist/tools/vibes-context/vibes-context.descriptor.d.ts +4 -0
  551. package/dist/tools/vibes-context/vibes-context.descriptor.d.ts.map +1 -0
  552. package/dist/tools/vibes-context/vibes-context.descriptor.js +30 -0
  553. package/dist/tools/vibes-context/vibes-context.descriptor.js.map +1 -0
  554. package/dist/tools/vibes-context/vibes-context.impl.d.ts +34 -0
  555. package/dist/tools/vibes-context/vibes-context.impl.d.ts.map +1 -0
  556. package/dist/tools/vibes-context/vibes-context.impl.js +207 -0
  557. package/dist/tools/vibes-context/vibes-context.impl.js.map +1 -0
  558. package/dist/tui/index.d.ts +4 -0
  559. package/dist/tui/index.d.ts.map +1 -0
  560. package/dist/tui/index.js +4 -0
  561. package/dist/tui/index.js.map +1 -0
  562. package/dist/tui/mcp-health.d.ts +7 -0
  563. package/dist/tui/mcp-health.d.ts.map +1 -0
  564. package/dist/tui/mcp-health.js +16 -0
  565. package/dist/tui/mcp-health.js.map +1 -0
  566. package/dist/tui/mcp-tui.plugin.d.ts +3 -0
  567. package/dist/tui/mcp-tui.plugin.d.ts.map +1 -0
  568. package/dist/tui/mcp-tui.plugin.js +18 -0
  569. package/dist/tui/mcp-tui.plugin.js.map +1 -0
  570. package/dist/tui/mcp.tui-app.descriptor.d.ts +4 -0
  571. package/dist/tui/mcp.tui-app.descriptor.d.ts.map +1 -0
  572. package/dist/tui/mcp.tui-app.descriptor.js +19 -0
  573. package/dist/tui/mcp.tui-app.descriptor.js.map +1 -0
  574. package/dist/tui/mcp.tui-app.impl.consumer.d.ts +4 -0
  575. package/dist/tui/mcp.tui-app.impl.consumer.d.ts.map +1 -0
  576. package/dist/tui/mcp.tui-app.impl.consumer.js +48 -0
  577. package/dist/tui/mcp.tui-app.impl.consumer.js.map +1 -0
  578. package/dist/tui/mcp.tui-state.descriptor.d.ts +8 -0
  579. package/dist/tui/mcp.tui-state.descriptor.d.ts.map +1 -0
  580. package/dist/tui/mcp.tui-state.descriptor.js +37 -0
  581. package/dist/tui/mcp.tui-state.descriptor.js.map +1 -0
  582. package/dist/tui/mcp.tui-state.impl.consumer.d.ts +5 -0
  583. package/dist/tui/mcp.tui-state.impl.consumer.d.ts.map +1 -0
  584. package/dist/tui/mcp.tui-state.impl.consumer.js +97 -0
  585. package/dist/tui/mcp.tui-state.impl.consumer.js.map +1 -0
  586. package/dist/tui/mcp.tui-state.key.d.ts +45 -0
  587. package/dist/tui/mcp.tui-state.key.d.ts.map +1 -0
  588. package/dist/tui/mcp.tui-state.key.js +25 -0
  589. package/dist/tui/mcp.tui-state.key.js.map +1 -0
  590. package/dist/types.core.d.ts +25 -0
  591. package/dist/types.core.d.ts.map +1 -0
  592. package/dist/types.core.js +8 -0
  593. package/dist/types.core.js.map +1 -0
  594. package/dist/types.d.ts +71 -0
  595. package/dist/types.d.ts.map +1 -0
  596. package/dist/types.js +2 -0
  597. package/dist/types.js.map +1 -0
  598. package/dist/types.registry.d.ts +93 -0
  599. package/dist/types.registry.d.ts.map +1 -0
  600. package/dist/types.registry.js +32 -0
  601. package/dist/types.registry.js.map +1 -0
  602. package/package.json +323 -4
@@ -0,0 +1,75 @@
1
+ import type { collectRulesDebtSummary } from '../management/rules-debt-summary.impl.consumer.ts';
2
+ export type McpServeProcess = {
3
+ pid: number;
4
+ ppid: number;
5
+ elapsedSeconds: number | null;
6
+ command: string;
7
+ clientId: string | null;
8
+ mode: 'stdio' | 'http' | 'unknown';
9
+ };
10
+ export type McpClientGroup = {
11
+ clientId: string;
12
+ count: number;
13
+ pids: number[];
14
+ modes: Array<'stdio' | 'http' | 'unknown'>;
15
+ };
16
+ export type HeuristicCandidate = McpServeProcess & {
17
+ reason: 'orphan-stdio-client' | 'untagged-stdio-long-running';
18
+ };
19
+ export type RulesDebtSummary = Awaited<ReturnType<typeof collectRulesDebtSummary>>;
20
+ export type McpDoctorReport = {
21
+ timestamp: string;
22
+ pm: {
23
+ running: boolean;
24
+ reachable: boolean;
25
+ /**
26
+ * false when the daemon probe itself rejected or outlived the doctor
27
+ * timeout: `running`/`reachable` are then seeds, not readings.
28
+ */
29
+ measured: boolean;
30
+ /** Why the probe could not answer. Present only when `measured` is false. */
31
+ error?: string;
32
+ };
33
+ mcp: {
34
+ running: boolean;
35
+ /** `'unknown'` until PM has been consulted; `'missing'` is a measured absence. */
36
+ status: string;
37
+ /** false when PM was unreachable, so its process table was never read. */
38
+ measured: boolean;
39
+ };
40
+ workers: {
41
+ consumerRunning: boolean;
42
+ cloudRunning: boolean;
43
+ ready: boolean;
44
+ /**
45
+ * Why readiness could not be measured: the worker probe failed for a
46
+ * reason other than "nothing is listening". `ready` is then a seed, not a
47
+ * reading, and the failure is diagnosed, never reported as "not running".
48
+ */
49
+ error?: string;
50
+ };
51
+ resources: {
52
+ total: number;
53
+ ready: number;
54
+ nonReady: Array<{
55
+ id: string;
56
+ status: string;
57
+ error?: string;
58
+ }>;
59
+ /** Why PM's resource states could not be read; `total`/`ready` are then seeds. */
60
+ error?: string;
61
+ };
62
+ tools: {
63
+ totalEnabled: number;
64
+ missing: string[];
65
+ };
66
+ mcpClients: {
67
+ totalServeProcesses: number;
68
+ clientGroups: McpClientGroup[];
69
+ untaggedPids: number[];
70
+ heuristicCandidates: HeuristicCandidate[];
71
+ };
72
+ debtSummary: RulesDebtSummary | null;
73
+ fixes: string[];
74
+ };
75
+ //# sourceMappingURL=status-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-doctor.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/schemas/status-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAEjG,MAAM,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IAClD,MAAM,EAAE,qBAAqB,GAAG,6BAA6B,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAEnF,MAAM,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB;;;WAGG;QACH,QAAQ,EAAE,OAAO,CAAC;QAClB,6EAA6E;QAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,GAAG,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,kFAAkF;QAClF,MAAM,EAAE,MAAM,CAAC;QACf,0EAA0E;QAC1E,QAAQ,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACR,eAAe,EAAE,OAAO,CAAC;QACzB,YAAY,EAAE,OAAO,CAAC;QACtB,KAAK,EAAE,OAAO,CAAC;QACf;;;;WAIG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAChE,kFAAkF;QAClF,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnD,UAAU,EAAE;QACX,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,cAAc,EAAE,CAAC;QAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;KAC1C,CAAC;IACF,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=status-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-doctor.js","sourceRoot":"","sources":["../../../../src/cli/mcp/schemas/status-doctor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The managed MCP HTTP host's port is WORKSPACE-SCOPED, not machine-global.
3
+ *
4
+ * WHY. Port 3000 was the baked default in four places (the `dev.mcp.serve`,
5
+ * `dev.mcp.start` and `dev.mcp.status` descriptors, and
6
+ * `createMcpServerProcessConfig`). Every workspace on a machine therefore asked
7
+ * for the SAME port, which made "port busy" the normal state on a shared box
8
+ * and made PM's conflict handling load-bearing for correctness. Measured
9
+ * 2026-08-30/31: a scratch PM daemon in a throwaway `VIBES_HOME` found port
10
+ * 3000 held by a peer lane's `vibes dev mcp serve --mode http --port 3000` and
11
+ * killed it — three times in one day. The kill is fixed in
12
+ * `@vibesdotdev/pm/utils/port-ownership`; this removes the collision that asked
13
+ * the question.
14
+ *
15
+ * WHERE THE DERIVATION LIVES. The pure Paths workspace-mcp-host contract uses
16
+ * portable Shared hashing. `@vibesdotdev/tools` writes the local MCP URL into every external client
17
+ * config and builds a per-hook-call MCP client, so it must compute the identical
18
+ * port; `mcp` already depends on `tools`, so the dependency can only run the
19
+ * other way. Moving the derivation down to the layer both already depend on is
20
+ * what keeps ONE definition of "which port does this workspace's host own".
21
+ * This module stays as the MCP-side name for it, so existing call sites and the
22
+ * doc trail above are unchanged.
23
+ *
24
+ * OVERRIDES, most specific first:
25
+ * 1. an explicit `--port` (a user asking for a port always gets that port);
26
+ * 2. `VIBES_MCP_PORT` in the environment;
27
+ * 3. the workspace derivation.
28
+ * There is no path back to a machine-global constant.
29
+ */
30
+ export { MCP_HOST_PORT_RANGE_START, MCP_HOST_PORT_RANGE_SIZE, parsePortValue, deriveWorkspaceMcpPort, resolveMcpHostPort, type ResolveMcpHostPortInput } from '@vibesdotdev/paths/workspace-mcp-host';
31
+ //# sourceMappingURL=host-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-port.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/support/host-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The managed MCP HTTP host's port is WORKSPACE-SCOPED, not machine-global.
3
+ *
4
+ * WHY. Port 3000 was the baked default in four places (the `dev.mcp.serve`,
5
+ * `dev.mcp.start` and `dev.mcp.status` descriptors, and
6
+ * `createMcpServerProcessConfig`). Every workspace on a machine therefore asked
7
+ * for the SAME port, which made "port busy" the normal state on a shared box
8
+ * and made PM's conflict handling load-bearing for correctness. Measured
9
+ * 2026-08-30/31: a scratch PM daemon in a throwaway `VIBES_HOME` found port
10
+ * 3000 held by a peer lane's `vibes dev mcp serve --mode http --port 3000` and
11
+ * killed it — three times in one day. The kill is fixed in
12
+ * `@vibesdotdev/pm/utils/port-ownership`; this removes the collision that asked
13
+ * the question.
14
+ *
15
+ * WHERE THE DERIVATION LIVES. The pure Paths workspace-mcp-host contract uses
16
+ * portable Shared hashing. `@vibesdotdev/tools` writes the local MCP URL into every external client
17
+ * config and builds a per-hook-call MCP client, so it must compute the identical
18
+ * port; `mcp` already depends on `tools`, so the dependency can only run the
19
+ * other way. Moving the derivation down to the layer both already depend on is
20
+ * what keeps ONE definition of "which port does this workspace's host own".
21
+ * This module stays as the MCP-side name for it, so existing call sites and the
22
+ * doc trail above are unchanged.
23
+ *
24
+ * OVERRIDES, most specific first:
25
+ * 1. an explicit `--port` (a user asking for a port always gets that port);
26
+ * 2. `VIBES_MCP_PORT` in the environment;
27
+ * 3. the workspace derivation.
28
+ * There is no path back to a machine-global constant.
29
+ */
30
+ export { MCP_HOST_PORT_RANGE_START, MCP_HOST_PORT_RANGE_SIZE, parsePortValue, deriveWorkspaceMcpPort, resolveMcpHostPort } from '@vibesdotdev/paths/workspace-mcp-host';
31
+ //# sourceMappingURL=host-port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-port.js","sourceRoot":"","sources":["../../../../src/cli/mcp/support/host-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAElB,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { ProcessConfigInput } from '@vibesdotdev/pm/schemas/process';
2
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
3
+ export declare const MCP_SERVER_PROCESS_ID = "mcp-server-dev";
4
+ export declare const LEGACY_MCP_SERVER_PROCESS_ID = "mcp-server";
5
+ export type McpServerProcessRuntime = Pick<RuntimeRef, 'hasKind' | 'query' | 'getEnvSnapshot' | 'context'>;
6
+ /** IDs belong to the bound MCP root inside the daemon admitted by PM. */
7
+ export declare function mcpServerProcessId(runtime: Pick<RuntimeRef, 'context'>, workspaceRoot: string): Promise<string>;
8
+ /** Legacy reads are confined to the admitted root; never address its host from a nested root. */
9
+ export declare function mcpServerProcessIds(runtime: Pick<RuntimeRef, 'context'>, workspaceRoot: string): Promise<string[]>;
10
+ export declare function createMcpServerProcessConfig(options: {
11
+ /** The runtime the command was handed: its host declares the self-spawn command PM re-enters. */
12
+ runtime: McpServerProcessRuntime;
13
+ mode?: 'stdio' | 'http';
14
+ port?: string;
15
+ authDisabled?: boolean;
16
+ /**
17
+ * The workspace this managed host belongs to: the caller's bound workspace
18
+ * (`runtime/workspace-path`). It sets `cwd`, `VIBES_WORKSPACE` AND the
19
+ * derived port, so all three describe the same scope. Nothing here falls
20
+ * back to an environment variable or the process cwd.
21
+ */
22
+ workspaceRoot: string;
23
+ }): Promise<ProcessConfigInput>;
24
+ //# sourceMappingURL=server-process.impl.consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-process.impl.consumer.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/support/server-process.impl.consumer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG/F,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAE3G,yEAAyE;AACzE,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMrH;AAED,iGAAiG;AACjG,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGxH;AAED,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC3D,iGAAiG;IACjG,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8D9B"}
@@ -0,0 +1,86 @@
1
+ import { admittedWorkspaceIdentity, requireAdmittedWorkspace } from '@vibesdotdev/pm/admission';
2
+ import { CapabilityError, getRuntimeHostCommands } from '@vibesdotdev/kernel';
3
+ import { resolveMcpHostPort } from "./host-port.js";
4
+ export const MCP_SERVER_PROCESS_ID = 'mcp-server-dev';
5
+ export const LEGACY_MCP_SERVER_PROCESS_ID = 'mcp-server';
6
+ /** IDs belong to the bound MCP root inside the daemon admitted by PM. */
7
+ export async function mcpServerProcessId(runtime, workspaceRoot) {
8
+ const admitted = await requireAdmittedWorkspace(runtime);
9
+ const workspace = admittedWorkspaceIdentity(workspaceRoot);
10
+ return workspace.workspacePath === admittedWorkspaceIdentity(admitted.root).workspacePath
11
+ ? MCP_SERVER_PROCESS_ID
12
+ : `${MCP_SERVER_PROCESS_ID}-${workspace.toolingId}`;
13
+ }
14
+ /** Legacy reads are confined to the admitted root; never address its host from a nested root. */
15
+ export async function mcpServerProcessIds(runtime, workspaceRoot) {
16
+ const id = await mcpServerProcessId(runtime, workspaceRoot);
17
+ return id === MCP_SERVER_PROCESS_ID ? [id, LEGACY_MCP_SERVER_PROCESS_ID] : [id];
18
+ }
19
+ export async function createMcpServerProcessConfig(options) {
20
+ const mode = options.mode ?? 'http';
21
+ const workspaceRoot = options.workspaceRoot;
22
+ // No machine-global default. Absent an explicit --port this is the port THIS
23
+ // workspace owns, so two lanes on one machine never contend. See host-port.ts.
24
+ const port = String(resolveMcpHostPort({ explicitPort: options.port, workspaceRoot, env: options.runtime.getEnvSnapshot() }));
25
+ const env = {
26
+ VIBES_WORKSPACE: workspaceRoot,
27
+ MCP_LOG_LEVEL: 'info'
28
+ };
29
+ if (options.authDisabled) {
30
+ env.MCP_AUTH_ENABLED = 'false';
31
+ }
32
+ const hostCommands = await getRuntimeHostCommands(options.runtime);
33
+ const [command, ...hostArgs] = hostCommands.selfSpawnArgv('MCP server process');
34
+ return {
35
+ id: await mcpServerProcessId(options.runtime, workspaceRoot),
36
+ name: 'MCP Server Dev',
37
+ command,
38
+ args: [
39
+ ...hostArgs,
40
+ '--workspace-root',
41
+ workspaceRoot,
42
+ 'dev',
43
+ 'mcp',
44
+ 'serve',
45
+ '--mode',
46
+ mode,
47
+ '--port',
48
+ port
49
+ ],
50
+ cwd: workspaceRoot,
51
+ env,
52
+ autoRestart: mode === 'http',
53
+ codeUpdatePolicy: 'runtime',
54
+ restartDelay: mode === 'http' ? 5000 : 1000,
55
+ maxRestarts: mode === 'http' ? 10 : 0,
56
+ healthCheck: mode === 'http'
57
+ ? {
58
+ type: 'http',
59
+ failureAction: 'report',
60
+ endpoint: `http://127.0.0.1:${normalizePort(port)}/health`,
61
+ interval: 10000,
62
+ timeout: 3000,
63
+ retries: 5,
64
+ // Measured 2026-09-05: boot-to-bind on the dirty developer tree
65
+ // is 32-43 s; a 15 s warmup + 30 s grace had PM SIGKILL hosts
66
+ // that were still loading (7 warmup-ended, 12 force-kills that
67
+ // day). Warm for two minutes, then a full minute of grace.
68
+ warmupMs: 120000,
69
+ gracePeriodMultiplier: 6
70
+ }
71
+ : undefined,
72
+ tags: mode === 'http' ? ['infrastructure', 'mcp'] : ['mcp', 'server', 'stdio'],
73
+ dependencies: mode === 'http' ? [] : undefined,
74
+ presets: mode === 'http' ? ['dev', 'full'] : undefined
75
+ };
76
+ }
77
+ /** The port the config already resolved (always a positive integer by construction). */
78
+ function normalizePort(port) {
79
+ const parsed = Number.parseInt(port, 10);
80
+ if (Number.isFinite(parsed) && parsed > 0)
81
+ return parsed;
82
+ throw new CapabilityError(`MCP server port '${port}' is not a positive integer.`, 'INVALID_INPUT', {
83
+ reason: 'mcp-port-invalid'
84
+ });
85
+ }
86
+ //# sourceMappingURL=server-process.impl.consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-process.impl.consumer.js","sourceRoot":"","sources":["../../../../src/cli/mcp/support/server-process.impl.consumer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
2
+ import type { RuntimeProcessService } from '@vibesdotdev/kernel/process';
3
+ import { PMClient } from '@vibesdotdev/pm/client';
4
+ import type { McpDoctorReport, McpServeProcess } from '../schemas/status-doctor.ts';
5
+ import { type McpServerProcessRuntime } from './server-process.impl.consumer.ts';
6
+ export declare function resolveMcpServerStatus(pm: PMClient, options: {
7
+ runtime: Pick<VibesRuntime, 'context'>;
8
+ workspaceRoot: string;
9
+ }): Promise<{
10
+ processId: string | null;
11
+ status: string;
12
+ running: boolean;
13
+ }>;
14
+ export declare function ensureCoreToolCoverage(runtime: Pick<VibesRuntime, 'declaredScope' | 'hasKind' | 'assets'>): Promise<{
15
+ totalEnabled: number;
16
+ missing: string[];
17
+ }>;
18
+ export declare function ensureMcpServer(pm: PMClient, options: {
19
+ runtime: McpServerProcessRuntime;
20
+ mode?: 'stdio' | 'http';
21
+ port?: string;
22
+ workspaceRoot: string;
23
+ }): Promise<void>;
24
+ export declare function createMcpClientReport(processes: McpServeProcess[]): McpDoctorReport['mcpClients'];
25
+ /**
26
+ * Signal each duplicate stdio client through the handed runtime's process
27
+ * service. A failed signal is reported per pid by its value-free facts.
28
+ */
29
+ export declare function cleanupDuplicateClientProcesses(processService: Pick<RuntimeProcessService, 'signal'>, processes: McpServeProcess[]): Promise<{
30
+ terminated: number[];
31
+ failed: string[];
32
+ }>;
33
+ //# sourceMappingURL=status-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-doctor.d.ts","sourceRoot":"","sources":["../../../../src/cli/mcp/support/status-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAMlD,OAAO,KAAK,EAEX,eAAe,EACf,eAAe,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGN,KAAK,uBAAuB,EAC5B,MAAM,mCAAmC,CAAC;AAiB3C,wBAAsB,sBAAsB,CAC3C,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE;IAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAazE;AAED,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC,GACjE,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgBtD;AAED,wBAAsB,eAAe,CACpC,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE;IAAE,OAAO,EAAE,uBAAuB,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC1G,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,eAAe,EAAE,GAC1B,eAAe,CAAC,YAAY,CAAC,CAU/B;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACpD,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,EACrD,SAAS,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC;IACV,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC,CAkBD"}
@@ -0,0 +1,104 @@
1
+ import { CaughtFailureSchema, valueFreeFailure } from '@vibesdotdev/kernel';
2
+ // Runtime is expected to be initialized by the calling CLI surface / entrypoint.
3
+ import { PMClient } from '@vibesdotdev/pm/client';
4
+ import { toolEligibleForPurpose } from '@vibesdotdev/tools/kinds/tool';
5
+ import { groupMcpServeProcessesByClient, selectDuplicateStdioClientCleanupTargets } from "../management/process-audit.impl.consumer.js";
6
+ import { mcpServerProcessIds, createMcpServerProcessConfig } from "./server-process.impl.consumer.js";
7
+ const REQUIRED_TOOL_IDS = [
8
+ 'workspace-fs',
9
+ 'workspace-search',
10
+ 'workspace-lsp',
11
+ 'workspace-lock',
12
+ 'brain',
13
+ 'presence',
14
+ 'awareness',
15
+ 'knowledge',
16
+ 'session',
17
+ 'session-todo',
18
+ 'session-scratchpad',
19
+ 'vibes-work'
20
+ ];
21
+ export async function resolveMcpServerStatus(pm, options) {
22
+ let fallback = null;
23
+ for (const processId of await mcpServerProcessIds(options.runtime, options.workspaceRoot)) {
24
+ const status = await pm.getStatus(processId);
25
+ if (!status)
26
+ continue;
27
+ if (status.status === 'running') {
28
+ return { processId, status: status.status, running: true };
29
+ }
30
+ if (!fallback) {
31
+ fallback = { processId, status: status.status, running: false };
32
+ }
33
+ }
34
+ return fallback ?? { processId: null, status: 'missing', running: false };
35
+ }
36
+ export async function ensureCoreToolCoverage(runtime) {
37
+ // Coverage is judged as an MCP host on this hardware would see it: the
38
+ // tools kind's own rule, evaluated for the `mcp` purpose on the hardware
39
+ // this host declares. The CLI's declared scope is never patched.
40
+ const hardware = runtime.declaredScope.hardware;
41
+ const enabled = runtime.hasKind('tools/tool')
42
+ ? runtime
43
+ .assets('tools/tool')
44
+ .descriptors()
45
+ .filter((descriptor) => descriptor.enabled !== false && toolEligibleForPurpose(descriptor, 'mcp', hardware))
46
+ : [];
47
+ const enabledIds = new Set(enabled.map((descriptor) => descriptor.id));
48
+ return {
49
+ totalEnabled: enabled.length,
50
+ missing: REQUIRED_TOOL_IDS.filter((id) => !enabledIds.has(id))
51
+ };
52
+ }
53
+ export async function ensureMcpServer(pm, options) {
54
+ await pm.start(await createMcpServerProcessConfig(options), { wait: true });
55
+ }
56
+ export function createMcpClientReport(processes) {
57
+ return {
58
+ totalServeProcesses: processes.length,
59
+ clientGroups: groupMcpServeProcessesByClient(processes),
60
+ untaggedPids: processes
61
+ .filter((processInfo) => processInfo.clientId === null)
62
+ .map((processInfo) => processInfo.pid)
63
+ .sort((a, b) => a - b),
64
+ heuristicCandidates: getMcpClientHeuristicCandidates(processes)
65
+ };
66
+ }
67
+ /**
68
+ * Signal each duplicate stdio client through the handed runtime's process
69
+ * service. A failed signal is reported per pid by its value-free facts.
70
+ */
71
+ export async function cleanupDuplicateClientProcesses(processService, processes) {
72
+ const targets = selectDuplicateStdioClientCleanupTargets(processes);
73
+ const terminated = [];
74
+ const failed = [];
75
+ for (const target of targets) {
76
+ for (const pid of target.killPids) {
77
+ const result = await processService.signal(pid, 'SIGTERM').then(() => ({ ok: true }), error => ({ ok: false, error: CaughtFailureSchema.parse(error) }));
78
+ if (result.ok)
79
+ terminated.push(pid);
80
+ else {
81
+ const facts = valueFreeFailure(result.error);
82
+ failed.push(`${pid}:${facts.code ?? facts.name}`);
83
+ }
84
+ }
85
+ }
86
+ return { terminated, failed };
87
+ }
88
+ function getMcpClientHeuristicCandidates(processes) {
89
+ const candidates = [];
90
+ for (const processInfo of processes) {
91
+ if (processInfo.mode !== 'stdio')
92
+ continue;
93
+ const elapsed = processInfo.elapsedSeconds ?? 0;
94
+ if (processInfo.clientId !== null && processInfo.ppid === 1) {
95
+ candidates.push({ ...processInfo, reason: 'orphan-stdio-client' });
96
+ continue;
97
+ }
98
+ if (processInfo.clientId === null && elapsed >= 300) {
99
+ candidates.push({ ...processInfo, reason: 'untagged-stdio-long-running' });
100
+ }
101
+ }
102
+ return candidates.sort((a, b) => a.pid - b.pid);
103
+ }
104
+ //# sourceMappingURL=status-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-doctor.js","sourceRoot":"","sources":["../../../../src/cli/mcp/support/status-doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CLI text output through the handed runtime's host stdio (`runtime/stdio`),
3
+ * never the process streams. Text that came from somewhere else (an installer
4
+ * result, a descriptor, a remote error) is passed through {@link untrustedText}
5
+ * first, so a credential it echoes never reaches the terminal.
6
+ */
7
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
8
+ /** Write `text` followed by a newline to the runtime's stdout or stderr. */
9
+ export declare function printLine(runtime: Pick<RuntimeRef, 'hasKind' | 'registerPlugin' | 'query'>, text: string, channel?: 'stdout' | 'stderr'): Promise<void>;
10
+ /** An untrusted fragment as a CLI line may carry it: control characters and credentials removed, bounded. */
11
+ export declare function untrustedText(text: string): string;
12
+ //# sourceMappingURL=print.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../src/cli/print.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOvE,4EAA4E;AAC5E,wBAAsB,SAAS,CAC9B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC,EACjE,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,QAAQ,GAAG,QAAmB,GACrC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CLI text output through the handed runtime's host stdio (`runtime/stdio`),
3
+ * never the process streams. Text that came from somewhere else (an installer
4
+ * result, a descriptor, a remote error) is passed through {@link untrustedText}
5
+ * first, so a credential it echoes never reaches the terminal.
6
+ */
7
+ import { getRuntimeStdio } from '@vibesdotdev/kernel';
8
+ import { redactedExcerpt } from '@vibesdotdev/shared/utils';
9
+ import { writeStdout } from '@vibesdotdev/cli/output';
10
+ /** The most characters of one untrusted fragment a CLI line prints. */
11
+ const UNTRUSTED_TEXT_MAX_CHARS = 2000;
12
+ /** Write `text` followed by a newline to the runtime's stdout or stderr. */
13
+ export async function printLine(runtime, text, channel = 'stdout') {
14
+ // stdout is the command's output: the cli owner joins the host's output plane.
15
+ if (channel === 'stdout') {
16
+ await writeStdout(runtime, `${text}\n`);
17
+ return;
18
+ }
19
+ (await getRuntimeStdio(runtime)).write('stderr', `${text}\n`);
20
+ }
21
+ /** An untrusted fragment as a CLI line may carry it: control characters and credentials removed, bounded. */
22
+ export function untrustedText(text) {
23
+ return redactedExcerpt(text, { maxChars: UNTRUSTED_TEXT_MAX_CHARS });
24
+ }
25
+ //# sourceMappingURL=print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"print.js","sourceRoot":"","sources":["../../src/cli/print.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,OAAiE,EACjE,IAAY,EACZ,UAA+B,QAAQ;IAEvC,+EAA+E;IAC/E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;QACxC,OAAO;IACR,CAAC;IACD,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,OAAO,eAAe,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
2
+ import { type ServeIdentity } from '../../adapters/mcp/serve-identity.ts';
3
+ export interface ClientConnectionIdentity {
4
+ readonly agentId?: string;
5
+ readonly harness: string;
6
+ readonly agentSystemId?: string;
7
+ readonly harnessSessionId?: string;
8
+ readonly projectIds: readonly string[];
9
+ /** The owner this agent calls home (`VIBES_AGENT_HOME`); ids come from the principal. */
10
+ readonly home?: AgentHome;
11
+ }
12
+ type AgentHome = 'user' | 'organization' | 'team';
13
+ export declare function resolveClientConnectionIdentity(runtime: RuntimeRef, input: {
14
+ identity: ServeIdentity;
15
+ env: Record<string, string | undefined>;
16
+ workspaceRoot: string;
17
+ }): Promise<ClientConnectionIdentity>;
18
+ export {};
19
+ //# sourceMappingURL=client-connection-identity.consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-connection-identity.consumer.d.ts","sourceRoot":"","sources":["../../../src/cli/surface-mcp/client-connection-identity.consumer.ts"],"names":[],"mappings":"AAYA,OAAO,EAA+C,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE/F,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;AAElD,wBAAsB,+BAA+B,CACpD,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE;IACP,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;CACrB,GACC,OAAO,CAAC,wBAAwB,CAAC,CAoBnC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The identity a stdio MCP client declares for its connection, resolved at the
3
+ * CLI boundary where reading this process's env and checkout is legitimate:
4
+ * this process was spawned by exactly one harness for exactly one agent.
5
+ *
6
+ * A relay sends it on `initialize` with the shared host's local attestation
7
+ * (verified there as `mcp-relay-launch`); an isolated stdio server hands it to
8
+ * the adapter as its `verifiedConnectionIdentity` (`stdio-launch`). The shared
9
+ * host never computes it.
10
+ */
11
+ import { resolveProjectRefContext } from '@vibesdotdev/workspace/project-ref';
12
+ import { getLogger } from '@vibesdotdev/logging';
13
+ import { isCapabilityError, settle, valueFreeFailure } from '@vibesdotdev/kernel';
14
+ import { findHarnessIdentity } from "../../adapters/mcp/serve-identity.js";
15
+ export async function resolveClientConnectionIdentity(runtime, input) {
16
+ const { readHarnessSessionIdFromEnv } = await import('@vibesdotdev/session/mcp/utils/participant');
17
+ // A harness whose descriptor declares a `per-process` session id launches
18
+ // one MCP server per process (Codex today). A shared agent slug or an
19
+ // inherited conversation id would hand every lane the orchestrator's seat.
20
+ // Keep this launch id in the relay identity so host reconnects retain it.
21
+ // Every other harness keeps its declared conversation continuity from env.
22
+ const harnessSessionId = findHarnessIdentity(runtime, input.identity.harness)?.sessionId?.source === 'per-process'
23
+ ? `${input.identity.harness}-mcp-${crypto.randomUUID()}`
24
+ : readHarnessSessionIdFromEnv(runtime, input.env);
25
+ return {
26
+ harness: input.identity.harness,
27
+ projectIds: await checkoutProjectIds(runtime, input.workspaceRoot),
28
+ agentId: input.identity.agent || undefined,
29
+ agentSystemId: input.identity.agentSystemId || undefined,
30
+ harnessSessionId: harnessSessionId || undefined,
31
+ home: declaredHome(input.env)
32
+ };
33
+ }
34
+ function declaredHome(env) {
35
+ const value = env.VIBES_AGENT_HOME?.trim();
36
+ if (value === 'user' || value === 'organization' || value === 'team')
37
+ return value;
38
+ return undefined;
39
+ }
40
+ async function checkoutProjectIds(runtime, workspaceRoot) {
41
+ // Through the owner's context: it activates this host's synchronous filesystem first.
42
+ const read = await settle(async () => (await resolveProjectRefContext(runtime)).resolve({ workspaceRoot }));
43
+ if (read.ok)
44
+ return read.value ? [read.value.projectId] : [];
45
+ // A refused marker (symlink or non-file) leaves this checkout unbound.
46
+ // Every other failure still propagates.
47
+ if (isCapabilityError(read.cause) && read.cause.reason === 'project-ref-marker-refused') {
48
+ getLogger('mcp', runtime).debug('checkout ProjectRef marker refused', { failure: valueFreeFailure(read.cause) });
49
+ return [];
50
+ }
51
+ throw read.cause;
52
+ }
53
+ //# sourceMappingURL=client-connection-identity.consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-connection-identity.consumer.js","sourceRoot":"","sources":["../../../src/cli/surface-mcp/client-connection-identity.consumer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAsB,MAAM,sCAAsC,CAAC;AAc/F,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,OAAmB,EACnB,KAIC;IAED,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CACnD,4CAA4C,CAC5C,CAAC;IACF,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,aAAa;QACjH,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE;QACxD,CAAC,CAAC,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;QAC/B,UAAU,EAAE,MAAM,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC;QAClE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS;QAC1C,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,SAAS;QACxD,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;QAC/C,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;KACM,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,GAAuC;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACnF,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAmB,EAAE,aAAqB;IAC3E,sFAAsF;IACtF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC5G,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,uEAAuE;IACvE,wCAAwC;IACxC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,4BAA4B,EAAE,CAAC;QACzF,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,IAAI,CAAC,KAAK,CAAC;AAClB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CommandContext, CommandOptions } from '@vibesdotdev/cli';
2
+ declare function executeMcpCommand(_args: CommandOptions, options: CommandOptions, context: CommandContext): Promise<void>;
3
+ declare const _default: import("@vibesdotdev/kernel").RuntimeImplementationWrapper<{
4
+ execute: typeof executeMcpCommand;
5
+ }>;
6
+ export default _default;
7
+ //# sourceMappingURL=dev.mcp.serve.impl.cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.mcp.serve.impl.cloud.d.ts","sourceRoot":"","sources":["../../../src/cli/surface-mcp/dev.mcp.serve.impl.cloud.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAyDvE,iBAAe,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Tf;;;;AAED,wBAKG"}