@introspection-ai/recipes 0.25.1 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) 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-4WFRNU2I.js → auth-command-GQFV6QYP.js} +24 -27
  90. package/dist/mcp-chunks/call-arguments-VT7JLNJY.js +16 -0
  91. package/dist/mcp-chunks/{call-command-JBIKXOGC.js → call-command-LMAREWKD.js} +45 -45
  92. package/dist/mcp-chunks/{chunk-3JGS7LQB.js → chunk-2HOMVWSA.js} +2 -2
  93. package/dist/mcp-chunks/{chunk-G6OMDUNG.js → chunk-2P2HVZ3G.js} +1 -1
  94. package/dist/mcp-chunks/{chunk-ED2WN5BI.js → chunk-34QXE62Y.js} +175 -147
  95. package/dist/mcp-chunks/{chunk-Y3EDWN2P.js → chunk-5B7GRMUK.js} +1 -1
  96. package/dist/mcp-chunks/chunk-5BMCVE2J.js +516 -0
  97. package/dist/mcp-chunks/{chunk-V5AYEKSL.js → chunk-6QZQZXDJ.js} +52 -81
  98. package/dist/mcp-chunks/{chunk-3R2WK3NB.js → chunk-6RG6AD5X.js} +6 -6
  99. package/dist/mcp-chunks/{chunk-SNKXMWDB.js → chunk-77BZYP72.js} +1 -1
  100. package/dist/mcp-chunks/chunk-7PFJCLXL.js +123 -0
  101. package/dist/mcp-chunks/chunk-7WL4TMON.js +31 -0
  102. package/dist/mcp-chunks/{chunk-ELA77TDC.js → chunk-C2VLY7ED.js} +4 -4
  103. package/dist/mcp-chunks/{chunk-FAJPJTOC.js → chunk-CLR6DJV3.js} +1 -1
  104. package/dist/mcp-chunks/{chunk-ZOAQDFAO.js → chunk-D6B2M5V7.js} +1 -1
  105. package/dist/mcp-chunks/{chunk-WTMJMM3B.js → chunk-D6SVCPN6.js} +3 -30
  106. package/dist/mcp-chunks/chunk-FBVRU4Y3.js +1195 -0
  107. package/dist/mcp-chunks/{chunk-EMSNQHZZ.js → chunk-FONFU4G5.js} +1 -1
  108. package/dist/mcp-chunks/{chunk-BWW4XRUC.js → chunk-H4KL74PV.js} +303 -161
  109. package/dist/mcp-chunks/{chunk-ITR7FQM3.js → chunk-H7ARMBV7.js} +4 -9
  110. package/dist/mcp-chunks/{chunk-EPT4MYOF.js → chunk-HZ2SX5U6.js} +39 -34
  111. package/dist/mcp-chunks/{chunk-36VIJRYY.js → chunk-I6UMKX5E.js} +4 -4
  112. package/dist/mcp-chunks/{chunk-ASG4OY3M.js → chunk-IF6LRV3J.js} +21 -28
  113. package/dist/mcp-chunks/{chunk-KW3ANJ36.js → chunk-JVYCENPP.js} +4 -4
  114. package/dist/mcp-chunks/{chunk-AIKLVBYU.js → chunk-KOWNVUL2.js} +34 -7
  115. package/dist/mcp-chunks/{chunk-B2LNXGAP.js → chunk-KQCLM7R7.js} +4 -4
  116. package/dist/mcp-chunks/{chunk-OP3IW2V6.js → chunk-L6OOGZVA.js} +2 -2
  117. package/dist/mcp-chunks/{chunk-MOEZ43ZL.js → chunk-LCBDVFVA.js} +1 -1
  118. package/dist/mcp-chunks/{chunk-ITCCROID.js → chunk-LIEFPSSB.js} +5 -5
  119. package/dist/mcp-chunks/{chunk-GUXMP7QB.js → chunk-LQIE4PKL.js} +2 -2
  120. package/dist/mcp-chunks/{chunk-WYLHHXI6.js → chunk-LXHPDKEF.js} +26 -11
  121. package/dist/mcp-chunks/{chunk-6YZW3XAE.js → chunk-MJFZM5EV.js} +5 -5
  122. package/dist/mcp-chunks/{chunk-TPHPAEDH.js → chunk-NQW3ES2G.js} +2 -8
  123. package/dist/mcp-chunks/{chunk-IPNSPKQK.js → chunk-O2VOMKAS.js} +15 -17
  124. package/dist/mcp-chunks/{chunk-QZUC2T72.js → chunk-O4JIUOWF.js} +2 -2
  125. package/dist/mcp-chunks/{chunk-C2KNLFZR.js → chunk-P3UVILEW.js} +2 -2
  126. package/dist/mcp-chunks/{chunk-7WOKCV6Q.js → chunk-P463YBJM.js} +1 -1
  127. package/dist/mcp-chunks/{chunk-GQ6NSIDS.js → chunk-PJCMJ65D.js} +1175 -718
  128. package/dist/mcp-chunks/{chunk-CZKDJZER.js → chunk-QALB3DRW.js} +1 -1
  129. package/dist/mcp-chunks/{chunk-JG4TRUPF.js → chunk-QJNF3A3F.js} +1 -1
  130. package/dist/mcp-chunks/{chunk-HLRCUHNO.js → chunk-RIHPVCGI.js} +1 -1
  131. package/dist/mcp-chunks/{chunk-RD7NHCRK.js → chunk-RZIJUJGL.js} +60 -1074
  132. package/dist/mcp-chunks/{chunk-4ZNBWL65.js → chunk-S2YF442K.js} +2 -2
  133. package/dist/mcp-chunks/chunk-S5F3HEZZ.js +37060 -0
  134. package/dist/mcp-chunks/{chunk-TF2YTYE4.js → chunk-S6GJ42I2.js} +1 -1
  135. package/dist/mcp-chunks/chunk-T4MQCFIK.js +982 -0
  136. package/dist/mcp-chunks/{chunk-SCOMDV54.js → chunk-TUQGOYK6.js} +1 -1
  137. package/dist/mcp-chunks/{chunk-YIRGLKDA.js → chunk-TYYSBILI.js} +46 -27
  138. package/dist/mcp-chunks/{chunk-FS5JIKT6.js → chunk-UHO6KIUJ.js} +6 -6
  139. package/dist/mcp-chunks/{chunk-RSTKSBVF.js → chunk-UIPG6W7N.js} +2 -2
  140. package/dist/mcp-chunks/{chunk-IME7DGLJ.js → chunk-UKM35J67.js} +2 -2
  141. package/dist/mcp-chunks/{chunk-FX5NYWBH.js → chunk-UYJZJXC2.js} +3 -3
  142. package/dist/mcp-chunks/{chunk-HCOKLSOB.js → chunk-VJIAHZZG.js} +4 -4
  143. package/dist/mcp-chunks/{chunk-IYWYVHHD.js → chunk-WHJUDBPR.js} +1 -1
  144. package/dist/mcp-chunks/{chunk-53NRFMB3.js → chunk-XNHGMWN2.js} +46 -25
  145. package/dist/mcp-chunks/{cli-XU26MUCN.js → cli-JI7MEAAX.js} +111 -79
  146. package/dist/mcp-chunks/client-QU7ABSNB.js +30 -0
  147. package/dist/mcp-chunks/{config-command-UQMMIK2U.js → config-command-GRZLKD3R.js} +36 -29
  148. package/dist/mcp-chunks/daemon-command-3266CYHO.js +30 -0
  149. package/dist/mcp-chunks/{dist-DM2RXZMU.js → dist-USMCQ22V.js} +105 -47
  150. package/dist/mcp-chunks/{emit-ts-command-KAOL6DAN.js → emit-ts-command-7VLESP7H.js} +20 -19
  151. package/dist/mcp-chunks/{generate-cli-runner-AK6XNRTK.js → generate-cli-runner-SSW2B72K.js} +54 -51
  152. package/dist/mcp-chunks/generated-daemon-runtime-7CFVWLC7.js +30 -0
  153. package/dist/mcp-chunks/{inspect-cli-command-6FVJO7H2.js → inspect-cli-command-NCGCMOIS.js} +9 -10
  154. package/dist/mcp-chunks/{launch-EIT73HX4.js → launch-NBONSPNK.js} +1 -1
  155. package/dist/mcp-chunks/{lifecycle-QH4TUI3K.js → lifecycle-CXAKUCN4.js} +1 -1
  156. package/dist/mcp-chunks/{list-command-UOB2XZK7.js → list-command-5T4UF4PF.js} +61 -75
  157. package/dist/mcp-chunks/{output-utils-6YXH23T7.js → output-utils-YFTWQZ5V.js} +3 -3
  158. package/dist/mcp-chunks/{prompt-CH6TK0bC-ZB6RFAXR.js → prompt-CH6TK0bC-6DI4RA4E.js} +1 -1
  159. package/dist/mcp-chunks/{record-command-FO5TTERC.js → record-command-TE5O7WBL.js} +5 -5
  160. package/dist/mcp-chunks/{replay-command-SCBPCGQ7.js → replay-command-QCUL5ASR.js} +6 -6
  161. package/dist/mcp-chunks/{resource-command-S2J7XEMV.js → resource-command-XMGF7EAK.js} +9 -10
  162. package/dist/mcp-chunks/{result-utils-OME6HGS6.js → result-utils-HKB42M7Y.js} +3 -4
  163. package/dist/mcp-chunks/runtime-3X2XVS6X.js +37 -0
  164. package/dist/mcp-chunks/runtime-wrapper-MI3HF45J.js +10 -0
  165. package/dist/mcp-chunks/{serve-command-DDBZZSG6.js → serve-command-5HV3ZE25.js} +30 -34
  166. package/dist/mcp-chunks/{timeouts-HNGNKDQN.js → timeouts-YBFBTLV2.js} +8 -5
  167. package/dist/mcp-chunks/{vault-command-TJZYS3YI.js → vault-command-FC2PD5U6.js} +4 -6
  168. package/dist/mcp-chunks/webapi-IFUPO72B.js +2481 -0
  169. package/dist/mcp-daemon.js +35 -33
  170. package/dist/mcp-run-worker.js +28 -32
  171. package/dist/pi-extension.d.ts +1 -1
  172. package/dist/pi-extension.js +8 -8
  173. package/dist/pi-extension.js.map +1 -1
  174. package/dist/{recipe-agent.d.ts → recipe/agent.d.ts} +3 -3
  175. package/dist/recipe/agent.d.ts.map +1 -0
  176. package/dist/{recipe-agent.js → recipe/agent.js} +5 -5
  177. package/dist/recipe/agent.js.map +1 -0
  178. package/dist/{recipe-extensions.d.ts → recipe/extensions.d.ts} +1 -1
  179. package/dist/recipe/extensions.d.ts.map +1 -0
  180. package/dist/{recipe-extensions.js → recipe/extensions.js} +1 -1
  181. package/dist/recipe/extensions.js.map +1 -0
  182. package/dist/{recipe-mcp-config.d.ts → recipe/mcp-config.d.ts} +2 -2
  183. package/dist/recipe/mcp-config.d.ts.map +1 -0
  184. package/dist/{recipe-mcp-config.js → recipe/mcp-config.js} +1 -1
  185. package/dist/recipe/mcp-config.js.map +1 -0
  186. package/dist/{recipe-model.d.ts → recipe/model.d.ts} +1 -1
  187. package/dist/recipe/model.d.ts.map +1 -0
  188. package/dist/{recipe-model.js → recipe/model.js} +1 -1
  189. package/dist/recipe/model.js.map +1 -0
  190. package/dist/{recipe-package.d.ts → recipe/package.d.ts} +1 -1
  191. package/dist/recipe/package.d.ts.map +1 -0
  192. package/dist/{recipe-package.js → recipe/package.js} +1 -1
  193. package/dist/recipe/package.js.map +1 -0
  194. package/dist/recipe/resolve.d.ts +6 -6
  195. package/dist/recipe/resolve.d.ts.map +1 -1
  196. package/dist/recipe/resolve.js +4 -4
  197. package/dist/recipe/resolve.js.map +1 -1
  198. package/dist/{recipe-session.d.ts → recipe/session.d.ts} +1 -1
  199. package/dist/recipe/session.d.ts.map +1 -0
  200. package/dist/{recipe-session.js → recipe/session.js} +1 -1
  201. package/dist/recipe/session.js.map +1 -0
  202. package/dist/{recipe-skills.d.ts → recipe/skills.d.ts} +1 -1
  203. package/dist/recipe/skills.d.ts.map +1 -0
  204. package/dist/{recipe-skills.js → recipe/skills.js} +2 -2
  205. package/dist/recipe/skills.js.map +1 -0
  206. package/dist/run-controller.js +2 -2
  207. package/dist/session.d.ts +1 -1
  208. package/dist/session.d.ts.map +1 -1
  209. package/dist/session.js +5 -5
  210. package/dist/session.js.map +1 -1
  211. package/docs/channels.md +1 -1
  212. package/docs/pi-extension.md +1 -1
  213. package/docs/recipe-format.md +8 -4
  214. package/docs/recipe-templates.md +46 -0
  215. package/docs/slack.md +1 -1
  216. package/package.json +14 -14
  217. package/dist/child-agent-completions.d.ts.map +0 -1
  218. package/dist/child-agent-completions.js.map +0 -1
  219. package/dist/child-agent-store.d.ts.map +0 -1
  220. package/dist/child-agent-store.js.map +0 -1
  221. package/dist/child-agent.d.ts.map +0 -1
  222. package/dist/child-agent.js.map +0 -1
  223. package/dist/child-session.d.ts.map +0 -1
  224. package/dist/child-session.js.map +0 -1
  225. package/dist/mcp-catalog.d.ts.map +0 -1
  226. package/dist/mcp-catalog.js.map +0 -1
  227. package/dist/mcp-chunks/call-arguments-4DWPBLQP.js +0 -15
  228. package/dist/mcp-chunks/chunk-3Z7MFS6K.js +0 -86
  229. package/dist/mcp-chunks/chunk-AD3FQ73K.js +0 -39
  230. package/dist/mcp-chunks/chunk-DTZHEVKC.js +0 -12
  231. package/dist/mcp-chunks/chunk-H3JCYHGS.js +0 -1018
  232. package/dist/mcp-chunks/chunk-HN7WPMCA.js +0 -18904
  233. package/dist/mcp-chunks/chunk-I5GI2A2D.js +0 -92
  234. package/dist/mcp-chunks/chunk-IRTJXFWA.js +0 -28
  235. package/dist/mcp-chunks/chunk-NTHUNCXJ.js +0 -526
  236. package/dist/mcp-chunks/chunk-OD3MSMXY.js +0 -15
  237. package/dist/mcp-chunks/chunk-PZ323CXI.js +0 -17394
  238. package/dist/mcp-chunks/client-OT34CKRH.js +0 -21
  239. package/dist/mcp-chunks/daemon-command-YCIOZGPZ.js +0 -35
  240. package/dist/mcp-chunks/runtime-QIPMLIJI.js +0 -39
  241. package/dist/mcp-chunks/runtime-wrapper-X4YFKMJI.js +0 -16
  242. package/dist/mcp-chunks/webapi-4GWO2UBA.js +0 -3508
  243. package/dist/mcp-cli-core.d.ts.map +0 -1
  244. package/dist/mcp-cli-core.js.map +0 -1
  245. package/dist/mcp-cli-help.d.ts +0 -2
  246. package/dist/mcp-cli-help.d.ts.map +0 -1
  247. package/dist/mcp-cli-help.js +0 -36
  248. package/dist/mcp-cli-help.js.map +0 -1
  249. package/dist/mcp-cli-policy.d.ts.map +0 -1
  250. package/dist/mcp-cli-policy.js.map +0 -1
  251. package/dist/mcp-cli.d.ts +0 -3
  252. package/dist/mcp-cli.d.ts.map +0 -1
  253. package/dist/mcp-cli.js.map +0 -1
  254. package/dist/mcp-client.d.ts +0 -3
  255. package/dist/mcp-client.d.ts.map +0 -1
  256. package/dist/mcp-client.js.map +0 -1
  257. package/dist/mcp-command-context.d.ts.map +0 -1
  258. package/dist/mcp-command-context.js.map +0 -1
  259. package/dist/mcp-contract.d.ts.map +0 -1
  260. package/dist/mcp-contract.js.map +0 -1
  261. package/dist/mcp-daemon-client.d.ts.map +0 -1
  262. package/dist/mcp-daemon-client.js.map +0 -1
  263. package/dist/mcp-daemon-protocol.d.ts.map +0 -1
  264. package/dist/mcp-daemon-protocol.js.map +0 -1
  265. package/dist/mcp-daemon.d.ts +0 -3
  266. package/dist/mcp-daemon.d.ts.map +0 -1
  267. package/dist/mcp-policy.d.ts.map +0 -1
  268. package/dist/mcp-policy.js.map +0 -1
  269. package/dist/mcp-run-worker.d.ts +0 -2
  270. package/dist/mcp-run-worker.d.ts.map +0 -1
  271. package/dist/mcp-run-worker.js.map +0 -1
  272. package/dist/mcp-tools.d.ts.map +0 -1
  273. package/dist/mcp-tools.js.map +0 -1
  274. package/dist/mcp-trace-context.d.ts.map +0 -1
  275. package/dist/mcp-trace-context.js.map +0 -1
  276. package/dist/mcp.d.ts.map +0 -1
  277. package/dist/mcp.js.map +0 -1
  278. package/dist/recipe-agent.d.ts.map +0 -1
  279. package/dist/recipe-agent.js.map +0 -1
  280. package/dist/recipe-extensions.d.ts.map +0 -1
  281. package/dist/recipe-extensions.js.map +0 -1
  282. package/dist/recipe-mcp-config.d.ts.map +0 -1
  283. package/dist/recipe-mcp-config.js.map +0 -1
  284. package/dist/recipe-model.d.ts.map +0 -1
  285. package/dist/recipe-model.js.map +0 -1
  286. package/dist/recipe-package.d.ts.map +0 -1
  287. package/dist/recipe-package.js.map +0 -1
  288. package/dist/recipe-session.d.ts.map +0 -1
  289. package/dist/recipe-session.js.map +0 -1
  290. package/dist/recipe-skills.d.ts.map +0 -1
  291. package/dist/recipe-skills.js.map +0 -1
