@1mcp/agent 0.34.4 → 0.35.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/README.md +1 -0
  2. package/build/admin/assets/admin-console-C5_zD_qW.css +1 -0
  3. package/build/admin/assets/admin-console-CbHHoqLr.js +61 -0
  4. package/build/admin/index.html +13 -0
  5. package/build/application/services/healthService.d.ts +32 -0
  6. package/build/application/services/healthService.d.ts.map +1 -1
  7. package/build/application/services/healthService.js +49 -0
  8. package/build/application/services/healthService.js.map +1 -1
  9. package/build/commands/admin/admin.d.ts +90 -0
  10. package/build/commands/admin/admin.d.ts.map +1 -0
  11. package/build/commands/admin/admin.js +545 -0
  12. package/build/commands/admin/admin.js.map +1 -0
  13. package/build/commands/admin/index.d.ts +3 -0
  14. package/build/commands/admin/index.d.ts.map +1 -0
  15. package/build/commands/admin/index.js +99 -0
  16. package/build/commands/admin/index.js.map +1 -0
  17. package/build/commands/auth/index.d.ts.map +1 -1
  18. package/build/commands/auth/index.js +24 -5
  19. package/build/commands/auth/index.js.map +1 -1
  20. package/build/commands/auth/login.d.ts +1 -0
  21. package/build/commands/auth/login.d.ts.map +1 -1
  22. package/build/commands/auth/login.js +6 -10
  23. package/build/commands/auth/login.js.map +1 -1
  24. package/build/commands/auth/logout.d.ts +3 -0
  25. package/build/commands/auth/logout.d.ts.map +1 -1
  26. package/build/commands/auth/logout.js +19 -32
  27. package/build/commands/auth/logout.js.map +1 -1
  28. package/build/commands/auth/runtimeTargetContext.d.ts +25 -0
  29. package/build/commands/auth/runtimeTargetContext.d.ts.map +1 -0
  30. package/build/commands/auth/runtimeTargetContext.js +69 -0
  31. package/build/commands/auth/runtimeTargetContext.js.map +1 -0
  32. package/build/commands/auth/status.d.ts +1 -0
  33. package/build/commands/auth/status.d.ts.map +1 -1
  34. package/build/commands/auth/status.js +10 -33
  35. package/build/commands/auth/status.js.map +1 -1
  36. package/build/commands/inspect/index.d.ts.map +1 -1
  37. package/build/commands/inspect/index.js +4 -0
  38. package/build/commands/inspect/index.js.map +1 -1
  39. package/build/commands/inspect/inspect.d.ts +1 -0
  40. package/build/commands/inspect/inspect.d.ts.map +1 -1
  41. package/build/commands/inspect/inspect.js +2 -2
  42. package/build/commands/inspect/inspect.js.map +1 -1
  43. package/build/commands/instructions/index.d.ts.map +1 -1
  44. package/build/commands/instructions/index.js +4 -0
  45. package/build/commands/instructions/index.js.map +1 -1
  46. package/build/commands/instructions/instructions.d.ts +1 -0
  47. package/build/commands/instructions/instructions.d.ts.map +1 -1
  48. package/build/commands/instructions/instructions.js.map +1 -1
  49. package/build/commands/instructions/instructionsUtils.js +1 -1
  50. package/build/commands/instructions/instructionsUtils.js.map +1 -1
  51. package/build/commands/mcp/enable.d.ts +89 -2
  52. package/build/commands/mcp/enable.d.ts.map +1 -1
  53. package/build/commands/mcp/enable.js +555 -35
  54. package/build/commands/mcp/enable.js.map +1 -1
  55. package/build/commands/mcp/index.d.ts.map +1 -1
  56. package/build/commands/mcp/index.js +10 -0
  57. package/build/commands/mcp/index.js.map +1 -1
  58. package/build/commands/mcp/restart.d.ts +69 -0
  59. package/build/commands/mcp/restart.d.ts.map +1 -0
  60. package/build/commands/mcp/restart.js +259 -0
  61. package/build/commands/mcp/restart.js.map +1 -0
  62. package/build/commands/mcp/status.d.ts +24 -1
  63. package/build/commands/mcp/status.d.ts.map +1 -1
  64. package/build/commands/mcp/status.js +158 -14
  65. package/build/commands/mcp/status.js.map +1 -1
  66. package/build/commands/proxy/index.d.ts +1 -0
  67. package/build/commands/proxy/index.d.ts.map +1 -1
  68. package/build/commands/proxy/index.js +4 -0
  69. package/build/commands/proxy/index.js.map +1 -1
  70. package/build/commands/run/index.d.ts.map +1 -1
  71. package/build/commands/run/index.js +4 -0
  72. package/build/commands/run/index.js.map +1 -1
  73. package/build/commands/run/run.d.ts +1 -0
  74. package/build/commands/run/run.d.ts.map +1 -1
  75. package/build/commands/run/run.js +2 -2
  76. package/build/commands/run/run.js.map +1 -1
  77. package/build/commands/serve/index.d.ts +8 -0
  78. package/build/commands/serve/index.d.ts.map +1 -1
  79. package/build/commands/serve/index.js +12 -0
  80. package/build/commands/serve/index.js.map +1 -1
  81. package/build/commands/serve/serve.d.ts +13 -0
  82. package/build/commands/serve/serve.d.ts.map +1 -1
  83. package/build/commands/serve/serve.js +115 -57
  84. package/build/commands/serve/serve.js.map +1 -1
  85. package/build/commands/serve/serveBackground.d.ts +48 -26
  86. package/build/commands/serve/serveBackground.d.ts.map +1 -1
  87. package/build/commands/serve/serveBackground.js +230 -61
  88. package/build/commands/serve/serveBackground.js.map +1 -1
  89. package/build/commands/serve/serveRestart.d.ts +1 -1
  90. package/build/commands/serve/serveRestart.js +1 -1
  91. package/build/commands/serve/serveStatus.d.ts +20 -10
  92. package/build/commands/serve/serveStatus.d.ts.map +1 -1
  93. package/build/commands/serve/serveStatus.js +174 -13
  94. package/build/commands/serve/serveStatus.js.map +1 -1
  95. package/build/commands/serve/serveStop.d.ts +13 -4
  96. package/build/commands/serve/serveStop.d.ts.map +1 -1
  97. package/build/commands/serve/serveStop.js +212 -23
  98. package/build/commands/serve/serveStop.js.map +1 -1
  99. package/build/commands/shared/apiClient.d.ts +5 -1
  100. package/build/commands/shared/apiClient.d.ts.map +1 -1
  101. package/build/commands/shared/apiClient.js +17 -9
  102. package/build/commands/shared/apiClient.js.map +1 -1
  103. package/build/commands/shared/clientSurfaceAttachment.d.ts +14 -0
  104. package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -1
  105. package/build/commands/shared/clientSurfaceAttachment.js +51 -9
  106. package/build/commands/shared/clientSurfaceAttachment.js.map +1 -1
  107. package/build/commands/shared/commandRunner.d.ts +3 -1
  108. package/build/commands/shared/commandRunner.d.ts.map +1 -1
  109. package/build/commands/shared/commandRunner.js +59 -2
  110. package/build/commands/shared/commandRunner.js.map +1 -1
  111. package/build/commands/shared/serveTargetResolver.d.ts +14 -1
  112. package/build/commands/shared/serveTargetResolver.d.ts.map +1 -1
  113. package/build/commands/shared/serveTargetResolver.js +145 -3
  114. package/build/commands/shared/serveTargetResolver.js.map +1 -1
  115. package/build/commands/target/index.d.ts +3 -0
  116. package/build/commands/target/index.d.ts.map +1 -0
  117. package/build/commands/target/index.js +171 -0
  118. package/build/commands/target/index.js.map +1 -0
  119. package/build/commands/target/target.d.ts +78 -0
  120. package/build/commands/target/target.d.ts.map +1 -0
  121. package/build/commands/target/target.js +471 -0
  122. package/build/commands/target/target.js.map +1 -0
  123. package/build/config/configManager.d.ts +2 -0
  124. package/build/config/configManager.d.ts.map +1 -1
  125. package/build/config/configManager.js +19 -8
  126. package/build/config/configManager.js.map +1 -1
  127. package/build/config/mcpConfigMerge.d.ts.map +1 -1
  128. package/build/config/mcpConfigMerge.js +13 -2
  129. package/build/config/mcpConfigMerge.js.map +1 -1
  130. package/build/constants/mcp.d.ts +1 -1
  131. package/build/constants/mcp.d.ts.map +1 -1
  132. package/build/constants/mcp.js +1 -1
  133. package/build/constants/mcp.js.map +1 -1
  134. package/build/core/client/clientManager.d.ts +24 -1
  135. package/build/core/client/clientManager.d.ts.map +1 -1
  136. package/build/core/client/clientManager.js +268 -2
  137. package/build/core/client/clientManager.js.map +1 -1
  138. package/build/core/client/connectionHandler.d.ts.map +1 -1
  139. package/build/core/client/connectionHandler.js +18 -1
  140. package/build/core/client/connectionHandler.js.map +1 -1
  141. package/build/core/configChangeHandler.d.ts +1 -0
  142. package/build/core/configChangeHandler.d.ts.map +1 -1
  143. package/build/core/configChangeHandler.js +14 -0
  144. package/build/core/configChangeHandler.js.map +1 -1
  145. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
  146. package/build/core/loading/mcpLoadingManager.js +16 -4
  147. package/build/core/loading/mcpLoadingManager.js.map +1 -1
  148. package/build/core/runtime/runtimeIdentityService.d.ts +30 -0
  149. package/build/core/runtime/runtimeIdentityService.d.ts.map +1 -0
  150. package/build/core/runtime/runtimeIdentityService.js +63 -0
  151. package/build/core/runtime/runtimeIdentityService.js.map +1 -0
  152. package/build/core/server/agentConfig.d.ts +4 -0
  153. package/build/core/server/agentConfig.d.ts.map +1 -1
  154. package/build/core/server/agentConfig.js +3 -0
  155. package/build/core/server/agentConfig.js.map +1 -1
  156. package/build/core/server/backendStdioSupervisor.d.ts +73 -0
  157. package/build/core/server/backendStdioSupervisor.d.ts.map +1 -0
  158. package/build/core/server/backendStdioSupervisor.js +191 -0
  159. package/build/core/server/backendStdioSupervisor.js.map +1 -0
  160. package/build/core/server/backgroundLaunchConfig.d.ts +15 -0
  161. package/build/core/server/backgroundLaunchConfig.d.ts.map +1 -0
  162. package/build/core/server/backgroundLaunchConfig.js +46 -0
  163. package/build/core/server/backgroundLaunchConfig.js.map +1 -0
  164. package/build/core/server/backgroundRuntimeSupervisor.d.ts +44 -0
  165. package/build/core/server/backgroundRuntimeSupervisor.d.ts.map +1 -0
  166. package/build/core/server/backgroundRuntimeSupervisor.js +252 -0
  167. package/build/core/server/backgroundRuntimeSupervisor.js.map +1 -0
  168. package/build/core/server/backgroundRuntimeSupervisorState.d.ts +30 -0
  169. package/build/core/server/backgroundRuntimeSupervisorState.d.ts.map +1 -0
  170. package/build/core/server/backgroundRuntimeSupervisorState.js +81 -0
  171. package/build/core/server/backgroundRuntimeSupervisorState.js.map +1 -0
  172. package/build/core/server/clientInstanceFactory.d.ts.map +1 -1
  173. package/build/core/server/clientInstanceFactory.js +1 -0
  174. package/build/core/server/clientInstanceFactory.js.map +1 -1
  175. package/build/core/server/clientInstancePool.d.ts +17 -5
  176. package/build/core/server/clientInstancePool.d.ts.map +1 -1
  177. package/build/core/server/clientInstancePool.js +198 -33
  178. package/build/core/server/clientInstancePool.js.map +1 -1
  179. package/build/core/server/clientInstancePoolTypes.d.ts +7 -1
  180. package/build/core/server/clientInstancePoolTypes.d.ts.map +1 -1
  181. package/build/core/server/clientInstancePoolTypes.js.map +1 -1
  182. package/build/core/server/runtimeScopeOwnership.d.ts +61 -0
  183. package/build/core/server/runtimeScopeOwnership.d.ts.map +1 -0
  184. package/build/core/server/runtimeScopeOwnership.js +544 -0
  185. package/build/core/server/runtimeScopeOwnership.js.map +1 -0
  186. package/build/core/server/serverManager.d.ts +2 -0
  187. package/build/core/server/serverManager.d.ts.map +1 -1
  188. package/build/core/server/serverManager.js +30 -0
  189. package/build/core/server/serverManager.js.map +1 -1
  190. package/build/core/server/templateIdentity.d.ts +10 -0
  191. package/build/core/server/templateIdentity.d.ts.map +1 -1
  192. package/build/core/server/templateIdentity.js +33 -0
  193. package/build/core/server/templateIdentity.js.map +1 -1
  194. package/build/core/server/templateServerCleanup.d.ts.map +1 -1
  195. package/build/core/server/templateServerCleanup.js +7 -1
  196. package/build/core/server/templateServerCleanup.js.map +1 -1
  197. package/build/core/server/templateServerManager.d.ts +13 -0
  198. package/build/core/server/templateServerManager.d.ts.map +1 -1
  199. package/build/core/server/templateServerManager.js +129 -4
  200. package/build/core/server/templateServerManager.js.map +1 -1
  201. package/build/core/tools/handlers/serverManagementHandler.d.ts +117 -11
  202. package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -1
  203. package/build/core/tools/handlers/serverManagementHandler.js +103 -45
  204. package/build/core/tools/handlers/serverManagementHandler.js.map +1 -1
  205. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +2 -2
  206. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts +2 -2
  207. package/build/core/tools/internal/adapters/management/managementAdapter.d.ts.map +1 -1
  208. package/build/core/tools/internal/adapters/management/managementAdapter.js +45 -26
  209. package/build/core/tools/internal/adapters/management/managementAdapter.js.map +1 -1
  210. package/build/core/tools/internal/adapters/management/types.d.ts +21 -2
  211. package/build/core/tools/internal/adapters/management/types.d.ts.map +1 -1
  212. package/build/core/tools/internal/managementHandlers.d.ts.map +1 -1
  213. package/build/core/tools/internal/managementHandlers.js +73 -22
  214. package/build/core/tools/internal/managementHandlers.js.map +1 -1
  215. package/build/core/tools/internal/schemas/discovery.d.ts +3 -3
  216. package/build/core/tools/internal/schemas/edit.js +1 -1
  217. package/build/core/tools/internal/schemas/edit.js.map +1 -1
  218. package/build/core/tools/internal/schemas/index.d.ts +90 -19
  219. package/build/core/tools/internal/schemas/index.d.ts.map +1 -1
  220. package/build/core/tools/internal/schemas/installation.d.ts +7 -7
  221. package/build/core/tools/internal/schemas/management.d.ts +80 -9
  222. package/build/core/tools/internal/schemas/management.d.ts.map +1 -1
  223. package/build/core/tools/internal/schemas/management.js +69 -2
  224. package/build/core/tools/internal/schemas/management.js.map +1 -1
  225. package/build/core/types/client.d.ts +9 -2
  226. package/build/core/types/client.d.ts.map +1 -1
  227. package/build/core/types/client.js +4 -0
  228. package/build/core/types/client.js.map +1 -1
  229. package/build/core/types/transport.d.ts +34 -4
  230. package/build/core/types/transport.d.ts.map +1 -1
  231. package/build/core/types/transport.js +26 -3
  232. package/build/core/types/transport.js.map +1 -1
  233. package/build/domains/admin/adminBackendRestartService.d.ts +41 -0
  234. package/build/domains/admin/adminBackendRestartService.d.ts.map +1 -0
  235. package/build/domains/admin/adminBackendRestartService.js +22 -0
  236. package/build/domains/admin/adminBackendRestartService.js.map +1 -0
  237. package/build/domains/admin/adminConfiguredServerService.d.ts +275 -0
  238. package/build/domains/admin/adminConfiguredServerService.d.ts.map +1 -0
  239. package/build/domains/admin/adminConfiguredServerService.js +1926 -0
  240. package/build/domains/admin/adminConfiguredServerService.js.map +1 -0
  241. package/build/domains/admin/adminConnectivityChecker.d.ts +7 -0
  242. package/build/domains/admin/adminConnectivityChecker.d.ts.map +1 -0
  243. package/build/domains/admin/adminConnectivityChecker.js +42 -0
  244. package/build/domains/admin/adminConnectivityChecker.js.map +1 -0
  245. package/build/domains/admin/adminDomain.d.ts +36 -0
  246. package/build/domains/admin/adminDomain.d.ts.map +1 -0
  247. package/build/domains/admin/adminDomain.js +52 -0
  248. package/build/domains/admin/adminDomain.js.map +1 -0
  249. package/build/domains/admin/adminIdentityService.d.ts +75 -0
  250. package/build/domains/admin/adminIdentityService.d.ts.map +1 -0
  251. package/build/domains/admin/adminIdentityService.js +321 -0
  252. package/build/domains/admin/adminIdentityService.js.map +1 -0
  253. package/build/domains/admin/adminOAuthService.d.ts +26 -0
  254. package/build/domains/admin/adminOAuthService.d.ts.map +1 -0
  255. package/build/domains/admin/adminOAuthService.js +71 -0
  256. package/build/domains/admin/adminOAuthService.js.map +1 -0
  257. package/build/domains/admin/adminOperationService.d.ts +203 -0
  258. package/build/domains/admin/adminOperationService.d.ts.map +1 -0
  259. package/build/domains/admin/adminOperationService.js +749 -0
  260. package/build/domains/admin/adminOperationService.js.map +1 -0
  261. package/build/domains/admin/adminPresetService.d.ts +140 -0
  262. package/build/domains/admin/adminPresetService.d.ts.map +1 -0
  263. package/build/domains/admin/adminPresetService.js +248 -0
  264. package/build/domains/admin/adminPresetService.js.map +1 -0
  265. package/build/domains/admin/runtimeScopeAdminLock.d.ts +22 -0
  266. package/build/domains/admin/runtimeScopeAdminLock.d.ts.map +1 -0
  267. package/build/domains/admin/runtimeScopeAdminLock.js +121 -0
  268. package/build/domains/admin/runtimeScopeAdminLock.js.map +1 -0
  269. package/build/domains/admin/runtimeServerManagerBackendRestartService.d.ts +20 -0
  270. package/build/domains/admin/runtimeServerManagerBackendRestartService.d.ts.map +1 -0
  271. package/build/domains/admin/runtimeServerManagerBackendRestartService.js +78 -0
  272. package/build/domains/admin/runtimeServerManagerBackendRestartService.js.map +1 -0
  273. package/build/domains/config-change/configChange.d.ts +6 -1
  274. package/build/domains/config-change/configChange.d.ts.map +1 -1
  275. package/build/domains/config-change/configChange.js +344 -0
  276. package/build/domains/config-change/configChange.js.map +1 -1
  277. package/build/domains/config-change/types.d.ts +18 -3
  278. package/build/domains/config-change/types.d.ts.map +1 -1
  279. package/build/domains/preset/manager/presetManager.d.ts +1 -0
  280. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  281. package/build/domains/preset/manager/presetManager.js +3 -0
  282. package/build/domains/preset/manager/presetManager.js.map +1 -1
  283. package/build/domains/preset/tagAuthoring.d.ts +10 -0
  284. package/build/domains/preset/tagAuthoring.d.ts.map +1 -0
  285. package/build/domains/preset/tagAuthoring.js +94 -0
  286. package/build/domains/preset/tagAuthoring.js.map +1 -0
  287. package/build/domains/runtime-targets/runtimeIdentityVerification.d.ts +51 -0
  288. package/build/domains/runtime-targets/runtimeIdentityVerification.d.ts.map +1 -0
  289. package/build/domains/runtime-targets/runtimeIdentityVerification.js +258 -0
  290. package/build/domains/runtime-targets/runtimeIdentityVerification.js.map +1 -0
  291. package/build/domains/runtime-targets/runtimeTargetStore.d.ts +222 -0
  292. package/build/domains/runtime-targets/runtimeTargetStore.d.ts.map +1 -0
  293. package/build/domains/runtime-targets/runtimeTargetStore.js +1456 -0
  294. package/build/domains/runtime-targets/runtimeTargetStore.js.map +1 -0
  295. package/build/index.d.ts.map +1 -1
  296. package/build/index.js +7 -1
  297. package/build/index.js.map +1 -1
  298. package/build/server.d.ts.map +1 -1
  299. package/build/server.js +18 -2
  300. package/build/server.js.map +1 -1
  301. package/build/transport/http/routes/adminRoutes.d.ts +38 -0
  302. package/build/transport/http/routes/adminRoutes.d.ts.map +1 -0
  303. package/build/transport/http/routes/adminRoutes.js +1475 -0
  304. package/build/transport/http/routes/adminRoutes.js.map +1 -0
  305. package/build/transport/http/routes/healthRoutes.d.ts.map +1 -1
  306. package/build/transport/http/routes/healthRoutes.js +70 -2
  307. package/build/transport/http/routes/healthRoutes.js.map +1 -1
  308. package/build/transport/http/routes/oauthRoutes.d.ts +4 -1
  309. package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
  310. package/build/transport/http/routes/oauthRoutes.js +12 -190
  311. package/build/transport/http/routes/oauthRoutes.js.map +1 -1
  312. package/build/transport/http/routes/runtimeIdentityRoutes.d.ts +7 -0
  313. package/build/transport/http/routes/runtimeIdentityRoutes.d.ts.map +1 -0
  314. package/build/transport/http/routes/runtimeIdentityRoutes.js +9 -0
  315. package/build/transport/http/routes/runtimeIdentityRoutes.js.map +1 -0
  316. package/build/transport/http/server.d.ts +3 -0
  317. package/build/transport/http/server.d.ts.map +1 -1
  318. package/build/transport/http/server.js +102 -4
  319. package/build/transport/http/server.js.map +1 -1
  320. package/build/transport/transportFactory.d.ts.map +1 -1
  321. package/build/transport/transportFactory.js +27 -15
  322. package/build/transport/transportFactory.js.map +1 -1
  323. package/build/transport/transportFactory.testSetup.js +2 -0
  324. package/build/transport/transportFactory.testSetup.js.map +1 -1
  325. package/build/utils/core/errorTypes.d.ts +3 -0
  326. package/build/utils/core/errorTypes.d.ts.map +1 -1
  327. package/build/utils/core/errorTypes.js +7 -0
  328. package/build/utils/core/errorTypes.js.map +1 -1
  329. package/build/utils/validation/urlDetection.d.ts +13 -2
  330. package/build/utils/validation/urlDetection.d.ts.map +1 -1
  331. package/build/utils/validation/urlDetection.js +37 -6
  332. package/build/utils/validation/urlDetection.js.map +1 -1
  333. package/package.json +22 -9
