@a5c-ai/genty-platform 5.1.1-staging.00ceebd28cf2

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 (716) hide show
  1. package/README.md +48 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/sessions.d.ts +17 -0
  30. package/dist/api/sessions.d.ts.map +1 -0
  31. package/dist/api/sessions.js +58 -0
  32. package/dist/api/utils.d.ts +28 -0
  33. package/dist/api/utils.d.ts.map +1 -0
  34. package/dist/api/utils.js +74 -0
  35. package/dist/breakpoints/analytics.d.ts +46 -0
  36. package/dist/breakpoints/analytics.d.ts.map +1 -0
  37. package/dist/breakpoints/analytics.js +64 -0
  38. package/dist/breakpoints/approvalChains.d.ts +68 -0
  39. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  40. package/dist/breakpoints/approvalChains.js +111 -0
  41. package/dist/breakpoints/delegation.d.ts +42 -0
  42. package/dist/breakpoints/delegation.d.ts.map +1 -0
  43. package/dist/breakpoints/delegation.js +199 -0
  44. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  45. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  46. package/dist/breakpoints/delegationTypes.js +10 -0
  47. package/dist/breakpoints/postures.d.ts +28 -0
  48. package/dist/breakpoints/postures.d.ts.map +1 -0
  49. package/dist/breakpoints/postures.js +100 -0
  50. package/dist/compression/compaction.d.ts +82 -0
  51. package/dist/compression/compaction.d.ts.map +1 -0
  52. package/dist/compression/compaction.js +310 -0
  53. package/dist/compression/compactionStrategy.d.ts +37 -0
  54. package/dist/compression/compactionStrategy.d.ts.map +1 -0
  55. package/dist/compression/compactionStrategy.js +52 -0
  56. package/dist/compression/compressionFamilies.d.ts +39 -0
  57. package/dist/compression/compressionFamilies.d.ts.map +1 -0
  58. package/dist/compression/compressionFamilies.js +123 -0
  59. package/dist/context/dynamic.d.ts +16 -0
  60. package/dist/context/dynamic.d.ts.map +1 -0
  61. package/dist/context/dynamic.js +55 -0
  62. package/dist/context/instructions.d.ts +15 -0
  63. package/dist/context/instructions.d.ts.map +1 -0
  64. package/dist/context/instructions.js +97 -0
  65. package/dist/cost/claudeCodeParser.d.ts +81 -0
  66. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  67. package/dist/cost/claudeCodeParser.js +232 -0
  68. package/dist/cost/collector.d.ts +42 -0
  69. package/dist/cost/collector.d.ts.map +1 -0
  70. package/dist/cost/collector.js +105 -0
  71. package/dist/cost/effectCost.d.ts +23 -0
  72. package/dist/cost/effectCost.d.ts.map +1 -0
  73. package/dist/cost/effectCost.js +26 -0
  74. package/dist/cost/index.d.ts +7 -0
  75. package/dist/cost/index.d.ts.map +1 -0
  76. package/dist/cost/index.js +28 -0
  77. package/dist/cost/journal.d.ts +40 -0
  78. package/dist/cost/journal.d.ts.map +1 -0
  79. package/dist/cost/journal.js +158 -0
  80. package/dist/cost/types.d.ts +172 -0
  81. package/dist/cost/types.d.ts.map +1 -0
  82. package/dist/cost/types.js +229 -0
  83. package/dist/daemon/automationExecutor.d.ts +16 -0
  84. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  85. package/dist/daemon/automationExecutor.js +222 -0
  86. package/dist/daemon/config.d.ts +8 -0
  87. package/dist/daemon/config.d.ts.map +1 -0
  88. package/dist/daemon/config.js +245 -0
  89. package/dist/daemon/daemonLog.d.ts +13 -0
  90. package/dist/daemon/daemonLog.d.ts.map +1 -0
  91. package/dist/daemon/daemonLog.js +64 -0
  92. package/dist/daemon/durableQueue.d.ts +41 -0
  93. package/dist/daemon/durableQueue.d.ts.map +1 -0
  94. package/dist/daemon/durableQueue.js +183 -0
  95. package/dist/daemon/fileWatcher.d.ts +9 -0
  96. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  97. package/dist/daemon/fileWatcher.js +144 -0
  98. package/dist/daemon/index.d.ts +9 -0
  99. package/dist/daemon/index.d.ts.map +1 -0
  100. package/dist/daemon/index.js +26 -0
  101. package/dist/daemon/lifecycle.d.ts +12 -0
  102. package/dist/daemon/lifecycle.d.ts.map +1 -0
  103. package/dist/daemon/lifecycle.js +257 -0
  104. package/dist/daemon/loop.d.ts +27 -0
  105. package/dist/daemon/loop.d.ts.map +1 -0
  106. package/dist/daemon/loop.js +387 -0
  107. package/dist/daemon/timerScheduler.d.ts +13 -0
  108. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  109. package/dist/daemon/timerScheduler.js +212 -0
  110. package/dist/daemon/types.d.ts +122 -0
  111. package/dist/daemon/types.d.ts.map +1 -0
  112. package/dist/daemon/types.js +25 -0
  113. package/dist/daemon/webhookListener.d.ts +6 -0
  114. package/dist/daemon/webhookListener.d.ts.map +1 -0
  115. package/dist/daemon/webhookListener.js +132 -0
  116. package/dist/extensions/discovery.d.ts +15 -0
  117. package/dist/extensions/discovery.d.ts.map +1 -0
  118. package/dist/extensions/discovery.js +119 -0
  119. package/dist/extensions/installer.d.ts +14 -0
  120. package/dist/extensions/installer.d.ts.map +1 -0
  121. package/dist/extensions/installer.js +100 -0
  122. package/dist/governance/authority.d.ts +68 -0
  123. package/dist/governance/authority.d.ts.map +1 -0
  124. package/dist/governance/authority.js +136 -0
  125. package/dist/governance/bridge.d.ts +17 -0
  126. package/dist/governance/bridge.d.ts.map +1 -0
  127. package/dist/governance/bridge.js +46 -0
  128. package/dist/governance/builtins.d.ts +25 -0
  129. package/dist/governance/builtins.d.ts.map +1 -0
  130. package/dist/governance/builtins.js +67 -0
  131. package/dist/governance/categories.d.ts +58 -0
  132. package/dist/governance/categories.d.ts.map +1 -0
  133. package/dist/governance/categories.js +120 -0
  134. package/dist/governance/decisionTrail.d.ts +60 -0
  135. package/dist/governance/decisionTrail.d.ts.map +1 -0
  136. package/dist/governance/decisionTrail.js +68 -0
  137. package/dist/governance/engine.d.ts +20 -0
  138. package/dist/governance/engine.d.ts.map +1 -0
  139. package/dist/governance/engine.js +124 -0
  140. package/dist/governance/index.d.ts +20 -0
  141. package/dist/governance/index.d.ts.map +1 -0
  142. package/dist/governance/index.js +75 -0
  143. package/dist/governance/logging.d.ts +18 -0
  144. package/dist/governance/logging.d.ts.map +1 -0
  145. package/dist/governance/logging.js +83 -0
  146. package/dist/governance/mandate.d.ts +83 -0
  147. package/dist/governance/mandate.d.ts.map +1 -0
  148. package/dist/governance/mandate.js +180 -0
  149. package/dist/governance/permissionEvents.d.ts +51 -0
  150. package/dist/governance/permissionEvents.d.ts.map +1 -0
  151. package/dist/governance/permissionEvents.js +52 -0
  152. package/dist/governance/permissionPropagation.d.ts +18 -0
  153. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  154. package/dist/governance/permissionPropagation.js +58 -0
  155. package/dist/governance/postureBridge.d.ts +17 -0
  156. package/dist/governance/postureBridge.d.ts.map +1 -0
  157. package/dist/governance/postureBridge.js +117 -0
  158. package/dist/governance/privacySettings.d.ts +31 -0
  159. package/dist/governance/privacySettings.d.ts.map +1 -0
  160. package/dist/governance/privacySettings.js +104 -0
  161. package/dist/governance/sandboxBridge.d.ts +49 -0
  162. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  163. package/dist/governance/sandboxBridge.js +77 -0
  164. package/dist/governance/sandboxPolicy.d.ts +51 -0
  165. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  166. package/dist/governance/sandboxPolicy.js +177 -0
  167. package/dist/governance/types.d.ts +3 -0
  168. package/dist/governance/types.d.ts.map +1 -0
  169. package/dist/governance/types.js +5 -0
  170. package/dist/harness/adapters/adapterBridge.d.ts +71 -0
  171. package/dist/harness/adapters/adapterBridge.d.ts.map +1 -0
  172. package/dist/harness/adapters/adapterBridge.js +117 -0
  173. package/dist/harness/adapters/adapterClientFactory.d.ts +29 -0
  174. package/dist/harness/adapters/adapterClientFactory.d.ts.map +1 -0
  175. package/dist/harness/adapters/adapterClientFactory.js +90 -0
  176. package/dist/harness/adapters/adapterEventEmitter.d.ts +51 -0
  177. package/dist/harness/adapters/adapterEventEmitter.d.ts.map +1 -0
  178. package/dist/harness/adapters/adapterEventEmitter.js +143 -0
  179. package/dist/harness/adapters/adapterEventMapper.d.ts +63 -0
  180. package/dist/harness/adapters/adapterEventMapper.d.ts.map +1 -0
  181. package/dist/harness/adapters/adapterEventMapper.js +100 -0
  182. package/dist/harness/adapters/adapterHarnessMap.d.ts +25 -0
  183. package/dist/harness/adapters/adapterHarnessMap.d.ts.map +1 -0
  184. package/dist/harness/adapters/adapterHarnessMap.js +55 -0
  185. package/dist/harness/adapters/adapterStdinReader.d.ts +45 -0
  186. package/dist/harness/adapters/adapterStdinReader.d.ts.map +1 -0
  187. package/dist/harness/adapters/adapterStdinReader.js +106 -0
  188. package/dist/harness/adapters/adapterTypes.d.ts +122 -0
  189. package/dist/harness/adapters/adapterTypes.d.ts.map +1 -0
  190. package/dist/harness/adapters/adapterTypes.js +11 -0
  191. package/dist/harness/adapters/index.d.ts +17 -0
  192. package/dist/harness/adapters/index.d.ts.map +1 -0
  193. package/dist/harness/adapters/index.js +34 -0
  194. package/dist/harness/backgroundTracker.d.ts +64 -0
  195. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  196. package/dist/harness/backgroundTracker.js +107 -0
  197. package/dist/harness/budgetDowngrade.d.ts +12 -0
  198. package/dist/harness/budgetDowngrade.d.ts.map +1 -0
  199. package/dist/harness/budgetDowngrade.js +71 -0
  200. package/dist/harness/builtInHarness.d.ts +3 -0
  201. package/dist/harness/builtInHarness.d.ts.map +1 -0
  202. package/dist/harness/builtInHarness.js +18 -0
  203. package/dist/harness/capabilityRouter.d.ts +76 -0
  204. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  205. package/dist/harness/capabilityRouter.js +176 -0
  206. package/dist/harness/circuitBreaker.d.ts +51 -0
  207. package/dist/harness/circuitBreaker.d.ts.map +1 -0
  208. package/dist/harness/circuitBreaker.js +110 -0
  209. package/dist/harness/concurrentEffects.d.ts +39 -0
  210. package/dist/harness/concurrentEffects.d.ts.map +1 -0
  211. package/dist/harness/concurrentEffects.js +90 -0
  212. package/dist/harness/effectRouting.d.ts +57 -0
  213. package/dist/harness/effectRouting.d.ts.map +1 -0
  214. package/dist/harness/effectRouting.js +130 -0
  215. package/dist/harness/extensionToolBridge.d.ts +13 -0
  216. package/dist/harness/extensionToolBridge.d.ts.map +1 -0
  217. package/dist/harness/extensionToolBridge.js +23 -0
  218. package/dist/harness/fallbackChains.d.ts +42 -0
  219. package/dist/harness/fallbackChains.d.ts.map +1 -0
  220. package/dist/harness/fallbackChains.js +69 -0
  221. package/dist/harness/gentySessionContext.d.ts +31 -0
  222. package/dist/harness/gentySessionContext.d.ts.map +1 -0
  223. package/dist/harness/gentySessionContext.js +49 -0
  224. package/dist/harness/gentySessionIntegration.d.ts +16 -0
  225. package/dist/harness/gentySessionIntegration.d.ts.map +1 -0
  226. package/dist/harness/gentySessionIntegration.js +66 -0
  227. package/dist/harness/hostContract.d.ts +69 -0
  228. package/dist/harness/hostContract.d.ts.map +1 -0
  229. package/dist/harness/hostContract.js +169 -0
  230. package/dist/harness/index.d.ts +25 -0
  231. package/dist/harness/index.d.ts.map +1 -0
  232. package/dist/harness/index.js +122 -0
  233. package/dist/harness/internal/createRun/agent-core-loop.d.ts +43 -0
  234. package/dist/harness/internal/createRun/agent-core-loop.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/agent-core-loop.js +247 -0
  236. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  237. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  239. package/dist/harness/internal/createRun/index.d.ts +25 -0
  240. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/index.js +163 -0
  242. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  243. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/orchestration/constants.js +17 -0
  245. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts +23 -0
  246. package/dist/harness/internal/createRun/orchestration/dispatch.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/orchestration/dispatch.js +135 -0
  248. package/dist/harness/internal/createRun/orchestration/effects.d.ts +135 -0
  249. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/orchestration/effects.js +904 -0
  251. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +21 -0
  252. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +80 -0
  254. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  255. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/orchestration/externalPhase.js +403 -0
  257. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  258. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +106 -0
  260. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts +32 -0
  261. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/orchestration/hookDecisionEffects.js +76 -0
  263. package/dist/harness/internal/createRun/orchestration/index.d.ts +29 -0
  264. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/orchestration/index.js +370 -0
  266. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  267. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/orchestration/internalPhase.js +656 -0
  269. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +27 -0
  270. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/orchestration/internalTools.js +264 -0
  272. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  273. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  275. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  276. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  278. package/dist/harness/internal/createRun/orchestration/types.d.ts +48 -0
  279. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  281. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  282. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  284. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts +4 -0
  285. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/orchestration/workerSessionEnhancer.js +36 -0
  287. package/dist/harness/internal/createRun/output.d.ts +40 -0
  288. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  289. package/dist/harness/internal/createRun/output.js +467 -0
  290. package/dist/harness/internal/createRun/pi.d.ts +10 -0
  291. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  292. package/dist/harness/internal/createRun/pi.js +35 -0
  293. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  294. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  295. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  296. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  297. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  298. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  299. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  300. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  301. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  302. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  303. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  304. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  305. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  306. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  307. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  308. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  309. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  310. package/dist/harness/internal/createRun/planProcess/phase.js +424 -0
  311. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  312. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  313. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  314. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  315. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  316. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  317. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +22 -0
  318. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  319. package/dist/harness/internal/createRun/planProcess/prompts.js +239 -0
  320. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  321. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  322. package/dist/harness/internal/createRun/planProcess/recovery.js +205 -0
  323. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  324. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  325. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  326. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  327. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  328. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  329. package/dist/harness/internal/createRun/planProcess/validation.d.ts +4 -0
  330. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  331. package/dist/harness/internal/createRun/planProcess/validation.js +260 -0
  332. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +13 -0
  333. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  334. package/dist/harness/internal/createRun/planProcess/validationSource.js +345 -0
  335. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  336. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  337. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  338. package/dist/harness/internal/createRun/prompts.d.ts +59 -0
  339. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  340. package/dist/harness/internal/createRun/prompts.js +427 -0
  341. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  342. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  343. package/dist/harness/internal/createRun/resumeState.js +133 -0
  344. package/dist/harness/internal/createRun/utils.d.ts +184 -0
  345. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  346. package/dist/harness/internal/createRun/utils.js +218 -0
  347. package/dist/harness/internal.d.ts +13 -0
  348. package/dist/harness/internal.d.ts.map +1 -0
  349. package/dist/harness/internal.js +149 -0
  350. package/dist/harness/invoker/launch.d.ts +20 -0
  351. package/dist/harness/invoker/launch.d.ts.map +1 -0
  352. package/dist/harness/invoker/launch.js +23 -0
  353. package/dist/harness/invoker/processControl.d.ts +11 -0
  354. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  355. package/dist/harness/invoker/processControl.js +50 -0
  356. package/dist/harness/invoker.d.ts +44 -0
  357. package/dist/harness/invoker.d.ts.map +1 -0
  358. package/dist/harness/invoker.js +341 -0
  359. package/dist/harness/lspIntegration.d.ts +48 -0
  360. package/dist/harness/lspIntegration.d.ts.map +1 -0
  361. package/dist/harness/lspIntegration.js +45 -0
  362. package/dist/harness/modeSelector.d.ts +50 -0
  363. package/dist/harness/modeSelector.d.ts.map +1 -0
  364. package/dist/harness/modeSelector.js +124 -0
  365. package/dist/harness/modelSelection.d.ts +37 -0
  366. package/dist/harness/modelSelection.d.ts.map +1 -0
  367. package/dist/harness/modelSelection.js +81 -0
  368. package/dist/harness/multiHarnessDispatch.d.ts +49 -0
  369. package/dist/harness/multiHarnessDispatch.d.ts.map +1 -0
  370. package/dist/harness/multiHarnessDispatch.js +73 -0
  371. package/dist/harness/oauthIntegration.d.ts +55 -0
  372. package/dist/harness/oauthIntegration.d.ts.map +1 -0
  373. package/dist/harness/oauthIntegration.js +84 -0
  374. package/dist/harness/operatorCommands.d.ts +38 -0
  375. package/dist/harness/operatorCommands.d.ts.map +1 -0
  376. package/dist/harness/operatorCommands.js +118 -0
  377. package/dist/harness/parallelFileOps.d.ts +56 -0
  378. package/dist/harness/parallelFileOps.d.ts.map +1 -0
  379. package/dist/harness/parallelFileOps.js +166 -0
  380. package/dist/harness/piSecureSandbox.d.ts +8 -0
  381. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  382. package/dist/harness/piSecureSandbox.js +366 -0
  383. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  384. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  385. package/dist/harness/piSecureSandboxTypes.js +6 -0
  386. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  387. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  388. package/dist/harness/piWrapper/compaction.js +38 -0
  389. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  390. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  391. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  392. package/dist/harness/piWrapper/moduleSupport.d.ts +78 -0
  393. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  394. package/dist/harness/piWrapper/moduleSupport.js +207 -0
  395. package/dist/harness/piWrapper.d.ts +82 -0
  396. package/dist/harness/piWrapper.d.ts.map +1 -0
  397. package/dist/harness/piWrapper.js +406 -0
  398. package/dist/harness/planMode.d.ts +68 -0
  399. package/dist/harness/planMode.d.ts.map +1 -0
  400. package/dist/harness/planMode.js +145 -0
  401. package/dist/harness/profileOrchestration.d.ts +55 -0
  402. package/dist/harness/profileOrchestration.d.ts.map +1 -0
  403. package/dist/harness/profileOrchestration.js +61 -0
  404. package/dist/harness/selectionPolicies.d.ts +29 -0
  405. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  406. package/dist/harness/selectionPolicies.js +165 -0
  407. package/dist/harness/streamingParallelism.d.ts +43 -0
  408. package/dist/harness/streamingParallelism.d.ts.map +1 -0
  409. package/dist/harness/streamingParallelism.js +113 -0
  410. package/dist/harness/streamingRenderer.d.ts +64 -0
  411. package/dist/harness/streamingRenderer.d.ts.map +1 -0
  412. package/dist/harness/streamingRenderer.js +85 -0
  413. package/dist/harness/types.d.ts +278 -0
  414. package/dist/harness/types.d.ts.map +1 -0
  415. package/dist/harness/types.js +34 -0
  416. package/dist/harness/websocketSession.d.ts +63 -0
  417. package/dist/harness/websocketSession.d.ts.map +1 -0
  418. package/dist/harness/websocketSession.js +113 -0
  419. package/dist/harness/worktreeIsolation.d.ts +39 -0
  420. package/dist/harness/worktreeIsolation.d.ts.map +1 -0
  421. package/dist/harness/worktreeIsolation.js +85 -0
  422. package/dist/index.d.ts +16 -0
  423. package/dist/index.d.ts.map +1 -0
  424. package/dist/index.js +54 -0
  425. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  426. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  427. package/dist/interaction/askUserQuestion/core.js +112 -0
  428. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  429. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  430. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  431. package/dist/interaction/askUserQuestion.d.ts +10 -0
  432. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  433. package/dist/interaction/askUserQuestion.js +295 -0
  434. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  435. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  436. package/dist/interaction/askUserQuestionTypes.js +6 -0
  437. package/dist/interaction/commandDiscovery.d.ts +38 -0
  438. package/dist/interaction/commandDiscovery.d.ts.map +1 -0
  439. package/dist/interaction/commandDiscovery.js +106 -0
  440. package/dist/interaction/index.d.ts +11 -0
  441. package/dist/interaction/index.d.ts.map +1 -0
  442. package/dist/interaction/index.js +42 -0
  443. package/dist/interaction/interactionRouter.d.ts +25 -0
  444. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  445. package/dist/interaction/interactionRouter.js +55 -0
  446. package/dist/interaction/model-switch.d.ts +16 -0
  447. package/dist/interaction/model-switch.d.ts.map +1 -0
  448. package/dist/interaction/model-switch.js +41 -0
  449. package/dist/interaction/permissionApprovalUi.d.ts +32 -0
  450. package/dist/interaction/permissionApprovalUi.d.ts.map +1 -0
  451. package/dist/interaction/permissionApprovalUi.js +96 -0
  452. package/dist/interaction/steering.d.ts +17 -0
  453. package/dist/interaction/steering.d.ts.map +1 -0
  454. package/dist/interaction/steering.js +41 -0
  455. package/dist/interaction/typedEffectPatterns.d.ts +55 -0
  456. package/dist/interaction/typedEffectPatterns.d.ts.map +1 -0
  457. package/dist/interaction/typedEffectPatterns.js +190 -0
  458. package/dist/mcp/channels/allowlist.d.ts +19 -0
  459. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  460. package/dist/mcp/channels/allowlist.js +140 -0
  461. package/dist/mcp/channels/channelManager.d.ts +64 -0
  462. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  463. package/dist/mcp/channels/channelManager.js +137 -0
  464. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  465. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  466. package/dist/mcp/channels/inboundQueue.js +96 -0
  467. package/dist/mcp/channels/index.d.ts +16 -0
  468. package/dist/mcp/channels/index.d.ts.map +1 -0
  469. package/dist/mcp/channels/index.js +38 -0
  470. package/dist/mcp/channels/outbound.d.ts +33 -0
  471. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  472. package/dist/mcp/channels/outbound.js +94 -0
  473. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  474. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  475. package/dist/mcp/channels/permissionRelay.js +159 -0
  476. package/dist/mcp/channels/types.d.ts +135 -0
  477. package/dist/mcp/channels/types.d.ts.map +1 -0
  478. package/dist/mcp/channels/types.js +16 -0
  479. package/dist/mcp/client/auth.d.ts +57 -0
  480. package/dist/mcp/client/auth.d.ts.map +1 -0
  481. package/dist/mcp/client/auth.js +99 -0
  482. package/dist/mcp/client/config.d.ts +28 -0
  483. package/dist/mcp/client/config.d.ts.map +1 -0
  484. package/dist/mcp/client/config.js +144 -0
  485. package/dist/mcp/client/executor.d.ts +30 -0
  486. package/dist/mcp/client/executor.d.ts.map +1 -0
  487. package/dist/mcp/client/executor.js +61 -0
  488. package/dist/mcp/client/index.d.ts +13 -0
  489. package/dist/mcp/client/index.d.ts.map +1 -0
  490. package/dist/mcp/client/index.js +30 -0
  491. package/dist/mcp/client/manager.d.ts +74 -0
  492. package/dist/mcp/client/manager.d.ts.map +1 -0
  493. package/dist/mcp/client/manager.js +215 -0
  494. package/dist/mcp/client/resourceBrowser.d.ts +52 -0
  495. package/dist/mcp/client/resourceBrowser.d.ts.map +1 -0
  496. package/dist/mcp/client/resourceBrowser.js +80 -0
  497. package/dist/mcp/client/toolRegistry.d.ts +113 -0
  498. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  499. package/dist/mcp/client/toolRegistry.js +190 -0
  500. package/dist/mcp/client/types.d.ts +96 -0
  501. package/dist/mcp/client/types.d.ts.map +1 -0
  502. package/dist/mcp/client/types.js +15 -0
  503. package/dist/mcp/transport/index.d.ts +9 -0
  504. package/dist/mcp/transport/index.d.ts.map +1 -0
  505. package/dist/mcp/transport/index.js +13 -0
  506. package/dist/mcp/transport/session.d.ts +18 -0
  507. package/dist/mcp/transport/session.d.ts.map +1 -0
  508. package/dist/mcp/transport/session.js +78 -0
  509. package/dist/mcp/transport/types.d.ts +19 -0
  510. package/dist/mcp/transport/types.d.ts.map +1 -0
  511. package/dist/mcp/transport/types.js +7 -0
  512. package/dist/mcp/transport/websocket.d.ts +41 -0
  513. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  514. package/dist/mcp/transport/websocket.js +271 -0
  515. package/dist/observability/alertWebhooks.d.ts +35 -0
  516. package/dist/observability/alertWebhooks.d.ts.map +1 -0
  517. package/dist/observability/alertWebhooks.js +68 -0
  518. package/dist/observability/analytics.d.ts +66 -0
  519. package/dist/observability/analytics.d.ts.map +1 -0
  520. package/dist/observability/analytics.js +104 -0
  521. package/dist/observability/auditExport.d.ts +25 -0
  522. package/dist/observability/auditExport.d.ts.map +1 -0
  523. package/dist/observability/auditExport.js +108 -0
  524. package/dist/observability/contextIntrospection.d.ts +40 -0
  525. package/dist/observability/contextIntrospection.d.ts.map +1 -0
  526. package/dist/observability/contextIntrospection.js +93 -0
  527. package/dist/observability/failureTriage.d.ts +28 -0
  528. package/dist/observability/failureTriage.d.ts.map +1 -0
  529. package/dist/observability/failureTriage.js +168 -0
  530. package/dist/observability/health.d.ts +19 -0
  531. package/dist/observability/health.d.ts.map +1 -0
  532. package/dist/observability/health.js +129 -0
  533. package/dist/observability/index.d.ts +14 -0
  534. package/dist/observability/index.d.ts.map +1 -0
  535. package/dist/observability/index.js +53 -0
  536. package/dist/observability/progressSummarizer.d.ts +27 -0
  537. package/dist/observability/progressSummarizer.d.ts.map +1 -0
  538. package/dist/observability/progressSummarizer.js +143 -0
  539. package/dist/observability/promptPlan.d.ts +52 -0
  540. package/dist/observability/promptPlan.d.ts.map +1 -0
  541. package/dist/observability/promptPlan.js +101 -0
  542. package/dist/observability/resumeDashboard.d.ts +32 -0
  543. package/dist/observability/resumeDashboard.d.ts.map +1 -0
  544. package/dist/observability/resumeDashboard.js +204 -0
  545. package/dist/observability/runStatus.d.ts +44 -0
  546. package/dist/observability/runStatus.d.ts.map +1 -0
  547. package/dist/observability/runStatus.js +169 -0
  548. package/dist/observability/subagentHealth.d.ts +66 -0
  549. package/dist/observability/subagentHealth.d.ts.map +1 -0
  550. package/dist/observability/subagentHealth.js +107 -0
  551. package/dist/observability/subagentProgress.d.ts +64 -0
  552. package/dist/observability/subagentProgress.d.ts.map +1 -0
  553. package/dist/observability/subagentProgress.js +91 -0
  554. package/dist/observability/timeline.d.ts +11 -0
  555. package/dist/observability/timeline.d.ts.map +1 -0
  556. package/dist/observability/timeline.js +176 -0
  557. package/dist/observability/types.d.ts +62 -0
  558. package/dist/observability/types.d.ts.map +1 -0
  559. package/dist/observability/types.js +8 -0
  560. package/dist/observability/webhooks.d.ts +68 -0
  561. package/dist/observability/webhooks.d.ts.map +1 -0
  562. package/dist/observability/webhooks.js +132 -0
  563. package/dist/plugins/ccCompatibility.d.ts +79 -0
  564. package/dist/plugins/ccCompatibility.d.ts.map +1 -0
  565. package/dist/plugins/ccCompatibility.js +139 -0
  566. package/dist/plugins/index.d.ts +16 -0
  567. package/dist/plugins/index.d.ts.map +1 -0
  568. package/dist/plugins/index.js +38 -0
  569. package/dist/plugins/loader.d.ts +37 -0
  570. package/dist/plugins/loader.d.ts.map +1 -0
  571. package/dist/plugins/loader.js +112 -0
  572. package/dist/plugins/management.d.ts +33 -0
  573. package/dist/plugins/management.d.ts.map +1 -0
  574. package/dist/plugins/management.js +99 -0
  575. package/dist/plugins/marketplace.d.ts +64 -0
  576. package/dist/plugins/marketplace.d.ts.map +1 -0
  577. package/dist/plugins/marketplace.js +101 -0
  578. package/dist/plugins/sandbox.d.ts +38 -0
  579. package/dist/plugins/sandbox.d.ts.map +1 -0
  580. package/dist/plugins/sandbox.js +109 -0
  581. package/dist/plugins/trust.d.ts +31 -0
  582. package/dist/plugins/trust.d.ts.map +1 -0
  583. package/dist/plugins/trust.js +66 -0
  584. package/dist/plugins/types.d.ts +27 -0
  585. package/dist/plugins/types.d.ts.map +1 -0
  586. package/dist/plugins/types.js +7 -0
  587. package/dist/plugins/validation.d.ts +32 -0
  588. package/dist/plugins/validation.d.ts.map +1 -0
  589. package/dist/plugins/validation.js +117 -0
  590. package/dist/plugins/version-check.d.ts +23 -0
  591. package/dist/plugins/version-check.d.ts.map +1 -0
  592. package/dist/plugins/version-check.js +70 -0
  593. package/dist/plugins/versioning.d.ts +40 -0
  594. package/dist/plugins/versioning.d.ts.map +1 -0
  595. package/dist/plugins/versioning.js +101 -0
  596. package/dist/processes/index.d.ts +12 -0
  597. package/dist/processes/index.d.ts.map +1 -0
  598. package/dist/processes/index.js +15 -0
  599. package/dist/processes/recommender.d.ts +36 -0
  600. package/dist/processes/recommender.d.ts.map +1 -0
  601. package/dist/processes/recommender.js +73 -0
  602. package/dist/processes/scorer.d.ts +26 -0
  603. package/dist/processes/scorer.d.ts.map +1 -0
  604. package/dist/processes/scorer.js +104 -0
  605. package/dist/processes/types.d.ts +48 -0
  606. package/dist/processes/types.d.ts.map +1 -0
  607. package/dist/processes/types.js +9 -0
  608. package/dist/runtime/index.d.ts +3 -0
  609. package/dist/runtime/index.d.ts.map +1 -0
  610. package/dist/runtime/index.js +28 -0
  611. package/dist/seams/contract.d.ts +63 -0
  612. package/dist/seams/contract.d.ts.map +1 -0
  613. package/dist/seams/contract.js +141 -0
  614. package/dist/seams/index.d.ts +3 -0
  615. package/dist/seams/index.d.ts.map +1 -0
  616. package/dist/seams/index.js +8 -0
  617. package/dist/session/context.d.ts +22 -0
  618. package/dist/session/context.d.ts.map +1 -0
  619. package/dist/session/context.js +113 -0
  620. package/dist/session/continuityState.d.ts +39 -0
  621. package/dist/session/continuityState.d.ts.map +1 -0
  622. package/dist/session/continuityState.js +164 -0
  623. package/dist/session/cost.d.ts +72 -0
  624. package/dist/session/cost.d.ts.map +1 -0
  625. package/dist/session/cost.js +221 -0
  626. package/dist/session/crossRunComm.d.ts +40 -0
  627. package/dist/session/crossRunComm.d.ts.map +1 -0
  628. package/dist/session/crossRunComm.js +86 -0
  629. package/dist/session/crossRunState.d.ts +8 -0
  630. package/dist/session/crossRunState.d.ts.map +1 -0
  631. package/dist/session/crossRunState.js +45 -0
  632. package/dist/session/discovery.d.ts +22 -0
  633. package/dist/session/discovery.d.ts.map +1 -0
  634. package/dist/session/discovery.js +35 -0
  635. package/dist/session/history.d.ts +30 -0
  636. package/dist/session/history.d.ts.map +1 -0
  637. package/dist/session/history.js +144 -0
  638. package/dist/session/index.d.ts +8 -0
  639. package/dist/session/index.d.ts.map +1 -0
  640. package/dist/session/index.js +73 -0
  641. package/dist/session/memoryConsolidation.d.ts +31 -0
  642. package/dist/session/memoryConsolidation.d.ts.map +1 -0
  643. package/dist/session/memoryConsolidation.js +135 -0
  644. package/dist/session/memoryExtraction.d.ts +65 -0
  645. package/dist/session/memoryExtraction.d.ts.map +1 -0
  646. package/dist/session/memoryExtraction.js +201 -0
  647. package/dist/session/parse.d.ts +45 -0
  648. package/dist/session/parse.d.ts.map +1 -0
  649. package/dist/session/parse.js +170 -0
  650. package/dist/session/persistence.d.ts +46 -0
  651. package/dist/session/persistence.d.ts.map +1 -0
  652. package/dist/session/persistence.js +180 -0
  653. package/dist/session/sessionSharing.d.ts +55 -0
  654. package/dist/session/sessionSharing.d.ts.map +1 -0
  655. package/dist/session/sessionSharing.js +113 -0
  656. package/dist/session/sessionTemplates.d.ts +57 -0
  657. package/dist/session/sessionTemplates.d.ts.map +1 -0
  658. package/dist/session/sessionTemplates.js +93 -0
  659. package/dist/session/types.d.ts +267 -0
  660. package/dist/session/types.d.ts.map +1 -0
  661. package/dist/session/types.js +45 -0
  662. package/dist/session/write.d.ts +61 -0
  663. package/dist/session/write.d.ts.map +1 -0
  664. package/dist/session/write.js +213 -0
  665. package/dist/skills/chain.d.ts +31 -0
  666. package/dist/skills/chain.d.ts.map +1 -0
  667. package/dist/skills/chain.js +113 -0
  668. package/dist/skills/discovery.d.ts +34 -0
  669. package/dist/skills/discovery.d.ts.map +1 -0
  670. package/dist/skills/discovery.js +185 -0
  671. package/dist/skills/index.d.ts +12 -0
  672. package/dist/skills/index.d.ts.map +1 -0
  673. package/dist/skills/index.js +18 -0
  674. package/dist/skills/router.d.ts +35 -0
  675. package/dist/skills/router.d.ts.map +1 -0
  676. package/dist/skills/router.js +143 -0
  677. package/dist/skills/types.d.ts +33 -0
  678. package/dist/skills/types.d.ts.map +1 -0
  679. package/dist/skills/types.js +5 -0
  680. package/dist/storage/atomic.d.ts +2 -0
  681. package/dist/storage/atomic.d.ts.map +1 -0
  682. package/dist/storage/atomic.js +54 -0
  683. package/dist/storage/clock.d.ts +2 -0
  684. package/dist/storage/clock.d.ts.map +1 -0
  685. package/dist/storage/clock.js +6 -0
  686. package/dist/storage/index.d.ts +7 -0
  687. package/dist/storage/index.d.ts.map +1 -0
  688. package/dist/storage/index.js +9 -0
  689. package/dist/storage/journalWatcher.d.ts +24 -0
  690. package/dist/storage/journalWatcher.d.ts.map +1 -0
  691. package/dist/storage/journalWatcher.js +173 -0
  692. package/dist/storage/paths.d.ts +5 -0
  693. package/dist/storage/paths.d.ts.map +1 -0
  694. package/dist/storage/paths.js +26 -0
  695. package/dist/storage/snapshotState.d.ts +10 -0
  696. package/dist/storage/snapshotState.d.ts.map +1 -0
  697. package/dist/storage/snapshotState.js +15 -0
  698. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  699. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  700. package/dist/storage/storeTaskArtifacts.js +55 -0
  701. package/dist/storage/types.d.ts +21 -0
  702. package/dist/storage/types.d.ts.map +1 -0
  703. package/dist/storage/types.js +2 -0
  704. package/dist/tasks/crud.d.ts +33 -0
  705. package/dist/tasks/crud.d.ts.map +1 -0
  706. package/dist/tasks/crud.js +150 -0
  707. package/dist/tasks/index.d.ts +2 -0
  708. package/dist/tasks/index.d.ts.map +1 -0
  709. package/dist/tasks/index.js +9 -0
  710. package/dist/trust/harness-signing.d.ts +15 -0
  711. package/dist/trust/harness-signing.d.ts.map +1 -0
  712. package/dist/trust/harness-signing.js +46 -0
  713. package/dist/trust/key-store.d.ts +15 -0
  714. package/dist/trust/key-store.d.ts.map +1 -0
  715. package/dist/trust/key-store.js +66 -0
  716. package/package.json +161 -0
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /**
3
+ * Status: Integrated with agent-platform MCP orchestration wiring.
4
+ * Moved from @a5c-ai/babysitter-sdk.
5
+ * GAP-REMOTE-006: MCP Client Manager.
6
+ *
7
+ * Manages named MCP server connections with connect/disconnect lifecycle,
8
+ * status tracking, and optional reconnection. The manager does NOT directly
9
+ * depend on @modelcontextprotocol/sdk/client — instead it uses a pluggable
10
+ * transport factory so tests and consumers can inject their own.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.McpClientManager = void 0;
14
+ const config_1 = require("./config");
15
+ /** Default delay (ms) between reconnection attempts. */
16
+ const RECONNECT_BASE_DELAY_MS = 1000;
17
+ // ---------------------------------------------------------------------------
18
+ // McpClientManager
19
+ // ---------------------------------------------------------------------------
20
+ const defaultDelay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
21
+ class McpClientManager {
22
+ _stateDir;
23
+ _transportFactory;
24
+ _delay;
25
+ _connections = new Map();
26
+ _initialized = false;
27
+ constructor(options) {
28
+ this._stateDir = options.stateDir;
29
+ this._transportFactory = options.transportFactory;
30
+ this._delay = options.delayFn ?? defaultDelay;
31
+ }
32
+ /** Initialize the manager: load server configs, optionally auto-connect. */
33
+ async initialize(autoConnect) {
34
+ const file = await (0, config_1.readMcpServersConfig)(this._stateDir);
35
+ for (const config of file.servers) {
36
+ this._connections.set(config.name, {
37
+ config,
38
+ connection: {
39
+ name: config.name,
40
+ status: "disconnected",
41
+ lastStatusChange: new Date().toISOString(),
42
+ reconnectAttempts: 0,
43
+ },
44
+ transport: undefined,
45
+ connectPromise: undefined,
46
+ });
47
+ }
48
+ this._initialized = true;
49
+ if (autoConnect) {
50
+ const autoServers = file.servers.filter((s) => s.autoConnect);
51
+ await Promise.allSettled(autoServers.map((s) => this.connect(s.name)));
52
+ }
53
+ }
54
+ /** Connect to a named server. Deduplicates concurrent connect attempts. */
55
+ async connect(serverName) {
56
+ const record = this._connections.get(serverName);
57
+ if (!record) {
58
+ throw new Error(`MCP server "${serverName}" not found in configuration`);
59
+ }
60
+ if (record.connection.status === "connected") {
61
+ return record.connection;
62
+ }
63
+ // Deduplicate in-flight connect attempts
64
+ if (record.connectPromise) {
65
+ return record.connectPromise;
66
+ }
67
+ record.connectPromise = this._doConnect(record);
68
+ try {
69
+ return await record.connectPromise;
70
+ }
71
+ finally {
72
+ record.connectPromise = undefined;
73
+ }
74
+ }
75
+ /**
76
+ * Attempt reconnection for a server that was previously connected.
77
+ * Retries up to maxReconnectAttempts with exponential backoff.
78
+ * Deduplicates concurrent reconnect calls.
79
+ * Returns the final connection state (may be 'error' if all retries exhausted).
80
+ */
81
+ async reconnect(serverName) {
82
+ const record = this._connections.get(serverName);
83
+ if (!record) {
84
+ throw new Error(`MCP server "${serverName}" not found in configuration`);
85
+ }
86
+ const maxAttempts = record.config.maxReconnectAttempts ?? 3;
87
+ if (!record.config.reconnect || maxAttempts <= 0) {
88
+ throw new Error(`Reconnection is not enabled for server "${serverName}"`);
89
+ }
90
+ // Deduplicate concurrent reconnect calls
91
+ if (record.connectPromise) {
92
+ return record.connectPromise;
93
+ }
94
+ record.connectPromise = this._doReconnect(record, maxAttempts);
95
+ try {
96
+ return await record.connectPromise;
97
+ }
98
+ finally {
99
+ record.connectPromise = undefined;
100
+ }
101
+ }
102
+ /** Disconnect from a named server. */
103
+ async disconnect(serverName) {
104
+ const record = this._connections.get(serverName);
105
+ if (!record) {
106
+ throw new Error(`MCP server "${serverName}" not found in configuration`);
107
+ }
108
+ if (record.transport) {
109
+ try {
110
+ await record.transport.disconnect();
111
+ }
112
+ catch {
113
+ // Best-effort disconnect
114
+ }
115
+ record.transport = undefined;
116
+ }
117
+ record.connectPromise = undefined;
118
+ this._setStatus(record, "disconnected");
119
+ record.connection.error = undefined;
120
+ return record.connection;
121
+ }
122
+ /** Disconnect all servers and release resources. */
123
+ async disconnectAll() {
124
+ const names = [...this._connections.keys()];
125
+ await Promise.allSettled(names.map((n) => this.disconnect(n)));
126
+ }
127
+ /** Get connection status for a named server. */
128
+ getConnection(serverName) {
129
+ return this._connections.get(serverName)?.connection;
130
+ }
131
+ /** List all tracked connections. */
132
+ listConnections() {
133
+ return [...this._connections.values()].map((r) => r.connection);
134
+ }
135
+ /** List tools available on a connected server. */
136
+ async listTools(serverName) {
137
+ const record = this._connections.get(serverName);
138
+ if (!record?.transport || record.connection.status !== "connected") {
139
+ throw new Error(`MCP server "${serverName}" is not connected`);
140
+ }
141
+ return record.transport.listTools();
142
+ }
143
+ /** Call a tool on a connected server. */
144
+ async callTool(serverName, toolName, args) {
145
+ const record = this._connections.get(serverName);
146
+ if (!record?.transport || record.connection.status !== "connected") {
147
+ throw new Error(`MCP server "${serverName}" is not connected`);
148
+ }
149
+ return record.transport.callTool(toolName, args);
150
+ }
151
+ /** Whether the manager has been initialized. */
152
+ get initialized() {
153
+ return this._initialized;
154
+ }
155
+ /** Get the config for a server. */
156
+ getServerConfig(serverName) {
157
+ return this._connections.get(serverName)?.config;
158
+ }
159
+ // -------------------------------------------------------------------------
160
+ // Internals
161
+ // -------------------------------------------------------------------------
162
+ async _doReconnect(record, maxAttempts) {
163
+ this._setStatus(record, "reconnecting");
164
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
165
+ record.connection.reconnectAttempts = attempt;
166
+ // Exponential backoff: 1s, 2s, 4s, ...
167
+ const delayMs = RECONNECT_BASE_DELAY_MS * Math.pow(2, attempt - 1);
168
+ await this._delay(delayMs);
169
+ const transport = this._transportFactory(record.config);
170
+ record.transport = transport;
171
+ try {
172
+ await transport.connect();
173
+ this._setStatus(record, "connected");
174
+ record.connection.connectedAt = new Date().toISOString();
175
+ record.connection.reconnectAttempts = 0;
176
+ record.connection.error = undefined;
177
+ return record.connection;
178
+ }
179
+ catch (err) {
180
+ const message = err instanceof Error ? err.message : String(err);
181
+ record.connection.error = message;
182
+ record.transport = undefined;
183
+ }
184
+ }
185
+ // All retries exhausted
186
+ this._setStatus(record, "error");
187
+ process.stderr.write(`[babysitter] MCP reconnect failed for ${record.connection.name}: ${record.connection.error ?? 'unknown'}\n`);
188
+ return record.connection;
189
+ }
190
+ async _doConnect(record) {
191
+ this._setStatus(record, "connecting");
192
+ const transport = this._transportFactory(record.config);
193
+ record.transport = transport;
194
+ try {
195
+ await transport.connect();
196
+ this._setStatus(record, "connected");
197
+ record.connection.connectedAt = new Date().toISOString();
198
+ record.connection.reconnectAttempts = 0;
199
+ record.connection.error = undefined;
200
+ }
201
+ catch (err) {
202
+ const message = err instanceof Error ? err.message : String(err);
203
+ this._setStatus(record, "error");
204
+ record.connection.error = message;
205
+ record.transport = undefined;
206
+ throw err;
207
+ }
208
+ return record.connection;
209
+ }
210
+ _setStatus(record, status) {
211
+ record.connection.status = status;
212
+ record.connection.lastStatusChange = new Date().toISOString();
213
+ }
214
+ }
215
+ exports.McpClientManager = McpClientManager;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * MCP Resource Browser — list, read, and search resources exposed by MCP
3
+ * servers with a TTL-based cache (TOOLS-031).
4
+ *
5
+ * The browser wraps a transport-level resource fetch function and adds
6
+ * in-memory caching so repeated lookups within the TTL window avoid
7
+ * redundant round-trips.
8
+ */
9
+ export interface McpResource {
10
+ uri: string;
11
+ name: string;
12
+ description?: string;
13
+ mimeType?: string;
14
+ }
15
+ export interface McpResourceContent {
16
+ uri: string;
17
+ mimeType?: string;
18
+ text?: string;
19
+ blob?: string;
20
+ }
21
+ /** Adapter function that the browser delegates to for actual I/O. */
22
+ export interface ResourceFetcher {
23
+ listResources(): Promise<McpResource[]>;
24
+ readResource(uri: string): Promise<McpResourceContent>;
25
+ }
26
+ export interface McpResourceBrowserOptions {
27
+ /** Cache TTL in milliseconds. Default: 60 000 (1 minute). */
28
+ cacheTtlMs?: number;
29
+ }
30
+ export declare class McpResourceBrowser {
31
+ private readonly fetcher;
32
+ private readonly cacheTtlMs;
33
+ private listCache;
34
+ private readCache;
35
+ constructor(fetcher: ResourceFetcher, options?: McpResourceBrowserOptions);
36
+ /**
37
+ * List all resources. Results are cached for `cacheTtlMs`.
38
+ */
39
+ listResources(now?: number): Promise<McpResource[]>;
40
+ /**
41
+ * Read a single resource by URI. The result is cached per-URI for `cacheTtlMs`.
42
+ */
43
+ readResource(uri: string, now?: number): Promise<McpResourceContent>;
44
+ /**
45
+ * Search resources whose name or description contains the query string
46
+ * (case-insensitive). Operates on the cached list (fetching if stale).
47
+ */
48
+ searchResources(query: string, now?: number): Promise<McpResource[]>;
49
+ /** Invalidate all cached data. */
50
+ clearCache(): void;
51
+ }
52
+ //# sourceMappingURL=resourceBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceBrowser.d.ts","sourceRoot":"","sources":["../../../src/mcp/client/resourceBrowser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAeD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,SAAS,CAAqD;gBAE1D,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,yBAAyB;IASzE;;OAEG;IACG,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAezD;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgB1E;;;OAGG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAc1E,kCAAkC;IAClC,UAAU,IAAI,IAAI;CAInB"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Resource Browser — list, read, and search resources exposed by MCP
4
+ * servers with a TTL-based cache (TOOLS-031).
5
+ *
6
+ * The browser wraps a transport-level resource fetch function and adds
7
+ * in-memory caching so repeated lookups within the TTL window avoid
8
+ * redundant round-trips.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.McpResourceBrowser = void 0;
12
+ // ---------------------------------------------------------------------------
13
+ // Implementation
14
+ // ---------------------------------------------------------------------------
15
+ class McpResourceBrowser {
16
+ fetcher;
17
+ cacheTtlMs;
18
+ listCache = null;
19
+ readCache = new Map();
20
+ constructor(fetcher, options) {
21
+ this.fetcher = fetcher;
22
+ this.cacheTtlMs = options?.cacheTtlMs ?? 60_000;
23
+ }
24
+ // -------------------------------------------------------------------------
25
+ // List
26
+ // -------------------------------------------------------------------------
27
+ /**
28
+ * List all resources. Results are cached for `cacheTtlMs`.
29
+ */
30
+ async listResources(now) {
31
+ const ts = now ?? Date.now();
32
+ if (this.listCache && this.listCache.expiresAt > ts) {
33
+ return this.listCache.value;
34
+ }
35
+ const resources = await this.fetcher.listResources();
36
+ this.listCache = { value: resources, expiresAt: ts + this.cacheTtlMs };
37
+ return resources;
38
+ }
39
+ // -------------------------------------------------------------------------
40
+ // Read
41
+ // -------------------------------------------------------------------------
42
+ /**
43
+ * Read a single resource by URI. The result is cached per-URI for `cacheTtlMs`.
44
+ */
45
+ async readResource(uri, now) {
46
+ const ts = now ?? Date.now();
47
+ const cached = this.readCache.get(uri);
48
+ if (cached && cached.expiresAt > ts) {
49
+ return cached.value;
50
+ }
51
+ const content = await this.fetcher.readResource(uri);
52
+ this.readCache.set(uri, { value: content, expiresAt: ts + this.cacheTtlMs });
53
+ return content;
54
+ }
55
+ // -------------------------------------------------------------------------
56
+ // Search
57
+ // -------------------------------------------------------------------------
58
+ /**
59
+ * Search resources whose name or description contains the query string
60
+ * (case-insensitive). Operates on the cached list (fetching if stale).
61
+ */
62
+ async searchResources(query, now) {
63
+ const resources = await this.listResources(now);
64
+ const lowerQuery = query.toLowerCase();
65
+ return resources.filter((r) => {
66
+ const nameMatch = r.name.toLowerCase().includes(lowerQuery);
67
+ const descMatch = r.description?.toLowerCase().includes(lowerQuery) ?? false;
68
+ return nameMatch || descMatch;
69
+ });
70
+ }
71
+ // -------------------------------------------------------------------------
72
+ // Cache management
73
+ // -------------------------------------------------------------------------
74
+ /** Invalidate all cached data. */
75
+ clearCache() {
76
+ this.listCache = null;
77
+ this.readCache.clear();
78
+ }
79
+ }
80
+ exports.McpResourceBrowser = McpResourceBrowser;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Status: Integrated with agent-platform MCP orchestration wiring.
3
+ * Moved from @a5c-ai/babysitter-sdk.
4
+ * GAP-TOOLS-025: MCP Tool Registry.
5
+ *
6
+ * Maintains a cached index of tools across all connected MCP servers.
7
+ * Supports refresh, search, and lookup by qualified name (server:tool).
8
+ */
9
+ import type { McpToolInfo } from "./types";
10
+ import type { McpClientManager } from "./manager";
11
+ export interface McpToolRegistryOptions {
12
+ /** TTL for cached tool listings (ms). 0 = never expire (infinite cache). Default: 60000. */
13
+ cacheTtlMs?: number;
14
+ unifiedRegistry?: UnifiedToolRegistryLike;
15
+ mcpBridge?: McpBridgeLike;
16
+ }
17
+ interface UnifiedToolRegistryLike {
18
+ registerServer(server: {
19
+ id: string;
20
+ name: string;
21
+ type: "mcp";
22
+ tools: Array<{
23
+ name: string;
24
+ description?: string;
25
+ parameters?: Record<string, unknown>;
26
+ source: "mcp";
27
+ sourceQualifier?: string;
28
+ server?: string;
29
+ }>;
30
+ }): void;
31
+ unregisterServer?(serverId: string, removeTools?: boolean): boolean;
32
+ list?(): Array<{
33
+ name: string;
34
+ description?: string;
35
+ source: string;
36
+ sourceQualifier?: string;
37
+ server?: string;
38
+ }>;
39
+ listByServer?(serverId: string): Array<{
40
+ name: string;
41
+ description?: string;
42
+ parameters?: Record<string, unknown>;
43
+ source: string;
44
+ sourceQualifier?: string;
45
+ server?: string;
46
+ }>;
47
+ searchTools?(query: string): Array<{
48
+ name: string;
49
+ description?: string;
50
+ source: string;
51
+ sourceQualifier?: string;
52
+ }>;
53
+ get?(name: string, source?: "mcp", sourceQualifier?: string): {
54
+ name: string;
55
+ description?: string;
56
+ parameters?: Record<string, unknown>;
57
+ source: string;
58
+ sourceQualifier?: string;
59
+ server?: string;
60
+ } | undefined;
61
+ }
62
+ interface McpBridgeLike {
63
+ registerServer(config: {
64
+ id: string;
65
+ name: string;
66
+ transport: "stdio";
67
+ }, tools: Array<{
68
+ name: string;
69
+ description?: string;
70
+ inputSchema?: Record<string, unknown>;
71
+ }>): void;
72
+ unregisterServer?(serverId: string): void;
73
+ }
74
+ export declare class McpToolRegistry {
75
+ private readonly _manager;
76
+ private readonly _cacheTtlMs;
77
+ private readonly _unifiedRegistry;
78
+ private readonly _mcpBridge;
79
+ private readonly _cache;
80
+ constructor(manager: McpClientManager, options?: McpToolRegistryOptions);
81
+ /**
82
+ * Refresh tool listings from all connected servers.
83
+ * Returns the total number of tools indexed.
84
+ */
85
+ refreshAll(): Promise<number>;
86
+ /** Refresh tools for a specific server. */
87
+ refreshServer(serverName: string): Promise<McpToolInfo[]>;
88
+ /**
89
+ * Get all known tools across all servers.
90
+ * Returns cached data when available and not expired.
91
+ */
92
+ getAllTools(): McpToolInfo[];
93
+ /** Get tools for a specific server from cache. */
94
+ getToolsForServer(serverName: string): McpToolInfo[];
95
+ /**
96
+ * Search tools by name or description substring (case-insensitive).
97
+ * Searches across all cached servers.
98
+ */
99
+ searchTools(query: string): McpToolInfo[];
100
+ /**
101
+ * Look up a tool by qualified name "serverName:toolName".
102
+ * Returns undefined if not found in cache.
103
+ */
104
+ getToolByQualifiedName(qualifiedName: string): McpToolInfo | undefined;
105
+ /** Clear the entire cache. */
106
+ clearCache(): void;
107
+ /** Number of non-expired tools currently in cache (across all servers). */
108
+ get cachedToolCount(): number;
109
+ private _isExpired;
110
+ private _registerUnifiedServer;
111
+ }
112
+ export {};
113
+ //# sourceMappingURL=toolRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolRegistry.d.ts","sourceRoot":"","sources":["../../../src/mcp/client/toolRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAMlD,MAAM,WAAW,sBAAsB;IACrC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAOD,UAAU,uBAAuB;IAC/B,cAAc,CAAC,MAAM,EAAE;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,EAAE,KAAK,CAAC;YACd,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACpE,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClH,YAAY,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrH,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG;QAC5D,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,SAAS,CAAC;CACf;AAED,UAAU,aAAa;IACrB,cAAc,CACZ,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,EACxD,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,GAC1F,IAAI,CAAC;IACR,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE/C,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAOvE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBnC,2CAA2C;IACrC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAO/D;;;OAGG;IACH,WAAW,IAAI,WAAW,EAAE;IAmB5B,kDAAkD;IAClD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IAepD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;IAqBzC;;;OAGG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAqBtE,8BAA8B;IAC9B,UAAU,IAAI,IAAI;IAQlB,2EAA2E;IAC3E,IAAI,eAAe,IAAI,MAAM,CAO5B;IAMD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,sBAAsB;CA0B/B"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /**
3
+ * Status: Integrated with agent-platform MCP orchestration wiring.
4
+ * Moved from @a5c-ai/babysitter-sdk.
5
+ * GAP-TOOLS-025: MCP Tool Registry.
6
+ *
7
+ * Maintains a cached index of tools across all connected MCP servers.
8
+ * Supports refresh, search, and lookup by qualified name (server:tool).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.McpToolRegistry = void 0;
12
+ // ---------------------------------------------------------------------------
13
+ // McpToolRegistry
14
+ // ---------------------------------------------------------------------------
15
+ class McpToolRegistry {
16
+ _manager;
17
+ _cacheTtlMs;
18
+ _unifiedRegistry;
19
+ _mcpBridge;
20
+ _cache = new Map();
21
+ constructor(manager, options) {
22
+ this._manager = manager;
23
+ this._cacheTtlMs = options?.cacheTtlMs ?? 60_000;
24
+ this._unifiedRegistry = options?.unifiedRegistry;
25
+ this._mcpBridge = options?.mcpBridge;
26
+ }
27
+ /**
28
+ * Refresh tool listings from all connected servers.
29
+ * Returns the total number of tools indexed.
30
+ */
31
+ async refreshAll() {
32
+ const connections = this._manager.listConnections();
33
+ let total = 0;
34
+ for (const conn of connections) {
35
+ if (conn.status !== "connected")
36
+ continue;
37
+ try {
38
+ const tools = await this._manager.listTools(conn.name);
39
+ this._cache.set(conn.name, { tools, fetchedAt: Date.now() });
40
+ this._registerUnifiedServer(conn.name, tools);
41
+ total += tools.length;
42
+ }
43
+ catch {
44
+ // Skip servers that fail to list tools
45
+ }
46
+ }
47
+ return total;
48
+ }
49
+ /** Refresh tools for a specific server. */
50
+ async refreshServer(serverName) {
51
+ const tools = await this._manager.listTools(serverName);
52
+ this._cache.set(serverName, { tools, fetchedAt: Date.now() });
53
+ this._registerUnifiedServer(serverName, tools);
54
+ return tools;
55
+ }
56
+ /**
57
+ * Get all known tools across all servers.
58
+ * Returns cached data when available and not expired.
59
+ */
60
+ getAllTools() {
61
+ if (this._unifiedRegistry?.list) {
62
+ return this._unifiedRegistry.list()
63
+ .filter((tool) => tool.source === "mcp")
64
+ .map((tool) => ({
65
+ name: tool.name,
66
+ description: tool.description,
67
+ inputSchema: undefined,
68
+ serverName: tool.sourceQualifier ?? tool.server ?? "",
69
+ }));
70
+ }
71
+ const result = [];
72
+ for (const cached of this._cache.values()) {
73
+ if (this._isExpired(cached))
74
+ continue;
75
+ result.push(...cached.tools);
76
+ }
77
+ return result;
78
+ }
79
+ /** Get tools for a specific server from cache. */
80
+ getToolsForServer(serverName) {
81
+ const unifiedTools = this._unifiedRegistry?.listByServer?.(serverName);
82
+ if (unifiedTools) {
83
+ return unifiedTools.map((tool) => ({
84
+ name: tool.name,
85
+ description: tool.description,
86
+ inputSchema: tool.parameters,
87
+ serverName,
88
+ }));
89
+ }
90
+ const cached = this._cache.get(serverName);
91
+ if (!cached || this._isExpired(cached))
92
+ return [];
93
+ return cached.tools;
94
+ }
95
+ /**
96
+ * Search tools by name or description substring (case-insensitive).
97
+ * Searches across all cached servers.
98
+ */
99
+ searchTools(query) {
100
+ const unifiedMatches = this._unifiedRegistry?.searchTools?.(query);
101
+ if (unifiedMatches) {
102
+ return unifiedMatches
103
+ .filter((tool) => tool.source === "mcp")
104
+ .map((tool) => ({
105
+ name: tool.name,
106
+ description: tool.description,
107
+ inputSchema: undefined,
108
+ serverName: tool.sourceQualifier ?? "",
109
+ }));
110
+ }
111
+ const lower = query.toLowerCase();
112
+ const all = this.getAllTools();
113
+ return all.filter((t) => t.name.toLowerCase().includes(lower) ||
114
+ (t.description?.toLowerCase().includes(lower) ?? false));
115
+ }
116
+ /**
117
+ * Look up a tool by qualified name "serverName:toolName".
118
+ * Returns undefined if not found in cache.
119
+ */
120
+ getToolByQualifiedName(qualifiedName) {
121
+ const colonIdx = qualifiedName.indexOf(":");
122
+ if (colonIdx < 0) {
123
+ // Unqualified: search all servers
124
+ return this.getAllTools().find((t) => t.name === qualifiedName);
125
+ }
126
+ const serverName = qualifiedName.slice(0, colonIdx);
127
+ const toolName = qualifiedName.slice(colonIdx + 1);
128
+ const unifiedTool = this._unifiedRegistry?.get?.(toolName, "mcp", serverName);
129
+ if (unifiedTool) {
130
+ return {
131
+ name: unifiedTool.name,
132
+ description: unifiedTool.description,
133
+ inputSchema: unifiedTool.parameters,
134
+ serverName,
135
+ };
136
+ }
137
+ const tools = this.getToolsForServer(serverName);
138
+ return tools.find((t) => t.name === toolName);
139
+ }
140
+ /** Clear the entire cache. */
141
+ clearCache() {
142
+ for (const serverName of this._cache.keys()) {
143
+ this._unifiedRegistry?.unregisterServer?.(serverName, true);
144
+ this._mcpBridge?.unregisterServer?.(serverName);
145
+ }
146
+ this._cache.clear();
147
+ }
148
+ /** Number of non-expired tools currently in cache (across all servers). */
149
+ get cachedToolCount() {
150
+ let count = 0;
151
+ for (const cached of this._cache.values()) {
152
+ if (this._isExpired(cached))
153
+ continue;
154
+ count += cached.tools.length;
155
+ }
156
+ return count;
157
+ }
158
+ // -------------------------------------------------------------------------
159
+ // Internals
160
+ // -------------------------------------------------------------------------
161
+ _isExpired(cached) {
162
+ if (this._cacheTtlMs <= 0)
163
+ return false; // 0 = never expire
164
+ return Date.now() - cached.fetchedAt > this._cacheTtlMs;
165
+ }
166
+ _registerUnifiedServer(serverName, tools) {
167
+ this._mcpBridge?.registerServer({ id: serverName, name: serverName, transport: "stdio" }, tools.map((tool) => ({
168
+ name: tool.name,
169
+ description: tool.description,
170
+ inputSchema: tool.inputSchema,
171
+ })));
172
+ if (this._mcpBridge || !this._unifiedRegistry) {
173
+ return;
174
+ }
175
+ this._unifiedRegistry.registerServer({
176
+ id: serverName,
177
+ name: serverName,
178
+ type: "mcp",
179
+ tools: tools.map((tool) => ({
180
+ name: tool.name,
181
+ description: tool.description,
182
+ parameters: tool.inputSchema,
183
+ source: "mcp",
184
+ sourceQualifier: serverName,
185
+ server: serverName,
186
+ })),
187
+ });
188
+ }
189
+ }
190
+ exports.McpToolRegistry = McpToolRegistry;