@introspection-ai/recipes 0.26.0 → 0.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/api/mcp.d.ts +3 -3
  2. package/dist/api/mcp.d.ts.map +1 -1
  3. package/dist/api/mcp.js +1 -1
  4. package/dist/api/mcp.js.map +1 -1
  5. package/dist/{child-agent-completions.d.ts → child/agent-completions.d.ts} +2 -2
  6. package/dist/child/agent-completions.d.ts.map +1 -0
  7. package/dist/{child-agent-completions.js → child/agent-completions.js} +1 -1
  8. package/dist/child/agent-completions.js.map +1 -0
  9. package/dist/{child-agent-store.d.ts → child/agent-store.d.ts} +1 -1
  10. package/dist/child/agent-store.d.ts.map +1 -0
  11. package/dist/{child-agent-store.js → child/agent-store.js} +1 -1
  12. package/dist/child/agent-store.js.map +1 -0
  13. package/dist/{child-agent.d.ts → child/agent.d.ts} +2 -2
  14. package/dist/child/agent.d.ts.map +1 -0
  15. package/dist/{child-agent.js → child/agent.js} +5 -5
  16. package/dist/child/agent.js.map +1 -0
  17. package/dist/{child-session.d.ts → child/session.d.ts} +4 -4
  18. package/dist/child/session.d.ts.map +1 -0
  19. package/dist/{child-session.js → child/session.js} +2 -2
  20. package/dist/child/session.js.map +1 -0
  21. package/dist/connector-tools.d.ts +1 -1
  22. package/dist/connector-tools.js +2 -2
  23. package/dist/inspect.d.ts +1 -1
  24. package/dist/inspect.js +1 -1
  25. package/dist/{mcp-catalog.d.ts → mcp/catalog.d.ts} +3 -3
  26. package/dist/mcp/catalog.d.ts.map +1 -0
  27. package/dist/{mcp-catalog.js → mcp/catalog.js} +2 -2
  28. package/dist/mcp/catalog.js.map +1 -0
  29. package/dist/{mcp-command-context.d.ts → mcp/cli/command-context.d.ts} +1 -1
  30. package/dist/mcp/cli/command-context.d.ts.map +1 -0
  31. package/dist/{mcp-command-context.js → mcp/cli/command-context.js} +1 -1
  32. package/dist/mcp/cli/command-context.js.map +1 -0
  33. package/dist/{mcp-cli-core.d.ts → mcp/cli/core.d.ts} +14 -8
  34. package/dist/mcp/cli/core.d.ts.map +1 -0
  35. package/dist/{mcp-cli-core.js → mcp/cli/core.js} +105 -146
  36. package/dist/mcp/cli/core.js.map +1 -0
  37. package/dist/mcp/cli/help.d.ts +6 -0
  38. package/dist/mcp/cli/help.d.ts.map +1 -0
  39. package/dist/mcp/cli/help.js +116 -0
  40. package/dist/mcp/cli/help.js.map +1 -0
  41. package/dist/mcp/cli/index.d.ts +3 -0
  42. package/dist/mcp/cli/index.d.ts.map +1 -0
  43. package/dist/{mcp-cli.js → mcp/cli/index.js} +4 -4
  44. package/dist/mcp/cli/index.js.map +1 -0
  45. package/dist/{mcp-cli-policy.d.ts → mcp/cli/policy.d.ts} +2 -2
  46. package/dist/mcp/cli/policy.d.ts.map +1 -0
  47. package/dist/{mcp-cli-policy.js → mcp/cli/policy.js} +2 -2
  48. package/dist/mcp/cli/policy.js.map +1 -0
  49. package/dist/mcp/cli/run-worker.d.ts +2 -0
  50. package/dist/mcp/cli/run-worker.d.ts.map +1 -0
  51. package/dist/mcp/cli/run-worker.js +54 -0
  52. package/dist/mcp/cli/run-worker.js.map +1 -0
  53. package/dist/mcp/client-entry.d.ts +3 -0
  54. package/dist/mcp/client-entry.d.ts.map +1 -0
  55. package/dist/{mcp-client.js → mcp/client-entry.js} +3 -3
  56. package/dist/mcp/client-entry.js.map +1 -0
  57. package/dist/{mcp-contract.d.ts → mcp/contract.d.ts} +2 -2
  58. package/dist/mcp/contract.d.ts.map +1 -0
  59. package/dist/{mcp-contract.js → mcp/contract.js} +1 -1
  60. package/dist/mcp/contract.js.map +1 -0
  61. package/dist/{mcp-daemon-client.d.ts → mcp/daemon/client.d.ts} +3 -2
  62. package/dist/mcp/daemon/client.d.ts.map +1 -0
  63. package/dist/{mcp-daemon-client.js → mcp/daemon/client.js} +12 -8
  64. package/dist/mcp/daemon/client.js.map +1 -0
  65. package/dist/mcp/daemon/index.d.ts +3 -0
  66. package/dist/mcp/daemon/index.d.ts.map +1 -0
  67. package/dist/mcp/daemon/index.js +453 -0
  68. package/dist/{mcp-daemon.js.map → mcp/daemon/index.js.map} +1 -1
  69. package/dist/{mcp-daemon-protocol.d.ts → mcp/daemon/protocol.d.ts} +2 -2
  70. package/dist/mcp/daemon/protocol.d.ts.map +1 -0
  71. package/dist/{mcp-daemon-protocol.js → mcp/daemon/protocol.js} +1 -1
  72. package/dist/mcp/daemon/protocol.js.map +1 -0
  73. package/dist/{mcp.d.ts → mcp/index.d.ts} +5 -5
  74. package/dist/mcp/index.d.ts.map +1 -0
  75. package/dist/{mcp.js → mcp/index.js} +16 -10
  76. package/dist/mcp/index.js.map +1 -0
  77. package/dist/{mcp-policy.d.ts → mcp/policy.d.ts} +3 -3
  78. package/dist/mcp/policy.d.ts.map +1 -0
  79. package/dist/{mcp-policy.js → mcp/policy.js} +1 -1
  80. package/dist/mcp/policy.js.map +1 -0
  81. package/dist/{mcp-tools.d.ts → mcp/tools.d.ts} +4 -4
  82. package/dist/mcp/tools.d.ts.map +1 -0
  83. package/dist/{mcp-tools.js → mcp/tools.js} +4 -4
  84. package/dist/mcp/tools.js.map +1 -0
  85. package/dist/{mcp-trace-context.d.ts → mcp/trace-context.d.ts} +2 -2
  86. package/dist/mcp/trace-context.d.ts.map +1 -0
  87. package/dist/{mcp-trace-context.js → mcp/trace-context.js} +1 -1
  88. package/dist/mcp/trace-context.js.map +1 -0
  89. package/dist/mcp-chunks/{auth-command-JBYNHHMV.js → auth-command-GQFV6QYP.js} +22 -21
  90. package/dist/mcp-chunks/call-arguments-VT7JLNJY.js +16 -0
  91. package/dist/mcp-chunks/{call-command-467BVXTE.js → call-command-LMAREWKD.js} +45 -44
  92. package/dist/mcp-chunks/{chunk-I7JR2GIC.js → chunk-2HOMVWSA.js} +2 -2
  93. package/dist/mcp-chunks/{chunk-CZ43ZITK.js → chunk-2P2HVZ3G.js} +1 -1
  94. package/dist/mcp-chunks/{chunk-SUNOYTQJ.js → chunk-34QXE62Y.js} +175 -147
  95. package/dist/mcp-chunks/{chunk-TFU4NKFJ.js → chunk-5B7GRMUK.js} +1 -1
  96. package/dist/mcp-chunks/{chunk-LG3GLOSA.js → chunk-5BMCVE2J.js} +14 -11
  97. package/dist/mcp-chunks/{chunk-MJHMXYMO.js → chunk-6QZQZXDJ.js} +3 -3
  98. package/dist/mcp-chunks/{chunk-DMBE47LM.js → chunk-6RG6AD5X.js} +6 -6
  99. package/dist/mcp-chunks/{chunk-UCJ7YDFN.js → chunk-77BZYP72.js} +1 -1
  100. package/dist/mcp-chunks/{chunk-NTABJCUL.js → chunk-7PFJCLXL.js} +10 -10
  101. package/dist/mcp-chunks/{chunk-66P5FXP3.js → chunk-7WL4TMON.js} +4 -4
  102. package/dist/mcp-chunks/{chunk-HKZZGSDV.js → chunk-C2VLY7ED.js} +4 -4
  103. package/dist/mcp-chunks/{chunk-XCNWICLD.js → chunk-CLR6DJV3.js} +1 -1
  104. package/dist/mcp-chunks/{chunk-REEFOL44.js → chunk-D6B2M5V7.js} +1 -1
  105. package/dist/mcp-chunks/{chunk-EP22XMWK.js → chunk-D6SVCPN6.js} +1 -1
  106. package/dist/mcp-chunks/{chunk-BTU34BUG.js → chunk-FBVRU4Y3.js} +43 -30
  107. package/dist/mcp-chunks/{chunk-TGPIW6F6.js → chunk-FONFU4G5.js} +1 -1
  108. package/dist/mcp-chunks/chunk-H4KL74PV.js +2073 -0
  109. package/dist/mcp-chunks/{chunk-QIBGY4IX.js → chunk-H7ARMBV7.js} +4 -9
  110. package/dist/mcp-chunks/{chunk-OABFKFSL.js → chunk-HZ2SX5U6.js} +39 -34
  111. package/dist/mcp-chunks/{chunk-HTXQPQPB.js → chunk-I6UMKX5E.js} +4 -4
  112. package/dist/mcp-chunks/{chunk-Z6QEOUMK.js → chunk-IF6LRV3J.js} +8 -14
  113. package/dist/mcp-chunks/{chunk-HBN3ESMH.js → chunk-JVYCENPP.js} +4 -4
  114. package/dist/mcp-chunks/{chunk-IO2IMWYS.js → chunk-KOWNVUL2.js} +34 -7
  115. package/dist/mcp-chunks/{chunk-AS27BTCS.js → chunk-KQCLM7R7.js} +4 -4
  116. package/dist/mcp-chunks/{chunk-AP5VHS73.js → chunk-L6OOGZVA.js} +2 -2
  117. package/dist/mcp-chunks/{chunk-BC2HDCYV.js → chunk-LCBDVFVA.js} +1 -1
  118. package/dist/mcp-chunks/{chunk-EUDC3ICZ.js → chunk-LIEFPSSB.js} +5 -5
  119. package/dist/mcp-chunks/{chunk-YPTN46JQ.js → chunk-LQIE4PKL.js} +2 -2
  120. package/dist/mcp-chunks/{chunk-GK4LA4E6.js → chunk-LXHPDKEF.js} +1 -1
  121. package/dist/mcp-chunks/{chunk-XFQSUC7T.js → chunk-MJFZM5EV.js} +5 -5
  122. package/dist/mcp-chunks/{chunk-WUEDIOR5.js → chunk-NQW3ES2G.js} +2 -8
  123. package/dist/mcp-chunks/{chunk-3Q2Q7SBU.js → chunk-O2VOMKAS.js} +13 -13
  124. package/dist/mcp-chunks/{chunk-GL4AA5QV.js → chunk-O4JIUOWF.js} +2 -2
  125. package/dist/mcp-chunks/{chunk-GEVQ2GJW.js → chunk-P3UVILEW.js} +2 -2
  126. package/dist/mcp-chunks/{chunk-N7ZWX3WW.js → chunk-P463YBJM.js} +1 -1
  127. package/dist/mcp-chunks/{chunk-Y3L5LWBY.js → chunk-PJCMJ65D.js} +277 -2110
  128. package/dist/mcp-chunks/{chunk-LTR626QF.js → chunk-QALB3DRW.js} +1 -1
  129. package/dist/mcp-chunks/{chunk-D2P2IV4H.js → chunk-QJNF3A3F.js} +1 -1
  130. package/dist/mcp-chunks/{chunk-KJNNO5Z6.js → chunk-RIHPVCGI.js} +1 -1
  131. package/dist/mcp-chunks/{chunk-J2WP6ERZ.js → chunk-RZIJUJGL.js} +44 -1055
  132. package/dist/mcp-chunks/{chunk-L2LGMX5P.js → chunk-S2YF442K.js} +2 -2
  133. package/dist/mcp-chunks/{chunk-CN5YF3IQ.js → chunk-S5F3HEZZ.js} +1848 -1046
  134. package/dist/mcp-chunks/{chunk-6DVS7RBO.js → chunk-S6GJ42I2.js} +1 -1
  135. package/dist/mcp-chunks/chunk-T4MQCFIK.js +982 -0
  136. package/dist/mcp-chunks/{chunk-OB256NMD.js → chunk-TUQGOYK6.js} +1 -1
  137. package/dist/mcp-chunks/{chunk-M62ESEOY.js → chunk-TYYSBILI.js} +10 -22
  138. package/dist/mcp-chunks/{chunk-LYWEATXZ.js → chunk-UHO6KIUJ.js} +2 -2
  139. package/dist/mcp-chunks/{chunk-BSCNF4NY.js → chunk-UIPG6W7N.js} +2 -2
  140. package/dist/mcp-chunks/{chunk-AK5ZEDEF.js → chunk-UKM35J67.js} +2 -2
  141. package/dist/mcp-chunks/{chunk-G4H535MI.js → chunk-UYJZJXC2.js} +21 -3
  142. package/dist/mcp-chunks/{chunk-GA4ZYSRX.js → chunk-VJIAHZZG.js} +4 -4
  143. package/dist/mcp-chunks/{chunk-OZQTZWW4.js → chunk-WHJUDBPR.js} +1 -1
  144. package/dist/mcp-chunks/{chunk-YI5SMRFH.js → chunk-XNHGMWN2.js} +7 -7
  145. package/dist/mcp-chunks/{cli-TN6JTLTS.js → cli-JI7MEAAX.js} +70 -69
  146. package/dist/mcp-chunks/client-QU7ABSNB.js +30 -0
  147. package/dist/mcp-chunks/{config-command-LICU56ZH.js → config-command-GRZLKD3R.js} +36 -28
  148. package/dist/mcp-chunks/daemon-command-3266CYHO.js +30 -0
  149. package/dist/mcp-chunks/{dist-MFAWSKGH.js → dist-USMCQ22V.js} +71 -47
  150. package/dist/mcp-chunks/{emit-ts-command-FVX3JMSN.js → emit-ts-command-7VLESP7H.js} +18 -17
  151. package/dist/mcp-chunks/{generate-cli-runner-L2L7VMCA.js → generate-cli-runner-SSW2B72K.js} +43 -42
  152. package/dist/mcp-chunks/generated-daemon-runtime-7CFVWLC7.js +30 -0
  153. package/dist/mcp-chunks/{inspect-cli-command-Y5D3GRE2.js → inspect-cli-command-NCGCMOIS.js} +9 -9
  154. package/dist/mcp-chunks/{launch-ZFY6CM2A.js → launch-NBONSPNK.js} +1 -1
  155. package/dist/mcp-chunks/{lifecycle-H7DIW5DM.js → lifecycle-CXAKUCN4.js} +1 -1
  156. package/dist/mcp-chunks/{list-command-55LCLW4S.js → list-command-5T4UF4PF.js} +56 -69
  157. package/dist/mcp-chunks/{output-utils-YYHI637S.js → output-utils-YFTWQZ5V.js} +3 -3
  158. package/dist/mcp-chunks/{prompt-CH6TK0bC-DZLFAAPK.js → prompt-CH6TK0bC-6DI4RA4E.js} +1 -1
  159. package/dist/mcp-chunks/{record-command-PWIBYC5J.js → record-command-TE5O7WBL.js} +5 -5
  160. package/dist/mcp-chunks/{replay-command-QHZZZMXF.js → replay-command-QCUL5ASR.js} +6 -6
  161. package/dist/mcp-chunks/{resource-command-HMR2KXWK.js → resource-command-XMGF7EAK.js} +9 -9
  162. package/dist/mcp-chunks/{result-utils-UGCQSRJ4.js → result-utils-HKB42M7Y.js} +3 -3
  163. package/dist/mcp-chunks/runtime-3X2XVS6X.js +37 -0
  164. package/dist/mcp-chunks/{runtime-wrapper-I4B3OROR.js → runtime-wrapper-MI3HF45J.js} +3 -3
  165. package/dist/mcp-chunks/{serve-command-NTDI3YPN.js → serve-command-5HV3ZE25.js} +25 -24
  166. package/dist/mcp-chunks/{timeouts-35UDWFA7.js → timeouts-YBFBTLV2.js} +8 -5
  167. package/dist/mcp-chunks/{vault-command-D5QZL4FI.js → vault-command-FC2PD5U6.js} +4 -4
  168. package/dist/mcp-chunks/webapi-IFUPO72B.js +2481 -0
  169. package/dist/mcp-daemon.js +35 -28
  170. package/dist/mcp-run-worker.js +28 -27
  171. package/dist/pi-extension.d.ts +1 -1
  172. package/dist/pi-extension.d.ts.map +1 -1
  173. package/dist/pi-extension.js +10 -9
  174. package/dist/pi-extension.js.map +1 -1
  175. package/dist/{recipe-agent.d.ts → recipe/agent.d.ts} +3 -3
  176. package/dist/recipe/agent.d.ts.map +1 -0
  177. package/dist/{recipe-agent.js → recipe/agent.js} +5 -5
  178. package/dist/recipe/agent.js.map +1 -0
  179. package/dist/{recipe-extensions.d.ts → recipe/extensions.d.ts} +1 -1
  180. package/dist/recipe/extensions.d.ts.map +1 -0
  181. package/dist/{recipe-extensions.js → recipe/extensions.js} +1 -1
  182. package/dist/recipe/extensions.js.map +1 -0
  183. package/dist/{recipe-mcp-config.d.ts → recipe/mcp-config.d.ts} +2 -2
  184. package/dist/recipe/mcp-config.d.ts.map +1 -0
  185. package/dist/{recipe-mcp-config.js → recipe/mcp-config.js} +1 -1
  186. package/dist/recipe/mcp-config.js.map +1 -0
  187. package/dist/{recipe-model.d.ts → recipe/model.d.ts} +1 -1
  188. package/dist/recipe/model.d.ts.map +1 -0
  189. package/dist/{recipe-model.js → recipe/model.js} +1 -1
  190. package/dist/recipe/model.js.map +1 -0
  191. package/dist/{recipe-package.d.ts → recipe/package.d.ts} +1 -1
  192. package/dist/recipe/package.d.ts.map +1 -0
  193. package/dist/{recipe-package.js → recipe/package.js} +1 -1
  194. package/dist/recipe/package.js.map +1 -0
  195. package/dist/recipe/resolve.d.ts +6 -6
  196. package/dist/recipe/resolve.d.ts.map +1 -1
  197. package/dist/recipe/resolve.js +4 -4
  198. package/dist/recipe/resolve.js.map +1 -1
  199. package/dist/{recipe-session.d.ts → recipe/session.d.ts} +1 -1
  200. package/dist/recipe/session.d.ts.map +1 -0
  201. package/dist/{recipe-session.js → recipe/session.js} +1 -1
  202. package/dist/recipe/session.js.map +1 -0
  203. package/dist/recipe/skills-prompt.d.ts +30 -0
  204. package/dist/recipe/skills-prompt.d.ts.map +1 -0
  205. package/dist/recipe/skills-prompt.js +28 -0
  206. package/dist/recipe/skills-prompt.js.map +1 -0
  207. package/dist/{recipe-skills.d.ts → recipe/skills.d.ts} +1 -1
  208. package/dist/recipe/skills.d.ts.map +1 -0
  209. package/dist/{recipe-skills.js → recipe/skills.js} +2 -2
  210. package/dist/recipe/skills.js.map +1 -0
  211. package/dist/run-controller.js +2 -2
  212. package/dist/session.d.ts +1 -1
  213. package/dist/session.d.ts.map +1 -1
  214. package/dist/session.js +5 -5
  215. package/dist/session.js.map +1 -1
  216. package/docs/agent-composition.md +4 -1
  217. package/docs/channels.md +1 -1
  218. package/docs/recipe-format.md +4 -2
  219. package/docs/slack.md +1 -1
  220. package/package.json +6 -6
  221. package/dist/child-agent-completions.d.ts.map +0 -1
  222. package/dist/child-agent-completions.js.map +0 -1
  223. package/dist/child-agent-store.d.ts.map +0 -1
  224. package/dist/child-agent-store.js.map +0 -1
  225. package/dist/child-agent.d.ts.map +0 -1
  226. package/dist/child-agent.js.map +0 -1
  227. package/dist/child-session.d.ts.map +0 -1
  228. package/dist/child-session.js.map +0 -1
  229. package/dist/mcp-catalog.d.ts.map +0 -1
  230. package/dist/mcp-catalog.js.map +0 -1
  231. package/dist/mcp-chunks/call-arguments-S4EGFKUQ.js +0 -15
  232. package/dist/mcp-chunks/chunk-YVH36MGQ.js +0 -92
  233. package/dist/mcp-chunks/client-G33HPQAC.js +0 -29
  234. package/dist/mcp-chunks/daemon-command-JLVHGWHB.js +0 -29
  235. package/dist/mcp-chunks/generated-daemon-runtime-DC6IL7E7.js +0 -29
  236. package/dist/mcp-chunks/runtime-ZNFPZXKE.js +0 -36
  237. package/dist/mcp-chunks/webapi-4GWO2UBA.js +0 -3508
  238. package/dist/mcp-cli-core.d.ts.map +0 -1
  239. package/dist/mcp-cli-core.js.map +0 -1
  240. package/dist/mcp-cli-help.d.ts +0 -2
  241. package/dist/mcp-cli-help.d.ts.map +0 -1
  242. package/dist/mcp-cli-help.js +0 -36
  243. package/dist/mcp-cli-help.js.map +0 -1
  244. package/dist/mcp-cli-policy.d.ts.map +0 -1
  245. package/dist/mcp-cli-policy.js.map +0 -1
  246. package/dist/mcp-cli.d.ts +0 -3
  247. package/dist/mcp-cli.d.ts.map +0 -1
  248. package/dist/mcp-cli.js.map +0 -1
  249. package/dist/mcp-client.d.ts +0 -3
  250. package/dist/mcp-client.d.ts.map +0 -1
  251. package/dist/mcp-client.js.map +0 -1
  252. package/dist/mcp-command-context.d.ts.map +0 -1
  253. package/dist/mcp-command-context.js.map +0 -1
  254. package/dist/mcp-contract.d.ts.map +0 -1
  255. package/dist/mcp-contract.js.map +0 -1
  256. package/dist/mcp-daemon-client.d.ts.map +0 -1
  257. package/dist/mcp-daemon-client.js.map +0 -1
  258. package/dist/mcp-daemon-protocol.d.ts.map +0 -1
  259. package/dist/mcp-daemon-protocol.js.map +0 -1
  260. package/dist/mcp-daemon.d.ts +0 -3
  261. package/dist/mcp-daemon.d.ts.map +0 -1
  262. package/dist/mcp-policy.d.ts.map +0 -1
  263. package/dist/mcp-policy.js.map +0 -1
  264. package/dist/mcp-run-worker.d.ts +0 -2
  265. package/dist/mcp-run-worker.d.ts.map +0 -1
  266. package/dist/mcp-run-worker.js.map +0 -1
  267. package/dist/mcp-tools.d.ts.map +0 -1
  268. package/dist/mcp-tools.js.map +0 -1
  269. package/dist/mcp-trace-context.d.ts.map +0 -1
  270. package/dist/mcp-trace-context.js.map +0 -1
  271. package/dist/mcp.d.ts.map +0 -1
  272. package/dist/mcp.js.map +0 -1
  273. package/dist/recipe-agent.d.ts.map +0 -1
  274. package/dist/recipe-agent.js.map +0 -1
  275. package/dist/recipe-extensions.d.ts.map +0 -1
  276. package/dist/recipe-extensions.js.map +0 -1
  277. package/dist/recipe-mcp-config.d.ts.map +0 -1
  278. package/dist/recipe-mcp-config.js.map +0 -1
  279. package/dist/recipe-model.d.ts.map +0 -1
  280. package/dist/recipe-model.js.map +0 -1
  281. package/dist/recipe-package.d.ts.map +0 -1
  282. package/dist/recipe-package.js.map +0 -1
  283. package/dist/recipe-session.d.ts.map +0 -1
  284. package/dist/recipe-session.js.map +0 -1
  285. package/dist/recipe-skills.d.ts.map +0 -1
  286. package/dist/recipe-skills.js.map +0 -1
