@1mcp/agent 0.38.2 → 0.39.0-beta.1

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 (391) hide show
  1. package/build/admin/assets/{admin-OAuthServicesWorkspace-BnEBXa_2.js → admin-OAuthServicesWorkspace-CcUSZCNL.js} +1 -1
  2. package/build/admin/assets/{admin-console-5rVJC_G2.js → admin-console-fP-KT2vb.js} +3 -3
  3. package/build/admin/index.html +1 -1
  4. package/build/commands/inspect/index.d.ts.map +1 -1
  5. package/build/commands/inspect/index.js +21 -2
  6. package/build/commands/inspect/index.js.map +1 -1
  7. package/build/commands/inspect/inspect.d.ts +5 -0
  8. package/build/commands/inspect/inspect.d.ts.map +1 -1
  9. package/build/commands/inspect/inspect.js +120 -5
  10. package/build/commands/inspect/inspect.js.map +1 -1
  11. package/build/commands/inspect/inspectUtils.d.ts +2 -1
  12. package/build/commands/inspect/inspectUtils.d.ts.map +1 -1
  13. package/build/commands/inspect/inspectUtils.js +21 -0
  14. package/build/commands/inspect/inspectUtils.js.map +1 -1
  15. package/build/commands/instructions/instructionsUtils.d.ts.map +1 -1
  16. package/build/commands/instructions/instructionsUtils.js +5 -2
  17. package/build/commands/instructions/instructionsUtils.js.map +1 -1
  18. package/build/commands/run/run.d.ts.map +1 -1
  19. package/build/commands/run/run.js +35 -14
  20. package/build/commands/run/run.js.map +1 -1
  21. package/build/commands/run/runUtils.d.ts +2 -3
  22. package/build/commands/run/runUtils.d.ts.map +1 -1
  23. package/build/commands/run/runUtils.js +12 -11
  24. package/build/commands/run/runUtils.js.map +1 -1
  25. package/build/commands/serve/cooperativeRuntime.d.ts +22 -0
  26. package/build/commands/serve/cooperativeRuntime.d.ts.map +1 -0
  27. package/build/commands/serve/cooperativeRuntime.js +603 -0
  28. package/build/commands/serve/cooperativeRuntime.js.map +1 -0
  29. package/build/commands/serve/index.d.ts +10 -0
  30. package/build/commands/serve/index.d.ts.map +1 -1
  31. package/build/commands/serve/index.js +10 -0
  32. package/build/commands/serve/index.js.map +1 -1
  33. package/build/commands/serve/serveStatus.d.ts +2 -0
  34. package/build/commands/serve/serveStatus.d.ts.map +1 -1
  35. package/build/commands/serve/serveStatus.js +37 -9
  36. package/build/commands/serve/serveStatus.js.map +1 -1
  37. package/build/commands/serve/serveStop.d.ts.map +1 -1
  38. package/build/commands/serve/serveStop.js +53 -12
  39. package/build/commands/serve/serveStop.js.map +1 -1
  40. package/build/commands/shared/apiClient.d.ts.map +1 -1
  41. package/build/commands/shared/apiClient.js +13 -9
  42. package/build/commands/shared/apiClient.js.map +1 -1
  43. package/build/commands/shared/clientSurfaceAttachment.d.ts.map +1 -1
  44. package/build/commands/shared/clientSurfaceAttachment.js +33 -7
  45. package/build/commands/shared/clientSurfaceAttachment.js.map +1 -1
  46. package/build/commands/shared/inspectApiSchemas.d.ts +25 -0
  47. package/build/commands/shared/inspectApiSchemas.d.ts.map +1 -1
  48. package/build/commands/shared/inspectApiSchemas.js +21 -0
  49. package/build/commands/shared/inspectApiSchemas.js.map +1 -1
  50. package/build/config/configLoader.d.ts.map +1 -1
  51. package/build/config/configLoader.js +9 -1
  52. package/build/config/configLoader.js.map +1 -1
  53. package/build/config/configManager.d.ts +4 -0
  54. package/build/config/configManager.d.ts.map +1 -1
  55. package/build/config/configManager.js +48 -1
  56. package/build/config/configManager.js.map +1 -1
  57. package/build/config/configWatcher.d.ts.map +1 -1
  58. package/build/config/configWatcher.js +3 -1
  59. package/build/config/configWatcher.js.map +1 -1
  60. package/build/config/envProcessor.d.ts.map +1 -1
  61. package/build/config/envProcessor.js +6 -5
  62. package/build/config/envProcessor.js.map +1 -1
  63. package/build/config/mcpConfigManager.d.ts +4 -0
  64. package/build/config/mcpConfigManager.d.ts.map +1 -1
  65. package/build/config/mcpConfigManager.js +48 -1
  66. package/build/config/mcpConfigManager.js.map +1 -1
  67. package/build/config/runtimeBootstrap.d.ts +15 -0
  68. package/build/config/runtimeBootstrap.d.ts.map +1 -0
  69. package/build/config/runtimeBootstrap.js +35 -0
  70. package/build/config/runtimeBootstrap.js.map +1 -0
  71. package/build/config/runtimeScopeEnv.d.ts.map +1 -1
  72. package/build/config/runtimeScopeEnv.js +4 -0
  73. package/build/config/runtimeScopeEnv.js.map +1 -1
  74. package/build/config/runtimeTargetFingerprint.d.ts.map +1 -1
  75. package/build/config/runtimeTargetFingerprint.js +5 -2
  76. package/build/config/runtimeTargetFingerprint.js.map +1 -1
  77. package/build/constants/mcp.d.ts +1 -1
  78. package/build/constants/mcp.d.ts.map +1 -1
  79. package/build/constants/mcp.js +1 -1
  80. package/build/constants/mcp.js.map +1 -1
  81. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +2 -1
  82. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -1
  83. package/build/core/capabilities/asyncLoadingOrchestrator.js +2 -21
  84. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -1
  85. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -1
  86. package/build/core/capabilities/capabilityAggregator.js +12 -4
  87. package/build/core/capabilities/capabilityAggregator.js.map +1 -1
  88. package/build/core/capabilities/capabilityCatalog.d.ts +2 -1
  89. package/build/core/capabilities/capabilityCatalog.d.ts.map +1 -1
  90. package/build/core/capabilities/capabilityCatalog.js +94 -17
  91. package/build/core/capabilities/capabilityCatalog.js.map +1 -1
  92. package/build/core/capabilities/capabilityPagination.d.ts +11 -0
  93. package/build/core/capabilities/capabilityPagination.d.ts.map +1 -1
  94. package/build/core/capabilities/capabilityPagination.js +158 -40
  95. package/build/core/capabilities/capabilityPagination.js.map +1 -1
  96. package/build/core/capabilities/catalogGeneration.d.ts.map +1 -1
  97. package/build/core/capabilities/catalogGeneration.js +8 -2
  98. package/build/core/capabilities/catalogGeneration.js.map +1 -1
  99. package/build/core/capabilities/inspectSearch.d.ts +45 -0
  100. package/build/core/capabilities/inspectSearch.d.ts.map +1 -0
  101. package/build/core/capabilities/inspectSearch.js +102 -0
  102. package/build/core/capabilities/inspectSearch.js.map +1 -0
  103. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +1 -1
  104. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -1
  105. package/build/core/capabilities/lazyLoadingOrchestrator.js +8 -8
  106. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -1
  107. package/build/core/capabilities/metaToolProvider.d.ts +2 -2
  108. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
  109. package/build/core/capabilities/metaToolProvider.js +20 -30
  110. package/build/core/capabilities/metaToolProvider.js.map +1 -1
  111. package/build/core/capabilities/runtimeCapabilityCatalog.d.ts +8 -0
  112. package/build/core/capabilities/runtimeCapabilityCatalog.d.ts.map +1 -1
  113. package/build/core/capabilities/runtimeCapabilityCatalog.js +253 -65
  114. package/build/core/capabilities/runtimeCapabilityCatalog.js.map +1 -1
  115. package/build/core/capabilities/schemaCache.d.ts +6 -2
  116. package/build/core/capabilities/schemaCache.d.ts.map +1 -1
  117. package/build/core/capabilities/schemaCache.js +101 -19
  118. package/build/core/capabilities/schemaCache.js.map +1 -1
  119. package/build/core/client/legacyAdapterRequest.d.ts.map +1 -1
  120. package/build/core/client/legacyAdapterRequest.js +25 -21
  121. package/build/core/client/legacyAdapterRequest.js.map +1 -1
  122. package/build/core/client/postAuthOAuthRecovery.d.ts.map +1 -1
  123. package/build/core/client/postAuthOAuthRecovery.js +3 -1
  124. package/build/core/client/postAuthOAuthRecovery.js.map +1 -1
  125. package/build/core/configChangeHandler.d.ts.map +1 -1
  126. package/build/core/configChangeHandler.js +11 -2
  127. package/build/core/configChangeHandler.js.map +1 -1
  128. package/build/core/context/templateContextTrust.d.ts +3 -1
  129. package/build/core/context/templateContextTrust.d.ts.map +1 -1
  130. package/build/core/context/templateContextTrust.js +22 -6
  131. package/build/core/context/templateContextTrust.js.map +1 -1
  132. package/build/core/instructions/instructionsDistribution.d.ts.map +1 -1
  133. package/build/core/instructions/instructionsDistribution.js +5 -2
  134. package/build/core/instructions/instructionsDistribution.js.map +1 -1
  135. package/build/core/instructions/templateTypes.d.ts +1 -1
  136. package/build/core/instructions/templateTypes.d.ts.map +1 -1
  137. package/build/core/instructions/templateTypes.js +5 -2
  138. package/build/core/instructions/templateTypes.js.map +1 -1
  139. package/build/core/loading/mcpLoadingManager.d.ts +3 -0
  140. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -1
  141. package/build/core/loading/mcpLoadingManager.js +11 -1
  142. package/build/core/loading/mcpLoadingManager.js.map +1 -1
  143. package/build/core/protocol/resourceTemplateRouting.d.ts +2 -0
  144. package/build/core/protocol/resourceTemplateRouting.d.ts.map +1 -0
  145. package/build/core/protocol/resourceTemplateRouting.js +2 -0
  146. package/build/core/protocol/resourceTemplateRouting.js.map +1 -0
  147. package/build/core/server/backgroundRuntimeSupervisor.d.ts +2 -0
  148. package/build/core/server/backgroundRuntimeSupervisor.d.ts.map +1 -1
  149. package/build/core/server/backgroundRuntimeSupervisor.js +11 -2
  150. package/build/core/server/backgroundRuntimeSupervisor.js.map +1 -1
  151. package/build/core/server/backgroundRuntimeSupervisorState.d.ts +2 -1
  152. package/build/core/server/backgroundRuntimeSupervisorState.d.ts.map +1 -1
  153. package/build/core/server/backgroundRuntimeSupervisorState.js +3 -2
  154. package/build/core/server/backgroundRuntimeSupervisorState.js.map +1 -1
  155. package/build/core/server/pidFileManager.d.ts +35 -0
  156. package/build/core/server/pidFileManager.d.ts.map +1 -1
  157. package/build/core/server/pidFileManager.js +16 -5
  158. package/build/core/server/pidFileManager.js.map +1 -1
  159. package/build/core/server/processIdentity.d.ts +3 -0
  160. package/build/core/server/processIdentity.d.ts.map +1 -1
  161. package/build/core/server/processIdentity.js +69 -17
  162. package/build/core/server/processIdentity.js.map +1 -1
  163. package/build/core/server/runtimeControl.d.ts +37 -0
  164. package/build/core/server/runtimeControl.d.ts.map +1 -0
  165. package/build/core/server/runtimeControl.js +309 -0
  166. package/build/core/server/runtimeControl.js.map +1 -0
  167. package/build/core/server/runtimeDrain.d.ts +68 -0
  168. package/build/core/server/runtimeDrain.d.ts.map +1 -0
  169. package/build/core/server/runtimeDrain.js +248 -0
  170. package/build/core/server/runtimeDrain.js.map +1 -0
  171. package/build/core/server/runtimeLaunchIpc.d.ts +285 -0
  172. package/build/core/server/runtimeLaunchIpc.d.ts.map +1 -0
  173. package/build/core/server/runtimeLaunchIpc.js +146 -0
  174. package/build/core/server/runtimeLaunchIpc.js.map +1 -0
  175. package/build/core/server/runtimeLifecycle.d.ts +3 -1
  176. package/build/core/server/runtimeLifecycle.d.ts.map +1 -1
  177. package/build/core/server/runtimeLifecycle.js +7 -8
  178. package/build/core/server/runtimeLifecycle.js.map +1 -1
  179. package/build/core/server/runtimeReplacementConfig.d.ts +295 -0
  180. package/build/core/server/runtimeReplacementConfig.d.ts.map +1 -0
  181. package/build/core/server/runtimeReplacementConfig.js +187 -0
  182. package/build/core/server/runtimeReplacementConfig.js.map +1 -0
  183. package/build/core/server/runtimeScopeOwnership.d.ts +3 -0
  184. package/build/core/server/runtimeScopeOwnership.d.ts.map +1 -1
  185. package/build/core/server/runtimeScopeOwnership.js +23 -4
  186. package/build/core/server/runtimeScopeOwnership.js.map +1 -1
  187. package/build/core/tools/internal/discoveryHandlers.d.ts.map +1 -1
  188. package/build/core/tools/internal/discoveryHandlers.js +8 -6
  189. package/build/core/tools/internal/discoveryHandlers.js.map +1 -1
  190. package/build/core/tools/internal/installationHandlers.d.ts.map +1 -1
  191. package/build/core/tools/internal/installationHandlers.js +46 -39
  192. package/build/core/tools/internal/installationHandlers.js.map +1 -1
  193. package/build/core/types/server.d.ts +2 -0
  194. package/build/core/types/server.d.ts.map +1 -1
  195. package/build/core/types/transport.d.ts +1 -1
  196. package/build/core/validation/schemaBoundary.d.ts +51 -0
  197. package/build/core/validation/schemaBoundary.d.ts.map +1 -0
  198. package/build/core/validation/schemaBoundary.js +237 -0
  199. package/build/core/validation/schemaBoundary.js.map +1 -0
  200. package/build/core/validation/schemaPolicy.d.ts +38 -0
  201. package/build/core/validation/schemaPolicy.d.ts.map +1 -0
  202. package/build/core/validation/schemaPolicy.js +127 -0
  203. package/build/core/validation/schemaPolicy.js.map +1 -0
  204. package/build/core/validation/schemaWorker.d.ts +2 -0
  205. package/build/core/validation/schemaWorker.d.ts.map +1 -0
  206. package/build/core/validation/schemaWorker.js +222 -0
  207. package/build/core/validation/schemaWorker.js.map +1 -0
  208. package/build/core/validation/toolSchemaBoundary.d.ts +19 -0
  209. package/build/core/validation/toolSchemaBoundary.d.ts.map +1 -0
  210. package/build/core/validation/toolSchemaBoundary.js +51 -0
  211. package/build/core/validation/toolSchemaBoundary.js.map +1 -0
  212. package/build/domains/admin/adminOperationService.d.ts +1 -0
  213. package/build/domains/admin/adminOperationService.d.ts.map +1 -1
  214. package/build/domains/admin/adminOperationService.js +4 -0
  215. package/build/domains/admin/adminOperationService.js.map +1 -1
  216. package/build/domains/config-change/configChange.d.ts.map +1 -1
  217. package/build/domains/config-change/configChange.js +36 -8
  218. package/build/domains/config-change/configChange.js.map +1 -1
  219. package/build/domains/installation/serverInstallationWorkflow.d.ts.map +1 -1
  220. package/build/domains/installation/serverInstallationWorkflow.js +21 -12
  221. package/build/domains/installation/serverInstallationWorkflow.js.map +1 -1
  222. package/build/domains/preset/manager/presetManager.d.ts.map +1 -1
  223. package/build/domains/preset/manager/presetManager.js +2 -1
  224. package/build/domains/preset/manager/presetManager.js.map +1 -1
  225. package/build/domains/registry/mcpRegistryClient.d.ts.map +1 -1
  226. package/build/domains/registry/mcpRegistryClient.js +10 -3
  227. package/build/domains/registry/mcpRegistryClient.js.map +1 -1
  228. package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts +2 -1
  229. package/build/gateway/adapters/modern/modernOutboundEraAdapter.d.ts.map +1 -1
  230. package/build/gateway/adapters/modern/modernOutboundEraAdapter.js +77 -3
  231. package/build/gateway/adapters/modern/modernOutboundEraAdapter.js.map +1 -1
  232. package/build/gateway/contracts/gatewayFailure.d.ts +38 -0
  233. package/build/gateway/contracts/gatewayFailure.d.ts.map +1 -1
  234. package/build/gateway/contracts/gatewayFailure.js +137 -20
  235. package/build/gateway/contracts/gatewayFailure.js.map +1 -1
  236. package/build/gateway/core/gatewayDispatcher.d.ts +4 -0
  237. package/build/gateway/core/gatewayDispatcher.d.ts.map +1 -1
  238. package/build/gateway/core/gatewayDispatcher.js +35 -3
  239. package/build/gateway/core/gatewayDispatcher.js.map +1 -1
  240. package/build/gateway/interactions/interactionBroker.d.ts +29 -0
  241. package/build/gateway/interactions/interactionBroker.d.ts.map +1 -0
  242. package/build/gateway/interactions/interactionBroker.js +244 -0
  243. package/build/gateway/interactions/interactionBroker.js.map +1 -0
  244. package/build/gateway/interactions/interactionCapabilities.d.ts +4 -0
  245. package/build/gateway/interactions/interactionCapabilities.d.ts.map +1 -0
  246. package/build/gateway/interactions/interactionCapabilities.js +36 -0
  247. package/build/gateway/interactions/interactionCapabilities.js.map +1 -0
  248. package/build/gateway/interactions/interactionOwner.d.ts +45 -0
  249. package/build/gateway/interactions/interactionOwner.d.ts.map +1 -0
  250. package/build/gateway/interactions/interactionOwner.js +203 -0
  251. package/build/gateway/interactions/interactionOwner.js.map +1 -0
  252. package/build/gateway/interactions/interactionRoute.d.ts +16 -0
  253. package/build/gateway/interactions/interactionRoute.d.ts.map +1 -0
  254. package/build/gateway/interactions/interactionRoute.js +41 -0
  255. package/build/gateway/interactions/interactionRoute.js.map +1 -0
  256. package/build/gateway/interactions/validateInteractionResponse.d.ts +6 -0
  257. package/build/gateway/interactions/validateInteractionResponse.d.ts.map +1 -0
  258. package/build/gateway/interactions/validateInteractionResponse.js +175 -0
  259. package/build/gateway/interactions/validateInteractionResponse.js.map +1 -0
  260. package/build/gateway/ports/outboundEraAdapter.d.ts +10 -1
  261. package/build/gateway/ports/outboundEraAdapter.d.ts.map +1 -1
  262. package/build/sdk/contracts/legacySdkAdapter.d.ts +5 -0
  263. package/build/sdk/contracts/legacySdkAdapter.d.ts.map +1 -1
  264. package/build/sdk/contracts/protocol.d.ts +3 -3
  265. package/build/sdk/contracts/protocol.d.ts.map +1 -1
  266. package/build/sdk/contracts/protocol.js +3 -2
  267. package/build/sdk/contracts/protocol.js.map +1 -1
  268. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts +8 -0
  269. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.d.ts.map +1 -0
  270. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js +63 -0
  271. package/build/sdk/legacy/client/runtime/backendDispatchLifetime.js.map +1 -0
  272. package/build/sdk/legacy/client/runtime/clientFactory.d.ts +4 -1
  273. package/build/sdk/legacy/client/runtime/clientFactory.d.ts.map +1 -1
  274. package/build/sdk/legacy/client/runtime/clientFactory.js +41 -14
  275. package/build/sdk/legacy/client/runtime/clientFactory.js.map +1 -1
  276. package/build/sdk/legacy/client/runtime/clientManager.d.ts.map +1 -1
  277. package/build/sdk/legacy/client/runtime/clientManager.js +20 -7
  278. package/build/sdk/legacy/client/runtime/clientManager.js.map +1 -1
  279. package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts +8 -0
  280. package/build/sdk/legacy/client/runtime/legacyInteractionLease.d.ts.map +1 -0
  281. package/build/sdk/legacy/client/runtime/legacyInteractionLease.js +44 -0
  282. package/build/sdk/legacy/client/runtime/legacyInteractionLease.js.map +1 -0
  283. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts +4 -0
  284. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.d.ts.map +1 -1
  285. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js +20 -0
  286. package/build/sdk/legacy/client/runtime/legacySdkClientAdapter.js.map +1 -1
  287. package/build/sdk/legacy/client/runtime/legacyTransport.d.ts +2 -0
  288. package/build/sdk/legacy/client/runtime/legacyTransport.d.ts.map +1 -1
  289. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts +3 -0
  290. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.d.ts.map +1 -1
  291. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js +98 -4
  292. package/build/sdk/legacy/client/runtime/modernSdkClientAdapter.js.map +1 -1
  293. package/build/sdk/legacy/commands/serve.d.ts +2 -0
  294. package/build/sdk/legacy/commands/serve.d.ts.map +1 -1
  295. package/build/sdk/legacy/commands/serve.js +40 -9
  296. package/build/sdk/legacy/commands/serve.js.map +1 -1
  297. package/build/sdk/legacy/server/protocol/notificationHandlers.d.ts.map +1 -1
  298. package/build/sdk/legacy/server/protocol/notificationHandlers.js +19 -47
  299. package/build/sdk/legacy/server/protocol/notificationHandlers.js.map +1 -1
  300. package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts +7 -0
  301. package/build/sdk/legacy/server/protocol/privateInteractionConnection.d.ts.map +1 -0
  302. package/build/sdk/legacy/server/protocol/privateInteractionConnection.js +134 -0
  303. package/build/sdk/legacy/server/protocol/privateInteractionConnection.js.map +1 -0
  304. package/build/sdk/legacy/server/protocol/promptRequestHandlers.d.ts.map +1 -1
  305. package/build/sdk/legacy/server/protocol/promptRequestHandlers.js +4 -3
  306. package/build/sdk/legacy/server/protocol/promptRequestHandlers.js.map +1 -1
  307. package/build/sdk/legacy/server/protocol/requestHandlers.d.ts.map +1 -1
  308. package/build/sdk/legacy/server/protocol/requestHandlers.js +5 -47
  309. package/build/sdk/legacy/server/protocol/requestHandlers.js.map +1 -1
  310. package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts +17 -0
  311. package/build/sdk/legacy/server/protocol/requestInteractionScope.d.ts.map +1 -0
  312. package/build/sdk/legacy/server/protocol/requestInteractionScope.js +223 -0
  313. package/build/sdk/legacy/server/protocol/requestInteractionScope.js.map +1 -0
  314. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.d.ts.map +1 -1
  315. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js +3 -2
  316. package/build/sdk/legacy/server/protocol/resourceRequestHandlers.js.map +1 -1
  317. package/build/sdk/legacy/server/protocol/toolRequestHandlers.d.ts.map +1 -1
  318. package/build/sdk/legacy/server/protocol/toolRequestHandlers.js +72 -17
  319. package/build/sdk/legacy/server/protocol/toolRequestHandlers.js.map +1 -1
  320. package/build/sdk/legacy/server/runtime/connectionManager.d.ts.map +1 -1
  321. package/build/sdk/legacy/server/runtime/connectionManager.js +3 -0
  322. package/build/sdk/legacy/server/runtime/connectionManager.js.map +1 -1
  323. package/build/sdk/legacy/server/runtime/serverManager.d.ts +2 -0
  324. package/build/sdk/legacy/server/runtime/serverManager.d.ts.map +1 -1
  325. package/build/sdk/legacy/server/runtime/serverManager.js +35 -8
  326. package/build/sdk/legacy/server/runtime/serverManager.js.map +1 -1
  327. package/build/sdk/legacy/shared/capabilityListCapture.d.ts.map +1 -1
  328. package/build/sdk/legacy/shared/capabilityListCapture.js +3 -0
  329. package/build/sdk/legacy/shared/capabilityListCapture.js.map +1 -1
  330. package/build/sdk/legacy/shared/schemaProjection.d.ts +11 -0
  331. package/build/sdk/legacy/shared/schemaProjection.d.ts.map +1 -0
  332. package/build/sdk/legacy/shared/schemaProjection.js +45 -0
  333. package/build/sdk/legacy/shared/schemaProjection.js.map +1 -0
  334. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts +2 -0
  335. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
  336. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js +31 -0
  337. package/build/sdk/legacy/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
  338. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts +7 -1
  339. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.d.ts.map +1 -1
  340. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js +29 -4
  341. package/build/sdk/legacy/transport/http/modernInboundLegacyBridge.js.map +1 -1
  342. package/build/sdk/legacy/transport/http/server.d.ts +1 -1
  343. package/build/sdk/legacy/transport/http/server.d.ts.map +1 -1
  344. package/build/sdk/legacy/transport/http/server.js +2 -1
  345. package/build/sdk/legacy/transport/http/server.js.map +1 -1
  346. package/build/sdk/legacy/transport/transportFactory.d.ts.map +1 -1
  347. package/build/sdk/legacy/transport/transportFactory.js +4 -3
  348. package/build/sdk/legacy/transport/transportFactory.js.map +1 -1
  349. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts +4 -52
  350. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.d.ts.map +1 -1
  351. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js +5 -311
  352. package/build/sdk/legacy/validation/CustomJsonSchemaValidator.js.map +1 -1
  353. package/build/server.d.ts +2 -2
  354. package/build/server.d.ts.map +1 -1
  355. package/build/server.js +8 -6
  356. package/build/server.js.map +1 -1
  357. package/build/transport/http/routes/adminRoutes.d.ts.map +1 -1
  358. package/build/transport/http/routes/adminRoutes.js +37 -0
  359. package/build/transport/http/routes/adminRoutes.js.map +1 -1
  360. package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -1
  361. package/build/transport/http/routes/inspectRoutes.js +178 -85
  362. package/build/transport/http/routes/inspectRoutes.js.map +1 -1
  363. package/build/transport/http/routes/modernHttpRoutes.d.ts +7 -1
  364. package/build/transport/http/routes/modernHttpRoutes.d.ts.map +1 -1
  365. package/build/transport/http/routes/modernHttpRoutes.js +121 -16
  366. package/build/transport/http/routes/modernHttpRoutes.js.map +1 -1
  367. package/build/transport/http/routes/modernInteractionBinding.d.ts +14 -0
  368. package/build/transport/http/routes/modernInteractionBinding.d.ts.map +1 -0
  369. package/build/transport/http/routes/modernInteractionBinding.js +142 -0
  370. package/build/transport/http/routes/modernInteractionBinding.js.map +1 -0
  371. package/build/transport/http/routes/toolRoutes.d.ts.map +1 -1
  372. package/build/transport/http/routes/toolRoutes.js +123 -27
  373. package/build/transport/http/routes/toolRoutes.js.map +1 -1
  374. package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
  375. package/build/transport/http/utils/contextExtractor.js +29 -0
  376. package/build/transport/http/utils/contextExtractor.js.map +1 -1
  377. package/build/utils/core/errorHandling.d.ts.map +1 -1
  378. package/build/utils/core/errorHandling.js +19 -4
  379. package/build/utils/core/errorHandling.js.map +1 -1
  380. package/build/utils/filePermissions.d.ts +3 -0
  381. package/build/utils/filePermissions.d.ts.map +1 -1
  382. package/build/utils/filePermissions.js +10 -0
  383. package/build/utils/filePermissions.js.map +1 -1
  384. package/build/utils/validation/urlDetection.d.ts.map +1 -1
  385. package/build/utils/validation/urlDetection.js +42 -2
  386. package/build/utils/validation/urlDetection.js.map +1 -1
  387. package/build/utils/watchPath.d.ts +3 -0
  388. package/build/utils/watchPath.d.ts.map +1 -0
  389. package/build/utils/watchPath.js +7 -0
  390. package/build/utils/watchPath.js.map +1 -0
  391. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"pidFileManager.js","sourceRoot":"","sources":["../../../src/core/server/pidFileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pidFileManager.js","sourceRoot":"","sources":["../../../src/core/server/pidFileManager.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const processIdentitySchema: z.ZodDiscriminatedUnion<[z.ZodObject
7
7
  }, z.core.$strip>, z.ZodObject<{
8
8
  platform: z.ZodLiteral<"darwin">;
9
9
  hostname: z.ZodString;
10
+ bootId: z.ZodOptional<z.ZodString>;
10
11
  startTime: z.ZodString;
11
12
  }, z.core.$strip>, z.ZodObject<{
12
13
  platform: z.ZodLiteral<"win32">;
@@ -23,5 +24,7 @@ interface IdentityDependencies {
23
24
  }
24
25
  /** Numeric PIDs are meaningful only within the recorded execution context. */
25
26
  export declare function inspectProcessIdentity(pid: number, identity?: ProcessIdentity, dependencies?: IdentityDependencies): ProcessIdentityStatus;
27
+ /** Diagnostic re-read only; this never authorizes signalling or metadata cleanup. */
28
+ export declare function processIdentityRecoveryMessage(pid: number, identity?: ProcessIdentity, dependencies?: IdentityDependencies): string;
26
29
  export {};
27
30
  //# sourceMappingURL=processIdentity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processIdentity.d.ts","sourceRoot":"","sources":["../../../src/core/server/processIdentity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;+BAShC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAoD5E;AAED,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AAmBD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,YAAY,GAAE,oBAAyB,GACtC,qBAAqB,CAWvB"}
1
+ {"version":3,"file":"processIdentity.d.ts","sourceRoot":"","sources":["../../../src/core/server/processIdentity.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;+BAchC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CA2D5E;AAED,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,OAAO,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AA0DD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,YAAY,GAAE,oBAAyB,GACtC,qBAAqB,CAEvB;AAED,qFAAqF;AACrF,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,eAAe,EAC1B,YAAY,GAAE,oBAAyB,GACtC,MAAM,CAaR"}
@@ -9,7 +9,12 @@ export const processIdentitySchema = z.discriminatedUnion('platform', [
9
9
  pidNamespace: z.string().min(1),
10
10
  startTime: z.string().regex(/^\d+$/),
11
11
  }),
12
- z.object({ platform: z.literal('darwin'), hostname: z.string().min(1), startTime: z.string().min(1) }),
12
+ z.object({
13
+ platform: z.literal('darwin'),
14
+ hostname: z.string().min(1),
15
+ bootId: z.string().min(1).optional(),
16
+ startTime: z.string().min(1),
17
+ }),
13
18
  z.object({ platform: z.literal('win32'), hostname: z.string().min(1), startTime: z.string().regex(/^\d+$/) }),
14
19
  ]);
15
20
  /** Capture kernel process birth evidence; unavailable evidence is never a PID-only match. */
@@ -42,7 +47,14 @@ export function readProcessIdentity(pid) {
42
47
  stdio: ['ignore', 'pipe', 'ignore'],
43
48
  })