@@ -2,10 +2,10 @@ import { createRequire as __createRequire } from "node:module"; const require =
2
2
  import {
3
3
  createCallResult,
4
4
  describeConnectionIssue
5
- } from "./chunk-4ZNBWL65.js";
5
+ } from "./chunk-S2YF442K.js";
6
6
  import {
7
7
  createRuntime
8
- } from "./chunk-GQ6NSIDS.js";
8
+ } from "./chunk-PJCMJ65D.js";
9
9
 
10
10
  // node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/context/context.js
11
11
  function createContextKey(description) {
@@ -808,7 +808,7 @@ var TraceAPI = class _TraceAPI {
808
808
  // node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/build/esm/trace-api.js
809
809
  var trace = TraceAPI.getInstance();
810
810
 
811
- // src/mcp-command-context.ts
811
+ // src/mcp/cli/command-context.ts
812
812
  import { AsyncLocalStorage } from "node:async_hooks";
813
813
  var storage = new AsyncLocalStorage();
814
814
  function currentMcpCommandContext() {
@@ -834,7 +834,7 @@ function installMcpCommandIoRouting() {
834
834
  };
835
835
  }
836
836
 
837
- // src/mcp-daemon-protocol.ts
837
+ // src/mcp/daemon/protocol.ts
838
838
  var MCP_DAEMON_SOCKET_ENV = "PI_RECIPES_MCP_DAEMON_SOCKET";
839
839
  var MCP_DAEMON_TOKEN_ENV = "PI_RECIPES_MCP_DAEMON_TOKEN";
840
840
  var MCP_DAEMON_FINGERPRINT_ENV = "PI_RECIPES_MCP_DAEMON_FINGERPRINT";
@@ -867,7 +867,7 @@ function serializeMcpDaemonEnvelope(envelope, maxBytes = MCP_DAEMON_MAX_FRAME_BY
867
867
  `;
868
868
  }
869
869
 
870
- // src/mcp-trace-context.ts
870
+ // src/mcp/trace-context.ts
871
871
  var TRACEPARENT = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})$/i;
872
872
  function mcpDaemonRequestContext(carrier, base = ROOT_CONTEXT) {
873
873
  const match = carrier?.traceparent.match(TRACEPARENT);
@@ -885,17 +885,17 @@ function mcpDaemonRequestContext(carrier, base = ROOT_CONTEXT) {
885
885
  });
886
886
  }
887
887
 
888
- // src/mcp-cli-core.ts
888
+ // src/mcp/cli/core.ts
889
889
  import { createHash, randomUUID } from "node:crypto";
890
890
  import { existsSync } from "node:fs";
891
891
  import { mkdir, open, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
892
892
  import { dirname as dirname2, join as join2 } from "node:path";
893
893
  import { setTimeout as delay } from "node:timers/promises";
894
894
  import { stdin as input, stderr, stdout } from "node:process";
895
- import { inspect } from "node:util";
895
+ import { inspect, parseArgs } from "node:util";
896
896
  import { isMainThread, Worker } from "node:worker_threads";
897
897
 
898
- // src/mcp-contract.ts
898
+ // src/mcp/contract.ts
899
899
  var MAX_EXAMPLE_ARRAY_ITEMS = 3;
900
900
  var SAFE_CLI_KEY = /^[A-Za-z_][A-Za-z0-9_.-]*$/;
901
901
  var SAFE_SHELL_TOKEN = /^[A-Za-z0-9_./:@+-]+$/;
@@ -1175,7 +1175,7 @@ function catalogOutputSchema(tool) {
1175
1175
  return tool?.output_schema;
1176
1176
  }
1177
1177
 
1178
- // src/mcp-cli-help.ts
1178
+ // src/mcp/cli/help.ts
1179
1179
  function mcpCliHelpText() {
1180
1180
  return [
1181
1181
  "mcp - use available MCP tools",
@@ -1211,11 +1211,91 @@ function mcpCliHelpText() {
1211
1211
  " MCP resources and administrative or ad-hoc connection commands are not exposed."
1212
1212
  ].join("\n");
1213
1213
  }
1214
+ function mcpListHelpText() {
1215
+ return [
1216
+ "Usage: mcp list [server | server.tool] [flags]",
1217
+ "",
1218
+ "Shows a compact view of tools materialized in this recipe session.",
1219
+ "",
1220
+ "Flags:",
1221
+ " --all-parameters Include every optional parameter.",
1222
+ " --schema Show a compact input/output contract for one exact tool.",
1223
+ " --verbose Include full tool and parameter descriptions.",
1224
+ " --status Show concise status for an exact server target.",
1225
+ " --quiet, --exit-code Health checks for an exact server target.",
1226
+ " --timeout <ms> Override discovery timeout for an exact target.",
1227
+ " JSON is reserved for actual tool results; metadata is compact text.",
1228
+ "",
1229
+ "URLs, ad-hoc transports, config overrides, and persistence are unavailable in recipe sessions."
1230
+ ].join("\n");
1231
+ }
1232
+ function mcpCallHelpText() {
1233
+ return [
1234
+ "Usage: mcp call <server>.<tool> [arguments] [flags]",
1235
+ "",
1236
+ "Calls exact tools materialized in this recipe session.",
1237
+ "",
1238
+ "Arguments:",
1239
+ " key=value Named arguments with schema-aware coercion.",
1240
+ " key=@path Read an exact UTF-8 string; use @@ for a literal @.",
1241
+ " --json <json|-> Supply a structured JSON object directly or from stdin.",
1242
+ ` Array example: mcp call server.tool --json '{"tags":["a","b"]}'.`,
1243
+ " Quote argument tokens containing shell operators such as |, <, >, &, or ;. JSON stdin avoids nested shell quoting.",
1244
+ "",
1245
+ "Output/runtime flags:",
1246
+ " --output text|markdown|json|raw",
1247
+ " --timeout <ms>",
1248
+ " Machine-readable output is forwarded unchanged.",
1249
+ " When parsing JSON, keep stderr separate and do not truncate stdout with head or sed.",
1250
+ "",
1251
+ "URLs, ad-hoc transports, config overrides, and persistence are unavailable in recipe sessions."
1252
+ ].join("\n");
1253
+ }
1254
+ function mcpSearchHelpText() {
1255
+ return [
1256
+ 'Usage: mcp search "what you need" [--limit N] [--regex]',
1257
+ "",
1258
+ "Searches only MCP tools available in this session.",
1259
+ "Results include the exact tool ref, description, and required fields.",
1260
+ "Try broader or alternate terms when no result matches.",
1261
+ "Use `mcp list <server>` only to identify exact tool names, then inspect one candidate with `mcp list <server.tool> --schema`."
1262
+ ].join("\n");
1263
+ }
1264
+ function mcpRunHelpText() {
1265
+ return [
1266
+ "Usage: mcp run [--var KEY=value] [--json-errors] [file]",
1267
+ "",
1268
+ 'Runs a short JavaScript workflow with available MCP tools such as `tools["server"]["tool"]`.',
1269
+ "With no file, code is read from stdin. Keep heredocs quoted and pass dynamic values with --var.",
1270
+ "Scripts are killed after 120s by default (override with PI_RECIPES_MCP_RUN_TIMEOUT_MS).",
1271
+ "Each tool call is capped at 60s; workflows allow at most 100 calls and run 16 at a time by default.",
1272
+ "Extra calls wait in a FIFO queue and inherit the remaining workflow deadline.",
1273
+ "Always await or return tool-call chains.",
1274
+ "Detached .then/.catch calls fail if still pending when the script exits.",
1275
+ "Structured MCP errors retain code, retryable, action, request_id, and outcome fields when supplied.",
1276
+ "Calls return decoded JSON by default, so read response fields directly from the awaited value.",
1277
+ "Only when a tool documents another response type, call the format on the tool itself: tool.text(args), tool.markdown(args), tool.images(args), tool.content(args), tool.structuredContent(args), or tool.raw(args).",
1278
+ "Use Promise.all for independent reads. Await dependent calls and mutations in order.",
1279
+ "Do not loop over mcp call in the shell. Use mcp run for repeated calls and print only the fields needed.",
1280
+ "Use --var/vars for dynamic input; process.argv is intentionally unavailable inside workflows.",
1281
+ "--json-errors emits a structured error object on stderr while preserving the nonzero exit code.",
1282
+ "MCP calls are always headless. If authentication is required, ask the user to authenticate the connection outside the agent session, then retry.",
1283
+ "A synchronous busy-loop is force-killed at the deadline.",
1284
+ "Code runs with the same OS privileges as the active shell sandbox; mcp run is not a separate security boundary.",
1285
+ "",
1286
+ "Example \u2014 batch or compose multiple calls:",
1287
+ " mcp run <<'JS'",
1288
+ ' const ids = ["id-1", "id-2", "id-3"]',
1289
+ ' const results = await Promise.all(ids.map(id => tools["server"]["tool"]({ id })))',
1290
+ " console.log(JSON.stringify(results.map(result => ({ id: result.id, name: result.name })), null, 2))",
1291
+ " JS"
1292
+ ].join("\n");
1293
+ }
1214
1294
 
1215
- // src/mcp.ts
1295
+ // src/mcp/index.ts
1216
1296
  import { delimiter, dirname, join, resolve } from "node:path";
1217
1297
 
1218
- // src/recipe-package.ts
1298
+ // src/recipe/package.ts
1219
1299
  var RESOURCE_KEYS = [
1220
1300
  "agents",
1221
1301
  "extensions",
@@ -1229,7 +1309,7 @@ var PI_KEYS = /* @__PURE__ */ new Set([
1229
1309
  "runtime"
1230
1310
  ]);
1231
1311
 
1232
- // src/mcp-policy.ts
1312
+ // src/mcp/policy.ts
1233
1313
  function mcpSelectionAllowsTool(selection, toolName) {
1234
1314
  const included = selection.include?.some((selector) => {
1235
1315
  const trimmed = selector.trim();
@@ -1241,10 +1321,10 @@ function mcpSelectionAllowsTool(selection, toolName) {
1241
1321
  );
1242
1322
  }
1243
1323
 
1244
- // src/mcp-daemon-client.ts
1324
+ // src/mcp/daemon/client.ts
1245
1325
  var MAX_DAEMON_FRAME_BYTES = 10 * 1024 * 1024;
1246
1326
 
1247
- // src/mcp.ts
1327
+ // src/mcp/index.ts
1248
1328
  var RECIPE_ENV_PREFIX = "PI_RECIPES_";
1249
1329
  var MCP_SESSION_ENV = `${RECIPE_ENV_PREFIX}MCP_SESSION`;
1250
1330
  var MCP_LOCAL_CONFIG_ENV = `${RECIPE_ENV_PREFIX}MCP_LOCAL_CONFIG`;
@@ -1286,7 +1366,7 @@ function filterMcpCatalog(server, catalog) {
1286
1366
  }));
1287
1367
  }
1288
1368
 
1289
- // src/mcp-cli-policy.ts
1369
+ // src/mcp/cli/policy.ts
1290
1370
  var FORBIDDEN_DELEGATED_FLAGS = /* @__PURE__ */ new Set([
1291
1371
  "--config",
1292
1372
  "--root",
@@ -1494,7 +1574,7 @@ function validateDelegatedMcpCommand(args, policy) {
1494
1574
  };
1495
1575
  }
1496
1576
 
1497
- // src/mcp-cli-core.ts
1577
+ // src/mcp/cli/core.ts
1498
1578
  var DEFAULT_RUN_TIMEOUT_MS = 12e4;
1499
1579
  var DEFAULT_TOOL_CALL_TIMEOUT_MS = 6e4;
1500
1580
  var DEFAULT_LIST_TIMEOUT_MS = 3e4;
@@ -1510,7 +1590,7 @@ function loadMcporterCli() {
1510
1590
  if (mcporterCliPromise) return mcporterCliPromise;
1511
1591
  const previousDisableAutorun = process.env.MCPORTER_DISABLE_AUTORUN;
1512
1592
  process.env.MCPORTER_DISABLE_AUTORUN = "1";
1513
- mcporterCliPromise = import("./cli-XU26MUCN.js").finally(() => {
1593
+ mcporterCliPromise = import("./cli-JI7MEAAX.js").finally(() => {
1514
1594
  if (previousDisableAutorun === void 0) {
1515
1595
  delete process.env.MCPORTER_DISABLE_AUTORUN;
1516
1596
  } else {
@@ -1564,86 +1644,6 @@ var McpRunToolError = class extends Error {
1564
1644
  action;
1565
1645
  outcome;
1566
1646
  };
1567
- function mcpListHelpText() {
1568
- return [
1569
- "Usage: mcp list [server | server.tool] [flags]",
1570
- "",
1571
- "Shows a compact view of tools materialized in this recipe session.",
1572
- "",
1573
- "Flags:",
1574
- " --all-parameters Include every optional parameter.",
1575
- " --schema Show a compact input/output contract for one exact tool.",
1576
- " --verbose Include full tool and parameter descriptions.",
1577
- " --status Show concise status for an exact server target.",
1578
- " --quiet, --exit-code Health checks for an exact server target.",
1579
- " --timeout <ms> Override discovery timeout for an exact target.",
1580
- " JSON is reserved for actual tool results; metadata is compact text.",
1581
- "",
1582
- "URLs, ad-hoc transports, config overrides, and persistence are unavailable in recipe sessions."
1583
- ].join("\n");
1584
- }
1585
- function mcpCallHelpText() {
1586
- return [
1587
- "Usage: mcp call <server>.<tool> [arguments] [flags]",
1588
- "",
1589
- "Calls exact tools materialized in this recipe session.",
1590
- "",
1591
- "Arguments:",
1592
- " key=value Named arguments with schema-aware coercion.",
1593
- " key=@path Read an exact UTF-8 string; use @@ for a literal @.",
1594
- " --json <json|-> Supply a structured JSON object directly or from stdin.",
1595
- ` Array example: mcp call server.tool --json '{"tags":["a","b"]}'.`,
1596
- " Quote argument tokens containing shell operators such as |, <, >, &, or ;. JSON stdin avoids nested shell quoting.",
1597
- "",
1598
- "Output/runtime flags:",
1599
- " --output text|markdown|json|raw",
1600
- " --timeout <ms>",
1601
- " Machine-readable output is forwarded unchanged.",
1602
- " When parsing JSON, keep stderr separate and do not truncate stdout with head or sed.",
1603
- "",
1604
- "URLs, ad-hoc transports, config overrides, and persistence are unavailable in recipe sessions."
1605
- ].join("\n");
1606
- }
1607
- function mcpSearchHelpText() {
1608
- return [
1609
- 'Usage: mcp search "what you need" [--limit N] [--regex]',
1610
- "",
1611
- "Searches only MCP tools available in this session.",
1612
- "Results include the exact tool ref, description, and required fields.",
1613
- "Try broader or alternate terms when no result matches.",
1614
- "Use `mcp list <server>` only to identify exact tool names, then inspect one candidate with `mcp list <server.tool> --schema`."
1615
- ].join("\n");
1616
- }
1617
- function mcpRunHelpText() {
1618
- return [
1619
- "Usage: mcp run [--var KEY=value] [--json-errors] [file]",
1620
- "",
1621
- 'Runs a short JavaScript workflow with available MCP tools such as `tools["server"]["tool"]`.',
1622
- "With no file, code is read from stdin. Keep heredocs quoted and pass dynamic values with --var.",
1623
- "Scripts are killed after 120s by default (override with PI_RECIPES_MCP_RUN_TIMEOUT_MS).",
1624
- "Each tool call is capped at 60s; workflows allow at most 100 calls and run 16 at a time by default.",
1625
- "Extra calls wait in a FIFO queue and inherit the remaining workflow deadline.",
1626
- "Always await or return tool-call chains.",
1627
- "Detached .then/.catch calls fail if still pending when the script exits.",
1628
- "Structured MCP errors retain code, retryable, action, request_id, and outcome fields when supplied.",
1629
- "Calls return decoded JSON by default, so read response fields directly from the awaited value.",
1630
- "Only when a tool documents another response type, call the format on the tool itself: tool.text(args), tool.markdown(args), tool.images(args), tool.content(args), tool.structuredContent(args), or tool.raw(args).",
1631
- "Use Promise.all for independent reads. Await dependent calls and mutations in order.",
1632
- "Do not loop over mcp call in the shell. Use mcp run for repeated calls and print only the fields needed.",
1633
- "Use --var/vars for dynamic input; process.argv is intentionally unavailable inside workflows.",
1634
- "--json-errors emits a structured error object on stderr while preserving the nonzero exit code.",
1635
- "MCP calls are always headless. If authentication is required, ask the user to authenticate the connection outside the agent session, then retry.",
1636
- "A synchronous busy-loop is force-killed at the deadline.",
1637
- "Code runs with the same OS privileges as the active shell sandbox; mcp run is not a separate security boundary.",
1638
- "",
1639
- "Example \u2014 batch or compose multiple calls:",
1640
- " mcp run <<'JS'",
1641
- ' const ids = ["id-1", "id-2", "id-3"]',
1642
- ' const results = await Promise.all(ids.map(id => tools["server"]["tool"]({ id })))',
1643
- " console.log(JSON.stringify(results.map(result => ({ id: result.id, name: result.name })), null, 2))",
1644
- " JS"
1645
- ].join("\n");
1646
- }
1647
1647
  function isHelpArg(value) {
1648
1648
  return value === "--help" || value === "-h" || value === "help";
1649
1649
  }
@@ -2038,30 +2038,43 @@ async function discoverMcpCatalogs(runtime, timeoutMs) {
2038
2038
  })
2039
2039
  );
2040
2040
  }
2041
+ var SEARCH_OPTIONS = {
2042
+ limit: { type: "string" },
2043
+ regex: { type: "boolean" }
2044
+ };
2045
+ function optionName(value) {
2046
+ const equals = value.indexOf("=");
2047
+ return equals === -1 ? value : value.slice(0, equals);
2048
+ }
2041
2049
  function parseSearchArgs(args) {
2042
- const queryParts = [];
2050
+ if (args.some((arg) => optionName(arg) === "--json")) {
2051
+ return { error: "mcp search metadata is compact text; JSON is reserved for tool results." };
2052
+ }
2053
+ let parsed;
2054
+ try {
2055
+ parsed = parseArgs({ args, options: SEARCH_OPTIONS, allowPositionals: true });
2056
+ } catch (error) {
2057
+ if (error.code === "ERR_PARSE_ARGS_INVALID_OPTION_VALUE") {
2058
+ const index = args.findIndex((arg) => optionName(arg) === "--limit");
2059
+ const flag = args[index] ?? "";
2060
+ const raw = flag.includes("=") ? flag.slice(flag.indexOf("=") + 1) : args[index + 1] ?? "";
2061
+ return { error: `--limit expects a positive integer, got '${raw}'.` };
2062
+ }
2063
+ const unknown = args.find(
2064
+ (arg) => arg.startsWith("-") && !(optionName(arg).slice(2) in SEARCH_OPTIONS)
2065
+ );
2066
+ return { error: `Unknown mcp search option '${unknown}'.` };
2067
+ }
2068
+ const { values, positionals } = parsed;
2043
2069
  let limit = 8;
2044
- let regex = false;
2045
- for (let index = 0; index < args.length; index += 1) {
2046
- const arg = args[index];
2047
- if (arg === "--json") return { error: "mcp search metadata is compact text; JSON is reserved for tool results." };
2048
- if (arg === "--regex") {
2049
- regex = true;
2050
- continue;
2051
- }
2052
- if (arg === "--limit" || arg.startsWith("--limit=")) {
2053
- const raw = arg === "--limit" ? args[++index] : arg.slice("--limit=".length);
2054
- const value = Number(raw);
2055
- if (!Number.isInteger(value) || value <= 0) {
2056
- return { error: `--limit expects a positive integer, got '${raw ?? ""}'.` };
2057
- }
2058
- limit = Math.floor(value);
2059
- continue;
2070
+ if (values.limit !== void 0) {
2071
+ const value = Number(values.limit);
2072
+ if (!Number.isInteger(value) || value <= 0) {
2073
+ return { error: `--limit expects a positive integer, got '${values.limit}'.` };
2060
2074
  }
2061
- if (arg.startsWith("-")) return { error: `Unknown mcp search option '${arg}'.` };
2062
- queryParts.push(arg);
2075
+ limit = value;
2063
2076
  }
2064
- return { query: queryParts.join(" "), limit, regex };
2077
+ return { query: positionals.join(" "), limit, regex: values.regex === true };
2065
2078
  }
2066
2079
  async function searchCatalog(args) {
2067
2080
  const parsed = parseSearchArgs(args);
@@ -2154,18 +2167,17 @@ function toolCount(count) {
2154
2167
  function parseListTimeoutMs(args) {
2155
2168
  const configured = process.env.MCPORTER_LIST_TIMEOUT;
2156
2169
  let raw = configured && /^[1-9]\d*$/.test(configured) ? configured : String(DEFAULT_LIST_TIMEOUT_MS);
2157
- for (let index = 1; index < args.length; index += 1) {
2158
- const arg = args[index];
2159
- if (arg === "--timeout") {
2160
- const value = args[index + 1];
2161
- if (!value) return "mcp list: --timeout requires a value.";
2162
- raw = value;
2163
- break;
2164
- }
2165
- if (arg?.startsWith("--timeout=")) {
2166
- raw = arg.slice("--timeout=".length);
2167
- break;
2170
+ const { values } = parseArgs({
2171
+ args: [...args.slice(1)],
2172
+ options: { timeout: { type: "string" } },
2173
+ strict: false,
2174
+ allowPositionals: true
2175
+ });
2176
+ if (values.timeout !== void 0) {
2177
+ if (typeof values.timeout !== "string" || values.timeout === "") {
2178
+ return "mcp list: --timeout requires a value.";
2168
2179
  }
2180
+ raw = values.timeout;
2169
2181
  }
2170
2182
  if (!/^[1-9]\d*$/.test(raw)) {
2171
2183
  return "mcp list: --timeout must be a positive integer (milliseconds).";
@@ -2201,28 +2213,44 @@ function writeCompactListError(error) {
2201
2213
  `}`);
2202
2214
  filter.flush();
2203
2215
  }
2216
+ var LIST_OPTIONS = {
2217
+ "all-parameters": { type: "boolean" },
2218
+ "exit-code": { type: "boolean" },
2219
+ "no-oauth": { type: "boolean" },
2220
+ quiet: { type: "boolean" },
2221
+ schema: { type: "boolean" },
2222
+ status: { type: "boolean" },
2223
+ timeout: { type: "string" },
2224
+ verbose: { type: "boolean" }
2225
+ };
2226
+ var LIST_BOOLEAN_FLAGS = new Set(
2227
+ Object.entries(LIST_OPTIONS).filter(([, spec]) => spec.type === "boolean").map(([name]) => name)
2228
+ );
2229
+ function isValidListOption(arg) {
2230
+ const name = optionName(arg).slice(2);
2231
+ if (!(name in LIST_OPTIONS)) return false;
2232
+ return !(arg.includes("=") && LIST_BOOLEAN_FLAGS.has(name));
2233
+ }
2204
2234
  function compactListArgumentError(args) {
2205
- const flags = /* @__PURE__ */ new Set([
2206
- "--all-parameters",
2207
- "--schema",
2208
- "--verbose",
2209
- "--status",
2210
- "--quiet",
2211
- "--exit-code",
2212
- "--no-oauth"
2213
- ]);
2214
- const start = args[1] && !args[1].startsWith("-") ? 2 : 1;
2215
- for (let index = start; index < args.length; index += 1) {
2216
- const arg = args[index];
2217
- if (arg === "--timeout") {
2218
- index += 1;
2219
- continue;
2235
+ const rest = args.slice(1);
2236
+ const target = rest[0] !== void 0 && !rest[0].startsWith("-");
2237
+ const options = target ? rest.slice(1) : rest;
2238
+ try {
2239
+ const { positionals } = parseArgs({
2240
+ args: [...options],
2241
+ options: LIST_OPTIONS,
2242
+ allowPositionals: true
2243
+ });
2244
+ if (positionals.length > 0) {
2245
+ return `Unexpected mcp list argument '${positionals[0]}'.`;
2220
2246
  }
2221
- if (arg.startsWith("--timeout=")) continue;
2222
- if (flags.has(arg)) continue;
2223
- return arg.startsWith("-") ? `Unknown mcp list option '${arg}'.` : `Unexpected mcp list argument '${arg}'.`;
2247
+ return void 0;
2248
+ } catch {
2249
+ const offending = options.find(
2250
+ (arg) => arg.startsWith("-") && !isValidListOption(arg)
2251
+ );
2252
+ return offending ? `Unknown mcp list option '${offending}'.` : void 0;
2224
2253
  }
2225
- return void 0;
2226
2254
  }
2227
2255
  async function compactList(args) {
2228
2256
  if (args.includes("--json")) {
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
2
2
 
3
- // node_modules/.pnpm/mcporter@0.13.8/node_modules/mcporter/dist/cli/output-format.js
3
+ // node_modules/.pnpm/mcporter@0.13.13/node_modules/mcporter/dist/cli/output-format.js
4
4
  function consumeOutputFormat(args, options = {}) {
5
5
  const allowed = options.allowed ?? ["auto", "text", "markdown", "json", "raw"];
6
6
  const defaultFormat = options.defaultFormat ?? "auto";