@@ -0,0 +1,453 @@
1
+ #!/usr/bin/env node
2
+ import { rm } from "node:fs/promises";
3
+ import { createServer } from "node:net";
4
+ import { Readable, Writable } from "node:stream";
5
+ import { setTimeout as delay } from "node:timers/promises";
6
+ import { existsSync } from "node:fs";
7
+ import { fileURLToPath } from "node:url";
8
+ import { Worker } from "node:worker_threads";
9
+ import { context } from "@opentelemetry/api";
10
+ import { createRuntime } from "mcporter";
11
+ import { installMcpCommandIoRouting, } from "../cli/command-context.js";
12
+ import { discoverMcpCatalogs, executeMcpCommand } from "../cli/core.js";
13
+ import { MCP_DAEMON_FINGERPRINT_ENV, MCP_DAEMON_MAX_FRAME_BYTES, MCP_DAEMON_PARENT_PID_ENV, MCP_DAEMON_SOCKET_ENV, MCP_DAEMON_TOKEN_ENV, serializeMcpDaemonEnvelope, } from "./protocol.js";
14
+ import { mcpDaemonRequestContext } from "../trace-context.js";
15
+ const configuredSocketPath = process.env[MCP_DAEMON_SOCKET_ENV];
16
+ const configuredToken = process.env[MCP_DAEMON_TOKEN_ENV];
17
+ const configuredFingerprint = process.env[MCP_DAEMON_FINGERPRINT_ENV];
18
+ if (!configuredSocketPath || !configuredToken || !configuredFingerprint) {
19
+ throw new Error("MCP daemon environment is incomplete.");
20
+ }
21
+ const socketPath = configuredSocketPath;
22
+ const token = configuredToken;
23
+ const fingerprint = configuredFingerprint;
24
+ const restoreIo = installMcpCommandIoRouting();
25
+ let runtimePromise;
26
+ let catalogPreloadPromise;
27
+ let catalogPreloadResult;
28
+ let wakeCatalogRetry;
29
+ let catalogDemanded = false;
30
+ let stopping = false;
31
+ const active = new Map();
32
+ const SHUTDOWN_GRACE_MS = 1_000;
33
+ const CATALOG_PRELOAD_BACKOFF_MS = [100, 250, 500, 1_000, 2_000];
34
+ function runtime() {
35
+ runtimePromise ??= createRuntime({ configPath: process.env.MCPORTER_CONFIG }).catch((error) => {
36
+ runtimePromise = undefined;
37
+ throw error;
38
+ });
39
+ return runtimePromise;
40
+ }
41
+ function catalogHealthy(catalogs) {
42
+ return catalogs.every((server) => !server.error);
43
+ }
44
+ async function catalogRetryDelay(timeoutMs) {
45
+ await Promise.race([
46
+ delay(timeoutMs),
47
+ new Promise((resolve) => {
48
+ wakeCatalogRetry = resolve;
49
+ }),
50
+ ]);
51
+ wakeCatalogRetry = undefined;
52
+ }
53
+ function preloadCatalogs(timeoutMs) {
54
+ if (catalogPreloadResult && catalogHealthy(catalogPreloadResult)) {
55
+ return Promise.resolve(catalogPreloadResult);
56
+ }
57
+ if (catalogPreloadPromise)
58
+ return catalogPreloadPromise;
59
+ catalogDemanded = false;
60
+ const preload = (async () => {
61
+ let latest = [];
62
+ let latestError;
63
+ for (let attempt = 0; attempt <= CATALOG_PRELOAD_BACKOFF_MS.length; attempt += 1) {
64
+ try {
65
+ latest = await discoverMcpCatalogs(await runtime(), timeoutMs);
66
+ latestError = undefined;
67
+ // Preserve the last generation even when optional servers failed.
68
+ // Healthy tools from this snapshot must remain callable without
69
+ // rediscovering every server on the call's deadline.
70
+ catalogPreloadResult = latest;
71
+ if (catalogHealthy(latest)) {
72
+ return latest;
73
+ }
74
+ }
75
+ catch (error) {
76
+ latestError = error;
77
+ }
78
+ // Once a real command is waiting, make one immediate retry and then
79
+ // return control to that command's normal discovery/error path. The
80
+ // background retry policy must not turn into user-visible backoff.
81
+ if (catalogDemanded && attempt > 0)
82
+ break;
83
+ const backoffMs = CATALOG_PRELOAD_BACKOFF_MS[attempt];
84
+ if (backoffMs === undefined)
85
+ break;
86
+ await catalogRetryDelay(backoffMs);
87
+ }
88
+ if (latestError && latest.length === 0)
89
+ throw latestError;
90
+ return latest;
91
+ })();
92
+ catalogPreloadPromise = preload;
93
+ void preload.then(() => {
94
+ if (catalogPreloadPromise === preload)
95
+ catalogPreloadPromise = undefined;
96
+ }, () => {
97
+ if (catalogPreloadPromise === preload)
98
+ catalogPreloadPromise = undefined;
99
+ });
100
+ return preload;
101
+ }
102
+ async function joinCatalogPreload() {
103
+ const preload = catalogPreloadPromise;
104
+ if (!preload)
105
+ return;
106
+ catalogDemanded = true;
107
+ wakeCatalogRetry?.();
108
+ await preload.catch(() => { });
109
+ }
110
+ function send(socket, envelope, serializationError = "response_too_large") {
111
+ if (!socket.destroyed && !socket.writableEnded) {
112
+ try {
113
+ socket.write(serializeMcpDaemonEnvelope(envelope), () => { });
114
+ }
115
+ catch {
116
+ socket.write(`${JSON.stringify({
117
+ id: envelope.id,
118
+ error: serializationError,
119
+ })}\n`, () => { });
120
+ }
121
+ }
122
+ }
123
+ function stream(id, name, socket) {
124
+ return new Writable({
125
+ write(chunk, _encoding, callback) {
126
+ send(socket, { id, stream: name, data: String(chunk) });
127
+ callback();
128
+ },
129
+ });
130
+ }
131
+ function runTimeoutMs() {
132
+ const value = Number(process.env.PI_RECIPES_MCP_RUN_TIMEOUT_MS ?? 120_000);
133
+ return Number.isSafeInteger(value) && value > 0 ? value : 120_000;
134
+ }
135
+ /**
136
+ * The daemon runs from two layouts. `build-mcp-daemon.mjs` bundles it to
137
+ * `dist/mcp-daemon.js` with the worker beside it as `dist/mcp-run-worker.js`,
138
+ * while tsc emits this module at `dist/mcp/daemon/index.js` with the worker at
139
+ * `dist/mcp/cli/run-worker.js`. Neither path is visible to the type checker,
140
+ * and picking the wrong one fails only once a run starts a worker.
141
+ */
142
+ function runWorkerPath() {
143
+ const bundled = new URL("./mcp-run-worker.js", import.meta.url);
144
+ if (existsSync(bundled))
145
+ return fileURLToPath(bundled);
146
+ return fileURLToPath(new URL("../cli/run-worker.js", import.meta.url));
147
+ }
148
+ async function executeRun(request, socket, controller) {
149
+ const sharedRuntime = await runtime();
150
+ const worker = new Worker(runWorkerPath(), {
151
+ workerData: {
152
+ args: request.args,
153
+ stdin: request.stdin,
154
+ servers: sharedRuntime.listServers(),
155
+ },
156
+ });
157
+ const hardTimeout = setTimeout(() => void worker.terminate(), runTimeoutMs() + 2_000);
158
+ const abort = () => void worker.terminate();
159
+ controller.signal.addEventListener("abort", abort, { once: true });
160
+ try {
161
+ return await new Promise((resolve, reject) => {
162
+ let settled = false;
163
+ const finish = (task) => {
164
+ if (settled)
165
+ return;
166
+ settled = true;
167
+ task();
168
+ };
169
+ worker.on("message", (message) => {
170
+ if (message.type === "stream") {
171
+ send(socket, {
172
+ id: request.id,
173
+ stream: message.stream,
174
+ data: String(message.data),
175
+ });
176
+ return;
177
+ }
178
+ if (message.type === "toolCall") {
179
+ void sharedRuntime
180
+ .callTool(String(message.server), String(message.tool), message.options)
181
+ .then((result) => worker.postMessage({ type: "toolResult", id: message.id, result }), (error) => worker.postMessage({
182
+ type: "toolError",
183
+ id: message.id,
184
+ message: error instanceof Error ? error.message : String(error),
185
+ }));
186
+ return;
187
+ }
188
+ if (message.type === "complete") {
189
+ finish(() => resolve(Number(message.exitCode)));
190
+ }
191
+ else if (message.type === "failed") {
192
+ finish(() => reject(new Error(String(message.message))));
193
+ }
194
+ });
195
+ worker.once("error", (error) => finish(() => reject(error)));
196
+ worker.once("exit", (code) => {
197
+ if (settled)
198
+ return;
199
+ if (controller.signal.aborted)
200
+ finish(() => resolve(130));
201
+ else
202
+ finish(() => reject(new Error(`mcp run worker exited before completion (${code}).`)));
203
+ });
204
+ });
205
+ }
206
+ finally {
207
+ clearTimeout(hardTimeout);
208
+ controller.signal.removeEventListener("abort", abort);
209
+ await worker.terminate().catch(() => { });
210
+ }
211
+ }
212
+ async function execute(request, socket) {
213
+ return context.with(mcpDaemonRequestContext(request.trace), () => executeRequest(request, socket));
214
+ }
215
+ async function executeRequest(request, socket) {
216
+ const controller = new AbortController();
217
+ active.set(request.id, controller);
218
+ socket.once("close", () => controller.abort());
219
+ try {
220
+ await joinCatalogPreload();
221
+ if (controller.signal.aborted) {
222
+ send(socket, { id: request.id, exitCode: 130 });
223
+ return;
224
+ }
225
+ const exitCode = request.args[0] === "run"
226
+ ? await executeRun(request, socket, controller)
227
+ : await executeMcpCommand({
228
+ args: request.args,
229
+ runtime: await runtime(),
230
+ stdin: Readable.from([request.stdin]),
231
+ stdout: stream(request.id, "stdout", socket),
232
+ stderr: stream(request.id, "stderr", socket),
233
+ signal: controller.signal,
234
+ });
235
+ send(socket, { id: request.id, exitCode });
236
+ }
237
+ catch (error) {
238
+ send(socket, {
239
+ id: request.id,
240
+ stream: "stderr",
241
+ data: `${error instanceof Error ? error.message : String(error)}\n`,
242
+ });
243
+ send(socket, { id: request.id, exitCode: 1 });
244
+ }
245
+ finally {
246
+ active.delete(request.id);
247
+ socket.end();
248
+ }
249
+ }
250
+ async function callTool(request, socket) {
251
+ return context.with(mcpDaemonRequestContext(request.trace), () => callToolRequest(request, socket));
252
+ }
253
+ async function callToolRequest(request, socket) {
254
+ const controller = new AbortController();
255
+ let dispatched = false;
256
+ active.set(request.id, controller);
257
+ socket.once("close", () => controller.abort());
258
+ try {
259
+ const cachedCatalog = catalogPreloadResult?.find((server) => server.id === request.server &&
260
+ !server.error &&
261
+ server.tools.some((tool) => tool.name === request.tool));
262
+ const catalogs = cachedCatalog
263
+ ? catalogPreloadResult
264
+ : await preloadCatalogs(request.timeoutMs);
265
+ const catalog = cachedCatalog ??
266
+ catalogs.find((server) => server.id === request.server);
267
+ const allowed = catalog?.tools.some((tool) => tool.name === request.tool);
268
+ if (!catalog || catalog.error || !allowed) {
269
+ throw new Error(`MCP tool '${request.server}.${request.tool}' is not authorized in this daemon generation.`);
270
+ }
271
+ if (controller.signal.aborted) {
272
+ throw new Error(`MCP tool call '${request.server}.${request.tool}' was cancelled before execution.`);
273
+ }
274
+ const result = await runtime().then((value) => {
275
+ dispatched = true;
276
+ return value.callTool(request.server, request.tool, {
277
+ args: request.arguments,
278
+ timeoutMs: request.timeoutMs,
279
+ disableOAuth: true,
280
+ });
281
+ });
282
+ if (controller.signal.aborted) {
283
+ throw new Error(`MCP tool call '${request.server}.${request.tool}' was cancelled; remote outcome is unknown.`);
284
+ }
285
+ send(socket, { id: request.id, result }, `MCP tool call '${request.server}.${request.tool}' completed but its response could not be returned; remote outcome is unknown; do not retry automatically.`);
286
+ }
287
+ catch (error) {
288
+ const message = error instanceof Error ? error.message : String(error);
289
+ send(socket, {
290
+ id: request.id,
291
+ error: dispatched && !message.includes("do not retry automatically")
292
+ ? `${message}; remote outcome is unknown; do not retry automatically.`
293
+ : message,
294
+ });
295
+ }
296
+ finally {
297
+ active.delete(request.id);
298
+ socket.end();
299
+ }
300
+ }
301
+ async function shutdown() {
302
+ if (stopping)
303
+ return;
304
+ stopping = true;
305
+ for (const controller of active.values())
306
+ controller.abort();
307
+ server.close();
308
+ if (runtimePromise) {
309
+ await Promise.race([
310
+ runtimePromise.then((value) => value.close()).catch(() => { }),
311
+ new Promise((resolve) => {
312
+ const timer = setTimeout(resolve, SHUTDOWN_GRACE_MS);
313
+ timer.unref();
314
+ }),
315
+ ]);
316
+ }
317
+ restoreIo();
318
+ if (process.platform !== "win32")
319
+ await rm(socketPath, { force: true });
320
+ }
321
+ function handle(request, socket) {
322
+ if (request.token !== token) {
323
+ send(socket, { id: request.id, error: "unauthorized" });
324
+ socket.end();
325
+ return;
326
+ }
327
+ if (request.type === "ping") {
328
+ if (stopping) {
329
+ send(socket, { id: request.id, error: "daemon_unavailable" });
330
+ }
331
+ else if (request.fingerprint !== fingerprint) {
332
+ send(socket, { id: request.id, error: "configuration_mismatch" });
333
+ }
334
+ else {
335
+ send(socket, { id: request.id, ready: true, fingerprint });
336
+ }
337
+ socket.end();
338
+ return;
339
+ }
340
+ if ((request.type === "execute" || request.type === "call") &&
341
+ active.has(request.id)) {
342
+ send(socket, { id: request.id, error: "duplicate_request_id" });
343
+ socket.end();
344
+ return;
345
+ }
346
+ if (request.type === "cancel") {
347
+ active.get(request.requestId)?.abort();
348
+ send(socket, { id: request.id, exitCode: 0 });
349
+ socket.end();
350
+ return;
351
+ }
352
+ if (request.type === "stop") {
353
+ send(socket, { id: request.id, exitCode: 0 });
354
+ socket.end(() => void shutdown().then(() => process.exit(0)));
355
+ return;
356
+ }
357
+ if (stopping || request.fingerprint !== fingerprint) {
358
+ send(socket, { id: request.id, error: "daemon_unavailable" });
359
+ socket.end();
360
+ return;
361
+ }
362
+ if (request.type === "catalog") {
363
+ const catalogs = request.allowPartial
364
+ ? runtime()
365
+ .then((value) => discoverMcpCatalogs(value, request.timeoutMs))
366
+ .then((result) => {
367
+ catalogPreloadResult = result;
368
+ if (!catalogHealthy(result)) {
369
+ void preloadCatalogs(request.timeoutMs).catch(() => { });
370
+ }
371
+ return result;
372
+ })
373
+ : preloadCatalogs(request.timeoutMs);
374
+ void catalogs
375
+ .then((catalogs) => send(socket, { id: request.id, catalogs }), (error) => send(socket, {
376
+ id: request.id,
377
+ error: error instanceof Error ? error.message : String(error),
378
+ }))
379
+ .finally(() => socket.end());
380
+ return;
381
+ }
382
+ if (request.type === "call") {
383
+ void callTool(request, socket);
384
+ return;
385
+ }
386
+ void execute(request, socket);
387
+ }
388
+ const server = createServer((socket) => {
389
+ // Client cancellation may close the command socket before its final
390
+ // envelope is written. That is a connection-level outcome, not a daemon
391
+ // failure.
392
+ socket.on("error", () => { });
393
+ socket.setEncoding("utf8");
394
+ let buffer = "";
395
+ socket.on("data", (chunk) => {
396
+ buffer += chunk;
397
+ const newline = buffer.indexOf("\n");
398
+ if (newline < 0 &&
399
+ Buffer.byteLength(buffer, "utf8") > MCP_DAEMON_MAX_FRAME_BYTES) {
400
+ send(socket, { id: "unknown", error: "request_too_large" });
401
+ socket.end();
402
+ return;
403
+ }
404
+ if (newline < 0)
405
+ return;
406
+ const line = buffer.slice(0, newline);
407
+ buffer = buffer.slice(newline + 1);
408
+ if (Buffer.byteLength(line, "utf8") > MCP_DAEMON_MAX_FRAME_BYTES) {
409
+ send(socket, { id: "unknown", error: "request_too_large" });
410
+ socket.end();
411
+ return;
412
+ }
413
+ try {
414
+ handle(JSON.parse(line), socket);
415
+ }
416
+ catch {
417
+ send(socket, { id: "unknown", error: "invalid_request" });
418
+ socket.end();
419
+ }
420
+ });
421
+ });
422
+ if (process.platform !== "win32")
423
+ await rm(socketPath, { force: true });
424
+ await new Promise((resolve, reject) => {
425
+ server.once("error", reject);
426
+ server.listen(socketPath, () => {
427
+ server.off("error", reject);
428
+ resolve();
429
+ });
430
+ });
431
+ // Parse the session config and construct mcporter in the background, but do
432
+ // not connect to endpoint servers until a real command arrives. Synthetic
433
+ // task warmups may not carry endpoint credentials yet.
434
+ void runtime().catch(() => { });
435
+ const ownerPid = Number(process.env[MCP_DAEMON_PARENT_PID_ENV]);
436
+ if (Number.isSafeInteger(ownerPid) && ownerPid > 0) {
437
+ const ownerWatch = setInterval(() => {
438
+ try {
439
+ process.kill(ownerPid, 0);
440
+ }
441
+ catch (error) {
442
+ if (error.code === "ESRCH") {
443
+ clearInterval(ownerWatch);
444
+ void shutdown().then(() => process.exit(0));
445
+ }
446
+ }
447
+ }, 1_000);
448
+ ownerWatch.unref();
449
+ }
450
+ process.once("SIGINT", () => void shutdown().then(() => process.exit(0)));
451
+ process.once("SIGTERM", () => void shutdown().then(() => process.exit(0)));
452
+ process.once("SIGQUIT", () => void shutdown().then(() => process.exit(0)));
453
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-daemon.js","sourceRoot":"","sources":["../src/mcp-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/daemon/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { McpToolCatalogEntry } from "./mcp.js";
1
+ import type { McpToolCatalogEntry } from "../index.js";
2
2
  export declare const MCP_DAEMON_SOCKET_ENV = "PI_RECIPES_MCP_DAEMON_SOCKET";