44
49
  .trim();
45
- return processIdentitySchema.parse({ platform: 'darwin', hostname: os.hostname(), startTime });
50
+ const bootId = childProcess
51
+ .execFileSync('/usr/sbin/sysctl', ['-n', 'kern.bootsessionuuid'], {
52
+ encoding: 'utf8',
53
+ timeout: 3000,
54
+ stdio: ['ignore', 'pipe', 'ignore'],
55
+ })
56
+ .trim();
57
+ return processIdentitySchema.parse({ platform: 'darwin', hostname: os.hostname(), bootId, startTime });
46
58
  }
47
59
  if (process.platform === 'win32') {
48
60
  const startTime = childProcess
@@ -74,28 +86,68 @@ function processExists(pid) {
74
86
  return !(error instanceof Error && 'code' in error && error.code === 'ESRCH');
75
87
  }
76
88
  }
77
- function sameContext(left, right) {
78
- if (left.platform !== right.platform)
79
- return false;
80
- if (left.platform === 'linux' && right.platform === 'linux') {
81
- return left.bootId === right.bootId && left.pidNamespace === right.pidNamespace;
89
+ function contextMismatch(recorded, observed) {
90
+ if (recorded.platform !== observed.platform)
91
+ return 'the recorded process belongs to another operating system';
92
+ if (recorded.platform === 'linux' && observed.platform === 'linux') {
93
+ if (recorded.bootId !== observed.bootId)
94
+ return 'the recorded process belongs to another boot session';
95
+ if (recorded.pidNamespace !== observed.pidNamespace)
96
+ return 'the recorded process belongs to another PID namespace';
97
+ return undefined;
98
+ }
99
+ if (recorded.platform === 'darwin' && observed.platform === 'darwin' && recorded.bootId) {
100
+ if (!observed.bootId)
101
+ return 'the current macOS boot-session ID could not be read';
102
+ if (recorded.bootId !== observed.bootId)
103
+ return 'the recorded process belongs to another boot session';
104
+ return undefined;
105
+ }
106
+ // Compatibility only: retire hostname-based macOS records at the next major release.
107
+ if ('hostname' in recorded && 'hostname' in observed && recorded.hostname !== observed.hostname) {
108
+ return 'the hostname differs from the hostname-based process record';
82
109
  }
83
- return 'hostname' in left && 'hostname' in right && left.hostname === right.hostname;
110
+ return undefined;
84
111
  }
85
- /** Numeric PIDs are meaningful only within the recorded execution context. */
86
- export function inspectProcessIdentity(pid, identity, dependencies = {}) {
112
+ /** All lifecycle paths use the same evidence and fail-closed decisions. */
113
+ function inspectIdentity(pid, identity, dependencies) {
87
114
  if (!identity)
88
- return 'unknown';
115
+ return { status: 'unknown', reason: 'the record has no process birth evidence (legacy format)' };
89
116
  const readIdentity = dependencies.readIdentity ?? readProcessIdentity;
90
117
  const context = readIdentity(process.pid);
91
- if (!context || !sameContext(identity, context))
92
- return 'unknown';
118
+ if (!context)
119
+ return {
120
+ status: 'unknown',
121
+ reason: 'OS process evidence is unavailable to this CLI (permissions or platform tools)',
122
+ };
123
+ const mismatch = contextMismatch(identity, context);
124
+ if (mismatch)
125
+ return { status: 'unknown', reason: mismatch };
93
126
  const observed = readIdentity(pid);
94
127
  if (observed) {
95
- if (!sameContext(identity, observed))
96
- return 'unknown';
97
- return observed.startTime === identity.startTime ? 'alive' : 'dead';
128
+ const mismatch = contextMismatch(identity, observed);
129
+ if (mismatch)
130
+ return { status: 'unknown', reason: mismatch };
131
+ return { status: observed.startTime === identity.startTime ? 'alive' : 'dead' };
98
132
  }
99
- return (dependencies.processAlive ?? processExists)(pid) ? 'unknown' : 'dead';
133
+ if (!(dependencies.processAlive ?? processExists)(pid))
134
+ return { status: 'dead' };
135
+ return { status: 'unknown', reason: 'the process may still exist, but its birth evidence could not be read' };
136
+ }
137
+ /** Numeric PIDs are meaningful only within the recorded execution context. */
138
+ export function inspectProcessIdentity(pid, identity, dependencies = {}) {
139
+ return inspectIdentity(pid, identity, dependencies).status;
140
+ }
141
+ /** Diagnostic re-read only; this never authorizes signalling or metadata cleanup. */
142
+ export function processIdentityRecoveryMessage(pid, identity, dependencies = {}) {
143
+ const inspection = inspectIdentity(pid, identity, dependencies);
144
+ const reason = inspection.status === 'unknown'
145
+ ? inspection.reason
146
+ : 'process evidence changed during verification; retry the command';
147
+ return (`Cannot verify process identity for PID ${pid}: ${reason}. Lifecycle metadata was retained. ` +
148
+ 'Run the command as the runtime user on the same host/container with OS process-inspection permissions. ' +
149
+ 'On Linux, legacy supervised pairs can use explicit serve --stop or serve --restart with the same --config-dir. ' +
150
+ 'For other legacy records, stop the old runtime through its original CLI or service manager, then start with this CLI. ' +
151
+ 'Do not delete lifecycle metadata while any process may still use this scope.');
100
152
  }
101
153
  //# sourceMappingURL=processIdentity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processIdentity.js","sourceRoot":"","sources":["../../../src/core/server/processIdentity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processIdentity.js","sourceRoot":"","sources":["../../../src/core/server/processIdentity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import type { ServerPidInfo } from './pidFileManager.js';
3
+ declare const descriptorSchema: z.ZodObject<{
4
+ version: z.ZodLiteral<1>;
5
+ configDir: z.ZodString;
6
+ claimId: z.ZodString;
7
+ url: z.ZodString;
8
+ }, z.core.$strict>;
9
+ export type RuntimeControlDescriptor = z.infer<typeof descriptorSchema>;
10
+ export type RuntimeControlMethod = 'describe' | 'prepare-replacement' | 'commit-replacement' | 'operation-status' | 'stop';
11
+ export interface RuntimeControlDescription {
12
+ runtime: ServerPidInfo | null;
13
+ runtimeScopeId: string;
14
+ version: string;
15
+ explicitInputs: unknown;
16
+ digest: string;
17
+ supervisorPid: number;
18
+ state: string;
19
+ }
20
+ export type RuntimeControlHandler = (method: RuntimeControlMethod, payload: unknown, operationId: string) => Promise<unknown> | unknown;
21
+ export declare function runtimeControlExists(configDir: string): boolean;
22
+ /**
23
+ * Remove runtime control descriptor and secret files when the descriptor matches the expected claim ID.
24
+ * Deletes the secret file before unlinking the descriptor to ensure atomicity.
25
+ * Returns true if control files do not exist or were safely removed; false on claim mismatch or error.
26
+ */
27
+ export declare function cleanupRuntimeControlFiles(configDir: string, expectedClaimId: string): boolean;
28
+ export declare function startRuntimeControl(configDir: string, claimId: string, handler: RuntimeControlHandler): Promise<{
29
+ descriptor: RuntimeControlDescriptor;
30
+ close: () => Promise<void>;
31
+ }>;
32
+ export declare function connectRuntimeControl(configDir: string): Promise<{
33
+ descriptor: RuntimeControlDescriptor;
34
+ request: <T = unknown>(method: RuntimeControlMethod, payload?: unknown, operationId?: string) => Promise<T>;
35
+ } | null>;
36
+ export {};
37
+ //# sourceMappingURL=runtimeControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeControl.d.ts","sourceRoot":"","sources":["../../../src/core/server/runtimeControl.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,QAAA,MAAM,gBAAgB;;;;;kBAsBX,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAC9B,UAAU,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAE1F,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAwBD,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAmBhC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAY9F;AA2DD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC;IACT,UAAU,EAAE,wBAAwB,CAAC;IACrC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC,CAoFD;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACtE,UAAU,EAAE,wBAAwB,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7G,GAAG,IAAI,CAAC,CAsDR"}
@@ -0,0 +1,309 @@
1
+ import { createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from 'node:crypto';
2
+ import fs from 'node:fs';
3
+ import http from 'node:http';
4
+ import path from 'node:path';
5
+ import { credentialReadFlags, hasSafeCredentialPermissions } from '../../utils/filePermissions.js';
6
+ import { z } from 'zod';
7
+ import { readRuntimeScopeOwnership } from './runtimeScopeOwnership.js';
8
+ const CONTROL_FILE = 'runtime-control.json';
9
+ const LIMIT = 1024 * 1024;
10
+ const nonceSchema = z.string().min(16).max(128);
11
+ const descriptorSchema = z
12
+ .object({
13
+ version: z.literal(1),
14
+ configDir: z.string(),
15
+ claimId: nonceSchema,
16
+ url: z
17
+ .string()
18
+ .url()
19
+ .refine((value) => {
20
+ const url = new URL(value);
21
+ return (url.protocol === 'http:' &&
22
+ url.hostname === '127.0.0.1' &&
23
+ !!url.port &&
24
+ url.pathname === '/' &&
25
+ !url.username &&
26
+ !url.password &&
27
+ !url.search &&
28
+ !url.hash);
29
+ }),
30
+ })
31
+ .strict();
32
+ const methodSchema = z.enum(['describe', 'prepare-replacement', 'commit-replacement', 'operation-status', 'stop']);
33
+ const descriptionSchema = z
34
+ .object({
35
+ runtime: z
36
+ .object({
37
+ pid: z.number().int().positive(),
38
+ url: z.string().url(),
39
+ port: z.number().int().min(1).max(65535),
40
+ host: z.string(),
41
+ transport: z.literal('http'),
42
+ startedAt: z.string(),
43
+ configDir: z.string(),
44
+ logFile: z.string().optional(),
45
+ })
46
+ .passthrough()
47
+ .nullable(),
48
+ runtimeScopeId: z.string().min(1),
49
+ version: z.string(),
50
+ explicitInputs: z.unknown().optional(),
51
+ digest: z.string(),
52
+ supervisorPid: z.number().int().positive(),
53
+ state: z.string(),
54
+ })
55
+ .passthrough();
56
+ const challengeRequestSchema = z.object({ nonce: nonceSchema }).strict();
57
+ const challengeSchema = z
58
+ .object({ nonce: nonceSchema, challenge: nonceSchema, expires: z.number().int(), signature: z.string() })
59
+ .strict();
60
+ const requestSchema = z
61
+ .object({
62
+ nonce: nonceSchema,
63
+ challenge: nonceSchema,
64
+ expires: z.number().int(),
65
+ method: methodSchema,
66
+ operationId: nonceSchema,
67
+ payload: z.unknown(),
68
+ signature: z.string(),
69
+ })
70
+ .strict();
71
+ const responseSchema = z.object({ ok: z.boolean(), value: z.unknown(), signature: z.string() }).strict();
72
+ export function runtimeControlExists(configDir) {
73
+ try {
74
+ fs.lstatSync(path.join(configDir, CONTROL_FILE));
75
+ return true;
76
+ }
77
+ catch (error) {
78
+ if (error.code === 'ENOENT')
79
+ return false;
80
+ throw error;
81
+ }
82
+ }
83
+ /**
84
+ * Remove runtime control descriptor and secret files when the descriptor matches the expected claim ID.
85
+ * Deletes the secret file before unlinking the descriptor to ensure atomicity.
86
+ * Returns true if control files do not exist or were safely removed; false on claim mismatch or error.
87
+ */
88
+ export function cleanupRuntimeControlFiles(configDir, expectedClaimId) {
89
+ if (!runtimeControlExists(configDir))
90
+ return true;
91
+ try {
92
+ const raw = readPrivate(path.join(configDir, CONTROL_FILE));
93
+ const descriptor = descriptorSchema.parse(JSON.parse(raw));
94
+ if (descriptor.claimId !== expectedClaimId)
95
+ return false;
96
+ fs.rmSync(secretPath(configDir, expectedClaimId), { force: true });
97
+ fs.unlinkSync(path.join(configDir, CONTROL_FILE));
98
+ return true;
99
+ }
100
+ catch {
101
+ return false;
102
+ }
103
+ }
104
+ function secretPath(configDir, claimId) {
105
+ return path.join(configDir, `runtime-control-${createHash('sha256').update(claimId).digest('hex')}.secret`);
106
+ }
107
+ // Unlike legacy credential reads, attachment must never repair or mutate files.
108
+ function readPrivate(file) {
109
+ const dir = fs.statSync(path.dirname(file));
110
+ const fd = fs.openSync(file, credentialReadFlags(), 0o600);
111
+ try {
112
+ const stat = fs.fstatSync(fd);
113
+ if (!stat.isFile() || stat.size > LIMIT)
114
+ throw new Error('Invalid runtime control file');
115
+ if (!hasSafeCredentialPermissions(dir, 0o022) || !hasSafeCredentialPermissions(stat, 0o077)) {
116
+ throw new Error('Runtime control files require owner-only permissions');
117
+ }
118
+ return fs.readFileSync(fd, 'utf8');
119
+ }
120
+ finally {
121
+ fs.closeSync(fd);
122
+ }
123
+ }
124
+ function proof(secret, descriptor, purpose, value) {
125
+ return createHmac('sha256', Buffer.from(secret, 'base64url'))
126
+ .update(JSON.stringify(['1mcp-runtime-control-v1', descriptor, purpose, value]))
127
+ .digest('base64url');
128
+ }
129
+ function verify(actual, expected) {
130
+ const left = Buffer.from(actual, 'base64url');
131
+ const right = Buffer.from(expected, 'base64url');
132
+ if (left.length !== right.length || !timingSafeEqual(left, right))
133
+ throw new Error('Runtime control authentication failed');
134
+ }
135
+ function assertOwner(descriptor) {
136
+ const owner = readRuntimeScopeOwnership(descriptor.configDir);
137
+ if (owner?.claimId !== descriptor.claimId || owner.kind !== 'background-supervisor') {
138
+ throw new Error('Runtime control generation no longer owns this scope');
139
+ }
140
+ }
141
+ async function readBody(stream) {
142
+ const chunks = [];
143
+ let size = 0;
144
+ for await (const chunk of stream) {
145
+ size += chunk.length;
146
+ if (size > LIMIT)
147
+ throw new Error('Runtime control message too large');
148
+ chunks.push(Buffer.from(chunk));
149
+ }
150
+ return JSON.parse(Buffer.concat(chunks).toString('utf8'));
151
+ }
152
+ function isValidChallenge(challenge, request) {
153
+ if (!challenge)
154
+ return false;
155
+ if (challenge.nonce !== request.nonce)
156
+ return false;
157
+ if (challenge.expires !== request.expires)
158
+ return false;
159
+ return challenge.expires > Date.now();
160
+ }
161
+ export async function startRuntimeControl(configDir, claimId, handler) {
162
+ configDir = fs.realpathSync(configDir);
163
+ nonceSchema.parse(claimId);
164
+ const directory = fs.statSync(configDir);
165
+ if (!hasSafeCredentialPermissions(directory, 0o022)) {
166
+ throw new Error('Runtime control directory must be owned by the current user and not writable by others');
167
+ }
168
+ const secret = randomBytes(32).toString('base64url');
169
+ const challenges = new Map();
170
+ let descriptor;
171
+ const server = http.createServer(async (req, res) => {
172
+ try {
173
+ if (req.method !== 'POST')
174
+ throw new Error('Invalid method');
175
+ assertOwner(descriptor);
176
+ const body = await readBody(req);
177
+ if (req.url === '/challenge') {
178
+ const { nonce } = challengeRequestSchema.parse(body);
179
+ for (const [key, value] of challenges)
180
+ if (value.expires <= Date.now())
181
+ challenges.delete(key);
182
+ if (challenges.size >= 128)
183
+ throw new Error('Too many challenges');
184
+ const challenge = randomBytes(32).toString('base64url');
185
+ const expires = Date.now() + 10_000;
186
+ const value = { nonce, challenge, expires };
187
+ challenges.set(challenge, { nonce, expires });
188
+ res.end(JSON.stringify({ ...value, signature: proof(secret, descriptor, 'challenge', value) }));
189
+ return;
190
+ }
191
+ if (req.url !== '/request')
192
+ throw new Error('Invalid endpoint');
193
+ const { signature, ...request } = requestSchema.parse(body);
194
+ const challenge = challenges.get(request.challenge);
195
+ challenges.delete(request.challenge);
196
+ if (!isValidChallenge(challenge, request)) {
197
+ throw new Error('Expired or consumed runtime control challenge');
198
+ }
199
+ verify(signature, proof(secret, descriptor, 'request', request));
200
+ let value;
201
+ let ok = true;
202
+ try {
203
+ value = await handler(request.method, request.payload, request.operationId);
204
+ }
205
+ catch {
206
+ ok = false;
207
+ value = 'Runtime control operation failed';
208
+ }
209
+ const result = { ok, value: value ?? null };
210
+ res.end(JSON.stringify({ ...result, signature: proof(secret, descriptor, 'response', [request, result]) }));
211
+ }
212
+ catch {
213
+ res.statusCode = 403;
214
+ res.end('Runtime control request rejected');
215
+ }
216
+ });
217
+ server.requestTimeout = 5_000;
218
+ server.headersTimeout = 5_000;
219
+ server.timeout = 10_000;
220
+ await new Promise((resolve, reject) => {
221
+ server.once('error', reject);
222
+ server.listen(0, '127.0.0.1', resolve);
223
+ });
224
+ const address = server.address();
225
+ if (!address || typeof address === 'string')
226
+ throw new Error('Runtime control listener unavailable');
227
+ descriptor = { version: 1, configDir, claimId, url: `http://127.0.0.1:${address.port}/` };
228
+ const metadata = path.join(configDir, CONTROL_FILE);
229
+ const secretFile = secretPath(configDir, claimId);
230
+ let createdSecret = false;
231
+ try {
232
+ assertOwner(descriptor);
233
+ fs.writeFileSync(secretFile, secret, { mode: 0o600, flag: 'wx' });
234
+ createdSecret = true;
235
+ // Claim acquisition serializes publication; never overwrite another generation.
236
+ fs.writeFileSync(metadata, JSON.stringify(descriptor), { mode: 0o600, flag: 'wx' });
237
+ }
238
+ catch (error) {
239
+ server.close();
240
+ if (createdSecret)
241
+ fs.unlinkSync(secretFile);
242
+ throw error;
243
+ }
244
+ return {
245
+ descriptor,
246
+ close: async () => {
247
+ await new Promise((resolve, reject) => server.close((error) => (error ? reject(error) : resolve())));
248
+ if (runtimeControlExists(configDir)) {
249
+ const current = descriptorSchema.parse(JSON.parse(readPrivate(metadata)));
250
+ if (current.claimId === claimId && current.url === descriptor.url)
251
+ fs.unlinkSync(metadata);
252
+ }
253
+ fs.rmSync(secretFile, { force: true });
254
+ },
255
+ };
256
+ }
257
+ export async function connectRuntimeControl(configDir) {
258
+ if (!runtimeControlExists(configDir))
259
+ return null;
260
+ configDir = fs.realpathSync(configDir);
261
+ const descriptor = descriptorSchema.parse(JSON.parse(readPrivate(path.join(configDir, CONTROL_FILE))));
262
+ if (descriptor.configDir !== configDir)
263
+ throw new Error('Runtime control scope mismatch');
264
+ assertOwner(descriptor);
265
+ const secret = readPrivate(secretPath(configDir, descriptor.claimId));
266
+ if (!/^[A-Za-z0-9_-]{43}$/.test(secret))
267
+ throw new Error('Invalid runtime control credential');
268
+ const post = async (endpoint, value) => {
269
+ const response = await fetch(new URL(endpoint, descriptor.url), {
270
+ method: 'POST',
271
+ redirect: 'error',
272
+ signal: AbortSignal.timeout(5000),
273
+ headers: { 'content-type': 'application/json' },
274
+ body: JSON.stringify(value),
275
+ }).catch(() => {
276
+ throw new Error('Runtime control is unreachable. Preserve ownership metadata and use the original CLI or service manager for explicit recovery.');
277
+ });
278
+ if (!response.ok || !response.body)
279
+ throw new Error('Runtime control request rejected');
280
+ return readBody(response.body);
281
+ };
282
+ return {
283
+ descriptor,
284
+ request: async (method, payload = {}, operationId = randomUUID()) => {
285
+ assertOwner(descriptor);
286
+ const nonce = randomBytes(32).toString('base64url');
287
+ const { signature, ...challenge } = challengeSchema.parse(await post('challenge', { nonce }));
288
+ if (challenge.nonce !== nonce || challenge.expires <= Date.now())
289
+ throw new Error('Stale runtime control challenge');
290
+ verify(signature, proof(secret, descriptor, 'challenge', challenge));
291
+ assertOwner(descriptor);
292
+ const request = { ...challenge, method, operationId, payload };
293
+ const response = responseSchema.parse(await post('request', { ...request, signature: proof(secret, descriptor, 'request', request) }));
294
+ const result = { ok: response.ok, value: response.value };
295
+ verify(response.signature, proof(secret, descriptor, 'response', [request, result]));
296
+ if (!response.ok)
297
+ throw new Error('Runtime control operation failed');
298
+ if (method === 'describe') {
299
+ const description = descriptionSchema.parse(response.value);
300
+ if (description.runtime && fs.realpathSync(description.runtime.configDir) !== configDir) {
301
+ throw new Error('Runtime endpoint scope mismatch');
302
+ }
303
+ return description;
304
+ }
305
+ return response.value;
306
+ },
307
+ };
308
+ }
309
+ //# sourceMappingURL=runtimeControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeControl.js","sourceRoot":"","sources":["../../../src/core/server/runtimeControl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { z } from 'zod';
2
+ export declare const admissionSnapshotSchema: z.ZodObject<{
3
+ closed: z.ZodBoolean;
4
+ active: z.ZodNumber;
5
+ committed: z.ZodBoolean;
6
+ }, z.core.$strip>;
7
+ export type AdmissionSnapshot = z.infer<typeof admissionSnapshotSchema>;
8
+ export declare class RuntimeDrainingError extends Error {
9
+ readonly code = -32004;
10
+ readonly data: {
11
+ retryable: boolean;
12
+ reason: string;
13
+ };
14
+ constructor();
15
+ }
16
+ /** Admission and increment are synchronous. Nested dispatch retains its root until all work settles. */
17
+ export declare class RuntimeAdmission {
18
+ private closed;
19
+ private committed;
20
+ private active;
21
+ private readonly context;
22
+ private readonly listeners;
23
+ snapshot(): AdmissionSnapshot;
24
+ subscribe(listener: (snapshot: AdmissionSnapshot) => void): () => void;
25
+ private changed;
26
+ begin(): () => void;
27
+ /** Retain only an existing admitted root; transport observers never admit background work. */
28
+ retain(): (() => void) | undefined;
29
+ run<T>(work: () => Promise<T>): Promise<T>;
30
+ close(): AdmissionSnapshot;
31
+ resume(): void;
32
+ commit(): AdmissionSnapshot;
33
+ }
34
+ export declare const runtimeAdmission: RuntimeAdmission;
35
+ export declare function withRuntimeAdmission<T, Args extends readonly unknown[]>(work: (...args: Args) => Promise<T>): (...args: Args) => Promise<T>;
36
+ export interface ReplacementDrainStatus {
37
+ operationId: string;
38
+ digest: string;
39
+ state: 'preparing' | 'draining' | 'drained' | 'committing' | 'aborted';
40
+ deadlineUnixMs: number;
41
+ active: number;
42
+ }
43
+ export interface ReplacementDrainPorts {
44
+ close(): Promise<AdmissionSnapshot>;
45
+ resume(): Promise<void>;
46
+ commit(): Promise<AdmissionSnapshot>;
47
+ }
48
+ /** The supervisor owns this state; worker acknowledgements are supplied over its private IPC channel. */
49
+ export declare class RuntimeReplacementDrain {
50
+ private readonly ports;
51
+ private operation?;
52
+ private readonly history;
53
+ private timer?;
54
+ private snapshot?;
55
+ private resuming?;
56
+ private closing?;
57
+ private commitment?;
58
+ constructor(ports: ReplacementDrainPorts);
59
+ prepare(operationId: string, digest: string, timeoutMs?: number): Promise<ReplacementDrainStatus>;
60
+ /** Called only after observing the particular worker exit, before allowing a respawn. */
61
+ workerExited(): boolean;
62
+ update(snapshot: AdmissionSnapshot): void;
63
+ status(operationId: string): ReplacementDrainStatus;
64
+ commit(operationId: string, digest: string): Promise<ReplacementDrainStatus>;
65
+ private match;
66
+ private abort;
67
+ }
68
+ //# sourceMappingURL=runtimeDrain.d.ts.map