@@ -27,16 +27,18 @@ export class ApiClient {
27
27
  }
28
28
  return this.request(url.toString(), 'GET');
29
29
  }
30
- async post(path, body) {
30
+ async post(path, body, options = {}) {
31
31
  const url = `${this.baseUrl}${path}`;
32
- return this.request(url, 'POST', body);
32
+ return this.request(url, 'POST', body, options);
33
33
  }
34
- async request(url, method, body) {
34
+ async request(url, method, body, options = {}) {
35
35
  const controller = new AbortController();
36
- const timer = setTimeout(() => controller.abort(), this.timeout);
36
+ const timeout = options.timeout ?? this.timeout;
37
+ const timer = setTimeout(() => controller.abort(), timeout);
37
38
  const headers = {
38
39
  'User-Agent': `1MCP/${MCP_SERVER_VERSION}`,
39
40
  Accept: 'application/json',
41
+ ...options.headers,
40
42
  };
41
43
  if (this.bearerToken) {
42
44
  headers.Authorization = `Bearer ${this.bearerToken}`;
@@ -62,17 +64,20 @@ export class ApiClient {
62
64
  if (contentType.includes('application/json')) {
63
65
  try {
64
66
  const json = (await response.json());
67
+ data = json;
65
68
  if (response.ok) {
66
- data = json;
69
+ error = undefined;
67
70
  }
68
71
  else {
69
72
  const errObj = json;
70
73
  error =
71
74
  typeof errObj.error === 'string'
72
75
  ? errObj.error
73
- : typeof errObj.message === 'string'
74
- ? errObj.message
75
- : `HTTP ${response.status}`;
76
+ : isErrorObject(errObj.error) && typeof errObj.error.message === 'string'
77
+ ? errObj.error.message
78
+ : typeof errObj.message === 'string'
79
+ ? errObj.message
80
+ : `HTTP ${response.status}`;
76
81
  }
77
82
  }
78
83
  catch {
@@ -87,10 +92,13 @@ export class ApiClient {
87
92
  catch (err) {
88
93
  clearTimeout(timer);
89
94
  if (err instanceof Error && err.name === 'AbortError') {
90
- return { ok: false, status: 0, error: `Request timed out after ${this.timeout}ms` };
95
+ return { ok: false, status: 0, error: `Request timed out after ${timeout}ms` };
91
96
  }
92
97
  return { ok: false, status: 0, error: err instanceof Error ? err.message : String(err) };
93
98
  }
94
99
  }
95
100
  }
101
+ function isErrorObject(value) {
102
+ return typeof value === 'object' && value !== null;
103
+ }
96
104
  //# sourceMappingURL=apiClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/commands/shared/apiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/commands/shared/apiClient.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type AuthProfile } from '../../commands/shared/authProfileStore.js';
2
2
  import { type CliSessionCache } from '../../commands/shared/serveClient.js';
3
3
  import { type ResolvableServeTargetOptions } from '../../commands/shared/serveTargetResolver.js';
4
4
  import type { ProjectConfig } from '../../config/projectConfigTypes.js';
5
+ import type { RuntimeIdentityWarning } from '../../domains/runtime-targets/runtimeIdentityVerification.js';
5
6
  import type { ContextData } from '../../types/context.js';
6
7
  export type ReusableClientSurface = 'run' | 'inspect' | 'instructions';
7
8
  export type FreshClientSurface = 'stdio-proxy';
@@ -15,10 +16,17 @@ export interface ResolvedAttachmentTarget<TOptions extends ResolvableServeTarget
15
16
  serverUrl: URL;
16
17
  serverPid?: number;
17
18
  source: 'user' | 'pidfile' | 'portscan';
19
+ runtimeTargetContext?: {
20
+ name: string;
21
+ kind: 'local' | 'remote';
22
+ runtimeScopeId?: string;
23
+ };
24
+ runtimeIdentityWarnings?: RuntimeIdentityWarning[];
18
25
  }
19
26
  export interface ClientSurfaceAttachmentPorts<TOptions extends ResolvableServeTargetOptions> {
20
27
  resolveTarget: (options: TOptions) => Promise<ResolvedAttachmentTarget<TOptions>>;
21
28
  loadAuthProfile: (configDir: string | undefined, normalizedBaseUrl: string) => Promise<AuthProfile | null>;
29
+ getOAuthTokenReference: (contextName: string, runtimeScopeId: string) => Promise<unknown | undefined>;
22
30
  readSessionCache: (cachePath: string, serverUrl: string, contextHash: string) => Promise<CliSessionCache | null>;
23
31
  writeSessionCache: (cachePath: string, cache: CliSessionCache) => Promise<void>;
24
32
  deleteSessionCache: (cachePath: string) => Promise<void>;
@@ -38,6 +46,11 @@ export interface ClientSurfaceAttachmentContext<TOptions extends ResolvableServe
38
46
  sessionId: string;
39
47
  restSupport?: boolean;
40
48
  }
49
+ export interface ClientSurfaceAuthRequiredContext<TOptions extends ResolvableServeTargetOptions = ResolvableServeTargetOptions> {
50
+ baseUrl: string;
51
+ options: TOptions;
52
+ target: Pick<ResolvedAttachmentTarget<TOptions>, 'runtimeTargetContext'>;
53
+ }
41
54
  export interface FreshClientSurfaceAttachmentResult<TOptions extends ResolvableServeTargetOptions> {
42
55
  target: ResolvedAttachmentTarget<TOptions>;
43
56
  options: TOptions;
@@ -129,4 +142,5 @@ export interface AttachFreshClientSurfaceOptions<TOptions extends ResolvableServ
129
142
  }
130
143
  export declare function attachFreshClientSurface<TOptions extends ResolvableServeTargetOptions>(input: AttachFreshClientSurfaceOptions<TOptions>): Promise<FreshClientSurfaceAttachmentResult<TOptions>>;
131
144
  export declare function attachReusableClientSurface<TOptions extends ResolvableServeTargetOptions, TValue>(input: AttachReusableClientSurfaceOptions<TOptions, TValue>): Promise<ReusableClientSurfaceAttachmentResult<TOptions, TValue>>;
145
+ export declare function formatClientSurfaceAuthRequiredMessage<TOptions extends ResolvableServeTargetOptions>(context: ClientSurfaceAuthRequiredContext<TOptions>): string;
132
146
  //# sourceMappingURL=clientSurfaceAttachment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientSurfaceAttachment.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/clientSurfaceAttachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientSurfaceAttachment.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/clientSurfaceAttachment.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@ import { loadAuthProfile, normalizeServerUrl } from '../../commands/shared/authP
2
2
  import { buildCliContext, generateStreamableSessionId } from '../../commands/shared/cliContext.js';
3
3
  import { deleteCliSessionCache, getCliSessionCachePath, getCliSessionContextHash, readCliSessionCache, writeCliSessionCache, } from '../../commands/shared/serveClient.js';
4
4
  import { resolveServeTarget, } from '../../commands/shared/serveTargetResolver.js';
5
+ import { RuntimeTargetStore } from '../../domains/runtime-targets/runtimeTargetStore.js';
5
6
  import { resolveCanonicalSessionId, withCanonicalSessionId } from '../../utils/context/sessionIdentity.js';
6
7
  import { stripMcpSuffix } from '../../utils/urlUtils.js';
7
8
  export async function attachFreshClientSurface(input) {
8
9
  const ports = withDefaultPorts(input.ports);
9
10
  const target = await ports.resolveTarget(input.options);
11
+ writeRuntimeTargetWarnings(target.runtimeIdentityWarnings);
10
12
  const options = target.mergedOptions;
11
13
  const freshSessionId = generateStreamableSessionId();
12
14
  const baseContext = buildCliContext({
@@ -19,7 +21,7 @@ export async function attachFreshClientSurface(input) {
19
21
  });
20
22
  const contextHash = getCliSessionContextHash(baseContext);
21
23
  const baseUrl = stripMcpSuffix(target.discoveredUrl);
22
- const authProfile = await ports.loadAuthProfile(options['config-dir'], normalizeServerUrl(baseUrl));
24
+ const bearerToken = await loadBearerToken(ports, target, options, baseUrl);
23
25
  const requestSessionId = resolveCanonicalSessionId({ context: baseContext, transportSessionId: freshSessionId });
24
26
  const context = withCanonicalSessionId(baseContext, requestSessionId);
25
27
  return {
@@ -27,7 +29,7 @@ export async function attachFreshClientSurface(input) {
27
29
  options,
28
30
  baseUrl,
29
31
  serverUrl: target.serverUrl,
30
- bearerToken: authProfile?.token,
32
+ bearerToken,
31
33
  context,
32
34
  contextHash,
33
35
  requestSessionId,
@@ -37,6 +39,7 @@ export async function attachFreshClientSurface(input) {
37
39
  export async function attachReusableClientSurface(input) {
38
40
  const ports = withDefaultPorts(input.ports);
39
41
  const target = await ports.resolveTarget(input.options);
42
+ writeRuntimeTargetWarnings(target.runtimeIdentityWarnings);
40
43
  const options = target.mergedOptions;
41
44
  const baseContext = buildCliContext({
42
45
  cwd: target.cwd,
@@ -53,8 +56,9 @@ export async function attachReusableClientSurface(input) {
53
56
  contextHash,
54
57
  });
55
58
  const baseUrl = stripMcpSuffix(target.discoveredUrl);
56
- const [authProfile, cachedSession] = await Promise.all([
57
- ports.loadAuthProfile(options['config-dir'], normalizeServerUrl(baseUrl)),
59
+ const bearerTokenPromise = loadBearerToken(ports, target, options, baseUrl);
60
+ const [bearerToken, cachedSession] = await Promise.all([
61
+ bearerTokenPromise,
58
62
  ports.readSessionCache(cachePath, target.serverUrl.toString(), contextHash),
59
63
  ]);
60
64
  const requestSessionId = resolveCanonicalSessionId({
@@ -68,7 +72,7 @@ export async function attachReusableClientSurface(input) {
68
72
  options,
69
73
  baseUrl,
70
74
  serverUrl: target.serverUrl,
71
- bearerToken: authProfile?.token,
75
+ bearerToken,
72
76
  context,
73
77
  contextHash,
74
78
  cachePath,
@@ -99,7 +103,7 @@ export async function attachReusableClientSurface(input) {
99
103
  cachePath,
100
104
  target,
101
105
  baseUrl,
102
- bearerToken: authProfile?.token,
106
+ bearerToken,
103
107
  cachedSession,
104
108
  restSupport,
105
109
  observed: restResponse.observed,
@@ -115,7 +119,7 @@ export async function attachReusableClientSurface(input) {
115
119
  cachePath,
116
120
  target,
117
121
  baseUrl,
118
- bearerToken: authProfile?.token,
122
+ bearerToken,
119
123
  cachedSession,
120
124
  restSupport,
121
125
  observed: restResponse.observed,
@@ -159,7 +163,7 @@ export async function attachReusableClientSurface(input) {
159
163
  cachePath,
160
164
  target,
161
165
  baseUrl,
162
- bearerToken: authProfile?.token,
166
+ bearerToken,
163
167
  cachedSession,
164
168
  restSupport,
165
169
  observed: mcpResponse.observed,
@@ -174,7 +178,7 @@ export async function attachReusableClientSurface(input) {
174
178
  cachePath,
175
179
  target,
176
180
  baseUrl,
177
- bearerToken: authProfile?.token,
181
+ bearerToken,
178
182
  cachedSession,
179
183
  restSupport,
180
184
  observed: mcpResponse.observed,
@@ -184,12 +188,50 @@ function withDefaultPorts(ports) {
184
188
  return {
185
189
  resolveTarget: ports?.resolveTarget ?? ((options) => resolveServeTarget(options)),
186
190
  loadAuthProfile: ports?.loadAuthProfile ?? loadAuthProfile,
191
+ getOAuthTokenReference: ports?.getOAuthTokenReference ??
192
+ ((contextName, runtimeScopeId) => Promise.resolve(new RuntimeTargetStore().getOAuthTokenReference(contextName, runtimeScopeId))),
187
193
  readSessionCache: ports?.readSessionCache ?? readCliSessionCache,
188
194
  writeSessionCache: ports?.writeSessionCache ?? writeCliSessionCache,
189
195
  deleteSessionCache: ports?.deleteSessionCache ?? deleteCliSessionCache,
190
196
  now: ports?.now ?? Date.now,
191
197
  };
192
198
  }
199
+ async function loadBearerToken(ports, target, options, baseUrl) {
200
+ if (options.url) {
201
+ return undefined;
202
+ }
203
+ const runtimeTargetContext = target.runtimeTargetContext;
204
+ if (runtimeTargetContext) {
205
+ if (!runtimeTargetContext.runtimeScopeId) {
206
+ return undefined;
207
+ }
208
+ const reference = await ports.getOAuthTokenReference(runtimeTargetContext.name, runtimeTargetContext.runtimeScopeId);
209
+ return toOAuthTokenReference(reference)?.token;
210
+ }
211
+ const authProfile = await ports.loadAuthProfile(options['config-dir'], normalizeServerUrl(baseUrl));
212
+ return authProfile?.token;
213
+ }
214
+ export function formatClientSurfaceAuthRequiredMessage(context) {
215
+ if (context.target.runtimeTargetContext) {
216
+ return `Authentication required for target context "${context.target.runtimeTargetContext.name}". Run: 1mcp auth login --context ${context.target.runtimeTargetContext.name} --token <your-token>`;
217
+ }
218
+ if (context.options.url) {
219
+ return `Authentication required for ephemeral URL target. Ephemeral URLs are credentialless; run: 1mcp target add <name> ${context.baseUrl} and retry with --context <name> after context-scoped credentials are available.`;
220
+ }
221
+ return 'Authentication required. Run: 1mcp auth login --context local --token <your-token>';
222
+ }
223
+ function toOAuthTokenReference(value) {
224
+ if (typeof value !== 'object' || value === null) {
225
+ return undefined;
226
+ }
227
+ const candidate = value;
228
+ return typeof candidate.token === 'string' && candidate.token.length > 0 ? { token: candidate.token } : undefined;
229
+ }
230
+ function writeRuntimeTargetWarnings(warnings) {
231
+ for (const warning of warnings ?? []) {
232
+ process.stderr.write(`${warning.code}: ${warning.message}\n`);
233
+ }
234
+ }
193
235
  async function persistSession(ports, cachePath, options) {
194
236
  await ports.writeSessionCache(cachePath, {
195
237
  sessionId: options.sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"clientSurfaceAttachment.js","sourceRoot":"","sources":["../../../src/commands/shared/clientSurfaceAttachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientSurfaceAttachment.js","sourceRoot":"","sources":["../../../src/commands/shared/clientSurfaceAttachment.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  import type { GlobalOptions } from '../../globalOptions.js';
2
- export declare function runCliCommand<T extends GlobalOptions>(argv: T, fn: (argv: T) => Promise<void>): Promise<void>;
2
+ export declare function runCliCommand<T extends GlobalOptions & {
3
+ json?: boolean;
4
+ }>(argv: T, fn: (argv: T) => Promise<void>): Promise<void>;
3
5
  //# sourceMappingURL=commandRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commandRunner.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/commandRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnH"}
1
+ {"version":3,"file":"commandRunner.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/commandRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,aAAa,CAAC,CAAC,SAAS,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9E,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -6,8 +6,65 @@ export async function runCliCommand(argv, fn) {
6
6
  }
7
7
  catch (error) {
8
8
  const message = error instanceof Error ? error.message : String(error);
9
- process.stderr.write(`${message}\n`);
10
- process.exit(1);
9
+ const exitCode = exitCodeForError(error);
10
+ if (hasJsonOutput(argv)) {
11
+ process.stdout.write(`${JSON.stringify(jsonFailureEnvelope(error, message))}\n`);
12
+ process.exitCode = exitCode;
13
+ return;
14
+ }
15
+ process.stderr.write(`${formatErrorForHuman(error, message)}\n`);
16
+ process.exit(exitCode);
11
17
  }
12
18
  }
19
+ function hasJsonOutput(argv) {
20
+ return argv.json === true;
21
+ }
22
+ function jsonFailureEnvelope(error, message) {
23
+ const coded = isCodedError(error) ? error : undefined;
24
+ return {
25
+ ok: false,
26
+ cliProtocolVersion: '1',
27
+ requestId: createCliRequestId(),
28
+ error: {
29
+ code: coded?.code ?? 'command_failed',
30
+ message,
31
+ ...(coded?.recoveryCommand ? { recoveryCommand: coded.recoveryCommand } : {}),
32
+ ...(coded && 'details' in coded && coded.details !== undefined ? { details: coded.details } : {}),
33
+ },
34
+ };
35
+ }
36
+ function isCodedError(error) {
37
+ return typeof error === 'object' && error !== null && 'code' in error && typeof error.code === 'string';
38
+ }
39
+ function formatErrorForHuman(error, message) {
40
+ if (!isCodedError(error)) {
41
+ return message;
42
+ }
43
+ const detailsMessage = 'details' in error && error.details !== undefined ? `\nDetails: ${JSON.stringify(error.details)}` : '';
44
+ return `${error.code}: ${message}${detailsMessage}${error.recoveryCommand ? `\nRecovery: ${error.recoveryCommand}` : ''}`;
45
+ }
46
+ function exitCodeForError(error) {
47
+ if (!isCodedError(error)) {
48
+ return 1;
49
+ }
50
+ if (error.code === 'target_argument_missing' ||
51
+ error.code.startsWith('credential_') ||
52
+ error.code.startsWith('validation_') ||
53
+ error.code.endsWith('_validation_failed')) {
54
+ return 2;
55
+ }
56
+ if (error.code.startsWith('auth_') || error.code.includes('session')) {
57
+ return 3;
58
+ }
59
+ if (error.code.startsWith('target_') ||
60
+ error.code.startsWith('identity_') ||
61
+ error.code.includes('protocol') ||
62
+ error.code.includes('capability')) {
63
+ return 4;
64
+ }
65
+ return 1;
66
+ }
67
+ function createCliRequestId() {
68
+ return `cli_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 10)}`;
69
+ }
13
70
  //# sourceMappingURL=commandRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/commandRunner.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,aAAa,CAA0B,IAAO,EAAE,EAA8B;IAClG,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IACvF,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"commandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/commandRunner.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { type ServeUrlOptions } from '../../commands/shared/serveClient.js';
2
2
  import type { ProjectConfig } from '../../config/projectConfigTypes.js';
3
+ import { type RuntimeIdentityWarning, verifyRuntimeIdentityForTarget } from '../../domains/runtime-targets/runtimeIdentityVerification.js';
4
+ import { RuntimeTargetStore } from '../../domains/runtime-targets/runtimeTargetStore.js';
3
5
  import type { GlobalOptions } from '../../globalOptions.js';
4
6
  export interface ResolvableServeTargetOptions extends GlobalOptions, ServeUrlOptions {
5
7
  url?: string;
8
+ context?: string;
6
9
  }
7
10
  export interface ResolvedServeTarget<TOptions extends ResolvableServeTargetOptions> {
8
11
  cwd: string;
@@ -15,7 +18,17 @@ export interface ResolvedServeTarget<TOptions extends ResolvableServeTargetOptio
15
18
  serverPid?: number;
16
19
  source: 'user' | 'pidfile' | 'portscan';
17
20
  projectContextSource: 'project-config' | 'repo-root' | 'cwd';
21
+ runtimeTargetContext?: {
22
+ name: string;
23
+ kind: 'local' | 'remote';
24
+ runtimeScopeId?: string;
25
+ };
26
+ runtimeIdentityWarnings?: RuntimeIdentityWarning[];
27
+ }
28
+ export interface ServeTargetResolverPorts {
29
+ runtimeTargetStore?: Pick<RuntimeTargetStore, 'current' | 'inspect' | 'requireInsecureTlsConfirmation' | 'updateObservedIdentityMetadata'> & Partial<Pick<RuntimeTargetStore, 'resolveForConnection'>>;
30
+ verifyRuntimeIdentity?: typeof verifyRuntimeIdentityForTarget;
18
31
  }
19
32
  export declare function mergeServeTargetOptions<TOptions extends ResolvableServeTargetOptions>(options: TOptions, projectConfig: ProjectConfig | null): TOptions;
20
- export declare function resolveServeTarget<TOptions extends ResolvableServeTargetOptions>(options: TOptions): Promise<ResolvedServeTarget<TOptions>>;
33
+ export declare function resolveServeTarget<TOptions extends ResolvableServeTargetOptions>(options: TOptions, ports?: ServeTargetResolverPorts): Promise<ResolvedServeTarget<TOptions>>;
21
34
  //# sourceMappingURL=serveTargetResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serveTargetResolver.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/serveTargetResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,4BAA6B,SAAQ,aAAa,EAAE,eAAe;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,4BAA4B;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,QAAQ,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,GAAG,WAAW,GAAG,KAAK,CAAC;CAC9D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,4BAA4B,EACnF,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,QAAQ,CAgBV;AAsCD,wBAAsB,kBAAkB,CAAC,QAAQ,SAAS,4BAA4B,EACpF,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CA0BxC"}
1
+ {"version":3,"file":"serveTargetResolver.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/serveTargetResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EACL,KAAK,sBAAsB,EAE3B,8BAA8B,EAC/B,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAIL,kBAAkB,EAEnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,4BAA6B,SAAQ,aAAa,EAAE,eAAe;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,4BAA4B;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,QAAQ,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACxC,oBAAoB,EAAE,gBAAgB,GAAG,WAAW,GAAG,KAAK,CAAC;IAC7D,oBAAoB,CAAC,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE,IAAI,CACvB,kBAAkB,EAClB,SAAS,GAAG,SAAS,GAAG,gCAAgC,GAAG,gCAAgC,CAC5F,GACC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC5D,qBAAqB,CAAC,EAAE,OAAO,8BAA8B,CAAC;CAC/D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,4BAA4B,EACnF,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,aAAa,GAAG,IAAI,GAClC,QAAQ,CAgBV;AAsCD,wBAAsB,kBAAkB,CAAC,QAAQ,SAAS,4BAA4B,EACpF,OAAO,EAAE,QAAQ,EACjB,KAAK,GAAE,wBAA6B,GACnC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CA+FxC"}
@@ -1,5 +1,7 @@
1
1
  import { buildServerUrl } from '../../commands/shared/serveClient.js';
2
2
  import { normalizeTags, resolveProjectContext } from '../../config/projectConfigLoader.js';
3
+ import { verifyRuntimeIdentityForTarget, } from '../../domains/runtime-targets/runtimeIdentityVerification.js';
4
+ import { assertRuntimeTargetConfigDirAllowed, normalizeRuntimeTargetUrl, RuntimeTargetStore, RuntimeTargetStoreError, } from '../../domains/runtime-targets/runtimeTargetStore.js';
3
5
  import { discoverServerWithPidFile, validateServer1mcpUrl } from '../../utils/validation/urlDetection.js';
4
6
  export function mergeServeTargetOptions(options, projectConfig) {
5
7
  const explicitSelectorInput = collectFilterInput(options);
@@ -48,14 +50,71 @@ function selectOneFilterInput(options) {
48
50
  }
49
51
  return { hasAnySelector, tags: collected.tags };
50
52
  }
51
- export async function resolveServeTarget(options) {
53
+ export async function resolveServeTarget(options, ports = {}) {
54
+ if (options.url && options.context) {
55
+ throw new RuntimeTargetStoreError('target_selector_conflict', 'Use either --url or --context, not both, when selecting a runtime target');
56
+ }
52
57
  const resolvedProjectContext = await resolveProjectContext();
53
- const mergedOptions = mergeServeTargetOptions(options, resolvedProjectContext.projectConfig);
54
- const { url: discoveredUrl, pid: serverPid, source, } = await discoverServerWithPidFile(mergedOptions['config-dir'], mergedOptions.url);
58
+ const normalizedOptions = normalizeEphemeralUrlOption(options);
59
+ const mergedOptions = mergeServeTargetOptions(normalizedOptions, resolvedProjectContext.projectConfig);
60
+ const remoteTarget = await resolveRemoteRuntimeTargetContext(mergedOptions, ports);
61
+ if (remoteTarget) {
62
+ const discoveredUrl = withMcpSuffix(remoteTarget.url);
63
+ const tlsOptions = targetTlsOptions({
64
+ caFile: remoteTarget.caFile,
65
+ insecureSkipVerify: remoteTarget.insecureSkipVerify,
66
+ });
67
+ const validation = tlsOptions
68
+ ? await validateServer1mcpUrl(discoveredUrl, tlsOptions)
69
+ : await validateServer1mcpUrl(discoveredUrl);
70
+ if (!validation.valid) {
71
+ throw new Error(validation.error || 'Cannot connect to the running 1MCP server.');
72
+ }
73
+ return {
74
+ cwd: resolvedProjectContext.cwd,
75
+ projectRoot: resolvedProjectContext.projectRoot,
76
+ projectName: resolvedProjectContext.projectName,
77
+ projectConfig: resolvedProjectContext.projectConfig,
78
+ mergedOptions,
79
+ discoveredUrl,
80
+ serverUrl: buildServerUrl(discoveredUrl, mergedOptions),
81
+ source: 'user',
82
+ projectContextSource: resolvedProjectContext.source,
83
+ runtimeTargetContext: {
84
+ name: remoteTarget.name,
85
+ kind: 'remote',
86
+ runtimeScopeId: remoteTarget.observedIdentity?.runtimeScopeId,
87
+ },
88
+ runtimeIdentityWarnings: remoteTarget.runtimeIdentityWarnings,
89
+ };
90
+ }
91
+ const localDiscovery = mergedOptions.context === 'local'
92
+ ? await discoverServerWithPidFile(mergedOptions['config-dir'], mergedOptions.url, {
93
+ failOnOwnedRuntimeUnavailable: true,
94
+ })
95
+ : await discoverServerWithPidFile(mergedOptions['config-dir'], mergedOptions.url);
96
+ const { url: discoveredUrl, pid: serverPid, source } = localDiscovery;
55
97
  const validation = await validateServer1mcpUrl(discoveredUrl);
56
98
  if (!validation.valid) {
57
99
  throw new Error(validation.error || 'Cannot connect to the running 1MCP server.');
58
100
  }
101
+ let localRuntimeIdentity;
102
+ if (!mergedOptions.url && mergedOptions.context === 'local') {
103
+ try {
104
+ localRuntimeIdentity = await (ports.verifyRuntimeIdentity ?? verifyRuntimeIdentityForTarget)({
105
+ target: {
106
+ name: 'local',
107
+ url: withoutMcpSuffix(discoveredUrl),
108
+ observedIdentity: undefined,
109
+ },
110
+ });
111
+ }
112
+ catch (error) {
113
+ if (mergedOptions.context === 'local') {
114
+ throw error;
115
+ }
116
+ }
117
+ }
59
118
  return {
60
119
  cwd: resolvedProjectContext.cwd,
61
120
  projectRoot: resolvedProjectContext.projectRoot,
@@ -67,6 +126,89 @@ export async function resolveServeTarget(options) {
67
126
  serverPid,
68
127
  source,
69
128
  projectContextSource: resolvedProjectContext.source,
129
+ runtimeTargetContext: localRuntimeIdentity
130
+ ? {
131
+ name: 'local',
132
+ kind: 'local',
133
+ runtimeScopeId: localRuntimeIdentity.identity.runtimeScopeId,
134
+ }
135
+ : undefined,
136
+ runtimeIdentityWarnings: localRuntimeIdentity?.warnings,
137
+ };
138
+ }
139
+ async function resolveRemoteRuntimeTargetContext(options, ports) {
140
+ if (options.url) {
141
+ return null;
142
+ }
143
+ const store = ports.runtimeTargetStore ?? new RuntimeTargetStore();
144
+ const target = store.resolveForConnection
145
+ ? store.resolveForConnection(options.context)
146
+ : options.context
147
+ ? store.inspect(options.context)
148
+ : store.current();
149
+ if (target.name === 'local') {
150
+ return null;
151
+ }
152
+ assertRuntimeTargetConfigDirAllowed({
153
+ command: 'verify',
154
+ targetName: target.name,
155
+ configDir: options['config-dir'],
156
+ });
157
+ if (target.kind !== 'remote' || !target.url) {
158
+ throw new RuntimeTargetStoreError('target_not_found', `Runtime target "${target.name}" was not found`);
159
+ }
160
+ store.requireInsecureTlsConfirmation({
161
+ name: target.name,
162
+ operation: 'credentialed-attach',
163
+ });
164
+ const remoteTarget = { ...target, url: target.url };
165
+ const verifyRuntimeIdentity = ports.verifyRuntimeIdentity ?? verifyRuntimeIdentityForTarget;
166
+ const verification = await verifyRuntimeIdentity({
167
+ target: {
168
+ name: remoteTarget.name,
169
+ url: remoteTarget.url,
170
+ caFile: remoteTarget.caFile,
171
+ insecureSkipVerify: remoteTarget.insecureSkipVerify,
172
+ observedIdentity: remoteTarget.observedIdentity,
173
+ },
174
+ });
175
+ store.updateObservedIdentityMetadata(remoteTarget.name, verification.identity);
176
+ return {
177
+ ...remoteTarget,
178
+ observedIdentity: verification.identity,
179
+ runtimeIdentityWarnings: verification.warnings,
180
+ };
181
+ }
182
+ function withMcpSuffix(url) {
183
+ const parsed = new URL(url);
184
+ parsed.search = '';
185
+ parsed.hash = '';
186
+ const normalized = parsed.toString().replace(/\/$/, '');
187
+ return normalized.endsWith('/mcp') ? normalized : `${normalized}/mcp`;
188
+ }
189
+ function withoutMcpSuffix(url) {
190
+ const parsed = new URL(url);
191
+ parsed.search = '';
192
+ parsed.hash = '';
193
+ const normalized = parsed.toString().replace(/\/$/, '');
194
+ return normalized.endsWith('/mcp') ? normalized.slice(0, -4) : normalized;
195
+ }
196
+ function targetTlsOptions(tls) {
197
+ return tls.caFile || tls.insecureSkipVerify
198
+ ? {
199
+ ...(tls.caFile ? { caFile: tls.caFile } : {}),
200
+ ...(tls.insecureSkipVerify ? { insecureSkipVerify: true } : {}),
201
+ }
202
+ : undefined;
203
+ }
204
+ function normalizeEphemeralUrlOption(options) {
205
+ if (!options.url) {
206
+ return options;
207
+ }
208
+ const normalizedUrl = normalizeRuntimeTargetUrl(options.url);
209
+ return {
210
+ ...options,
211
+ url: withMcpSuffix(normalizedUrl),
70
212
  };
71
213
  }
72
214
  //# sourceMappingURL=serveTargetResolver.js.map