3
3
  export declare const MCP_DAEMON_TOKEN_ENV = "PI_RECIPES_MCP_DAEMON_TOKEN";
4
4
  export declare const MCP_DAEMON_FINGERPRINT_ENV = "PI_RECIPES_MCP_DAEMON_FINGERPRINT";
@@ -84,4 +84,4 @@ export type McpDaemonEnvelope = {
84
84
  error: string;
85
85
  };
86
86
  export declare function serializeMcpDaemonEnvelope(envelope: McpDaemonEnvelope, maxBytes?: number): string;
87
- //# sourceMappingURL=mcp-daemon-protocol.d.ts.map
87
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/protocol.ts"],"names":[],"mappings":"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"}
@@ -34,4 +34,4 @@ export function serializeMcpDaemonEnvelope(envelope, maxBytes = MCP_DAEMON_MAX_F
34
34
  }
35
35
  return `${serialized}\n`;
36
36
  }
37
- //# sourceMappingURL=mcp-daemon-protocol.js.map
37
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/mcp/daemon/protocol.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,8BAA8B,CAAC;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAClE,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAiF3D,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,QAAQ,GAAG,0BAA0B;IAErC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAc,EAAE,EAAE;QAClE,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;aAAM,IACL,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,KAAK,SAAS;YAC1B,KAAK,KAAK,IAAI,EACd,CAAC;YACD,cAAc,IAAI,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,cAAc,GAAG,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,GAAG,UAAU,IAAI,CAAC;AAC3B,CAAC"}
@@ -1,7 +1,7 @@
1
- import { type RecipePackageManifest, type RecipeMcpToolSelection } from "./recipe-package.js";
2
- import { type ScopedMcpToolSelection } from "./mcp-policy.js";
3
- export { preloadMcpCatalogs } from "./mcp-catalog.js";
4
- export { executableRecipeToolNames, mcpSelectionAllowsTool, normalizeMcpServerId, resolveAgentMcpSelections, type ScopedMcpToolSelection, } from "./mcp-policy.js";
1
+ import { type RecipePackageManifest, type RecipeMcpToolSelection } from "../recipe/package.js";
2
+ import { type ScopedMcpToolSelection } from "./policy.js";
3
+ export { preloadMcpCatalogs } from "./catalog.js";
4
+ export { executableRecipeToolNames, mcpSelectionAllowsTool, normalizeMcpServerId, resolveAgentMcpSelections, type ScopedMcpToolSelection, } from "./policy.js";
5
5
  export interface McpToolCatalogEntry {
6
6
  name: string;
7
7
  description?: string;
@@ -177,4 +177,4 @@ export declare function createIsolatedMcpEnvironment(baseEnv: NodeJS.ProcessEnv)
177
177
  }>;
178
178
  export declare function materializeMcpSession(opts: MaterializeMcpSessionOptions): Promise<MaterializedMcpSession>;
179
179
  export declare function stopMcpDaemon(env: NodeJS.ProcessEnv): Promise<void>;
180
- //# sourceMappingURL=mcp.d.ts.map
180
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,12 @@ import { delimiter, dirname, join, resolve } from "node:path";
6
6
  import { tmpdir } from "node:os";
7
7
  import { createRequire } from "node:module";
8
8
  import { fileURLToPath } from "node:url";
9
- import { MCP_DAEMON_FINGERPRINT_ENV, MCP_DAEMON_GENERATION_ENV, MCP_DAEMON_PARENT_PID_ENV, MCP_DAEMON_SOCKET_ENV, MCP_DAEMON_TOKEN_ENV, MCP_SESSION_ROOT_ENV, } from "./mcp-daemon-protocol.js";
10
- import { resolvePiPackageMcpManifestPaths, } from "./recipe-package.js";
11
- import { generatedBindingEnvVars } from "./recipe-mcp-config.js";
12
- import { mcpSelectionAllowsTool, } from "./mcp-policy.js";
13
- export { preloadMcpCatalogs } from "./mcp-catalog.js";
14
- export { executableRecipeToolNames, mcpSelectionAllowsTool, normalizeMcpServerId, resolveAgentMcpSelections, } from "./mcp-policy.js";
9
+ import { MCP_DAEMON_FINGERPRINT_ENV, MCP_DAEMON_GENERATION_ENV, MCP_DAEMON_PARENT_PID_ENV, MCP_DAEMON_SOCKET_ENV, MCP_DAEMON_TOKEN_ENV, MCP_SESSION_ROOT_ENV, } from "./daemon/protocol.js";
10
+ import { resolvePiPackageMcpManifestPaths, } from "../recipe/package.js";
11
+ import { generatedBindingEnvVars } from "../recipe/mcp-config.js";
12
+ import { mcpSelectionAllowsTool, } from "./policy.js";
13
+ export { preloadMcpCatalogs } from "./catalog.js";
14
+ export { executableRecipeToolNames, mcpSelectionAllowsTool, normalizeMcpServerId, resolveAgentMcpSelections, } from "./policy.js";
15
15
  /**
16
16
  * A `required: true` package MCP server has no endpoint binding. Thrown by
17
17
  * `materializeMcpSession` before any server is materialized (fail-closed).
@@ -122,17 +122,23 @@ export function defaultMcpBinDir(cwd) {
122
122
  export function mcporterCliEntrypointPath() {
123
123
  return fileURLToPath(import.meta.resolve("mcporter/cli"));
124
124
  }
125
+ /**
126
+ * `name` is relative to THIS module's own directory: `dist/mcp/` once compiled,
127
+ * `src/mcp/` when running from source, where nothing is built beside it and the
128
+ * repository's dist is the answer. Resolved from a string at run time, so no
129
+ * type checker sees it — moving this module changes both prefixes.
130
+ */
125
131
  function compiledEntrypoint(name) {
126
132
  const adjacent = fileURLToPath(new URL(`./${name}`, import.meta.url));
127
133
  if (existsSync(adjacent))
128
134
  return adjacent;
129
- return fileURLToPath(new URL(`../dist/${name}`, import.meta.url));
135
+ return fileURLToPath(new URL(`../../dist/mcp/${name}`, import.meta.url));
130
136
  }
131
137
  export function mcpCliEntrypointPath() {
132
- return compiledEntrypoint("mcp-cli.js");
138
+ return compiledEntrypoint("cli/index.js");
133
139
  }
134
140
  export function mcpClientEntrypointPath() {
135
- return compiledEntrypoint("mcp-client.js");
141
+ return compiledEntrypoint("client-entry.js");
136
142
  }
137
143
  export function nativeMcpClientPath(platform = process.platform, arch = process.arch) {
138
144
  const executable = platform === "win32" ? "mcp-client.exe" : "mcp-client";
@@ -650,4 +656,4 @@ export async function stopMcpDaemon(env) {
650
656
  delete env[MCP_SESSION_ROOT_ENV];
651
657
  delete env[MCP_DAEMON_GENERATION_ENV];
652
658
  }
653
- //# sourceMappingURL=mcp.js.map
659
+ //# sourceMappingURL=index.js.map