@hasna/connectors 1.4.1 → 1.4.3

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 (499) hide show
  1. package/bin/index.js +1271 -317
  2. package/bin/mcp.js +524 -211
  3. package/bin/serve.js +1208 -256
  4. package/connectors/adobe/package.json +1 -1
  5. package/connectors/aitableai/package.json +1 -1
  6. package/connectors/alchemy/package.json +1 -1
  7. package/connectors/alerty/package.json +1 -1
  8. package/connectors/alienvault/package.json +1 -1
  9. package/connectors/alphamoon/package.json +1 -1
  10. package/connectors/alttextai/package.json +1 -1
  11. package/connectors/amadeus/package.json +1 -1
  12. package/connectors/amadeus/src/api/client.ts +6 -6
  13. package/connectors/amadeus/src/cli/index.ts +6 -6
  14. package/connectors/amadeus/src/utils/output.ts +5 -5
  15. package/connectors/amazon/package.json +1 -1
  16. package/connectors/amilia/package.json +1 -1
  17. package/connectors/amqpsender/package.json +1 -1
  18. package/connectors/announcekit/package.json +1 -1
  19. package/connectors/anthropic/.env.example +1 -1
  20. package/connectors/anyscale/package.json +1 -1
  21. package/connectors/apiary/package.json +1 -1
  22. package/connectors/apiflash/package.json +1 -1
  23. package/connectors/apitemplateio/package.json +1 -1
  24. package/connectors/apptivegrid/package.json +1 -1
  25. package/connectors/assemblyai/package.json +1 -1
  26. package/connectors/autom/package.json +1 -1
  27. package/connectors/automizy/package.json +1 -1
  28. package/connectors/autopilot/package.json +1 -1
  29. package/connectors/awscognito/package.json +1 -1
  30. package/connectors/bamboohr/package.json +1 -1
  31. package/connectors/bannerbear/package.json +1 -1
  32. package/connectors/baseten/package.json +1 -1
  33. package/connectors/box/package.json +1 -1
  34. package/connectors/brevo/package.json +1 -1
  35. package/connectors/calendly/package.json +1 -1
  36. package/connectors/cerebras/package.json +1 -1
  37. package/connectors/chargebee/package.json +1 -1
  38. package/connectors/clearbit/package.json +1 -1
  39. package/connectors/clickbank/README.md +2 -2
  40. package/connectors/cloudflare-workers/package.json +1 -1
  41. package/connectors/coda/package.json +1 -1
  42. package/connectors/coingecko/package.json +1 -1
  43. package/connectors/convertkit/package.json +1 -1
  44. package/connectors/customerio/package.json +1 -1
  45. package/connectors/databricks/package.json +1 -1
  46. package/connectors/datadog/package.json +1 -1
  47. package/connectors/datasoap/README.md +2 -2
  48. package/connectors/datasoap/package.json +1 -1
  49. package/connectors/datumbox/README.md +2 -2
  50. package/connectors/datumbox/package.json +1 -1
  51. package/connectors/dayschedule/README.md +2 -2
  52. package/connectors/dayschedule/package.json +1 -1
  53. package/connectors/deepgram/package.json +1 -1
  54. package/connectors/deepinfra/README.md +2 -2
  55. package/connectors/deepinfra/package.json +1 -1
  56. package/connectors/deepl/README.md +2 -2
  57. package/connectors/deepl/package.json +1 -1
  58. package/connectors/deepseek/package.json +1 -1
  59. package/connectors/demio/README.md +2 -2
  60. package/connectors/demio/package.json +1 -1
  61. package/connectors/descript/README.md +2 -2
  62. package/connectors/descript/package.json +1 -1
  63. package/connectors/detrack/README.md +2 -2
  64. package/connectors/detrack/package.json +1 -1
  65. package/connectors/devcycle/README.md +2 -2
  66. package/connectors/devcycle/package.json +1 -1
  67. package/connectors/dhl/README.md +2 -2
  68. package/connectors/dhl/package.json +1 -1
  69. package/connectors/docusign/package.json +1 -1
  70. package/connectors/dropbox/package.json +1 -1
  71. package/connectors/fal/package.json +1 -1
  72. package/connectors/fathom/package.json +1 -1
  73. package/connectors/fireworks/package.json +1 -1
  74. package/connectors/gitlab/package.json +1 -1
  75. package/connectors/googlechat/README.md +1 -2
  76. package/connectors/googledrive/src/api/client.ts +5 -5
  77. package/connectors/googledrive/src/api/files.ts +11 -11
  78. package/connectors/googledrive/src/api/folders.ts +2 -2
  79. package/connectors/googledrive/src/cli/index.ts +4 -4
  80. package/connectors/googledrive/src/utils/output.ts +3 -3
  81. package/connectors/googleforms/README.md +1 -2
  82. package/connectors/googleperspective/README.md +1 -2
  83. package/connectors/grafana/package.json +1 -1
  84. package/connectors/growbots/README.md +2 -2
  85. package/connectors/growbots/package.json +1 -1
  86. package/connectors/gumroad/package.json +1 -1
  87. package/connectors/gupshup/README.md +2 -2
  88. package/connectors/gupshup/package.json +1 -1
  89. package/connectors/guru/README.md +2 -2
  90. package/connectors/guru/package.json +1 -1
  91. package/connectors/hackernews/README.md +2 -2
  92. package/connectors/hackernews/package.json +1 -1
  93. package/connectors/halopsa/README.md +2 -2
  94. package/connectors/halopsa/package.json +1 -1
  95. package/connectors/handwrytten/README.md +2 -2
  96. package/connectors/handwrytten/package.json +1 -1
  97. package/connectors/hansei/README.md +2 -2
  98. package/connectors/hansei/package.json +1 -1
  99. package/connectors/harrypotterapi/README.md +2 -2
  100. package/connectors/harrypotterapi/package.json +1 -1
  101. package/connectors/harvest/README.md +2 -2
  102. package/connectors/harvest/package.json +1 -1
  103. package/connectors/headlesstesting/README.md +2 -2
  104. package/connectors/headlesstesting/package.json +1 -1
  105. package/connectors/homeassistant/package.json +1 -1
  106. package/connectors/klaviyo/package.json +1 -1
  107. package/connectors/lemonsqueezy/package.json +1 -1
  108. package/connectors/lighthouse/src/api/index.ts +1 -1
  109. package/connectors/linkedin/package.json +1 -1
  110. package/connectors/linkish/README.md +2 -2
  111. package/connectors/linkish/package.json +1 -1
  112. package/connectors/liveagent/README.md +2 -2
  113. package/connectors/liveagent/package.json +1 -1
  114. package/connectors/localazy/README.md +2 -2
  115. package/connectors/localazy/package.json +1 -1
  116. package/connectors/loginradius/README.md +2 -2
  117. package/connectors/loginradius/package.json +1 -1
  118. package/connectors/lokalise/README.md +2 -2
  119. package/connectors/lokalise/package.json +1 -1
  120. package/connectors/lonescale/README.md +2 -2
  121. package/connectors/lonescale/package.json +1 -1
  122. package/connectors/lucidchart/README.md +2 -2
  123. package/connectors/lucidchart/package.json +1 -1
  124. package/connectors/luma/package.json +1 -1
  125. package/connectors/magento2/README.md +2 -2
  126. package/connectors/magento2/package.json +1 -1
  127. package/connectors/mailcheck/README.md +2 -2
  128. package/connectors/mailcheck/package.json +1 -1
  129. package/connectors/mailchimp/package.json +1 -1
  130. package/connectors/mailerlite/README.md +2 -2
  131. package/connectors/mailerlite/package.json +1 -1
  132. package/connectors/mailersend/README.md +2 -2
  133. package/connectors/mailersend/package.json +1 -1
  134. package/connectors/mailify/README.md +2 -2
  135. package/connectors/mailify/package.json +1 -1
  136. package/connectors/mailjet/README.md +2 -2
  137. package/connectors/mailjet/package.json +1 -1
  138. package/connectors/mailmodo/README.md +2 -2
  139. package/connectors/mailmodo/package.json +1 -1
  140. package/connectors/malcore/README.md +2 -2
  141. package/connectors/malcore/package.json +1 -1
  142. package/connectors/mandrill/README.md +2 -2
  143. package/connectors/mandrill/package.json +1 -1
  144. package/connectors/marcomrobot/README.md +2 -2
  145. package/connectors/marcomrobot/package.json +1 -1
  146. package/connectors/marketingmasterio/README.md +2 -2
  147. package/connectors/marketingmasterio/package.json +1 -1
  148. package/connectors/marketplacer/README.md +2 -2
  149. package/connectors/marketplacer/package.json +1 -1
  150. package/connectors/marketstack/README.md +2 -2
  151. package/connectors/marketstack/package.json +1 -1
  152. package/connectors/matrix/README.md +1 -1
  153. package/connectors/matrix/package.json +1 -1
  154. package/connectors/mattermost/README.md +1 -1
  155. package/connectors/mattermost/package.json +1 -1
  156. package/connectors/mautic/README.md +1 -1
  157. package/connectors/mautic/package.json +1 -1
  158. package/connectors/mav/README.md +1 -1
  159. package/connectors/mav/package.json +1 -1
  160. package/connectors/maverick/README.md +1 -1
  161. package/connectors/maverick/package.json +1 -1
  162. package/connectors/mem/README.md +1 -1
  163. package/connectors/mem/package.json +1 -1
  164. package/connectors/messagebird/package.json +1 -1
  165. package/connectors/metabase/README.md +1 -1
  166. package/connectors/metabase/package.json +1 -1
  167. package/connectors/miro/package.json +1 -1
  168. package/connectors/mocean/package.json +1 -1
  169. package/connectors/modal/package.json +1 -1
  170. package/connectors/monday/package.json +1 -1
  171. package/connectors/monicacrm/package.json +1 -1
  172. package/connectors/moonclerk/package.json +1 -1
  173. package/connectors/moonmail/package.json +1 -1
  174. package/connectors/morph/package.json +1 -1
  175. package/connectors/mqtt/package.json +1 -1
  176. package/connectors/msg91/package.json +1 -1
  177. package/connectors/mubert/package.json +1 -1
  178. package/connectors/murf/package.json +1 -1
  179. package/connectors/mux/package.json +1 -1
  180. package/connectors/netlify/package.json +1 -1
  181. package/connectors/okta/package.json +1 -1
  182. package/connectors/paddle/package.json +1 -1
  183. package/connectors/perplexity/package.json +1 -1
  184. package/connectors/pinterest/package.json +1 -1
  185. package/connectors/pipedrive/package.json +1 -1
  186. package/connectors/plaid/package.json +1 -1
  187. package/connectors/quickchart/README.md +2 -2
  188. package/connectors/quintadb/README.md +2 -2
  189. package/connectors/rabbitmq/README.md +2 -2
  190. package/connectors/radar/README.md +2 -2
  191. package/connectors/raindrop/README.md +2 -2
  192. package/connectors/rapid7insightvm/README.md +2 -2
  193. package/connectors/raventools/README.md +2 -2
  194. package/connectors/rawgvideogamesdatabase/README.md +2 -2
  195. package/connectors/rdstationcrm/README.md +2 -2
  196. package/connectors/readai/README.md +2 -2
  197. package/connectors/roboflow/package.json +1 -1
  198. package/connectors/runway/package.json +1 -1
  199. package/connectors/sendgrid/package.json +1 -1
  200. package/connectors/shuffler/package.json +1 -1
  201. package/connectors/sierrainteractive/package.json +1 -1
  202. package/connectors/sifter/package.json +1 -1
  203. package/connectors/signaturit/package.json +1 -1
  204. package/connectors/signl4/package.json +1 -1
  205. package/connectors/simpleem/package.json +1 -1
  206. package/connectors/simplehash/package.json +1 -1
  207. package/connectors/simplekpi/package.json +1 -1
  208. package/connectors/simplelocalize/package.json +1 -1
  209. package/connectors/simplero/package.json +1 -1
  210. package/connectors/smartrecruiters/package.json +1 -1
  211. package/connectors/smtp2go/package.json +1 -1
  212. package/connectors/snowflake/package.json +1 -1
  213. package/connectors/sparkpost/package.json +1 -1
  214. package/connectors/split-in-batches/CLAUDE.md +1 -1
  215. package/connectors/split-in-batches/README.md +1 -1
  216. package/connectors/split-in-batches/src/api/client.test.ts +16 -17
  217. package/connectors/split-in-batches/src/api/client.ts +4 -3
  218. package/connectors/split-in-batches/src/cli/index.ts +1 -1
  219. package/connectors/split-io/package.json +1 -1
  220. package/connectors/split-io/src/api/client.test.ts +20 -0
  221. package/connectors/split-io/src/cli/index.ts +9 -9
  222. package/connectors/spreadsheet-file/.env.example +1 -1
  223. package/connectors/spreadsheet-file/CLAUDE.md +2 -2
  224. package/connectors/spreadsheet-file/README.md +3 -3
  225. package/connectors/spreadsheet-file/src/api/client.test.ts +8 -9
  226. package/connectors/spreadsheet-file/src/api/client.ts +4 -3
  227. package/connectors/spreadsheet-file/src/cli/index.ts +1 -1
  228. package/connectors/sprinklr/package.json +1 -1
  229. package/connectors/sprout-social/package.json +1 -1
  230. package/connectors/square/package.json +1 -1
  231. package/connectors/sse-trigger/.env.example +1 -1
  232. package/connectors/sse-trigger/CLAUDE.md +2 -2
  233. package/connectors/sse-trigger/README.md +1 -1
  234. package/connectors/sse-trigger/package.json +1 -1
  235. package/connectors/sse-trigger/src/api/client.test.ts +12 -8
  236. package/connectors/sse-trigger/src/api/client.ts +4 -3
  237. package/connectors/sse-trigger/src/api/index.ts +1 -1
  238. package/connectors/sse-trigger/src/cli/index.ts +1 -1
  239. package/connectors/sse-trigger/src/index.ts +1 -1
  240. package/connectors/stability-api-platform/AGENTS.md +2 -2
  241. package/connectors/stability-api-platform/CLAUDE.md +1 -1
  242. package/connectors/stability-api-platform/README.md +2 -2
  243. package/connectors/stability-api-platform/src/api/client.test.ts +17 -12
  244. package/connectors/stability-api-platform/src/api/client.ts +4 -3
  245. package/connectors/stability-api-platform/src/api/index.ts +0 -1
  246. package/connectors/stability-api-platform/src/cli/index.ts +1 -1
  247. package/connectors/stability-api-platform/src/index.ts +0 -1
  248. package/connectors/standout/package.json +1 -1
  249. package/connectors/statuspage/package.json +1 -1
  250. package/connectors/stop-and-error/.env.example +1 -1
  251. package/connectors/stop-and-error/CLAUDE.md +1 -1
  252. package/connectors/stop-and-error/README.md +1 -1
  253. package/connectors/stop-and-error/src/api/client.test.ts +12 -8
  254. package/connectors/stop-and-error/src/api/client.ts +4 -3
  255. package/connectors/stop-and-error/src/cli/index.ts +2 -2
  256. package/connectors/stoplight/package.json +1 -1
  257. package/connectors/stoplight-api-platform/package.json +1 -1
  258. package/connectors/strand-ai/CLAUDE.md +1 -1
  259. package/connectors/stripe-financial-connections/.env.example +1 -1
  260. package/connectors/stripe-financial-connections/CLAUDE.md +2 -2
  261. package/connectors/stripe-financial-connections/package.json +1 -1
  262. package/connectors/stripe-financial-connections/src/api/client.test.ts +34 -0
  263. package/connectors/stripe-financial-connections/src/api/client.ts +4 -3
  264. package/connectors/stripe-financial-connections/src/cli/index.ts +1 -1
  265. package/connectors/stripe-terminal/package.json +1 -1
  266. package/connectors/stytch/package.json +1 -1
  267. package/connectors/sucuri-api-platform/.env.example +1 -1
  268. package/connectors/sucuri-api-platform/CLAUDE.md +1 -1
  269. package/connectors/sucuri-api-platform/README.md +2 -2
  270. package/connectors/sucuri-api-platform/src/api/client.test.ts +9 -7
  271. package/connectors/sucuri-api-platform/src/api/client.ts +4 -3
  272. package/connectors/sucuri-api-platform/src/api/index.ts +1 -1
  273. package/connectors/sucuri-api-platform/src/cli/index.ts +1 -1
  274. package/connectors/sucuri-api-platform/src/index.ts +1 -1
  275. package/connectors/sumo-logic/package.json +1 -1
  276. package/connectors/supabase/package.json +1 -1
  277. package/connectors/supabase-api-platform/package.json +1 -1
  278. package/connectors/sysdig/package.json +1 -1
  279. package/connectors/tableau/package.json +1 -1
  280. package/connectors/takecareos/README.md +2 -2
  281. package/connectors/takecareos/package.json +1 -1
  282. package/connectors/telegram/src/api/bot.ts +20 -0
  283. package/connectors/telegram/src/api/client.ts +32 -0
  284. package/connectors/telegram/src/api/files.test.ts +103 -0
  285. package/connectors/telegram/src/api/index.ts +1 -0
  286. package/connectors/telegram/src/api/messages.test.ts +8 -2
  287. package/connectors/telegram/src/cli/files.test.ts +40 -0
  288. package/connectors/telegram/src/cli/files.ts +38 -0
  289. package/connectors/telegram/src/cli/index.ts +27 -30
  290. package/connectors/telegram/src/cli/updates.test.ts +176 -0
  291. package/connectors/telegram/src/cli/updates.ts +95 -0
  292. package/connectors/telegram/src/index.ts +1 -0
  293. package/connectors/telegram/src/types/index.ts +13 -0
  294. package/connectors/terraform-cloud/package.json +1 -1
  295. package/connectors/tettra-api-platform/CLAUDE.md +1 -1
  296. package/connectors/tettra-api-platform/README.md +2 -2
  297. package/connectors/tettra-api-platform/src/api/client.test.ts +7 -8
  298. package/connectors/tettra-api-platform/src/api/client.ts +4 -3
  299. package/connectors/tettra-api-platform/src/api/index.ts +1 -1
  300. package/connectors/tettra-api-platform/src/cli/index.ts +1 -1
  301. package/connectors/tettra-api-platform/src/index.ts +1 -1
  302. package/connectors/textit/package.json +1 -1
  303. package/connectors/thousandeyes/package.json +1 -1
  304. package/connectors/ticket-tailor/package.json +1 -1
  305. package/connectors/ticketsource/package.json +1 -1
  306. package/connectors/tiktokads/README.md +1 -1
  307. package/connectors/time-saved/package.json +1 -1
  308. package/connectors/tipalti/package.json +1 -1
  309. package/connectors/together-api-platform/.env.example +1 -1
  310. package/connectors/together-api-platform/CLAUDE.md +1 -1
  311. package/connectors/together-api-platform/README.md +1 -1
  312. package/connectors/together-api-platform/src/api/client.test.ts +11 -7
  313. package/connectors/together-api-platform/src/api/client.ts +4 -4
  314. package/connectors/together-api-platform/src/api/index.ts +1 -1
  315. package/connectors/together-api-platform/src/cli/index.ts +1 -1
  316. package/connectors/together-api-platform/src/index.ts +1 -1
  317. package/connectors/tomtom/AGENTS.md +1 -1
  318. package/connectors/totp/package.json +1 -1
  319. package/connectors/traverse/package.json +1 -1
  320. package/connectors/travo-ai/package.json +1 -1
  321. package/connectors/travo-real-estate/CLAUDE.md +1 -1
  322. package/connectors/travo-real-estate/README.md +1 -1
  323. package/connectors/travo-real-estate/src/api/client.test.ts +20 -16
  324. package/connectors/travo-real-estate/src/api/client.ts +4 -3
  325. package/connectors/travo-real-estate/src/utils/config.ts +2 -4
  326. package/connectors/tray-api-platform/CLAUDE.md +1 -1
  327. package/connectors/tray-api-platform/src/api/client.test.ts +17 -13
  328. package/connectors/tray-api-platform/src/api/client.ts +4 -3
  329. package/connectors/tray-api-platform/src/api/index.ts +1 -1
  330. package/connectors/tray-api-platform/src/cli/index.ts +1 -1
  331. package/connectors/tray-api-platform/src/index.ts +0 -1
  332. package/connectors/trigger-dev/package.json +1 -1
  333. package/connectors/trigger-dev-api-platform/package.json +1 -1
  334. package/connectors/turbot-pipes/package.json +1 -1
  335. package/connectors/turso/package.json +1 -1
  336. package/connectors/turso-api-platform/CLAUDE.md +1 -1
  337. package/connectors/turso-api-platform/README.md +2 -2
  338. package/connectors/turso-api-platform/package.json +1 -1
  339. package/connectors/turso-api-platform/src/api/client.test.ts +17 -13
  340. package/connectors/turso-api-platform/src/api/client.ts +4 -3
  341. package/connectors/turso-api-platform/src/cli/index.ts +2 -2
  342. package/connectors/twilio-api-platform/CLAUDE.md +1 -1
  343. package/connectors/twilio-api-platform/src/api/client.test.ts +11 -11
  344. package/connectors/twilio-api-platform/src/api/client.ts +4 -3
  345. package/connectors/twilio-api-platform/src/api/index.ts +1 -1
  346. package/connectors/twilio-api-platform/src/cli/index.ts +1 -1
  347. package/connectors/twilio-api-platform/src/index.ts +1 -1
  348. package/connectors/tyk-api-platform/.env.example +1 -1
  349. package/connectors/tyk-api-platform/CLAUDE.md +2 -2
  350. package/connectors/tyk-api-platform/README.md +1 -1
  351. package/connectors/tyk-api-platform/package.json +1 -1
  352. package/connectors/tyk-api-platform/src/api/client.test.ts +14 -15
  353. package/connectors/tyk-api-platform/src/api/client.ts +4 -3
  354. package/connectors/tyk-api-platform/src/api/index.ts +1 -1
  355. package/connectors/tyk-api-platform/src/cli/index.ts +1 -1
  356. package/connectors/tyk-api-platform/src/index.ts +1 -1
  357. package/connectors/umami/package.json +1 -1
  358. package/connectors/unifold/package.json +1 -1
  359. package/connectors/unione/package.json +1 -1
  360. package/connectors/uniprot/README.md +1 -1
  361. package/connectors/uniswap-api/package.json +1 -1
  362. package/connectors/ups/package.json +1 -1
  363. package/connectors/usereframe/package.json +1 -1
  364. package/connectors/vanta/package.json +1 -1
  365. package/connectors/vector-legal/.env.example +1 -1
  366. package/connectors/vector-legal/AGENTS.md +1 -1
  367. package/connectors/vector-legal/CLAUDE.md +1 -1
  368. package/connectors/vector-legal/README.md +1 -1
  369. package/connectors/vector-legal/src/api/client.test.ts +9 -5
  370. package/connectors/vector-legal/src/api/client.ts +4 -3
  371. package/connectors/vector-legal/src/api/index.ts +1 -1
  372. package/connectors/vector-legal/src/cli/index.ts +2 -2
  373. package/connectors/vector-legal/src/index.ts +0 -1
  374. package/connectors/vector-legal-api/CLAUDE.md +1 -1
  375. package/connectors/vector-legal-api/README.md +2 -2
  376. package/connectors/vector-legal-api/src/api/client.test.ts +12 -7
  377. package/connectors/vector-legal-api/src/api/client.ts +4 -3
  378. package/connectors/vector-legal-api/src/api/index.ts +1 -1
  379. package/connectors/vector-legal-api/src/cli/index.ts +1 -1
  380. package/connectors/vector-legal-api/src/index.ts +1 -2
  381. package/connectors/vela/package.json +1 -1
  382. package/connectors/velum-data-quality/.env.example +1 -1
  383. package/connectors/velum-data-quality/CLAUDE.md +1 -1
  384. package/connectors/velum-data-quality/src/api/client.test.ts +15 -16
  385. package/connectors/velum-data-quality/src/api/client.ts +4 -3
  386. package/connectors/velum-data-quality/src/api/index.ts +1 -1
  387. package/connectors/velum-data-quality/src/cli/index.ts +1 -1
  388. package/connectors/velum-data-quality/src/index.ts +0 -1
  389. package/connectors/velum-labs/package.json +1 -1
  390. package/connectors/vercel/package.json +1 -1
  391. package/connectors/vercel-api-platform/.env.example +1 -1
  392. package/connectors/vercel-api-platform/CLAUDE.md +2 -2
  393. package/connectors/vercel-api-platform/README.md +2 -2
  394. package/connectors/vercel-api-platform/src/api/client.test.ts +27 -6
  395. package/connectors/vercel-api-platform/src/api/client.ts +4 -3
  396. package/connectors/vercel-api-platform/src/api/index.ts +1 -1
  397. package/connectors/vercel-api-platform/src/cli/index.ts +2 -2
  398. package/connectors/vercel-api-platform/src/index.ts +0 -1
  399. package/connectors/vercel-blob/package.json +1 -1
  400. package/connectors/vercel-blob-platform/package.json +1 -1
  401. package/connectors/vercel-edge-config/package.json +1 -1
  402. package/connectors/vercel-edge-config-platform/package.json +1 -1
  403. package/connectors/veriphone/README.md +2 -2
  404. package/connectors/vertex-ai/package.json +1 -1
  405. package/connectors/vidyard/package.json +1 -1
  406. package/connectors/vonage/package.json +1 -1
  407. package/connectors/voygr/package.json +1 -1
  408. package/connectors/wait/package.json +1 -1
  409. package/connectors/walmart-marketplace/package.json +1 -1
  410. package/connectors/wato/package.json +1 -1
  411. package/connectors/wave-accounting/CLAUDE.md +1 -1
  412. package/connectors/wave-accounting/package.json +1 -1
  413. package/connectors/wave-accounting/src/utils/auth.ts +1 -1
  414. package/connectors/wayco/package.json +1 -1
  415. package/connectors/weaviate-api-platform/CLAUDE.md +1 -1
  416. package/connectors/weaviate-api-platform/src/api/client.test.ts +32 -7
  417. package/connectors/weaviate-api-platform/src/api/client.ts +4 -3
  418. package/connectors/weaviate-api-platform/src/api/index.ts +1 -1
  419. package/connectors/weaviate-api-platform/src/cli/index.ts +1 -1
  420. package/connectors/weaviate-api-platform/src/index.ts +1 -1
  421. package/connectors/webpagetest/package.json +1 -1
  422. package/connectors/weezevent/package.json +1 -1
  423. package/connectors/wikipedia/src/api/client.ts +1 -1
  424. package/connectors/wildcard/package.json +1 -1
  425. package/connectors/windmill/package.json +1 -1
  426. package/connectors/wise/package.json +1 -1
  427. package/connectors/withai/package.json +1 -1
  428. package/connectors/wiz/CLAUDE.md +1 -1
  429. package/connectors/wiz/package.json +1 -1
  430. package/connectors/wordfence/package.json +1 -1
  431. package/connectors/wordfence-api-platform/package.json +1 -1
  432. package/connectors/workflow-trigger/.env.example +1 -1
  433. package/connectors/workflow-trigger/CLAUDE.md +1 -1
  434. package/connectors/workflow-trigger/README.md +1 -1
  435. package/connectors/workflow-trigger/src/api/client.test.ts +10 -6
  436. package/connectors/workflow-trigger/src/api/client.ts +4 -3
  437. package/connectors/workflow-trigger/src/cli/index.ts +1 -1
  438. package/connectors/workos/package.json +1 -1
  439. package/connectors/write-binary-file/CLAUDE.md +1 -1
  440. package/connectors/write-binary-file/README.md +1 -1
  441. package/connectors/write-binary-file/package.json +1 -1
  442. package/connectors/write-binary-file/src/api/client.test.ts +16 -12
  443. package/connectors/write-binary-file/src/api/client.ts +4 -3
  444. package/connectors/write-binary-file/src/api/index.ts +1 -1
  445. package/connectors/write-binary-file/src/index.ts +1 -1
  446. package/connectors/wubookratechecker/src/api/client.test.ts +34 -0
  447. package/connectors/wubookratechecker/src/api/client.ts +3 -1
  448. package/connectors/wubookratechecker/src/api/index.ts +1 -1
  449. package/connectors/wubookratechecker/src/types/index.ts +1 -1
  450. package/connectors/xai/.env.example +1 -1
  451. package/connectors/xai-api-platform/.env.example +1 -1
  452. package/connectors/xai-api-platform/CLAUDE.md +1 -1
  453. package/connectors/xai-api-platform/README.md +1 -1
  454. package/connectors/xai-api-platform/src/api/client.test.ts +34 -9
  455. package/connectors/xai-api-platform/src/api/client.ts +4 -3
  456. package/connectors/xai-api-platform/src/api/index.ts +1 -1
  457. package/connectors/xai-api-platform/src/cli/index.ts +1 -1
  458. package/connectors/xai-api-platform/src/index.ts +1 -1
  459. package/connectors/xai-api-platform/src/utils/config.ts +3 -4
  460. package/connectors/xai-grok/.env.example +1 -1
  461. package/connectors/xai-grok/src/api/client.test.ts +3 -3
  462. package/connectors/xai-grok/src/cli/index.ts +1 -1
  463. package/connectors/xai-grok/src/utils/config.ts +1 -1
  464. package/connectors/ynab/package.json +1 -1
  465. package/connectors/you-com/README.md +2 -2
  466. package/connectors/you-com/package.json +1 -1
  467. package/connectors/yousign/package.json +1 -1
  468. package/connectors/zapier-api-platform/CLAUDE.md +1 -1
  469. package/connectors/zapier-api-platform/README.md +1 -1
  470. package/connectors/zapier-api-platform/src/api/client.test.ts +19 -14
  471. package/connectors/zapier-api-platform/src/api/client.ts +4 -3
  472. package/connectors/zapier-api-platform/src/api/index.ts +1 -1
  473. package/connectors/zapier-api-platform/src/cli/index.ts +1 -1
  474. package/connectors/zapier-api-platform/src/index.ts +1 -1
  475. package/connectors/zendesk/.env.example +4 -4
  476. package/connectors/zendesk/CLAUDE.md +1 -3
  477. package/connectors/zendesk/Makefile +18 -5
  478. package/connectors/zendesk/README.md +3 -8
  479. package/connectors/zendesk/SCAFFOLD.md +6 -5
  480. package/connectors/zerosettle/package.json +1 -1
  481. package/connectors/zoho-bigin/CLAUDE.md +1 -1
  482. package/connectors/zoho-campaigns/package.json +1 -1
  483. package/connectors/zoho-sign/package.json +1 -1
  484. package/connectors/zoho-subscriptions/CLAUDE.md +1 -1
  485. package/connectors/zohoprojects/CLAUDE.md +1 -1
  486. package/connectors/zolvo/package.json +1 -1
  487. package/connectors/zoom-api/package.json +1 -1
  488. package/connectors/zymbly/README.md +2 -2
  489. package/connectors/zymbly/package.json +1 -1
  490. package/dashboard/dist/assets/index-8uoGZF7B.js +280 -0
  491. package/dashboard/dist/index.html +1 -1
  492. package/dist/db/locks.d.ts +1 -1
  493. package/dist/index.js +17 -15
  494. package/dist/lib/connector-resolver.d.ts +1 -1
  495. package/dist/lib/llm.d.ts +1 -1
  496. package/dist/lib/open-browser.d.ts +18 -0
  497. package/dist/lib/open-browser.test.d.ts +1 -0
  498. package/package.json +6 -4
  499. package/dashboard/dist/assets/index-DlEljRrW.js +0 -285
package/bin/index.js CHANGED
@@ -65,7 +65,7 @@ var __export = (target, all) => {
65
65
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
66
66
  var __require = import.meta.require;
67
67
 
68
- // node_modules/commander/lib/error.js
68
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/error.js
69
69
  var require_error = __commonJS((exports) => {
70
70
  class CommanderError extends Error {
71
71
  constructor(exitCode, code, message) {
@@ -89,7 +89,7 @@ var require_error = __commonJS((exports) => {
89
89
  exports.InvalidArgumentError = InvalidArgumentError;
90
90
  });
91
91
 
92
- // node_modules/commander/lib/argument.js
92
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/argument.js
93
93
  var require_argument = __commonJS((exports) => {
94
94
  var { InvalidArgumentError } = require_error();
95
95
 
@@ -168,7 +168,7 @@ var require_argument = __commonJS((exports) => {
168
168
  exports.humanReadableArgName = humanReadableArgName;
169
169
  });
170
170
 
171
- // node_modules/commander/lib/help.js
171
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/help.js
172
172
  var require_help = __commonJS((exports) => {
173
173
  var { humanReadableArgName } = require_argument();
174
174
 
@@ -417,7 +417,7 @@ var require_help = __commonJS((exports) => {
417
417
  exports.Help = Help;
418
418
  });
419
419
 
420
- // node_modules/commander/lib/option.js
420
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/option.js
421
421
  var require_option = __commonJS((exports) => {
422
422
  var { InvalidArgumentError } = require_error();
423
423
 
@@ -568,7 +568,7 @@ var require_option = __commonJS((exports) => {
568
568
  exports.DualOptions = DualOptions;
569
569
  });
570
570
 
571
- // node_modules/commander/lib/suggestSimilar.js
571
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/suggestSimilar.js
572
572
  var require_suggestSimilar = __commonJS((exports) => {
573
573
  var maxDistance = 3;
574
574
  function editDistance(a, b) {
@@ -641,7 +641,7 @@ var require_suggestSimilar = __commonJS((exports) => {
641
641
  exports.suggestSimilar = suggestSimilar;
642
642
  });
643
643
 
644
- // node_modules/commander/lib/command.js
644
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/lib/command.js
645
645
  var require_command = __commonJS((exports) => {
646
646
  var EventEmitter = __require("events").EventEmitter;
647
647
  var childProcess = __require("child_process");
@@ -1884,7 +1884,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1884
1884
  exports.Command = Command;
1885
1885
  });
1886
1886
 
1887
- // node_modules/commander/index.js
1887
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/index.js
1888
1888
  var require_commander = __commonJS((exports) => {
1889
1889
  var { Argument } = require_argument();
1890
1890
  var { Command } = require_command();
@@ -1909,7 +1909,7 @@ var package_default;
1909
1909
  var init_package = __esm(() => {
1910
1910
  package_default = {
1911
1911
  name: "@hasna/connectors",
1912
- version: "1.4.1",
1912
+ version: "1.4.3",
1913
1913
  description: "Open source connector library - Install API connectors with a single command",
1914
1914
  type: "module",
1915
1915
  bin: {
@@ -1951,10 +1951,11 @@ var init_package = __esm(() => {
1951
1951
  dev: "bun run ./src/cli/index.tsx",
1952
1952
  "check:package-secrets": "bun run scripts/check-package-secrets.ts",
1953
1953
  typecheck: "tsc --noEmit && tsc -p tsconfig.social.json --noEmit",
1954
- test: "bun test",
1954
+ test: "bun run build && bun test",
1955
1955
  "secrets:scan:npmrc": "bun run scripts/scan-npmrc-auth.mjs",
1956
1956
  "sdk:build": "cd sdk && bun run build",
1957
- prepublishOnly: "bun run secrets:scan:npmrc && bun run check:package-secrets && bun run build && bun test"
1957
+ prepublishOnly: "bun run secrets:scan:npmrc && bun run build && bun run check:package-secrets && bun test",
1958
+ prepack: "bun run build && bun run check:package-secrets"
1958
1959
  },
1959
1960
  keywords: [
1960
1961
  "connectors",
@@ -1975,7 +1976,8 @@ var init_package = __esm(() => {
1975
1976
  "@types/bun": "latest",
1976
1977
  "@types/react": "^18.2.0",
1977
1978
  "ink-testing-library": "^4.0.0",
1978
- typescript: "^5"
1979
+ typescript: "^5",
1980
+ "bun-types": "1.3.14"
1979
1981
  },
1980
1982
  dependencies: {
1981
1983
  "@hasna/events": "0.1.8",
@@ -2131,7 +2133,7 @@ var init_registry = __esm(() => {
2131
2133
  init_connector();
2132
2134
  });
2133
2135
 
2134
- // node_modules/zod/v3/helpers/util.js
2136
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/util.js
2135
2137
  var util, objectUtil, ZodParsedType, getParsedType = (data) => {
2136
2138
  const t = typeof data;
2137
2139
  switch (t) {
@@ -2262,7 +2264,7 @@ var init_util = __esm(() => {
2262
2264
  ]);
2263
2265
  });
2264
2266
 
2265
- // node_modules/zod/v3/ZodError.js
2267
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/ZodError.js
2266
2268
  var ZodIssueCode, quotelessJson = (obj) => {
2267
2269
  const json = JSON.stringify(obj, null, 2);
2268
2270
  return json.replace(/"([^"]+)":/g, "$1:");
@@ -2383,7 +2385,7 @@ var init_ZodError = __esm(() => {
2383
2385
  };
2384
2386
  });
2385
2387
 
2386
- // node_modules/zod/v3/locales/en.js
2388
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/locales/en.js
2387
2389
  var errorMap = (issue, _ctx) => {
2388
2390
  let message;
2389
2391
  switch (issue.code) {
@@ -2490,7 +2492,7 @@ var init_en = __esm(() => {
2490
2492
  en_default = errorMap;
2491
2493
  });
2492
2494
 
2493
- // node_modules/zod/v3/errors.js
2495
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/errors.js
2494
2496
  function setErrorMap(map) {
2495
2497
  overrideErrorMap = map;
2496
2498
  }
@@ -2503,7 +2505,7 @@ var init_errors2 = __esm(() => {
2503
2505
  overrideErrorMap = en_default;
2504
2506
  });
2505
2507
 
2506
- // node_modules/zod/v3/helpers/parseUtil.js
2508
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
2507
2509
  function addIssueToContext(ctx, issueData) {
2508
2510
  const overrideMap = getErrorMap();
2509
2511
  const issue = makeIssue({
@@ -2608,10 +2610,10 @@ var init_parseUtil = __esm(() => {
2608
2610
  });
2609
2611
  });
2610
2612
 
2611
- // node_modules/zod/v3/helpers/typeAliases.js
2613
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js
2612
2614
  var init_typeAliases = () => {};
2613
2615
 
2614
- // node_modules/zod/v3/helpers/errorUtil.js
2616
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js
2615
2617
  var errorUtil;
2616
2618
  var init_errorUtil = __esm(() => {
2617
2619
  (function(errorUtil2) {
@@ -2620,7 +2622,7 @@ var init_errorUtil = __esm(() => {
2620
2622
  })(errorUtil || (errorUtil = {}));
2621
2623
  });
2622
2624
 
2623
- // node_modules/zod/v3/types.js
2625
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/types.js
2624
2626
  class ParseInputLazyPath {
2625
2627
  constructor(parent, value, path, key) {
2626
2628
  this._cachedPath = [];
@@ -5971,7 +5973,7 @@ var init_types = __esm(() => {
5971
5973
  NEVER = INVALID;
5972
5974
  });
5973
5975
 
5974
- // node_modules/zod/v3/external.js
5976
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/external.js
5975
5977
  var exports_external = {};
5976
5978
  __export(exports_external, {
5977
5979
  void: () => voidType,
@@ -6091,7 +6093,7 @@ var init_external = __esm(() => {
6091
6093
  init_ZodError();
6092
6094
  });
6093
6095
 
6094
- // node_modules/zod/index.js
6096
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/index.js
6095
6097
  var init_zod = __esm(() => {
6096
6098
  init_external();
6097
6099
  init_external();
@@ -8889,7 +8891,7 @@ var CONNECTOR_NAME = "imessage", COMMAND_SPECS, ROOT_HELP2, COMMAND_HELP2, COMMA
8889
8891
 
8890
8892
  ## Project Overview
8891
8893
 
8892
- connect-imessage is the bridge-first iMessage connector for the one-product open-connectors runtime. It intentionally targets a normalized HTTP bridge contract instead of native macOS automation so the same connector definition can run locally today and back future hosted channel adapters without rewriting the API surface.
8894
+ connect-imessage is the bridge-first iMessage connector for the one-product connectors runtime. It intentionally targets a normalized HTTP bridge contract instead of native macOS automation so the same connector definition can run locally today and back future hosted channel adapters without rewriting the API surface.
8893
8895
 
8894
8896
  The connector exposes profile/config management plus normalized health, conversation, and message operations. Inbound message consumption and outbound send/reply are all routed through the same internal connector definition and command runtime.
8895
8897
 
@@ -10220,7 +10222,7 @@ var init_ai_ml = __esm(() => {
10220
10222
  tags: ["ai", "llm", "grok"]
10221
10223
  },
10222
10224
  {
10223
- name: "xai-api-platform",
10225
+ name: "xai" + "-api-platform",
10224
10226
  displayName: "Xai API Platform",
10225
10227
  description: "Xai API Platform REST API for items, events, and search",
10226
10228
  category: "AI & ML",
@@ -11445,7 +11447,7 @@ var init_ai_ml = __esm(() => {
11445
11447
  tags: ["ai", "asset-management", "research"]
11446
11448
  },
11447
11449
  {
11448
- name: "xai-grok",
11450
+ name: "xai" + "-grok",
11449
11451
  displayName: "xAI Grok",
11450
11452
  description: "Grok models, Responses API, embeddings, media, files, batches, and collections",
11451
11453
  category: "AI & ML",
@@ -18642,7 +18644,7 @@ var init_registry2 = __esm(() => {
18642
18644
  ];
18643
18645
  });
18644
18646
 
18645
- // node_modules/cli-spinners/spinners.json
18647
+ // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
18646
18648
  var require_spinners = __commonJS((exports, module) => {
18647
18649
  module.exports = {
18648
18650
  dots: {
@@ -20268,7 +20270,7 @@ var require_spinners = __commonJS((exports, module) => {
20268
20270
  };
20269
20271
  });
20270
20272
 
20271
- // node_modules/cli-spinners/index.js
20273
+ // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/index.js
20272
20274
  var require_cli_spinners = __commonJS((exports, module) => {
20273
20275
  var spinners = Object.assign({}, require_spinners());
20274
20276
  var spinnersList = Object.keys(spinners);
@@ -20924,7 +20926,9 @@ function guessKeyField(name) {
20924
20926
  const keyVar = docs.envVars.find((v) => v.variable.includes("API_KEY") || v.variable.includes("API_SECRET") || v.variable.includes("TOKEN") || v.variable.includes("SECRET"));
20925
20927
  if (keyVar) {
20926
20928
  const parts = keyVar.variable.toLowerCase().split("_");
20927
- const withoutPrefix = parts.slice(1);
20929
+ const connectorParts = name.toLowerCase().split(/[-_]/);
20930
+ const prefixLength = connectorParts.every((part, index) => parts[index] === part) ? connectorParts.length : 1;
20931
+ const withoutPrefix = parts.slice(prefixLength);
20928
20932
  if (withoutPrefix.length > 0) {
20929
20933
  return withoutPrefix.map((p, i) => i === 0 ? p : p.charAt(0).toUpperCase() + p.slice(1)).join("");
20930
20934
  }
@@ -22342,7 +22346,153 @@ var init_manifest = __esm(() => {
22342
22346
  init_builtins();
22343
22347
  });
22344
22348
 
22345
- // node_modules/zod/v4/core/core.js
22349
+ // ../../node_modules/.bun/content-type@1.0.5/node_modules/content-type/index.js
22350
+ var require_content_type = __commonJS((exports) => {
22351
+ /*!
22352
+ * content-type
22353
+ * Copyright(c) 2015 Douglas Christopher Wilson
22354
+ * MIT Licensed
22355
+ */
22356
+ var PARAM_REGEXP = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;
22357
+ var TEXT_REGEXP = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/;
22358
+ var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
22359
+ var QESC_REGEXP = /\\([\u000b\u0020-\u00ff])/g;
22360
+ var QUOTE_REGEXP = /([\\"])/g;
22361
+ var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
22362
+ exports.format = format;
22363
+ exports.parse = parse;
22364
+ function format(obj) {
22365
+ if (!obj || typeof obj !== "object") {
22366
+ throw new TypeError("argument obj is required");
22367
+ }
22368
+ var parameters = obj.parameters;
22369
+ var type = obj.type;
22370
+ if (!type || !TYPE_REGEXP.test(type)) {
22371
+ throw new TypeError("invalid type");
22372
+ }
22373
+ var string = type;
22374
+ if (parameters && typeof parameters === "object") {
22375
+ var param;
22376
+ var params = Object.keys(parameters).sort();
22377
+ for (var i = 0;i < params.length; i++) {
22378
+ param = params[i];
22379
+ if (!TOKEN_REGEXP.test(param)) {
22380
+ throw new TypeError("invalid parameter name");
22381
+ }
22382
+ string += "; " + param + "=" + qstring(parameters[param]);
22383
+ }
22384
+ }
22385
+ return string;
22386
+ }
22387
+ function parse(string) {
22388
+ if (!string) {
22389
+ throw new TypeError("argument string is required");
22390
+ }
22391
+ var header = typeof string === "object" ? getcontenttype(string) : string;
22392
+ if (typeof header !== "string") {
22393
+ throw new TypeError("argument string is required to be a string");
22394
+ }
22395
+ var index = header.indexOf(";");
22396
+ var type = index !== -1 ? header.slice(0, index).trim() : header.trim();
22397
+ if (!TYPE_REGEXP.test(type)) {
22398
+ throw new TypeError("invalid media type");
22399
+ }
22400
+ var obj = new ContentType(type.toLowerCase());
22401
+ if (index !== -1) {
22402
+ var key;
22403
+ var match;
22404
+ var value;
22405
+ PARAM_REGEXP.lastIndex = index;
22406
+ while (match = PARAM_REGEXP.exec(header)) {
22407
+ if (match.index !== index) {
22408
+ throw new TypeError("invalid parameter format");
22409
+ }
22410
+ index += match[0].length;
22411
+ key = match[1].toLowerCase();
22412
+ value = match[2];
22413
+ if (value.charCodeAt(0) === 34) {
22414
+ value = value.slice(1, -1);
22415
+ if (value.indexOf("\\") !== -1) {
22416
+ value = value.replace(QESC_REGEXP, "$1");
22417
+ }
22418
+ }
22419
+ obj.parameters[key] = value;
22420
+ }
22421
+ if (index !== header.length) {
22422
+ throw new TypeError("invalid parameter format");
22423
+ }
22424
+ }
22425
+ return obj;
22426
+ }
22427
+ function getcontenttype(obj) {
22428
+ var header;
22429
+ if (typeof obj.getHeader === "function") {
22430
+ header = obj.getHeader("content-type");
22431
+ } else if (typeof obj.headers === "object") {
22432
+ header = obj.headers && obj.headers["content-type"];
22433
+ }
22434
+ if (typeof header !== "string") {
22435
+ throw new TypeError("content-type header is missing from object");
22436
+ }
22437
+ return header;
22438
+ }
22439
+ function qstring(val) {
22440
+ var str = String(val);
22441
+ if (TOKEN_REGEXP.test(str)) {
22442
+ return str;
22443
+ }
22444
+ if (str.length > 0 && !TEXT_REGEXP.test(str)) {
22445
+ throw new TypeError("invalid parameter value");
22446
+ }
22447
+ return '"' + str.replace(QUOTE_REGEXP, "\\$1") + '"';
22448
+ }
22449
+ function ContentType(type) {
22450
+ this.parameters = Object.create(null);
22451
+ this.type = type;
22452
+ }
22453
+ });
22454
+
22455
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js
22456
+ function mediaTypeEssence(header) {
22457
+ if (!header) {
22458
+ return;
22459
+ }
22460
+ try {
22461
+ return import_content_type.default.parse(header).type;
22462
+ } catch {
22463
+ const essence = (header.split(";", 1)[0] ?? "").trim().toLowerCase();
22464
+ if (essence === "" || header.slice(essence.length).includes(",")) {
22465
+ return;
22466
+ }
22467
+ return essence;
22468
+ }
22469
+ }
22470
+ function isJsonContentType(header) {
22471
+ if (header === "application/json") {
22472
+ return true;
22473
+ }
22474
+ return mediaTypeEssence(header) === "application/json";
22475
+ }
22476
+ var import_content_type;
22477
+ var init_mediaType = __esm(() => {
22478
+ import_content_type = __toESM(require_content_type(), 1);
22479
+ });
22480
+
22481
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js
22482
+ function armSseKeepAlive(intervalMs, onTick) {
22483
+ if (!Number.isFinite(intervalMs) || intervalMs < 1) {
22484
+ return;
22485
+ }
22486
+ const timer = setInterval(onTick, Math.min(intervalMs, MAX_TIMER_DELAY_MS));
22487
+ timer.unref?.();
22488
+ return timer;
22489
+ }
22490
+ var DEFAULT_SSE_KEEP_ALIVE_MS = 15000, MAX_TIMER_DELAY_MS;
22491
+ var init_sseKeepAlive = __esm(() => {
22492
+ MAX_TIMER_DELAY_MS = 2 ** 31 - 1;
22493
+ });
22494
+
22495
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/core.js
22346
22496
  function $constructor(name, initializer, params) {
22347
22497
  function init(inst, def) {
22348
22498
  var _a;
@@ -22405,7 +22555,7 @@ var init_core = __esm(() => {
22405
22555
  globalConfig = {};
22406
22556
  });
22407
22557
 
22408
- // node_modules/zod/v4/core/util.js
22558
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/util.js
22409
22559
  var exports_util = {};
22410
22560
  __export(exports_util, {
22411
22561
  unwrapMessage: () => unwrapMessage,
@@ -22921,7 +23071,7 @@ var init_util2 = __esm(() => {
22921
23071
  };
22922
23072
  });
22923
23073
 
22924
- // node_modules/zod/v4/core/errors.js
23074
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/errors.js
22925
23075
  function flattenError(error, mapper = (issue2) => issue2.message) {
22926
23076
  const fieldErrors = {};
22927
23077
  const formErrors = [];
@@ -22999,7 +23149,7 @@ var init_errors3 = __esm(() => {
22999
23149
  $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
23000
23150
  });
23001
23151
 
23002
- // node_modules/zod/v4/core/parse.js
23152
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/parse.js
23003
23153
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
23004
23154
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
23005
23155
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -23053,7 +23203,7 @@ var init_parse = __esm(() => {
23053
23203
  safeParseAsync = /* @__PURE__ */ _safeParseAsync($ZodRealError);
23054
23204
  });
23055
23205
 
23056
- // node_modules/zod/v4/core/regexes.js
23206
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/regexes.js
23057
23207
  function emoji() {
23058
23208
  return new RegExp(_emoji, "u");
23059
23209
  }
@@ -23110,7 +23260,7 @@ var init_regexes = __esm(() => {
23110
23260
  uppercase = /^[^a-z]*$/;
23111
23261
  });
23112
23262
 
23113
- // node_modules/zod/v4/core/checks.js
23263
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/checks.js
23114
23264
  var $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckOverwrite;
23115
23265
  var init_checks = __esm(() => {
23116
23266
  init_core();
@@ -23500,7 +23650,7 @@ var init_checks = __esm(() => {
23500
23650
  });
23501
23651
  });
23502
23652
 
23503
- // node_modules/zod/v4/core/doc.js
23653
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/doc.js
23504
23654
  class Doc {
23505
23655
  constructor(args = []) {
23506
23656
  this.content = [];
@@ -23538,7 +23688,7 @@ class Doc {
23538
23688
  }
23539
23689
  }
23540
23690
 
23541
- // node_modules/zod/v4/core/versions.js
23691
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/versions.js
23542
23692
  var version;
23543
23693
  var init_versions = __esm(() => {
23544
23694
  version = {
@@ -23548,7 +23698,7 @@ var init_versions = __esm(() => {
23548
23698
  };
23549
23699
  });
23550
23700
 
23551
- // node_modules/zod/v4/core/schemas.js
23701
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/schemas.js
23552
23702
  function isValidBase64(data) {
23553
23703
  if (data === "")
23554
23704
  return true;
@@ -24790,7 +24940,7 @@ var init_schemas = __esm(() => {
24790
24940
  });
24791
24941
  });
24792
24942
 
24793
- // node_modules/zod/v4/locales/en.js
24943
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/en.js
24794
24944
  function en_default2() {
24795
24945
  return {
24796
24946
  localeError: error()
@@ -24910,10 +25060,10 @@ var init_en2 = __esm(() => {
24910
25060
  init_util2();
24911
25061
  });
24912
25062
 
24913
- // node_modules/zod/v4/locales/index.js
25063
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/locales/index.js
24914
25064
  var init_locales = () => {};
24915
25065
 
24916
- // node_modules/zod/v4/core/registries.js
25066
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/registries.js
24917
25067
  class $ZodRegistry {
24918
25068
  constructor() {
24919
25069
  this._map = new Map;
@@ -24966,7 +25116,7 @@ var init_registries = __esm(() => {
24966
25116
  globalRegistry = /* @__PURE__ */ registry();
24967
25117
  });
24968
25118
 
24969
- // node_modules/zod/v4/core/api.js
25119
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/api.js
24970
25120
  function _string(Class2, params) {
24971
25121
  return new Class2({
24972
25122
  type: "string",
@@ -25406,10 +25556,10 @@ var init_api = __esm(() => {
25406
25556
  init_util2();
25407
25557
  });
25408
25558
 
25409
- // node_modules/zod/v4/core/function.js
25559
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/function.js
25410
25560
  var init_function = () => {};
25411
25561
 
25412
- // node_modules/zod/v4/core/to-json-schema.js
25562
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.js
25413
25563
  class JSONSchemaGenerator {
25414
25564
  constructor(params) {
25415
25565
  this.counter = 0;
@@ -26166,10 +26316,10 @@ var init_to_json_schema = __esm(() => {
26166
26316
  init_util2();
26167
26317
  });
26168
26318
 
26169
- // node_modules/zod/v4/core/json-schema.js
26319
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/json-schema.js
26170
26320
  var init_json_schema = () => {};
26171
26321
 
26172
- // node_modules/zod/v4/core/index.js
26322
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/core/index.js
26173
26323
  var init_core2 = __esm(() => {
26174
26324
  init_util2();
26175
26325
  init_regexes();
@@ -26187,12 +26337,12 @@ var init_core2 = __esm(() => {
26187
26337
  init_to_json_schema();
26188
26338
  });
26189
26339
 
26190
- // node_modules/zod/v4/classic/checks.js
26340
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/checks.js
26191
26341
  var init_checks2 = __esm(() => {
26192
26342
  init_core2();
26193
26343
  });
26194
26344
 
26195
- // node_modules/zod/v4/classic/iso.js
26345
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/iso.js
26196
26346
  var exports_iso = {};
26197
26347
  __export(exports_iso, {
26198
26348
  time: () => time2,
@@ -26238,7 +26388,7 @@ var init_iso = __esm(() => {
26238
26388
  });
26239
26389
  });
26240
26390
 
26241
- // node_modules/zod/v4/classic/errors.js
26391
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/errors.js
26242
26392
  var initializer2 = (inst, issues) => {
26243
26393
  $ZodError.init(inst, issues);
26244
26394
  inst.name = "ZodError";
@@ -26271,7 +26421,7 @@ var init_errors4 = __esm(() => {
26271
26421
  });
26272
26422
  });
26273
26423
 
26274
- // node_modules/zod/v4/classic/parse.js
26424
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/parse.js
26275
26425
  var parse3, parseAsync2, safeParse2, safeParseAsync2;
26276
26426
  var init_parse2 = __esm(() => {
26277
26427
  init_core2();
@@ -26282,7 +26432,7 @@ var init_parse2 = __esm(() => {
26282
26432
  safeParseAsync2 = /* @__PURE__ */ _safeParseAsync(ZodRealError);
26283
26433
  });
26284
26434
 
26285
- // node_modules/zod/v4/classic/schemas.js
26435
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/schemas.js
26286
26436
  function string2(params) {
26287
26437
  return _string(ZodString2, params);
26288
26438
  }
@@ -26896,13 +27046,13 @@ var init_schemas2 = __esm(() => {
26896
27046
  });
26897
27047
  });
26898
27048
 
26899
- // node_modules/zod/v4/classic/compat.js
27049
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/compat.js
26900
27050
  var init_compat = () => {};
26901
27051
 
26902
- // node_modules/zod/v4/classic/coerce.js
27052
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/coerce.js
26903
27053
  var init_coerce = () => {};
26904
27054
 
26905
- // node_modules/zod/v4/classic/external.js
27055
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/external.js
26906
27056
  var init_external2 = __esm(() => {
26907
27057
  init_core2();
26908
27058
  init_core2();
@@ -26918,17 +27068,17 @@ var init_external2 = __esm(() => {
26918
27068
  config(en_default2());
26919
27069
  });
26920
27070
 
26921
- // node_modules/zod/v4/classic/index.js
27071
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/classic/index.js
26922
27072
  var init_classic = __esm(() => {
26923
27073
  init_external2();
26924
27074
  });
26925
27075
 
26926
- // node_modules/zod/v4/index.js
27076
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/index.js
26927
27077
  var init_v4 = __esm(() => {
26928
27078
  init_classic();
26929
27079
  });
26930
27080
 
26931
- // node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
27081
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
26932
27082
  function assertCompleteRequestPrompt(request2) {
26933
27083
  if (request2.params.ref.type !== "ref/prompt") {
26934
27084
  throw new TypeError(`Expected CompleteRequestPrompt, but got ${request2.params.ref.type}`);
@@ -27766,17 +27916,19 @@ var init_types2 = __esm(() => {
27766
27916
  };
27767
27917
  });
27768
27918
 
27769
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js
27919
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js
27770
27920
  class WebStandardStreamableHTTPServerTransport {
27771
27921
  constructor(options = {}) {
27772
27922
  this._started = false;
27773
27923
  this._hasHandledRequest = false;
27774
27924
  this._streamMapping = new Map;
27775
27925
  this._requestToStreamMapping = new Map;
27926
+ this._resumableStreams = new Set;
27776
27927
  this._requestResponseMap = new Map;
27777
27928
  this._initialized = false;
27778
27929
  this._enableJsonResponse = false;
27779
27930
  this._standaloneSseStreamId = "_GET_stream";
27931
+ this._closed = false;
27780
27932
  this.sessionIdGenerator = options.sessionIdGenerator;
27781
27933
  this._enableJsonResponse = options.enableJsonResponse ?? false;
27782
27934
  this._eventStore = options.eventStore;
@@ -27786,6 +27938,22 @@ class WebStandardStreamableHTTPServerTransport {
27786
27938
  this._allowedOrigins = options.allowedOrigins;
27787
27939
  this._enableDnsRebindingProtection = options.enableDnsRebindingProtection ?? false;
27788
27940
  this._retryInterval = options.retryInterval;
27941
+ this._keepAliveMs = options.keepAliveMs ?? DEFAULT_SSE_KEEP_ALIVE_MS;
27942
+ }
27943
+ startKeepAlive(controller, encoder) {
27944
+ if (this._closed)
27945
+ return;
27946
+ const timer = armSseKeepAlive(this._keepAliveMs, () => {
27947
+ try {
27948
+ controller.enqueue(encoder.encode(`: keepalive
27949
+
27950
+ `));
27951
+ } catch {
27952
+ if (timer !== undefined)
27953
+ clearInterval(timer);
27954
+ }
27955
+ });
27956
+ return timer;
27789
27957
  }
27790
27958
  async start() {
27791
27959
  if (this._started) {
@@ -27833,6 +28001,9 @@ class WebStandardStreamableHTTPServerTransport {
27833
28001
  return;
27834
28002
  }
27835
28003
  async handleRequest(req, options) {
28004
+ if (this._closed) {
28005
+ return this.createJsonErrorResponse(404, -32001, "Session not found");
28006
+ }
27836
28007
  if (!this.sessionIdGenerator && this._hasHandledRequest) {
27837
28008
  throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");
27838
28009
  }
@@ -27872,6 +28043,7 @@ data:
27872
28043
  `;
27873
28044
  }
27874
28045
  controller.enqueue(encoder.encode(primingEvent));
28046
+ this._resumableStreams.add(streamId);
27875
28047
  }
27876
28048
  async handleGetRequest(req) {
27877
28049
  const acceptHeader = req.headers.get("accept");
@@ -27899,18 +28071,25 @@ data:
27899
28071
  }
27900
28072
  const encoder = new TextEncoder;
27901
28073
  let streamController;
28074
+ let keepAliveTimer = undefined;
27902
28075
  const readable = new ReadableStream({
27903
28076
  start: (controller) => {
27904
28077
  streamController = controller;
27905
28078
  },
27906
28079
  cancel: () => {
27907
- this._streamMapping.delete(this._standaloneSseStreamId);
28080
+ if (keepAliveTimer !== undefined) {
28081
+ clearInterval(keepAliveTimer);
28082
+ }
28083
+ if (this._streamMapping.get(this._standaloneSseStreamId)?.controller === streamController) {
28084
+ this._streamMapping.delete(this._standaloneSseStreamId);
28085
+ }
27908
28086
  }
27909
28087
  });
27910
28088
  const headers = {
27911
28089
  "Content-Type": "text/event-stream",
27912
28090
  "Cache-Control": "no-cache, no-transform",
27913
- Connection: "keep-alive"
28091
+ Connection: "keep-alive",
28092
+ "X-Accel-Buffering": "no"
27914
28093
  };
27915
28094
  if (this.sessionId !== undefined) {
27916
28095
  headers["mcp-session-id"] = this.sessionId;
@@ -27919,12 +28098,16 @@ data:
27919
28098
  controller: streamController,
27920
28099
  encoder,
27921
28100
  cleanup: () => {
28101
+ if (keepAliveTimer !== undefined) {
28102
+ clearInterval(keepAliveTimer);
28103
+ }
27922
28104
  this._streamMapping.delete(this._standaloneSseStreamId);
27923
28105
  try {
27924
28106
  streamController.close();
27925
28107
  } catch {}
27926
28108
  }
27927
28109
  });
28110
+ keepAliveTimer = this.startKeepAlive(streamController, encoder);
27928
28111
  return new Response(readable, { headers });
27929
28112
  }
27930
28113
  async replayEvents(lastEventId) {
@@ -27948,20 +28131,33 @@ data:
27948
28131
  const headers = {
27949
28132
  "Content-Type": "text/event-stream",
27950
28133
  "Cache-Control": "no-cache, no-transform",
27951
- Connection: "keep-alive"
28134
+ Connection: "keep-alive",
28135
+ "X-Accel-Buffering": "no"
27952
28136
  };
27953
28137
  if (this.sessionId !== undefined) {
27954
28138
  headers["mcp-session-id"] = this.sessionId;
27955
28139
  }
27956
28140
  const encoder = new TextEncoder;
27957
28141
  let streamController;
28142
+ let keepAliveTimer = undefined;
28143
+ let replayedStreamId = undefined;
28144
+ let cancelled = false;
27958
28145
  const readable = new ReadableStream({
27959
28146
  start: (controller) => {
27960
28147
  streamController = controller;
27961
28148
  },
27962
- cancel: () => {}
28149
+ cancel: () => {
28150
+ cancelled = true;
28151
+ if (keepAliveTimer !== undefined) {
28152
+ clearInterval(keepAliveTimer);
28153
+ }
28154
+ if (replayedStreamId !== undefined && this._streamMapping.get(replayedStreamId)?.controller === streamController) {
28155
+ this._streamMapping.delete(replayedStreamId);
28156
+ }
28157
+ }
27963
28158
  });
27964
- const replayedStreamId = await this._eventStore.replayEventsAfter(lastEventId, {
28159
+ const replayedEventIds = new Set;
28160
+ replayedStreamId = await this._eventStore.replayEventsAfter(lastEventId, {
27965
28161
  send: async (eventId, message) => {
27966
28162
  const success3 = this.writeSSEEvent(streamController, encoder, message, eventId);
27967
28163
  if (!success3) {
@@ -27969,19 +28165,34 @@ data:
27969
28165
  try {
27970
28166
  streamController.close();
27971
28167
  } catch {}
28168
+ } else {
28169
+ replayedEventIds.add(eventId);
27972
28170
  }
27973
28171
  }
27974
28172
  });
28173
+ if (this._closed || cancelled) {
28174
+ try {
28175
+ streamController.close();
28176
+ } catch {}
28177
+ return this.createJsonErrorResponse(404, -32001, "Session not found");
28178
+ }
28179
+ this._streamMapping.get(replayedStreamId)?.cleanup();
27975
28180
  this._streamMapping.set(replayedStreamId, {
27976
28181
  controller: streamController,
27977
28182
  encoder,
28183
+ replayedEventIds,
27978
28184
  cleanup: () => {
28185
+ if (keepAliveTimer !== undefined) {
28186
+ clearInterval(keepAliveTimer);
28187
+ }
27979
28188
  this._streamMapping.delete(replayedStreamId);
27980
28189
  try {
27981
28190
  streamController.close();
27982
28191
  } catch {}
27983
28192
  }
27984
28193
  });
28194
+ this._resumableStreams.add(replayedStreamId);
28195
+ keepAliveTimer = this.startKeepAlive(streamController, encoder);
27985
28196
  return new Response(readable, { headers });
27986
28197
  } catch (error2) {
27987
28198
  this.onerror?.(error2);
@@ -28031,7 +28242,7 @@ data:
28031
28242
  return this.createJsonErrorResponse(406, -32000, "Not Acceptable: Client must accept both application/json and text/event-stream");
28032
28243
  }
28033
28244
  const ct = req.headers.get("content-type");
28034
- if (!ct || !ct.includes("application/json")) {
28245
+ if (!isJsonContentType(ct)) {
28035
28246
  this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json"));
28036
28247
  return this.createJsonErrorResponse(415, -32000, "Unsupported Media Type: Content-Type must be application/json");
28037
28248
  }
@@ -28061,6 +28272,9 @@ data:
28061
28272
  this.onerror?.(new Error("Parse error: Invalid JSON-RPC message"));
28062
28273
  return this.createJsonErrorResponse(400, -32700, "Parse error: Invalid JSON-RPC message");
28063
28274
  }
28275
+ if (this._closed) {
28276
+ return this.createJsonErrorResponse(404, -32001, "Session not found");
28277
+ }
28064
28278
  const isInitializationRequest = messages.some(isInitializeRequest);
28065
28279
  if (isInitializationRequest) {
28066
28280
  if (this._initialized && this.sessionId !== undefined) {
@@ -28087,6 +28301,9 @@ data:
28087
28301
  return protocolError;
28088
28302
  }
28089
28303
  }
28304
+ if (this._closed) {
28305
+ return this.createJsonErrorResponse(404, -32001, "Session not found");
28306
+ }
28090
28307
  const hasRequests = messages.some(isJSONRPCRequest);
28091
28308
  if (!hasRequests) {
28092
28309
  for (const message of messages) {
@@ -28117,18 +28334,25 @@ data:
28117
28334
  }
28118
28335
  const encoder = new TextEncoder;
28119
28336
  let streamController;
28337
+ let keepAliveTimer = undefined;
28120
28338
  const readable = new ReadableStream({
28121
28339
  start: (controller) => {
28122
28340
  streamController = controller;
28123
28341
  },
28124
28342
  cancel: () => {
28125
- this._streamMapping.delete(streamId);
28343
+ if (keepAliveTimer !== undefined) {
28344
+ clearInterval(keepAliveTimer);
28345
+ }
28346
+ if (this._streamMapping.get(streamId)?.controller === streamController) {
28347
+ this._streamMapping.delete(streamId);
28348
+ }
28126
28349
  }
28127
28350
  });
28128
28351
  const headers = {
28129
28352
  "Content-Type": "text/event-stream",
28130
- "Cache-Control": "no-cache",
28131
- Connection: "keep-alive"
28353
+ "Cache-Control": "no-cache, no-transform",
28354
+ Connection: "keep-alive",
28355
+ "X-Accel-Buffering": "no"
28132
28356
  };
28133
28357
  if (this.sessionId !== undefined) {
28134
28358
  headers["mcp-session-id"] = this.sessionId;
@@ -28139,6 +28363,9 @@ data:
28139
28363
  controller: streamController,
28140
28364
  encoder,
28141
28365
  cleanup: () => {
28366
+ if (keepAliveTimer !== undefined) {
28367
+ clearInterval(keepAliveTimer);
28368
+ }
28142
28369
  this._streamMapping.delete(streamId);
28143
28370
  try {
28144
28371
  streamController.close();
@@ -28148,19 +28375,33 @@ data:
28148
28375
  this._requestToStreamMapping.set(message.id, streamId);
28149
28376
  }
28150
28377
  }
28151
- await this.writePrimingEvent(streamController, encoder, streamId, clientProtocolVersion);
28152
- for (const message of messages) {
28153
- let closeSSEStream;
28154
- let closeStandaloneSSEStream;
28155
- if (isJSONRPCRequest(message) && this._eventStore && clientProtocolVersion >= "2025-11-25") {
28156
- closeSSEStream = () => {
28157
- this.closeSSEStream(message.id);
28158
- };
28159
- closeStandaloneSSEStream = () => {
28160
- this.closeStandaloneSSEStream();
28161
- };
28378
+ try {
28379
+ await this.writePrimingEvent(streamController, encoder, streamId, clientProtocolVersion);
28380
+ for (const message of messages) {
28381
+ let closeSSEStream;
28382
+ let closeStandaloneSSEStream;
28383
+ if (isJSONRPCRequest(message) && this._eventStore && clientProtocolVersion >= "2025-11-25") {
28384
+ closeSSEStream = () => {
28385
+ this.closeSSEStream(message.id);
28386
+ };
28387
+ closeStandaloneSSEStream = () => {
28388
+ this.closeStandaloneSSEStream();
28389
+ };
28390
+ }
28391
+ this.onmessage?.(message, { authInfo: options?.authInfo, requestInfo, closeSSEStream, closeStandaloneSSEStream });
28392
+ }
28393
+ } catch (error2) {
28394
+ this._streamMapping.get(streamId)?.cleanup();
28395
+ this._resumableStreams.delete(streamId);
28396
+ for (const message of messages) {
28397
+ if (isJSONRPCRequest(message)) {
28398
+ this._requestToStreamMapping.delete(message.id);
28399
+ }
28162
28400
  }
28163
- this.onmessage?.(message, { authInfo: options?.authInfo, requestInfo, closeSSEStream, closeStandaloneSSEStream });
28401
+ throw error2;
28402
+ }
28403
+ if (this._streamMapping.get(streamId)?.controller === streamController) {
28404
+ keepAliveTimer = this.startKeepAlive(streamController, encoder);
28164
28405
  }
28165
28406
  return new Response(readable, { status: 200, headers });
28166
28407
  } catch (error2) {
@@ -28177,9 +28418,12 @@ data:
28177
28418
  if (protocolError) {
28178
28419
  return protocolError;
28179
28420
  }
28180
- await Promise.resolve(this._onsessionclosed?.(this.sessionId));
28181
- await this.close();
28182
- return new Response(null, { status: 200 });
28421
+ try {
28422
+ await Promise.resolve(this._onsessionclosed?.(this.sessionId));
28423
+ return new Response(null, { status: 200 });
28424
+ } finally {
28425
+ await this.close();
28426
+ }
28183
28427
  }
28184
28428
  validateSession(req) {
28185
28429
  if (this.sessionIdGenerator === undefined) {
@@ -28209,11 +28453,16 @@ data:
28209
28453
  return;
28210
28454
  }
28211
28455
  async close() {
28456
+ if (this._closed) {
28457
+ return;
28458
+ }
28459
+ this._closed = true;
28212
28460
  this._streamMapping.forEach(({ cleanup }) => {
28213
28461
  cleanup();
28214
28462
  });
28215
28463
  this._streamMapping.clear();
28216
28464
  this._requestResponseMap.clear();
28465
+ this._resumableStreams.clear();
28217
28466
  this.onclose?.();
28218
28467
  }
28219
28468
  closeSSEStream(requestId) {
@@ -28248,7 +28497,7 @@ data:
28248
28497
  if (standaloneSse === undefined) {
28249
28498
  return;
28250
28499
  }
28251
- if (standaloneSse.controller && standaloneSse.encoder) {
28500
+ if (standaloneSse.controller && standaloneSse.encoder && (eventId === undefined || !standaloneSse.replayedEventIds?.has(eventId))) {
28252
28501
  this.writeSSEEvent(standaloneSse.controller, standaloneSse.encoder, message, eventId);
28253
28502
  }
28254
28503
  return;
@@ -28257,13 +28506,19 @@ data:
28257
28506
  if (!streamId) {
28258
28507
  throw new Error(`No connection established for request ID: ${String(requestId)}`);
28259
28508
  }
28260
- const stream = this._streamMapping.get(streamId);
28261
- if (!this._enableJsonResponse && stream?.controller && stream?.encoder) {
28509
+ let stream = this._streamMapping.get(streamId);
28510
+ if (!this._enableJsonResponse) {
28262
28511
  let eventId;
28263
28512
  if (this._eventStore) {
28264
28513
  eventId = await this._eventStore.storeEvent(streamId, message);
28514
+ stream = this._streamMapping.get(streamId);
28515
+ }
28516
+ if (stream?.controller && stream?.encoder && (eventId === undefined || !stream.replayedEventIds?.has(eventId))) {
28517
+ const written = this.writeSSEEvent(stream.controller, stream.encoder, message, eventId);
28518
+ if (written && eventId !== undefined) {
28519
+ this._resumableStreams.add(streamId);
28520
+ }
28265
28521
  }
28266
- this.writeSSEEvent(stream.controller, stream.encoder, message, eventId);
28267
28522
  }
28268
28523
  if (isJSONRPCResultResponse(message) || isJSONRPCErrorResponse(message)) {
28269
28524
  this._requestResponseMap.set(requestId, message);
@@ -28271,6 +28526,25 @@ data:
28271
28526
  const allResponsesReady = relatedIds.every((id) => this._requestResponseMap.has(id));
28272
28527
  if (allResponsesReady) {
28273
28528
  if (!stream) {
28529
+ if (this._closed) {
28530
+ for (const id of relatedIds) {
28531
+ this._requestResponseMap.delete(id);
28532
+ this._requestToStreamMapping.delete(id);
28533
+ }
28534
+ return;
28535
+ }
28536
+ if (!this._enableJsonResponse && this._eventStore && this._resumableStreams.has(streamId)) {
28537
+ for (const id of relatedIds) {
28538
+ this._requestResponseMap.delete(id);
28539
+ this._requestToStreamMapping.delete(id);
28540
+ }
28541
+ this._resumableStreams.delete(streamId);
28542
+ return;
28543
+ }
28544
+ for (const id of relatedIds) {
28545
+ this._requestResponseMap.delete(id);
28546
+ this._requestToStreamMapping.delete(id);
28547
+ }
28274
28548
  throw new Error(`No connection established for request ID: ${String(requestId)}`);
28275
28549
  }
28276
28550
  if (this._enableJsonResponse && stream.resolveJson) {
@@ -28293,25 +28567,28 @@ data:
28293
28567
  this._requestResponseMap.delete(id);
28294
28568
  this._requestToStreamMapping.delete(id);
28295
28569
  }
28570
+ this._resumableStreams.delete(streamId);
28296
28571
  }
28297
28572
  }
28298
28573
  }
28299
28574
  }
28300
28575
  var init_webStandardStreamableHttp = __esm(() => {
28576
+ init_mediaType();
28577
+ init_sseKeepAlive();
28301
28578
  init_types2();
28302
28579
  });
28303
28580
 
28304
- // node_modules/zod/v3/index.js
28581
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v3/index.js
28305
28582
  var init_v3 = __esm(() => {
28306
28583
  init_external();
28307
28584
  });
28308
28585
 
28309
- // node_modules/zod/v4/mini/parse.js
28586
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/parse.js
28310
28587
  var init_parse3 = __esm(() => {
28311
28588
  init_core2();
28312
28589
  });
28313
28590
 
28314
- // node_modules/zod/v4/mini/schemas.js
28591
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/schemas.js
28315
28592
  function object2(shape, params) {
28316
28593
  const def = {
28317
28594
  type: "object",
@@ -28360,16 +28637,16 @@ var init_schemas3 = __esm(() => {
28360
28637
  });
28361
28638
  });
28362
28639
 
28363
- // node_modules/zod/v4/mini/checks.js
28640
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/checks.js
28364
28641
  var init_checks3 = () => {};
28365
28642
 
28366
- // node_modules/zod/v4/mini/iso.js
28643
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/iso.js
28367
28644
  var init_iso2 = () => {};
28368
28645
 
28369
- // node_modules/zod/v4/mini/coerce.js
28646
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/coerce.js
28370
28647
  var init_coerce2 = () => {};
28371
28648
 
28372
- // node_modules/zod/v4/mini/external.js
28649
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/external.js
28373
28650
  var init_external3 = __esm(() => {
28374
28651
  init_core2();
28375
28652
  init_core2();
@@ -28381,17 +28658,17 @@ var init_external3 = __esm(() => {
28381
28658
  init_checks3();
28382
28659
  });
28383
28660
 
28384
- // node_modules/zod/v4/mini/index.js
28661
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4/mini/index.js
28385
28662
  var init_mini = __esm(() => {
28386
28663
  init_external3();
28387
28664
  });
28388
28665
 
28389
- // node_modules/zod/v4-mini/index.js
28666
+ // ../../node_modules/.bun/zod@3.25.76/node_modules/zod/v4-mini/index.js
28390
28667
  var init_v4_mini = __esm(() => {
28391
28668
  init_mini();
28392
28669
  });
28393
28670
 
28394
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
28671
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
28395
28672
  function isZ4Schema(s) {
28396
28673
  const schema = s;
28397
28674
  return !!schema._zod;
@@ -28475,17 +28752,34 @@ function normalizeObjectSchema(schema) {
28475
28752
  }
28476
28753
  return;
28477
28754
  }
28755
+ function getDotPath(path) {
28756
+ if (path.length === 0) {
28757
+ return "object root";
28758
+ }
28759
+ return path.reduce((acc, seg, index) => {
28760
+ if (index === 0) {
28761
+ return String(seg);
28762
+ }
28763
+ if (typeof seg === "number") {
28764
+ return `${acc}[${seg}]`;
28765
+ }
28766
+ return `${acc}.${seg}`;
28767
+ }, "");
28768
+ }
28478
28769
  function getParseErrorMessage(error2) {
28479
28770
  if (error2 && typeof error2 === "object") {
28771
+ if ("issues" in error2 && Array.isArray(error2.issues) && error2.issues.length > 0) {
28772
+ return error2.issues.map((i) => {
28773
+ if (!i.path?.length) {
28774
+ return i.message;
28775
+ }
28776
+ return `${i.message} at ${getDotPath(i.path)}`;
28777
+ }).join(`
28778
+ `);
28779
+ }
28480
28780
  if ("message" in error2 && typeof error2.message === "string") {
28481
28781
  return error2.message;
28482
28782
  }
28483
- if ("issues" in error2 && Array.isArray(error2.issues) && error2.issues.length > 0) {
28484
- const firstIssue = error2.issues[0];
28485
- if (firstIssue && typeof firstIssue === "object" && "message" in firstIssue) {
28486
- return String(firstIssue.message);
28487
- }
28488
- }
28489
28783
  try {
28490
28784
  return JSON.stringify(error2);
28491
28785
  } catch {
@@ -28539,12 +28833,12 @@ var init_zod_compat = __esm(() => {
28539
28833
  init_v4_mini();
28540
28834
  });
28541
28835
 
28542
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
28836
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
28543
28837
  function isTerminal(status) {
28544
28838
  return status === "completed" || status === "failed" || status === "cancelled";
28545
28839
  }
28546
28840
 
28547
- // node_modules/zod-to-json-schema/dist/esm/Options.js
28841
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Options.js
28548
28842
  var ignoreOverride, defaultOptions, getDefaultOptions = (options) => typeof options === "string" ? {
28549
28843
  ...defaultOptions,
28550
28844
  name: options
@@ -28580,7 +28874,7 @@ var init_Options = __esm(() => {
28580
28874
  };
28581
28875
  });
28582
28876
 
28583
- // node_modules/zod-to-json-schema/dist/esm/Refs.js
28877
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/Refs.js
28584
28878
  var getRefs = (options) => {
28585
28879
  const _options = getDefaultOptions(options);
28586
28880
  const currentPath = _options.name !== undefined ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
@@ -28603,7 +28897,7 @@ var init_Refs = __esm(() => {
28603
28897
  init_Options();
28604
28898
  });
28605
28899
 
28606
- // node_modules/zod-to-json-schema/dist/esm/errorMessages.js
28900
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/errorMessages.js
28607
28901
  function addErrorMessage(res, key, errorMessage, refs) {
28608
28902
  if (!refs?.errorMessages)
28609
28903
  return;
@@ -28619,7 +28913,7 @@ function setResponseValueAndErrors(res, key, value, errorMessage, refs) {
28619
28913
  addErrorMessage(res, key, errorMessage, refs);
28620
28914
  }
28621
28915
 
28622
- // node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
28916
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
28623
28917
  var getRelativePath = (pathA, pathB) => {
28624
28918
  let i = 0;
28625
28919
  for (;i < pathA.length && i < pathB.length; i++) {
@@ -28629,7 +28923,7 @@ var getRelativePath = (pathA, pathB) => {
28629
28923
  return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
28630
28924
  };
28631
28925
 
28632
- // node_modules/zod-to-json-schema/dist/esm/parsers/any.js
28926
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/any.js
28633
28927
  function parseAnyDef(refs) {
28634
28928
  if (refs.target !== "openAi") {
28635
28929
  return {};
@@ -28646,7 +28940,7 @@ function parseAnyDef(refs) {
28646
28940
  }
28647
28941
  var init_any = () => {};
28648
28942
 
28649
- // node_modules/zod-to-json-schema/dist/esm/parsers/array.js
28943
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/array.js
28650
28944
  function parseArrayDef(def, refs) {
28651
28945
  const res = {
28652
28946
  type: "array"
@@ -28674,7 +28968,7 @@ var init_array = __esm(() => {
28674
28968
  init_parseDef();
28675
28969
  });
28676
28970
 
28677
- // node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
28971
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
28678
28972
  function parseBigintDef(def, refs) {
28679
28973
  const res = {
28680
28974
  type: "integer",
@@ -28721,14 +29015,14 @@ function parseBigintDef(def, refs) {
28721
29015
  }
28722
29016
  var init_bigint = () => {};
28723
29017
 
28724
- // node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
29018
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
28725
29019
  function parseBooleanDef() {
28726
29020
  return {
28727
29021
  type: "boolean"
28728
29022
  };
28729
29023
  }
28730
29024
 
28731
- // node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
29025
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
28732
29026
  function parseBrandedDef(_def, refs) {
28733
29027
  return parseDef(_def.type._def, refs);
28734
29028
  }
@@ -28736,7 +29030,7 @@ var init_branded = __esm(() => {
28736
29030
  init_parseDef();
28737
29031
  });
28738
29032
 
28739
- // node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
29033
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
28740
29034
  var parseCatchDef = (def, refs) => {
28741
29035
  return parseDef(def.innerType._def, refs);
28742
29036
  };
@@ -28744,7 +29038,7 @@ var init_catch = __esm(() => {
28744
29038
  init_parseDef();
28745
29039
  });
28746
29040
 
28747
- // node_modules/zod-to-json-schema/dist/esm/parsers/date.js
29041
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/date.js
28748
29042
  function parseDateDef(def, refs, overrideDateStrategy) {
28749
29043
  const strategy = overrideDateStrategy ?? refs.dateStrategy;
28750
29044
  if (Array.isArray(strategy)) {
@@ -28790,7 +29084,7 @@ var integerDateParser = (def, refs) => {
28790
29084
  };
28791
29085
  var init_date = () => {};
28792
29086
 
28793
- // node_modules/zod-to-json-schema/dist/esm/parsers/default.js
29087
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/default.js
28794
29088
  function parseDefaultDef(_def, refs) {
28795
29089
  return {
28796
29090
  ...parseDef(_def.innerType._def, refs),
@@ -28801,7 +29095,7 @@ var init_default = __esm(() => {
28801
29095
  init_parseDef();
28802
29096
  });
28803
29097
 
28804
- // node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
29098
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
28805
29099
  function parseEffectsDef(_def, refs) {
28806
29100
  return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs);
28807
29101
  }
@@ -28810,7 +29104,7 @@ var init_effects = __esm(() => {
28810
29104
  init_any();
28811
29105
  });
28812
29106
 
28813
- // node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
29107
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
28814
29108
  function parseEnumDef(def) {
28815
29109
  return {
28816
29110
  type: "string",
@@ -28818,7 +29112,7 @@ function parseEnumDef(def) {
28818
29112
  };
28819
29113
  }
28820
29114
 
28821
- // node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
29115
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
28822
29116
  function parseIntersectionDef(def, refs) {
28823
29117
  const allOf = [
28824
29118
  parseDef(def.left._def, {
@@ -28863,7 +29157,7 @@ var init_intersection = __esm(() => {
28863
29157
  init_parseDef();
28864
29158
  });
28865
29159
 
28866
- // node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
29160
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
28867
29161
  function parseLiteralDef(def, refs) {
28868
29162
  const parsedType2 = typeof def.value;
28869
29163
  if (parsedType2 !== "bigint" && parsedType2 !== "number" && parsedType2 !== "boolean" && parsedType2 !== "string") {
@@ -28883,7 +29177,7 @@ function parseLiteralDef(def, refs) {
28883
29177
  };
28884
29178
  }
28885
29179
 
28886
- // node_modules/zod-to-json-schema/dist/esm/parsers/string.js
29180
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/string.js
28887
29181
  function parseStringDef(def, refs) {
28888
29182
  const res = {
28889
29183
  type: "string"
@@ -29182,7 +29476,7 @@ var init_string = __esm(() => {
29182
29476
  ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
29183
29477
  });
29184
29478
 
29185
- // node_modules/zod-to-json-schema/dist/esm/parsers/record.js
29479
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/record.js
29186
29480
  function parseRecordDef(def, refs) {
29187
29481
  if (refs.target === "openAi") {
29188
29482
  console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
@@ -29241,7 +29535,7 @@ var init_record = __esm(() => {
29241
29535
  init_any();
29242
29536
  });
29243
29537
 
29244
- // node_modules/zod-to-json-schema/dist/esm/parsers/map.js
29538
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/map.js
29245
29539
  function parseMapDef(def, refs) {
29246
29540
  if (refs.mapStrategy === "record") {
29247
29541
  return parseRecordDef(def, refs);
@@ -29271,7 +29565,7 @@ var init_map = __esm(() => {
29271
29565
  init_any();
29272
29566
  });
29273
29567
 
29274
- // node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
29568
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
29275
29569
  function parseNativeEnumDef(def) {
29276
29570
  const object3 = def.values;
29277
29571
  const actualKeys = Object.keys(def.values).filter((key) => {
@@ -29285,7 +29579,7 @@ function parseNativeEnumDef(def) {
29285
29579
  };
29286
29580
  }
29287
29581
 
29288
- // node_modules/zod-to-json-schema/dist/esm/parsers/never.js
29582
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/never.js
29289
29583
  function parseNeverDef(refs) {
29290
29584
  return refs.target === "openAi" ? undefined : {
29291
29585
  not: parseAnyDef({
@@ -29298,7 +29592,7 @@ var init_never = __esm(() => {
29298
29592
  init_any();
29299
29593
  });
29300
29594
 
29301
- // node_modules/zod-to-json-schema/dist/esm/parsers/null.js
29595
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/null.js
29302
29596
  function parseNullDef(refs) {
29303
29597
  return refs.target === "openApi3" ? {
29304
29598
  enum: ["null"],
@@ -29308,7 +29602,7 @@ function parseNullDef(refs) {
29308
29602
  };
29309
29603
  }
29310
29604
 
29311
- // node_modules/zod-to-json-schema/dist/esm/parsers/union.js
29605
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/union.js
29312
29606
  function parseUnionDef(def, refs) {
29313
29607
  if (refs.target === "openApi3")
29314
29608
  return asAnyOf(def, refs);
@@ -29379,7 +29673,7 @@ var init_union = __esm(() => {
29379
29673
  };
29380
29674
  });
29381
29675
 
29382
- // node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
29676
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
29383
29677
  function parseNullableDef(def, refs) {
29384
29678
  if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
29385
29679
  if (refs.target === "openApi3") {
@@ -29415,7 +29709,7 @@ var init_nullable = __esm(() => {
29415
29709
  init_union();
29416
29710
  });
29417
29711
 
29418
- // node_modules/zod-to-json-schema/dist/esm/parsers/number.js
29712
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/number.js
29419
29713
  function parseNumberDef(def, refs) {
29420
29714
  const res = {
29421
29715
  type: "number"
@@ -29465,7 +29759,7 @@ function parseNumberDef(def, refs) {
29465
29759
  }
29466
29760
  var init_number = () => {};
29467
29761
 
29468
- // node_modules/zod-to-json-schema/dist/esm/parsers/object.js
29762
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/object.js
29469
29763
  function parseObjectDef(def, refs) {
29470
29764
  const forceOptionalIntoNullable = refs.target === "openAi";
29471
29765
  const result = {
@@ -29538,7 +29832,7 @@ var init_object = __esm(() => {
29538
29832
  init_parseDef();
29539
29833
  });
29540
29834
 
29541
- // node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
29835
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
29542
29836
  var parseOptionalDef = (def, refs) => {
29543
29837
  if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
29544
29838
  return parseDef(def.innerType._def, refs);
@@ -29561,7 +29855,7 @@ var init_optional = __esm(() => {
29561
29855
  init_any();
29562
29856
  });
29563
29857
 
29564
- // node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
29858
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
29565
29859
  var parsePipelineDef = (def, refs) => {
29566
29860
  if (refs.pipeStrategy === "input") {
29567
29861
  return parseDef(def.in._def, refs);
@@ -29584,7 +29878,7 @@ var init_pipeline = __esm(() => {
29584
29878
  init_parseDef();
29585
29879
  });
29586
29880
 
29587
- // node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
29881
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
29588
29882
  function parsePromiseDef(def, refs) {
29589
29883
  return parseDef(def.type._def, refs);
29590
29884
  }
@@ -29592,7 +29886,7 @@ var init_promise = __esm(() => {
29592
29886
  init_parseDef();
29593
29887
  });
29594
29888
 
29595
- // node_modules/zod-to-json-schema/dist/esm/parsers/set.js
29889
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/set.js
29596
29890
  function parseSetDef(def, refs) {
29597
29891
  const items = parseDef(def.valueType._def, {
29598
29892
  ...refs,
@@ -29615,7 +29909,7 @@ var init_set = __esm(() => {
29615
29909
  init_parseDef();
29616
29910
  });
29617
29911
 
29618
- // node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
29912
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
29619
29913
  function parseTupleDef(def, refs) {
29620
29914
  if (def.rest) {
29621
29915
  return {
@@ -29646,7 +29940,7 @@ var init_tuple = __esm(() => {
29646
29940
  init_parseDef();
29647
29941
  });
29648
29942
 
29649
- // node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
29943
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
29650
29944
  function parseUndefinedDef(refs) {
29651
29945
  return {
29652
29946
  not: parseAnyDef(refs)
@@ -29656,7 +29950,7 @@ var init_undefined = __esm(() => {
29656
29950
  init_any();
29657
29951
  });
29658
29952
 
29659
- // node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
29953
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
29660
29954
  function parseUnknownDef(refs) {
29661
29955
  return parseAnyDef(refs);
29662
29956
  }
@@ -29664,7 +29958,7 @@ var init_unknown = __esm(() => {
29664
29958
  init_any();
29665
29959
  });
29666
29960
 
29667
- // node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
29961
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
29668
29962
  var parseReadonlyDef = (def, refs) => {
29669
29963
  return parseDef(def.innerType._def, refs);
29670
29964
  };
@@ -29672,7 +29966,7 @@ var init_readonly = __esm(() => {
29672
29966
  init_parseDef();
29673
29967
  });
29674
29968
 
29675
- // node_modules/zod-to-json-schema/dist/esm/selectParser.js
29969
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/selectParser.js
29676
29970
  var selectParser = (def, typeName, refs) => {
29677
29971
  switch (typeName) {
29678
29972
  case ZodFirstPartyTypeKind.ZodString:
@@ -29778,7 +30072,7 @@ var init_selectParser = __esm(() => {
29778
30072
  init_readonly();
29779
30073
  });
29780
30074
 
29781
- // node_modules/zod-to-json-schema/dist/esm/parseDef.js
30075
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseDef.js
29782
30076
  function parseDef(def, refs, forceResolution = false) {
29783
30077
  const seenItem = refs.seen.get(def);
29784
30078
  if (refs.override) {
@@ -29838,10 +30132,10 @@ var init_parseDef = __esm(() => {
29838
30132
  init_any();
29839
30133
  });
29840
30134
 
29841
- // node_modules/zod-to-json-schema/dist/esm/parseTypes.js
30135
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/parseTypes.js
29842
30136
  var init_parseTypes = () => {};
29843
30137
 
29844
- // node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
30138
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
29845
30139
  var zodToJsonSchema = (schema, options) => {
29846
30140
  const refs = getRefs(options);
29847
30141
  let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({
@@ -29907,7 +30201,7 @@ var init_zodToJsonSchema = __esm(() => {
29907
30201
  init_any();
29908
30202
  });
29909
30203
 
29910
- // node_modules/zod-to-json-schema/dist/esm/index.js
30204
+ // ../../node_modules/.bun/zod-to-json-schema@3.25.2+27912429049419a2/node_modules/zod-to-json-schema/dist/esm/index.js
29911
30205
  var init_esm = __esm(() => {
29912
30206
  init_zodToJsonSchema();
29913
30207
  init_Options();
@@ -29943,7 +30237,7 @@ var init_esm = __esm(() => {
29943
30237
  init_zodToJsonSchema();
29944
30238
  });
29945
30239
 
29946
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
30240
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
29947
30241
  function mapMiniTarget(t) {
29948
30242
  if (!t)
29949
30243
  return "draft-7";
@@ -29990,7 +30284,7 @@ var init_zod_json_schema_compat = __esm(() => {
29990
30284
  init_esm();
29991
30285
  });
29992
30286
 
29993
- // node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
30287
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
29994
30288
  class Protocol {
29995
30289
  constructor(_options) {
29996
30290
  this._options = _options;
@@ -30835,7 +31129,7 @@ var init_protocol = __esm(() => {
30835
31129
  init_zod_json_schema_compat();
30836
31130
  });
30837
31131
 
30838
- // node_modules/ajv/dist/compile/codegen/code.js
31132
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js
30839
31133
  var require_code = __commonJS((exports) => {
30840
31134
  Object.defineProperty(exports, "__esModule", { value: true });
30841
31135
  exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = undefined;
@@ -30989,7 +31283,7 @@ var require_code = __commonJS((exports) => {
30989
31283
  exports.regexpCode = regexpCode;
30990
31284
  });
30991
31285
 
30992
- // node_modules/ajv/dist/compile/codegen/scope.js
31286
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js
30993
31287
  var require_scope = __commonJS((exports) => {
30994
31288
  Object.defineProperty(exports, "__esModule", { value: true });
30995
31289
  exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = undefined;
@@ -31135,7 +31429,7 @@ var require_scope = __commonJS((exports) => {
31135
31429
  exports.ValueScope = ValueScope;
31136
31430
  });
31137
31431
 
31138
- // node_modules/ajv/dist/compile/codegen/index.js
31432
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js
31139
31433
  var require_codegen = __commonJS((exports) => {
31140
31434
  Object.defineProperty(exports, "__esModule", { value: true });
31141
31435
  exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = undefined;
@@ -31845,7 +32139,7 @@ var require_codegen = __commonJS((exports) => {
31845
32139
  }
31846
32140
  });
31847
32141
 
31848
- // node_modules/ajv/dist/compile/util.js
32142
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/util.js
31849
32143
  var require_util = __commonJS((exports) => {
31850
32144
  Object.defineProperty(exports, "__esModule", { value: true });
31851
32145
  exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = undefined;
@@ -32009,7 +32303,7 @@ var require_util = __commonJS((exports) => {
32009
32303
  exports.checkStrictMode = checkStrictMode;
32010
32304
  });
32011
32305
 
32012
- // node_modules/ajv/dist/compile/names.js
32306
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/names.js
32013
32307
  var require_names = __commonJS((exports) => {
32014
32308
  Object.defineProperty(exports, "__esModule", { value: true });
32015
32309
  var codegen_1 = require_codegen();
@@ -32034,7 +32328,7 @@ var require_names = __commonJS((exports) => {
32034
32328
  exports.default = names;
32035
32329
  });
32036
32330
 
32037
- // node_modules/ajv/dist/compile/errors.js
32331
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js
32038
32332
  var require_errors = __commonJS((exports) => {
32039
32333
  Object.defineProperty(exports, "__esModule", { value: true });
32040
32334
  exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = undefined;
@@ -32152,7 +32446,7 @@ var require_errors = __commonJS((exports) => {
32152
32446
  }
32153
32447
  });
32154
32448
 
32155
- // node_modules/ajv/dist/compile/validate/boolSchema.js
32449
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js
32156
32450
  var require_boolSchema = __commonJS((exports) => {
32157
32451
  Object.defineProperty(exports, "__esModule", { value: true });
32158
32452
  exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = undefined;
@@ -32200,7 +32494,7 @@ var require_boolSchema = __commonJS((exports) => {
32200
32494
  }
32201
32495
  });
32202
32496
 
32203
- // node_modules/ajv/dist/compile/rules.js
32497
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js
32204
32498
  var require_rules = __commonJS((exports) => {
32205
32499
  Object.defineProperty(exports, "__esModule", { value: true });
32206
32500
  exports.getRules = exports.isJSONType = undefined;
@@ -32228,7 +32522,7 @@ var require_rules = __commonJS((exports) => {
32228
32522
  exports.getRules = getRules;
32229
32523
  });
32230
32524
 
32231
- // node_modules/ajv/dist/compile/validate/applicability.js
32525
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js
32232
32526
  var require_applicability = __commonJS((exports) => {
32233
32527
  Object.defineProperty(exports, "__esModule", { value: true });
32234
32528
  exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = undefined;
@@ -32248,7 +32542,7 @@ var require_applicability = __commonJS((exports) => {
32248
32542
  exports.shouldUseRule = shouldUseRule;
32249
32543
  });
32250
32544
 
32251
- // node_modules/ajv/dist/compile/validate/dataType.js
32545
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js
32252
32546
  var require_dataType = __commonJS((exports) => {
32253
32547
  Object.defineProperty(exports, "__esModule", { value: true });
32254
32548
  exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = undefined;
@@ -32429,7 +32723,7 @@ var require_dataType = __commonJS((exports) => {
32429
32723
  }
32430
32724
  });
32431
32725
 
32432
- // node_modules/ajv/dist/compile/validate/defaults.js
32726
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js
32433
32727
  var require_defaults = __commonJS((exports) => {
32434
32728
  Object.defineProperty(exports, "__esModule", { value: true });
32435
32729
  exports.assignDefaults = undefined;
@@ -32463,7 +32757,7 @@ var require_defaults = __commonJS((exports) => {
32463
32757
  }
32464
32758
  });
32465
32759
 
32466
- // node_modules/ajv/dist/vocabularies/code.js
32760
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js
32467
32761
  var require_code2 = __commonJS((exports) => {
32468
32762
  Object.defineProperty(exports, "__esModule", { value: true });
32469
32763
  exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = undefined;
@@ -32592,7 +32886,7 @@ var require_code2 = __commonJS((exports) => {
32592
32886
  exports.validateUnion = validateUnion;
32593
32887
  });
32594
32888
 
32595
- // node_modules/ajv/dist/compile/validate/keyword.js
32889
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js
32596
32890
  var require_keyword = __commonJS((exports) => {
32597
32891
  Object.defineProperty(exports, "__esModule", { value: true });
32598
32892
  exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = undefined;
@@ -32707,7 +33001,7 @@ var require_keyword = __commonJS((exports) => {
32707
33001
  exports.validateKeywordUsage = validateKeywordUsage;
32708
33002
  });
32709
33003
 
32710
- // node_modules/ajv/dist/compile/validate/subschema.js
33004
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js
32711
33005
  var require_subschema = __commonJS((exports) => {
32712
33006
  Object.defineProperty(exports, "__esModule", { value: true });
32713
33007
  exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = undefined;
@@ -32787,7 +33081,7 @@ var require_subschema = __commonJS((exports) => {
32787
33081
  exports.extendSubschemaMode = extendSubschemaMode;
32788
33082
  });
32789
33083
 
32790
- // node_modules/fast-deep-equal/index.js
33084
+ // ../../node_modules/.bun/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js
32791
33085
  var require_fast_deep_equal = __commonJS((exports, module) => {
32792
33086
  module.exports = function equal(a, b) {
32793
33087
  if (a === b)
@@ -32829,7 +33123,7 @@ var require_fast_deep_equal = __commonJS((exports, module) => {
32829
33123
  };
32830
33124
  });
32831
33125
 
32832
- // node_modules/json-schema-traverse/index.js
33126
+ // ../../node_modules/.bun/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
32833
33127
  var require_json_schema_traverse = __commonJS((exports, module) => {
32834
33128
  var traverse = module.exports = function(schema, opts, cb) {
32835
33129
  if (typeof opts == "function") {
@@ -32912,7 +33206,7 @@ var require_json_schema_traverse = __commonJS((exports, module) => {
32912
33206
  }
32913
33207
  });
32914
33208
 
32915
- // node_modules/ajv/dist/compile/resolve.js
33209
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js
32916
33210
  var require_resolve = __commonJS((exports) => {
32917
33211
  Object.defineProperty(exports, "__esModule", { value: true });
32918
33212
  exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = undefined;
@@ -33065,7 +33359,7 @@ var require_resolve = __commonJS((exports) => {
33065
33359
  exports.getSchemaRefs = getSchemaRefs;
33066
33360
  });
33067
33361
 
33068
- // node_modules/ajv/dist/compile/validate/index.js
33362
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js
33069
33363
  var require_validate = __commonJS((exports) => {
33070
33364
  Object.defineProperty(exports, "__esModule", { value: true });
33071
33365
  exports.getData = exports.KeywordCxt = exports.validateFunctionCode = undefined;
@@ -33570,7 +33864,7 @@ var require_validate = __commonJS((exports) => {
33570
33864
  exports.getData = getData;
33571
33865
  });
33572
33866
 
33573
- // node_modules/ajv/dist/runtime/validation_error.js
33867
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js
33574
33868
  var require_validation_error = __commonJS((exports) => {
33575
33869
  Object.defineProperty(exports, "__esModule", { value: true });
33576
33870
 
@@ -33584,7 +33878,7 @@ var require_validation_error = __commonJS((exports) => {
33584
33878
  exports.default = ValidationError;
33585
33879
  });
33586
33880
 
33587
- // node_modules/ajv/dist/compile/ref_error.js
33881
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js
33588
33882
  var require_ref_error = __commonJS((exports) => {
33589
33883
  Object.defineProperty(exports, "__esModule", { value: true });
33590
33884
  var resolve_1 = require_resolve();
@@ -33599,7 +33893,7 @@ var require_ref_error = __commonJS((exports) => {
33599
33893
  exports.default = MissingRefError;
33600
33894
  });
33601
33895
 
33602
- // node_modules/ajv/dist/compile/index.js
33896
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/compile/index.js
33603
33897
  var require_compile = __commonJS((exports) => {
33604
33898
  Object.defineProperty(exports, "__esModule", { value: true });
33605
33899
  exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = undefined;
@@ -33820,7 +34114,7 @@ var require_compile = __commonJS((exports) => {
33820
34114
  }
33821
34115
  });
33822
34116
 
33823
- // node_modules/ajv/dist/refs/data.json
34117
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/refs/data.json
33824
34118
  var require_data = __commonJS((exports, module) => {
33825
34119
  module.exports = {
33826
34120
  $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
@@ -33837,7 +34131,7 @@ var require_data = __commonJS((exports, module) => {
33837
34131
  };
33838
34132
  });
33839
34133
 
33840
- // node_modules/fast-uri/lib/utils.js
34134
+ // ../../node_modules/.bun/fast-uri@3.1.5/node_modules/fast-uri/lib/utils.js
33841
34135
  var require_utils = __commonJS((exports, module) => {
33842
34136
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
33843
34137
  var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
@@ -34148,7 +34442,7 @@ var require_utils = __commonJS((exports, module) => {
34148
34442
  };
34149
34443
  });
34150
34444
 
34151
- // node_modules/fast-uri/lib/schemes.js
34445
+ // ../../node_modules/.bun/fast-uri@3.1.5/node_modules/fast-uri/lib/schemes.js
34152
34446
  var require_schemes = __commonJS((exports, module) => {
34153
34447
  var { isUUID } = require_utils();
34154
34448
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
@@ -34322,7 +34616,7 @@ var require_schemes = __commonJS((exports, module) => {
34322
34616
  };
34323
34617
  });
34324
34618
 
34325
- // node_modules/fast-uri/index.js
34619
+ // ../../node_modules/.bun/fast-uri@3.1.5/node_modules/fast-uri/index.js
34326
34620
  var require_fast_uri = __commonJS((exports, module) => {
34327
34621
  var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
34328
34622
  var { SCHEMES, getSchemeHandler } = require_schemes();
@@ -34336,7 +34630,12 @@ var require_fast_uri = __commonJS((exports, module) => {
34336
34630
  }
34337
34631
  function resolve(baseURI, relativeURI, options) {
34338
34632
  const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
34339
- const resolved = resolveComponent(parse6(baseURI, schemelessOptions), parse6(relativeURI, schemelessOptions), schemelessOptions, true);
34633
+ const { parsed: baseParsed, malformedAuthorityOrPort: baseMalformed } = parseWithStatus(baseURI, schemelessOptions);
34634
+ const { parsed: relativeParsed, malformedAuthorityOrPort: relativeMalformed } = parseWithStatus(relativeURI, schemelessOptions);
34635
+ if (baseMalformed || relativeMalformed) {
34636
+ throw new Error(baseParsed.error || relativeParsed.error || "URI is malformed.");
34637
+ }
34638
+ const resolved = resolveComponent(baseParsed, relativeParsed, schemelessOptions, true);
34340
34639
  schemelessOptions.skipEscape = true;
34341
34640
  return serialize(resolved, schemelessOptions);
34342
34641
  }
@@ -34463,6 +34762,7 @@ var require_fast_uri = __commonJS((exports, module) => {
34463
34762
  }
34464
34763
  var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
34465
34764
  var AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
34765
+ var AUTHORITY_INTRODUCER_REGION = /^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;
34466
34766
  function getParseError(parsed, matches) {
34467
34767
  if (matches[2] !== undefined && parsed.path && parsed.path[0] !== "/") {
34468
34768
  return 'URI path must start with "/" when authority is present.';
@@ -34497,6 +34797,20 @@ var require_fast_uri = __commonJS((exports, module) => {
34497
34797
  parsed.error = "URI authority must not contain a literal backslash.";
34498
34798
  malformedAuthorityOrPort = true;
34499
34799
  }
34800
+ const introducerMatch = uri.match(AUTHORITY_INTRODUCER_REGION);
34801
+ if (introducerMatch !== null) {
34802
+ const region = introducerMatch[1];
34803
+ const normalizedRegion = region.replace(/[\t\n\r]/g, "");
34804
+ if (normalizedRegion.length >= 2) {
34805
+ if (normalizedRegion.slice(0, 2) !== "//") {
34806
+ parsed.error = parsed.error || "URI authority must not contain a literal backslash.";
34807
+ malformedAuthorityOrPort = true;
34808
+ } else if (region.length !== normalizedRegion.length) {
34809
+ parsed.error = parsed.error || "URI authority introducer must not contain whitespace.";
34810
+ malformedAuthorityOrPort = true;
34811
+ }
34812
+ }
34813
+ }
34500
34814
  const matches = uri.match(URI_PARSE);
34501
34815
  if (matches) {
34502
34816
  parsed.scheme = matches[1];
@@ -34610,7 +34924,7 @@ var require_fast_uri = __commonJS((exports, module) => {
34610
34924
  module.exports.fastUri = fastUri;
34611
34925
  });
34612
34926
 
34613
- // node_modules/ajv/dist/runtime/uri.js
34927
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js
34614
34928
  var require_uri = __commonJS((exports) => {
34615
34929
  Object.defineProperty(exports, "__esModule", { value: true });
34616
34930
  var uri = require_fast_uri();
@@ -34618,7 +34932,7 @@ var require_uri = __commonJS((exports) => {
34618
34932
  exports.default = uri;
34619
34933
  });
34620
34934
 
34621
- // node_modules/ajv/dist/core.js
34935
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/core.js
34622
34936
  var require_core = __commonJS((exports) => {
34623
34937
  Object.defineProperty(exports, "__esModule", { value: true });
34624
34938
  exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = undefined;
@@ -35211,7 +35525,7 @@ var require_core = __commonJS((exports) => {
35211
35525
  }
35212
35526
  });
35213
35527
 
35214
- // node_modules/ajv/dist/vocabularies/core/id.js
35528
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js
35215
35529
  var require_id = __commonJS((exports) => {
35216
35530
  Object.defineProperty(exports, "__esModule", { value: true });
35217
35531
  var def = {
@@ -35223,7 +35537,7 @@ var require_id = __commonJS((exports) => {
35223
35537
  exports.default = def;
35224
35538
  });
35225
35539
 
35226
- // node_modules/ajv/dist/vocabularies/core/ref.js
35540
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js
35227
35541
  var require_ref = __commonJS((exports) => {
35228
35542
  Object.defineProperty(exports, "__esModule", { value: true });
35229
35543
  exports.callRef = exports.getValidate = undefined;
@@ -35342,7 +35656,7 @@ var require_ref = __commonJS((exports) => {
35342
35656
  exports.default = def;
35343
35657
  });
35344
35658
 
35345
- // node_modules/ajv/dist/vocabularies/core/index.js
35659
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js
35346
35660
  var require_core2 = __commonJS((exports) => {
35347
35661
  Object.defineProperty(exports, "__esModule", { value: true });
35348
35662
  var id_1 = require_id();
@@ -35360,7 +35674,7 @@ var require_core2 = __commonJS((exports) => {
35360
35674
  exports.default = core2;
35361
35675
  });
35362
35676
 
35363
- // node_modules/ajv/dist/vocabularies/validation/limitNumber.js
35677
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js
35364
35678
  var require_limitNumber = __commonJS((exports) => {
35365
35679
  Object.defineProperty(exports, "__esModule", { value: true });
35366
35680
  var codegen_1 = require_codegen();
@@ -35389,7 +35703,7 @@ var require_limitNumber = __commonJS((exports) => {
35389
35703
  exports.default = def;
35390
35704
  });
35391
35705
 
35392
- // node_modules/ajv/dist/vocabularies/validation/multipleOf.js
35706
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js
35393
35707
  var require_multipleOf = __commonJS((exports) => {
35394
35708
  Object.defineProperty(exports, "__esModule", { value: true });
35395
35709
  var codegen_1 = require_codegen();
@@ -35414,7 +35728,7 @@ var require_multipleOf = __commonJS((exports) => {
35414
35728
  exports.default = def;
35415
35729
  });
35416
35730
 
35417
- // node_modules/ajv/dist/runtime/ucs2length.js
35731
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js
35418
35732
  var require_ucs2length = __commonJS((exports) => {
35419
35733
  Object.defineProperty(exports, "__esModule", { value: true });
35420
35734
  function ucs2length(str) {
@@ -35437,7 +35751,7 @@ var require_ucs2length = __commonJS((exports) => {
35437
35751
  ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
35438
35752
  });
35439
35753
 
35440
- // node_modules/ajv/dist/vocabularies/validation/limitLength.js
35754
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js
35441
35755
  var require_limitLength = __commonJS((exports) => {
35442
35756
  Object.defineProperty(exports, "__esModule", { value: true });
35443
35757
  var codegen_1 = require_codegen();
@@ -35466,7 +35780,7 @@ var require_limitLength = __commonJS((exports) => {
35466
35780
  exports.default = def;
35467
35781
  });
35468
35782
 
35469
- // node_modules/ajv/dist/vocabularies/validation/pattern.js
35783
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js
35470
35784
  var require_pattern = __commonJS((exports) => {
35471
35785
  Object.defineProperty(exports, "__esModule", { value: true });
35472
35786
  var code_1 = require_code2();
@@ -35500,7 +35814,7 @@ var require_pattern = __commonJS((exports) => {
35500
35814
  exports.default = def;
35501
35815
  });
35502
35816
 
35503
- // node_modules/ajv/dist/vocabularies/validation/limitProperties.js
35817
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js
35504
35818
  var require_limitProperties = __commonJS((exports) => {
35505
35819
  Object.defineProperty(exports, "__esModule", { value: true });
35506
35820
  var codegen_1 = require_codegen();
@@ -35526,7 +35840,7 @@ var require_limitProperties = __commonJS((exports) => {
35526
35840
  exports.default = def;
35527
35841
  });
35528
35842
 
35529
- // node_modules/ajv/dist/vocabularies/validation/required.js
35843
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js
35530
35844
  var require_required = __commonJS((exports) => {
35531
35845
  Object.defineProperty(exports, "__esModule", { value: true });
35532
35846
  var code_1 = require_code2();
@@ -35605,7 +35919,7 @@ var require_required = __commonJS((exports) => {
35605
35919
  exports.default = def;
35606
35920
  });
35607
35921
 
35608
- // node_modules/ajv/dist/vocabularies/validation/limitItems.js
35922
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js
35609
35923
  var require_limitItems = __commonJS((exports) => {
35610
35924
  Object.defineProperty(exports, "__esModule", { value: true });
35611
35925
  var codegen_1 = require_codegen();
@@ -35631,7 +35945,7 @@ var require_limitItems = __commonJS((exports) => {
35631
35945
  exports.default = def;
35632
35946
  });
35633
35947
 
35634
- // node_modules/ajv/dist/runtime/equal.js
35948
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js
35635
35949
  var require_equal = __commonJS((exports) => {
35636
35950
  Object.defineProperty(exports, "__esModule", { value: true });
35637
35951
  var equal = require_fast_deep_equal();
@@ -35639,7 +35953,7 @@ var require_equal = __commonJS((exports) => {
35639
35953
  exports.default = equal;
35640
35954
  });
35641
35955
 
35642
- // node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
35956
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
35643
35957
  var require_uniqueItems = __commonJS((exports) => {
35644
35958
  Object.defineProperty(exports, "__esModule", { value: true });
35645
35959
  var dataType_1 = require_dataType();
@@ -35703,7 +36017,7 @@ var require_uniqueItems = __commonJS((exports) => {
35703
36017
  exports.default = def;
35704
36018
  });
35705
36019
 
35706
- // node_modules/ajv/dist/vocabularies/validation/const.js
36020
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js
35707
36021
  var require_const = __commonJS((exports) => {
35708
36022
  Object.defineProperty(exports, "__esModule", { value: true });
35709
36023
  var codegen_1 = require_codegen();
@@ -35729,7 +36043,7 @@ var require_const = __commonJS((exports) => {
35729
36043
  exports.default = def;
35730
36044
  });
35731
36045
 
35732
- // node_modules/ajv/dist/vocabularies/validation/enum.js
36046
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js
35733
36047
  var require_enum = __commonJS((exports) => {
35734
36048
  Object.defineProperty(exports, "__esModule", { value: true });
35735
36049
  var codegen_1 = require_codegen();
@@ -35775,7 +36089,7 @@ var require_enum = __commonJS((exports) => {
35775
36089
  exports.default = def;
35776
36090
  });
35777
36091
 
35778
- // node_modules/ajv/dist/vocabularies/validation/index.js
36092
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js
35779
36093
  var require_validation = __commonJS((exports) => {
35780
36094
  Object.defineProperty(exports, "__esModule", { value: true });
35781
36095
  var limitNumber_1 = require_limitNumber();
@@ -35805,7 +36119,7 @@ var require_validation = __commonJS((exports) => {
35805
36119
  exports.default = validation;
35806
36120
  });
35807
36121
 
35808
- // node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
36122
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
35809
36123
  var require_additionalItems = __commonJS((exports) => {
35810
36124
  Object.defineProperty(exports, "__esModule", { value: true });
35811
36125
  exports.validateAdditionalItems = undefined;
@@ -35855,7 +36169,7 @@ var require_additionalItems = __commonJS((exports) => {
35855
36169
  exports.default = def;
35856
36170
  });
35857
36171
 
35858
- // node_modules/ajv/dist/vocabularies/applicator/items.js
36172
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js
35859
36173
  var require_items = __commonJS((exports) => {
35860
36174
  Object.defineProperty(exports, "__esModule", { value: true });
35861
36175
  exports.validateTuple = undefined;
@@ -35909,7 +36223,7 @@ var require_items = __commonJS((exports) => {
35909
36223
  exports.default = def;
35910
36224
  });
35911
36225
 
35912
- // node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
36226
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
35913
36227
  var require_prefixItems = __commonJS((exports) => {
35914
36228
  Object.defineProperty(exports, "__esModule", { value: true });
35915
36229
  var items_1 = require_items();
@@ -35923,7 +36237,7 @@ var require_prefixItems = __commonJS((exports) => {
35923
36237
  exports.default = def;
35924
36238
  });
35925
36239
 
35926
- // node_modules/ajv/dist/vocabularies/applicator/items2020.js
36240
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js
35927
36241
  var require_items2020 = __commonJS((exports) => {
35928
36242
  Object.defineProperty(exports, "__esModule", { value: true });
35929
36243
  var codegen_1 = require_codegen();
@@ -35955,7 +36269,7 @@ var require_items2020 = __commonJS((exports) => {
35955
36269
  exports.default = def;
35956
36270
  });
35957
36271
 
35958
- // node_modules/ajv/dist/vocabularies/applicator/contains.js
36272
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js
35959
36273
  var require_contains = __commonJS((exports) => {
35960
36274
  Object.defineProperty(exports, "__esModule", { value: true });
35961
36275
  var codegen_1 = require_codegen();
@@ -36046,7 +36360,7 @@ var require_contains = __commonJS((exports) => {
36046
36360
  exports.default = def;
36047
36361
  });
36048
36362
 
36049
- // node_modules/ajv/dist/vocabularies/applicator/dependencies.js
36363
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js
36050
36364
  var require_dependencies = __commonJS((exports) => {
36051
36365
  Object.defineProperty(exports, "__esModule", { value: true });
36052
36366
  exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = undefined;
@@ -36131,7 +36445,7 @@ var require_dependencies = __commonJS((exports) => {
36131
36445
  exports.default = def;
36132
36446
  });
36133
36447
 
36134
- // node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
36448
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
36135
36449
  var require_propertyNames = __commonJS((exports) => {
36136
36450
  Object.defineProperty(exports, "__esModule", { value: true });
36137
36451
  var codegen_1 = require_codegen();
@@ -36171,7 +36485,7 @@ var require_propertyNames = __commonJS((exports) => {
36171
36485
  exports.default = def;
36172
36486
  });
36173
36487
 
36174
- // node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
36488
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
36175
36489
  var require_additionalProperties = __commonJS((exports) => {
36176
36490
  Object.defineProperty(exports, "__esModule", { value: true });
36177
36491
  var code_1 = require_code2();
@@ -36274,7 +36588,7 @@ var require_additionalProperties = __commonJS((exports) => {
36274
36588
  exports.default = def;
36275
36589
  });
36276
36590
 
36277
- // node_modules/ajv/dist/vocabularies/applicator/properties.js
36591
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js
36278
36592
  var require_properties = __commonJS((exports) => {
36279
36593
  Object.defineProperty(exports, "__esModule", { value: true });
36280
36594
  var validate_1 = require_validate();
@@ -36329,7 +36643,7 @@ var require_properties = __commonJS((exports) => {
36329
36643
  exports.default = def;
36330
36644
  });
36331
36645
 
36332
- // node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
36646
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
36333
36647
  var require_patternProperties = __commonJS((exports) => {
36334
36648
  Object.defineProperty(exports, "__esModule", { value: true });
36335
36649
  var code_1 = require_code2();
@@ -36400,7 +36714,7 @@ var require_patternProperties = __commonJS((exports) => {
36400
36714
  exports.default = def;
36401
36715
  });
36402
36716
 
36403
- // node_modules/ajv/dist/vocabularies/applicator/not.js
36717
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js
36404
36718
  var require_not = __commonJS((exports) => {
36405
36719
  Object.defineProperty(exports, "__esModule", { value: true });
36406
36720
  var util_1 = require_util();
@@ -36428,7 +36742,7 @@ var require_not = __commonJS((exports) => {
36428
36742
  exports.default = def;
36429
36743
  });
36430
36744
 
36431
- // node_modules/ajv/dist/vocabularies/applicator/anyOf.js
36745
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js
36432
36746
  var require_anyOf = __commonJS((exports) => {
36433
36747
  Object.defineProperty(exports, "__esModule", { value: true });
36434
36748
  var code_1 = require_code2();
@@ -36442,7 +36756,7 @@ var require_anyOf = __commonJS((exports) => {
36442
36756
  exports.default = def;
36443
36757
  });
36444
36758
 
36445
- // node_modules/ajv/dist/vocabularies/applicator/oneOf.js
36759
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js
36446
36760
  var require_oneOf = __commonJS((exports) => {
36447
36761
  Object.defineProperty(exports, "__esModule", { value: true });
36448
36762
  var codegen_1 = require_codegen();
@@ -36497,7 +36811,7 @@ var require_oneOf = __commonJS((exports) => {
36497
36811
  exports.default = def;
36498
36812
  });
36499
36813
 
36500
- // node_modules/ajv/dist/vocabularies/applicator/allOf.js
36814
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js
36501
36815
  var require_allOf = __commonJS((exports) => {
36502
36816
  Object.defineProperty(exports, "__esModule", { value: true });
36503
36817
  var util_1 = require_util();
@@ -36521,7 +36835,7 @@ var require_allOf = __commonJS((exports) => {
36521
36835
  exports.default = def;
36522
36836
  });
36523
36837
 
36524
- // node_modules/ajv/dist/vocabularies/applicator/if.js
36838
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js
36525
36839
  var require_if = __commonJS((exports) => {
36526
36840
  Object.defineProperty(exports, "__esModule", { value: true });
36527
36841
  var codegen_1 = require_codegen();
@@ -36587,7 +36901,7 @@ var require_if = __commonJS((exports) => {
36587
36901
  exports.default = def;
36588
36902
  });
36589
36903
 
36590
- // node_modules/ajv/dist/vocabularies/applicator/thenElse.js
36904
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js
36591
36905
  var require_thenElse = __commonJS((exports) => {
36592
36906
  Object.defineProperty(exports, "__esModule", { value: true });
36593
36907
  var util_1 = require_util();
@@ -36602,7 +36916,7 @@ var require_thenElse = __commonJS((exports) => {
36602
36916
  exports.default = def;
36603
36917
  });
36604
36918
 
36605
- // node_modules/ajv/dist/vocabularies/applicator/index.js
36919
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js
36606
36920
  var require_applicator = __commonJS((exports) => {
36607
36921
  Object.defineProperty(exports, "__esModule", { value: true });
36608
36922
  var additionalItems_1 = require_additionalItems();
@@ -36645,7 +36959,7 @@ var require_applicator = __commonJS((exports) => {
36645
36959
  exports.default = getApplicator;
36646
36960
  });
36647
36961
 
36648
- // node_modules/ajv/dist/vocabularies/format/format.js
36962
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js
36649
36963
  var require_format = __commonJS((exports) => {
36650
36964
  Object.defineProperty(exports, "__esModule", { value: true });
36651
36965
  var codegen_1 = require_codegen();
@@ -36732,7 +37046,7 @@ var require_format = __commonJS((exports) => {
36732
37046
  exports.default = def;
36733
37047
  });
36734
37048
 
36735
- // node_modules/ajv/dist/vocabularies/format/index.js
37049
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js
36736
37050
  var require_format2 = __commonJS((exports) => {
36737
37051
  Object.defineProperty(exports, "__esModule", { value: true });
36738
37052
  var format_1 = require_format();
@@ -36740,7 +37054,7 @@ var require_format2 = __commonJS((exports) => {
36740
37054
  exports.default = format;
36741
37055
  });
36742
37056
 
36743
- // node_modules/ajv/dist/vocabularies/metadata.js
37057
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js
36744
37058
  var require_metadata = __commonJS((exports) => {
36745
37059
  Object.defineProperty(exports, "__esModule", { value: true });
36746
37060
  exports.contentVocabulary = exports.metadataVocabulary = undefined;
@@ -36760,7 +37074,7 @@ var require_metadata = __commonJS((exports) => {
36760
37074
  ];
36761
37075
  });
36762
37076
 
36763
- // node_modules/ajv/dist/vocabularies/draft7.js
37077
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js
36764
37078
  var require_draft7 = __commonJS((exports) => {
36765
37079
  Object.defineProperty(exports, "__esModule", { value: true });
36766
37080
  var core_1 = require_core2();
@@ -36779,7 +37093,7 @@ var require_draft7 = __commonJS((exports) => {
36779
37093
  exports.default = draft7Vocabularies;
36780
37094
  });
36781
37095
 
36782
- // node_modules/ajv/dist/vocabularies/discriminator/types.js
37096
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js
36783
37097
  var require_types = __commonJS((exports) => {
36784
37098
  Object.defineProperty(exports, "__esModule", { value: true });
36785
37099
  exports.DiscrError = undefined;
@@ -36790,7 +37104,7 @@ var require_types = __commonJS((exports) => {
36790
37104
  })(DiscrError || (exports.DiscrError = DiscrError = {}));
36791
37105
  });
36792
37106
 
36793
- // node_modules/ajv/dist/vocabularies/discriminator/index.js
37107
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js
36794
37108
  var require_discriminator = __commonJS((exports) => {
36795
37109
  Object.defineProperty(exports, "__esModule", { value: true });
36796
37110
  var codegen_1 = require_codegen();
@@ -36892,7 +37206,7 @@ var require_discriminator = __commonJS((exports) => {
36892
37206
  exports.default = def;
36893
37207
  });
36894
37208
 
36895
- // node_modules/ajv/dist/refs/json-schema-draft-07.json
37209
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.json
36896
37210
  var require_json_schema_draft_07 = __commonJS((exports, module) => {
36897
37211
  module.exports = {
36898
37212
  $schema: "http://json-schema.org/draft-07/schema#",
@@ -37047,7 +37361,7 @@ var require_json_schema_draft_07 = __commonJS((exports, module) => {
37047
37361
  };
37048
37362
  });
37049
37363
 
37050
- // node_modules/ajv/dist/ajv.js
37364
+ // ../../node_modules/.bun/ajv@8.20.0/node_modules/ajv/dist/ajv.js
37051
37365
  var require_ajv = __commonJS((exports, module) => {
37052
37366
  Object.defineProperty(exports, "__esModule", { value: true });
37053
37367
  exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = undefined;
@@ -37115,7 +37429,7 @@ var require_ajv = __commonJS((exports, module) => {
37115
37429
  } });
37116
37430
  });
37117
37431
 
37118
- // node_modules/ajv-formats/dist/formats.js
37432
+ // ../../node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/formats.js
37119
37433
  var require_formats = __commonJS((exports) => {
37120
37434
  Object.defineProperty(exports, "__esModule", { value: true });
37121
37435
  exports.formatNames = exports.fastFormats = exports.fullFormats = undefined;
@@ -37292,7 +37606,7 @@ var require_formats = __commonJS((exports) => {
37292
37606
  }
37293
37607
  });
37294
37608
 
37295
- // node_modules/ajv-formats/dist/limit.js
37609
+ // ../../node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/limit.js
37296
37610
  var require_limit = __commonJS((exports) => {
37297
37611
  Object.defineProperty(exports, "__esModule", { value: true });
37298
37612
  exports.formatLimitDefinition = undefined;
@@ -37361,7 +37675,7 @@ var require_limit = __commonJS((exports) => {
37361
37675
  exports.default = formatLimitPlugin;
37362
37676
  });
37363
37677
 
37364
- // node_modules/ajv-formats/dist/index.js
37678
+ // ../../node_modules/.bun/ajv-formats@3.0.1/node_modules/ajv-formats/dist/index.js
37365
37679
  var require_dist = __commonJS((exports, module) => {
37366
37680
  Object.defineProperty(exports, "__esModule", { value: true });
37367
37681
  var formats_1 = require_formats();
@@ -37400,7 +37714,7 @@ var require_dist = __commonJS((exports, module) => {
37400
37714
  exports.default = formatsPlugin;
37401
37715
  });
37402
37716
 
37403
- // node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
37717
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
37404
37718
  function createDefaultAjvInstance() {
37405
37719
  const ajv = new import_ajv.default({
37406
37720
  strict: false,
@@ -37443,7 +37757,7 @@ var init_ajv_provider = __esm(() => {
37443
37757
  import_ajv_formats = __toESM(require_dist(), 1);
37444
37758
  });
37445
37759
 
37446
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
37760
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
37447
37761
  class ExperimentalServerTasks {
37448
37762
  constructor(_server) {
37449
37763
  this._server = _server;
@@ -37524,7 +37838,7 @@ var init_server = __esm(() => {
37524
37838
  init_types2();
37525
37839
  });
37526
37840
 
37527
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
37841
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
37528
37842
  function assertToolsCallTaskCapability(requests, method, entityName) {
37529
37843
  if (!requests) {
37530
37844
  throw new Error(`${entityName} does not support task creation (required for ${method})`);
@@ -37559,7 +37873,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
37559
37873
  }
37560
37874
  }
37561
37875
 
37562
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
37876
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
37563
37877
  var Server;
37564
37878
  var init_server2 = __esm(() => {
37565
37879
  init_protocol();
@@ -37614,16 +37928,7 @@ var init_server2 = __esm(() => {
37614
37928
  if (!methodSchema) {
37615
37929
  throw new Error("Schema is missing a method literal");
37616
37930
  }
37617
- let methodValue;
37618
- if (isZ4Schema(methodSchema)) {
37619
- const v4Schema = methodSchema;
37620
- const v4Def = v4Schema._zod?.def;
37621
- methodValue = v4Def?.value ?? v4Schema.value;
37622
- } else {
37623
- const v3Schema = methodSchema;
37624
- const legacyDef = v3Schema._def;
37625
- methodValue = legacyDef?.value ?? v3Schema.value;
37626
- }
37931
+ const methodValue = getLiteralValue(methodSchema);
37627
37932
  if (typeof methodValue !== "string") {
37628
37933
  throw new Error("Schema method literal must be a string");
37629
37934
  }
@@ -37900,7 +38205,7 @@ var init_server2 = __esm(() => {
37900
38205
  };
37901
38206
  });
37902
38207
 
37903
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
38208
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
37904
38209
  function isCompletable(schema) {
37905
38210
  return !!schema && typeof schema === "object" && COMPLETABLE_SYMBOL in schema;
37906
38211
  }
@@ -37915,7 +38220,7 @@ var init_completable = __esm(() => {
37915
38220
  McpZodTypeKind2["Completable"] = "McpCompletable";
37916
38221
  })(McpZodTypeKind || (McpZodTypeKind = {}));
37917
38222
  });
37918
- // node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
38223
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
37919
38224
  function validateToolName(name) {
37920
38225
  const warnings = [];
37921
38226
  if (name.length === 0) {
@@ -37976,7 +38281,7 @@ var init_toolNameValidation = __esm(() => {
37976
38281
  TOOL_NAME_REGEX = /^[A-Za-z0-9._-]{1,128}$/;
37977
38282
  });
37978
38283
 
37979
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
38284
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
37980
38285
  class ExperimentalMcpServerTasks {
37981
38286
  constructor(_mcpServer) {
37982
38287
  this._mcpServer = _mcpServer;
@@ -37991,7 +38296,7 @@ class ExperimentalMcpServerTasks {
37991
38296
  }
37992
38297
  }
37993
38298
 
37994
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
38299
+ // ../../node_modules/.bun/@modelcontextprotocol+sdk@1.30.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
37995
38300
  class McpServer {
37996
38301
  constructor(serverInfo, options) {
37997
38302
  this._registeredResources = {};
@@ -40024,14 +40329,664 @@ var init_http = __esm(() => {
40024
40329
  init_server3();
40025
40330
  });
40026
40331
 
40332
+ // ../../node_modules/.bun/is-docker@3.0.0/node_modules/is-docker/index.js
40333
+ import fs from "fs";
40334
+ function hasDockerEnv() {
40335
+ try {
40336
+ fs.statSync("/.dockerenv");
40337
+ return true;
40338
+ } catch {
40339
+ return false;
40340
+ }
40341
+ }
40342
+ function hasDockerCGroup() {
40343
+ try {
40344
+ return fs.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
40345
+ } catch {
40346
+ return false;
40347
+ }
40348
+ }
40349
+ function isDocker() {
40350
+ if (isDockerCached === undefined) {
40351
+ isDockerCached = hasDockerEnv() || hasDockerCGroup();
40352
+ }
40353
+ return isDockerCached;
40354
+ }
40355
+ var isDockerCached;
40356
+ var init_is_docker = () => {};
40357
+
40358
+ // ../../node_modules/.bun/is-inside-container@1.0.0/node_modules/is-inside-container/index.js
40359
+ import fs2 from "fs";
40360
+ function isInsideContainer() {
40361
+ if (cachedResult === undefined) {
40362
+ cachedResult = hasContainerEnv() || isDocker();
40363
+ }
40364
+ return cachedResult;
40365
+ }
40366
+ var cachedResult, hasContainerEnv = () => {
40367
+ try {
40368
+ fs2.statSync("/run/.containerenv");
40369
+ return true;
40370
+ } catch {
40371
+ return false;
40372
+ }
40373
+ };
40374
+ var init_is_inside_container = __esm(() => {
40375
+ init_is_docker();
40376
+ });
40377
+
40378
+ // ../../node_modules/.bun/is-wsl@3.1.1/node_modules/is-wsl/index.js
40379
+ import process3 from "process";
40380
+ import os from "os";
40381
+ import fs3 from "fs";
40382
+ var isWsl = () => {
40383
+ if (process3.platform !== "linux") {
40384
+ return false;
40385
+ }
40386
+ if (os.release().toLowerCase().includes("microsoft")) {
40387
+ if (isInsideContainer()) {
40388
+ return false;
40389
+ }
40390
+ return true;
40391
+ }
40392
+ try {
40393
+ if (fs3.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft")) {
40394
+ return !isInsideContainer();
40395
+ }
40396
+ } catch {}
40397
+ if (fs3.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop") || fs3.existsSync("/run/WSL")) {
40398
+ return !isInsideContainer();
40399
+ }
40400
+ return false;
40401
+ }, is_wsl_default;
40402
+ var init_is_wsl = __esm(() => {
40403
+ init_is_inside_container();
40404
+ is_wsl_default = process3.env.__IS_WSL_TEST__ ? isWsl : isWsl();
40405
+ });
40406
+
40407
+ // ../../node_modules/.bun/powershell-utils@0.1.0/node_modules/powershell-utils/index.js
40408
+ import process4 from "process";
40409
+ import { Buffer as Buffer3 } from "buffer";
40410
+ import { promisify } from "util";
40411
+ import childProcess from "child_process";
40412
+ var execFile, powerShellPath = () => `${process4.env.SYSTEMROOT || process4.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`, executePowerShell = async (command, options = {}) => {
40413
+ const {
40414
+ powerShellPath: psPath,
40415
+ ...execFileOptions
40416
+ } = options;
40417
+ const encodedCommand = executePowerShell.encodeCommand(command);
40418
+ return execFile(psPath ?? powerShellPath(), [
40419
+ ...executePowerShell.argumentsPrefix,
40420
+ encodedCommand
40421
+ ], {
40422
+ encoding: "utf8",
40423
+ ...execFileOptions
40424
+ });
40425
+ };
40426
+ var init_powershell_utils = __esm(() => {
40427
+ execFile = promisify(childProcess.execFile);
40428
+ executePowerShell.argumentsPrefix = [
40429
+ "-NoProfile",
40430
+ "-NonInteractive",
40431
+ "-ExecutionPolicy",
40432
+ "Bypass",
40433
+ "-EncodedCommand"
40434
+ ];
40435
+ executePowerShell.encodeCommand = (command) => Buffer3.from(command, "utf16le").toString("base64");
40436
+ executePowerShell.escapeArgument = (value) => `'${String(value).replaceAll("'", "''")}'`;
40437
+ });
40438
+
40439
+ // ../../node_modules/.bun/wsl-utils@0.3.1/node_modules/wsl-utils/utilities.js
40440
+ function parseMountPointFromConfig(content) {
40441
+ for (const line of content.split(`
40442
+ `)) {
40443
+ if (/^\s*#/.test(line)) {
40444
+ continue;
40445
+ }
40446
+ const match = /^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(line);
40447
+ if (!match) {
40448
+ continue;
40449
+ }
40450
+ return match.groups.mountPoint.trim().replaceAll(/^["']|["']$/g, "");
40451
+ }
40452
+ }
40453
+
40454
+ // ../../node_modules/.bun/wsl-utils@0.3.1/node_modules/wsl-utils/index.js
40455
+ import { promisify as promisify2 } from "util";
40456
+ import childProcess2 from "child_process";
40457
+ import fs4, { constants as fsConstants } from "fs/promises";
40458
+ var execFile2, wslDrivesMountPoint, powerShellPathFromWsl = async () => {
40459
+ const mountPoint = await wslDrivesMountPoint();
40460
+ return `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`;
40461
+ }, powerShellPath2, canAccessPowerShellPromise, canAccessPowerShell = async () => {
40462
+ canAccessPowerShellPromise ??= (async () => {
40463
+ try {
40464
+ const psPath = await powerShellPath2();
40465
+ await fs4.access(psPath, fsConstants.X_OK);
40466
+ return true;
40467
+ } catch {
40468
+ return false;
40469
+ }
40470
+ })();
40471
+ return canAccessPowerShellPromise;
40472
+ }, wslDefaultBrowser = async () => {
40473
+ const psPath = await powerShellPath2();
40474
+ const command = String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`;
40475
+ const { stdout } = await executePowerShell(command, { powerShellPath: psPath });
40476
+ return stdout.trim();
40477
+ }, convertWslPathToWindows = async (path) => {
40478
+ if (/^[a-z]+:\/\//i.test(path)) {
40479
+ return path;
40480
+ }
40481
+ try {
40482
+ const { stdout } = await execFile2("wslpath", ["-aw", path], { encoding: "utf8" });
40483
+ return stdout.trim();
40484
+ } catch {
40485
+ return path;
40486
+ }
40487
+ };
40488
+ var init_wsl_utils = __esm(() => {
40489
+ init_is_wsl();
40490
+ init_powershell_utils();
40491
+ init_is_wsl();
40492
+ execFile2 = promisify2(childProcess2.execFile);
40493
+ wslDrivesMountPoint = (() => {
40494
+ const defaultMountPoint = "/mnt/";
40495
+ let mountPoint;
40496
+ return async function() {
40497
+ if (mountPoint) {
40498
+ return mountPoint;
40499
+ }
40500
+ const configFilePath = "/etc/wsl.conf";
40501
+ let isConfigFileExists = false;
40502
+ try {
40503
+ await fs4.access(configFilePath, fsConstants.F_OK);
40504
+ isConfigFileExists = true;
40505
+ } catch {}
40506
+ if (!isConfigFileExists) {
40507
+ return defaultMountPoint;
40508
+ }
40509
+ const configContent = await fs4.readFile(configFilePath, { encoding: "utf8" });
40510
+ const parsedMountPoint = parseMountPointFromConfig(configContent);
40511
+ if (parsedMountPoint === undefined) {
40512
+ return defaultMountPoint;
40513
+ }
40514
+ mountPoint = parsedMountPoint;
40515
+ mountPoint = mountPoint.endsWith("/") ? mountPoint : `${mountPoint}/`;
40516
+ return mountPoint;
40517
+ };
40518
+ })();
40519
+ powerShellPath2 = is_wsl_default ? powerShellPathFromWsl : powerShellPath;
40520
+ });
40521
+
40522
+ // ../../node_modules/.bun/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js
40523
+ function defineLazyProperty(object4, propertyName, valueGetter) {
40524
+ const define = (value) => Object.defineProperty(object4, propertyName, { value, enumerable: true, writable: true });
40525
+ Object.defineProperty(object4, propertyName, {
40526
+ configurable: true,
40527
+ enumerable: true,
40528
+ get() {
40529
+ const result = valueGetter();
40530
+ define(result);
40531
+ return result;
40532
+ },
40533
+ set(value) {
40534
+ define(value);
40535
+ }
40536
+ });
40537
+ return object4;
40538
+ }
40539
+
40540
+ // ../../node_modules/.bun/default-browser-id@5.0.1/node_modules/default-browser-id/index.js
40541
+ import { promisify as promisify3 } from "util";
40542
+ import process5 from "process";
40543
+ import { execFile as execFile3 } from "child_process";
40544
+ async function defaultBrowserId() {
40545
+ if (process5.platform !== "darwin") {
40546
+ throw new Error("macOS only");
40547
+ }
40548
+ const { stdout } = await execFileAsync("defaults", ["read", "com.apple.LaunchServices/com.apple.launchservices.secure", "LSHandlers"]);
40549
+ const match = /LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout);
40550
+ const browserId = match?.groups.id ?? "com.apple.Safari";
40551
+ if (browserId === "com.apple.safari") {
40552
+ return "com.apple.Safari";
40553
+ }
40554
+ return browserId;
40555
+ }
40556
+ var execFileAsync;
40557
+ var init_default_browser_id = __esm(() => {
40558
+ execFileAsync = promisify3(execFile3);
40559
+ });
40560
+
40561
+ // ../../node_modules/.bun/run-applescript@7.1.0/node_modules/run-applescript/index.js
40562
+ import process6 from "process";
40563
+ import { promisify as promisify4 } from "util";
40564
+ import { execFile as execFile4, execFileSync } from "child_process";
40565
+ async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
40566
+ if (process6.platform !== "darwin") {
40567
+ throw new Error("macOS only");
40568
+ }
40569
+ const outputArguments = humanReadableOutput ? [] : ["-ss"];
40570
+ const execOptions = {};
40571
+ if (signal) {
40572
+ execOptions.signal = signal;
40573
+ }
40574
+ const { stdout } = await execFileAsync2("osascript", ["-e", script, outputArguments], execOptions);
40575
+ return stdout.trim();
40576
+ }
40577
+ var execFileAsync2;
40578
+ var init_run_applescript = __esm(() => {
40579
+ execFileAsync2 = promisify4(execFile4);
40580
+ });
40581
+
40582
+ // ../../node_modules/.bun/bundle-name@4.1.0/node_modules/bundle-name/index.js
40583
+ async function bundleName(bundleId) {
40584
+ return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string
40585
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`);
40586
+ }
40587
+ var init_bundle_name = __esm(() => {
40588
+ init_run_applescript();
40589
+ });
40590
+
40591
+ // ../../node_modules/.bun/default-browser@5.5.0/node_modules/default-browser/windows.js
40592
+ import { promisify as promisify5 } from "util";
40593
+ import { execFile as execFile5 } from "child_process";
40594
+ async function defaultBrowser(_execFileAsync = execFileAsync3) {
40595
+ const { stdout } = await _execFileAsync("reg", [
40596
+ "QUERY",
40597
+ " HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice",
40598
+ "/v",
40599
+ "ProgId"
40600
+ ]);
40601
+ const match = /ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout);
40602
+ if (!match) {
40603
+ throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);
40604
+ }
40605
+ const { id } = match.groups;
40606
+ const dotIndex = id.lastIndexOf(".");
40607
+ const hyphenIndex = id.lastIndexOf("-");
40608
+ const baseIdByDot = dotIndex === -1 ? undefined : id.slice(0, dotIndex);
40609
+ const baseIdByHyphen = hyphenIndex === -1 ? undefined : id.slice(0, hyphenIndex);
40610
+ return windowsBrowserProgIds[id] ?? windowsBrowserProgIds[baseIdByDot] ?? windowsBrowserProgIds[baseIdByHyphen] ?? { name: id, id };
40611
+ }
40612
+ var execFileAsync3, windowsBrowserProgIds, _windowsBrowserProgIdMap, UnknownBrowserError;
40613
+ var init_windows = __esm(() => {
40614
+ execFileAsync3 = promisify5(execFile5);
40615
+ windowsBrowserProgIds = {
40616
+ MSEdgeHTM: { name: "Edge", id: "com.microsoft.edge" },
40617
+ MSEdgeBHTML: { name: "Edge Beta", id: "com.microsoft.edge.beta" },
40618
+ MSEdgeDHTML: { name: "Edge Dev", id: "com.microsoft.edge.dev" },
40619
+ AppXq0fevzme2pys62n3e0fbqa7peapykr8v: { name: "Edge", id: "com.microsoft.edge.old" },
40620
+ ChromeHTML: { name: "Chrome", id: "com.google.chrome" },
40621
+ ChromeBHTML: { name: "Chrome Beta", id: "com.google.chrome.beta" },
40622
+ ChromeDHTML: { name: "Chrome Dev", id: "com.google.chrome.dev" },
40623
+ ChromiumHTM: { name: "Chromium", id: "org.chromium.Chromium" },
40624
+ BraveHTML: { name: "Brave", id: "com.brave.Browser" },
40625
+ BraveBHTML: { name: "Brave Beta", id: "com.brave.Browser.beta" },
40626
+ BraveDHTML: { name: "Brave Dev", id: "com.brave.Browser.dev" },
40627
+ BraveSSHTM: { name: "Brave Nightly", id: "com.brave.Browser.nightly" },
40628
+ FirefoxURL: { name: "Firefox", id: "org.mozilla.firefox" },
40629
+ OperaStable: { name: "Opera", id: "com.operasoftware.Opera" },
40630
+ VivaldiHTM: { name: "Vivaldi", id: "com.vivaldi.Vivaldi" },
40631
+ "IE.HTTP": { name: "Internet Explorer", id: "com.microsoft.ie" }
40632
+ };
40633
+ _windowsBrowserProgIdMap = new Map(Object.entries(windowsBrowserProgIds));
40634
+ UnknownBrowserError = class UnknownBrowserError extends Error {
40635
+ };
40636
+ });
40637
+
40638
+ // ../../node_modules/.bun/default-browser@5.5.0/node_modules/default-browser/index.js
40639
+ import { promisify as promisify6 } from "util";
40640
+ import process7 from "process";
40641
+ import { execFile as execFile6 } from "child_process";
40642
+ async function defaultBrowser2() {
40643
+ if (process7.platform === "darwin") {
40644
+ const id = await defaultBrowserId();
40645
+ const name = await bundleName(id);
40646
+ return { name, id };
40647
+ }
40648
+ if (process7.platform === "linux") {
40649
+ const { stdout } = await execFileAsync4("xdg-mime", ["query", "default", "x-scheme-handler/http"]);
40650
+ const id = stdout.trim();
40651
+ const name = titleize(id.replace(/.desktop$/, "").replace("-", " "));
40652
+ return { name, id };
40653
+ }
40654
+ if (process7.platform === "win32") {
40655
+ return defaultBrowser();
40656
+ }
40657
+ throw new Error("Only macOS, Linux, and Windows are supported");
40658
+ }
40659
+ var execFileAsync4, titleize = (string4) => string4.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x) => x.toUpperCase());
40660
+ var init_default_browser = __esm(() => {
40661
+ init_default_browser_id();
40662
+ init_bundle_name();
40663
+ init_windows();
40664
+ init_windows();
40665
+ execFileAsync4 = promisify6(execFile6);
40666
+ });
40667
+
40668
+ // ../../node_modules/.bun/is-in-ssh@1.0.0/node_modules/is-in-ssh/index.js
40669
+ import process8 from "process";
40670
+ var isInSsh, is_in_ssh_default;
40671
+ var init_is_in_ssh = __esm(() => {
40672
+ isInSsh = Boolean(process8.env.SSH_CONNECTION || process8.env.SSH_CLIENT || process8.env.SSH_TTY);
40673
+ is_in_ssh_default = isInSsh;
40674
+ });
40675
+
40676
+ // ../../node_modules/.bun/open@11.0.0/node_modules/open/index.js
40677
+ import process9 from "process";
40678
+ import path from "path";
40679
+ import { fileURLToPath as fileURLToPath6 } from "url";
40680
+ import childProcess3 from "child_process";
40681
+ import fs5, { constants as fsConstants2 } from "fs/promises";
40682
+ function detectArchBinary(binary) {
40683
+ if (typeof binary === "string" || Array.isArray(binary)) {
40684
+ return binary;
40685
+ }
40686
+ const { [arch]: archBinary } = binary;
40687
+ if (!archBinary) {
40688
+ throw new Error(`${arch} is not supported`);
40689
+ }
40690
+ return archBinary;
40691
+ }
40692
+ function detectPlatformBinary({ [platform]: platformBinary }, { wsl } = {}) {
40693
+ if (wsl && is_wsl_default) {
40694
+ return detectArchBinary(wsl);
40695
+ }
40696
+ if (!platformBinary) {
40697
+ throw new Error(`${platform} is not supported`);
40698
+ }
40699
+ return detectArchBinary(platformBinary);
40700
+ }
40701
+ var fallbackAttemptSymbol, __dirname6, localXdgOpenPath, platform, arch, tryEachApp = async (apps, opener) => {
40702
+ if (apps.length === 0) {
40703
+ return;
40704
+ }
40705
+ const errors4 = [];
40706
+ for (const app of apps) {
40707
+ try {
40708
+ return await opener(app);
40709
+ } catch (error2) {
40710
+ errors4.push(error2);
40711
+ }
40712
+ }
40713
+ throw new AggregateError(errors4, "Failed to open in all supported apps");
40714
+ }, baseOpen = async (options) => {
40715
+ options = {
40716
+ wait: false,
40717
+ background: false,
40718
+ newInstance: false,
40719
+ allowNonzeroExitCode: false,
40720
+ ...options
40721
+ };
40722
+ const isFallbackAttempt = options[fallbackAttemptSymbol] === true;
40723
+ delete options[fallbackAttemptSymbol];
40724
+ if (Array.isArray(options.app)) {
40725
+ return tryEachApp(options.app, (singleApp) => baseOpen({
40726
+ ...options,
40727
+ app: singleApp,
40728
+ [fallbackAttemptSymbol]: true
40729
+ }));
40730
+ }
40731
+ let { name: app, arguments: appArguments = [] } = options.app ?? {};
40732
+ appArguments = [...appArguments];
40733
+ if (Array.isArray(app)) {
40734
+ return tryEachApp(app, (appName) => baseOpen({
40735
+ ...options,
40736
+ app: {
40737
+ name: appName,
40738
+ arguments: appArguments
40739
+ },
40740
+ [fallbackAttemptSymbol]: true
40741
+ }));
40742
+ }
40743
+ if (app === "browser" || app === "browserPrivate") {
40744
+ const ids = {
40745
+ "com.google.chrome": "chrome",
40746
+ "google-chrome.desktop": "chrome",
40747
+ "com.brave.browser": "brave",
40748
+ "org.mozilla.firefox": "firefox",
40749
+ "firefox.desktop": "firefox",
40750
+ "com.microsoft.msedge": "edge",
40751
+ "com.microsoft.edge": "edge",
40752
+ "com.microsoft.edgemac": "edge",
40753
+ "microsoft-edge.desktop": "edge",
40754
+ "com.apple.safari": "safari"
40755
+ };
40756
+ const flags = {
40757
+ chrome: "--incognito",
40758
+ brave: "--incognito",
40759
+ firefox: "--private-window",
40760
+ edge: "--inPrivate"
40761
+ };
40762
+ let browser;
40763
+ if (is_wsl_default) {
40764
+ const progId = await wslDefaultBrowser();
40765
+ const browserInfo = _windowsBrowserProgIdMap.get(progId);
40766
+ browser = browserInfo ?? {};
40767
+ } else {
40768
+ browser = await defaultBrowser2();
40769
+ }
40770
+ if (browser.id in ids) {
40771
+ const browserName = ids[browser.id.toLowerCase()];
40772
+ if (app === "browserPrivate") {
40773
+ if (browserName === "safari") {
40774
+ throw new Error("Safari doesn't support opening in private mode via command line");
40775
+ }
40776
+ appArguments.push(flags[browserName]);
40777
+ }
40778
+ return baseOpen({
40779
+ ...options,
40780
+ app: {
40781
+ name: apps[browserName],
40782
+ arguments: appArguments
40783
+ }
40784
+ });
40785
+ }
40786
+ throw new Error(`${browser.name} is not supported as a default browser`);
40787
+ }
40788
+ let command;
40789
+ const cliArguments = [];
40790
+ const childProcessOptions = {};
40791
+ let shouldUseWindowsInWsl = false;
40792
+ if (is_wsl_default && !isInsideContainer() && !is_in_ssh_default && !app) {
40793
+ shouldUseWindowsInWsl = await canAccessPowerShell();
40794
+ }
40795
+ if (platform === "darwin") {
40796
+ command = "open";
40797
+ if (options.wait) {
40798
+ cliArguments.push("--wait-apps");
40799
+ }
40800
+ if (options.background) {
40801
+ cliArguments.push("--background");
40802
+ }
40803
+ if (options.newInstance) {
40804
+ cliArguments.push("--new");
40805
+ }
40806
+ if (app) {
40807
+ cliArguments.push("-a", app);
40808
+ }
40809
+ } else if (platform === "win32" || shouldUseWindowsInWsl) {
40810
+ command = await powerShellPath2();
40811
+ cliArguments.push(...executePowerShell.argumentsPrefix);
40812
+ if (!is_wsl_default) {
40813
+ childProcessOptions.windowsVerbatimArguments = true;
40814
+ }
40815
+ if (is_wsl_default && options.target) {
40816
+ options.target = await convertWslPathToWindows(options.target);
40817
+ }
40818
+ const encodedArguments = ["$ProgressPreference = 'SilentlyContinue';", "Start"];
40819
+ if (options.wait) {
40820
+ encodedArguments.push("-Wait");
40821
+ }
40822
+ if (app) {
40823
+ encodedArguments.push(executePowerShell.escapeArgument(app));
40824
+ if (options.target) {
40825
+ appArguments.push(options.target);
40826
+ }
40827
+ } else if (options.target) {
40828
+ encodedArguments.push(executePowerShell.escapeArgument(options.target));
40829
+ }
40830
+ if (appArguments.length > 0) {
40831
+ appArguments = appArguments.map((argument) => executePowerShell.escapeArgument(argument));
40832
+ encodedArguments.push("-ArgumentList", appArguments.join(","));
40833
+ }
40834
+ options.target = executePowerShell.encodeCommand(encodedArguments.join(" "));
40835
+ if (!options.wait) {
40836
+ childProcessOptions.stdio = "ignore";
40837
+ }
40838
+ } else {
40839
+ if (app) {
40840
+ command = app;
40841
+ } else {
40842
+ const isBundled = !__dirname6 || __dirname6 === "/";
40843
+ let exeLocalXdgOpen = false;
40844
+ try {
40845
+ await fs5.access(localXdgOpenPath, fsConstants2.X_OK);
40846
+ exeLocalXdgOpen = true;
40847
+ } catch {}
40848
+ const useSystemXdgOpen = process9.versions.electron ?? (platform === "android" || isBundled || !exeLocalXdgOpen);
40849
+ command = useSystemXdgOpen ? "xdg-open" : localXdgOpenPath;
40850
+ }
40851
+ if (appArguments.length > 0) {
40852
+ cliArguments.push(...appArguments);
40853
+ }
40854
+ if (!options.wait) {
40855
+ childProcessOptions.stdio = "ignore";
40856
+ childProcessOptions.detached = true;
40857
+ }
40858
+ }
40859
+ if (platform === "darwin" && appArguments.length > 0) {
40860
+ cliArguments.push("--args", ...appArguments);
40861
+ }
40862
+ if (options.target) {
40863
+ cliArguments.push(options.target);
40864
+ }
40865
+ const subprocess = childProcess3.spawn(command, cliArguments, childProcessOptions);
40866
+ if (options.wait) {
40867
+ return new Promise((resolve, reject) => {
40868
+ subprocess.once("error", reject);
40869
+ subprocess.once("close", (exitCode) => {
40870
+ if (!options.allowNonzeroExitCode && exitCode !== 0) {
40871
+ reject(new Error(`Exited with code ${exitCode}`));
40872
+ return;
40873
+ }
40874
+ resolve(subprocess);
40875
+ });
40876
+ });
40877
+ }
40878
+ if (isFallbackAttempt) {
40879
+ return new Promise((resolve, reject) => {
40880
+ subprocess.once("error", reject);
40881
+ subprocess.once("spawn", () => {
40882
+ subprocess.once("close", (exitCode) => {
40883
+ subprocess.off("error", reject);
40884
+ if (exitCode !== 0) {
40885
+ reject(new Error(`Exited with code ${exitCode}`));
40886
+ return;
40887
+ }
40888
+ subprocess.unref();
40889
+ resolve(subprocess);
40890
+ });
40891
+ });
40892
+ });
40893
+ }
40894
+ subprocess.unref();
40895
+ return new Promise((resolve, reject) => {
40896
+ subprocess.once("error", reject);
40897
+ subprocess.once("spawn", () => {
40898
+ subprocess.off("error", reject);
40899
+ resolve(subprocess);
40900
+ });
40901
+ });
40902
+ }, open = (target, options) => {
40903
+ if (typeof target !== "string") {
40904
+ throw new TypeError("Expected a `target`");
40905
+ }
40906
+ return baseOpen({
40907
+ ...options,
40908
+ target
40909
+ });
40910
+ }, apps, open_default;
40911
+ var init_open = __esm(() => {
40912
+ init_wsl_utils();
40913
+ init_powershell_utils();
40914
+ init_default_browser();
40915
+ init_is_inside_container();
40916
+ init_is_in_ssh();
40917
+ fallbackAttemptSymbol = Symbol("fallbackAttempt");
40918
+ __dirname6 = import.meta.url ? path.dirname(fileURLToPath6(import.meta.url)) : "";
40919
+ localXdgOpenPath = path.join(__dirname6, "xdg-open");
40920
+ ({ platform, arch } = process9);
40921
+ apps = {
40922
+ browser: "browser",
40923
+ browserPrivate: "browserPrivate"
40924
+ };
40925
+ defineLazyProperty(apps, "chrome", () => detectPlatformBinary({
40926
+ darwin: "google chrome",
40927
+ win32: "chrome",
40928
+ linux: ["google-chrome", "google-chrome-stable", "chromium", "chromium-browser"]
40929
+ }, {
40930
+ wsl: {
40931
+ ia32: "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",
40932
+ x64: ["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe", "/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]
40933
+ }
40934
+ }));
40935
+ defineLazyProperty(apps, "brave", () => detectPlatformBinary({
40936
+ darwin: "brave browser",
40937
+ win32: "brave",
40938
+ linux: ["brave-browser", "brave"]
40939
+ }, {
40940
+ wsl: {
40941
+ ia32: "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",
40942
+ x64: ["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe", "/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]
40943
+ }
40944
+ }));
40945
+ defineLazyProperty(apps, "firefox", () => detectPlatformBinary({
40946
+ darwin: "firefox",
40947
+ win32: String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,
40948
+ linux: "firefox"
40949
+ }, {
40950
+ wsl: "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"
40951
+ }));
40952
+ defineLazyProperty(apps, "edge", () => detectPlatformBinary({
40953
+ darwin: "microsoft edge",
40954
+ win32: "msedge",
40955
+ linux: ["microsoft-edge", "microsoft-edge-dev"]
40956
+ }, {
40957
+ wsl: "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
40958
+ }));
40959
+ defineLazyProperty(apps, "safari", () => detectPlatformBinary({
40960
+ darwin: "Safari"
40961
+ }));
40962
+ open_default = open;
40963
+ });
40964
+
40965
+ // src/lib/open-browser.ts
40966
+ var exports_open_browser = {};
40967
+ __export(exports_open_browser, {
40968
+ openBrowser: () => openBrowser
40969
+ });
40970
+ async function openBrowser(url) {
40971
+ try {
40972
+ await open_default(url);
40973
+ return { ok: true };
40974
+ } catch (error2) {
40975
+ return { ok: false, error: error2 };
40976
+ }
40977
+ }
40978
+ var init_open_browser = __esm(() => {
40979
+ init_open();
40980
+ });
40981
+
40027
40982
  // src/server/serve.ts
40028
40983
  var exports_serve = {};
40029
40984
  __export(exports_serve, {
40030
40985
  startServer: () => startServer
40031
40986
  });
40032
40987
  import { existsSync as existsSync15, readdirSync as readdirSync10, readFileSync as readFileSync9, writeFileSync as writeFileSync7, mkdirSync as mkdirSync9 } from "fs";
40033
- import { join as join15, dirname as dirname7, extname, basename as basename3 } from "path";
40034
- import { fileURLToPath as fileURLToPath6 } from "url";
40988
+ import { join as join15, dirname as dirname7, extname, basename as basename3, relative as relative2, resolve, sep } from "path";
40989
+ import { fileURLToPath as fileURLToPath7 } from "url";
40035
40990
  function logActivity(action, connector, detail) {
40036
40991
  activityLog.unshift({ action, connector, timestamp: Date.now(), detail });
40037
40992
  if (activityLog.length > MAX_ACTIVITY_LOG) {
@@ -40041,7 +40996,7 @@ function logActivity(action, connector, detail) {
40041
40996
  function resolveDashboardDir() {
40042
40997
  const candidates = [];
40043
40998
  try {
40044
- const scriptDir = dirname7(fileURLToPath6(import.meta.url));
40999
+ const scriptDir = dirname7(fileURLToPath7(import.meta.url));
40045
41000
  candidates.push(join15(scriptDir, "..", "dashboard", "dist"));
40046
41001
  candidates.push(join15(scriptDir, "..", "..", "dashboard", "dist"));
40047
41002
  } catch {}
@@ -40140,9 +41095,9 @@ function serveStaticFile(filePath) {
40140
41095
  if (!existsSync15(filePath))
40141
41096
  return null;
40142
41097
  const ext = extname(filePath);
40143
- const contentType = MIME_TYPES[ext] || "application/octet-stream";
41098
+ const contentType2 = MIME_TYPES[ext] || "application/octet-stream";
40144
41099
  return new Response(Bun.file(filePath), {
40145
- headers: { "Content-Type": contentType }
41100
+ headers: { "Content-Type": contentType2 }
40146
41101
  });
40147
41102
  }
40148
41103
  async function findAvailablePort(preferred, strict = false) {
@@ -40195,12 +41150,12 @@ Dashboard not found at: ${dashboardDir}`);
40195
41150
  port,
40196
41151
  async fetch(req) {
40197
41152
  const url2 = new URL(req.url);
40198
- const path = url2.pathname;
41153
+ const path2 = url2.pathname;
40199
41154
  const method = req.method;
40200
41155
  const mcpResponse = await handleMcpHttpRequest(req);
40201
41156
  if (mcpResponse)
40202
41157
  return mcpResponse;
40203
- if (path === "/api/connectors" && method === "GET") {
41158
+ if (path2 === "/api/connectors" && method === "GET") {
40204
41159
  const compact = url2.searchParams.get("compact") === "true";
40205
41160
  const fieldsParam = url2.searchParams.get("fields");
40206
41161
  const fields = fieldsParam ? new Set(fieldsParam.split(",").map((f) => f.trim())) : null;
@@ -40220,7 +41175,7 @@ Dashboard not found at: ${dashboardDir}`);
40220
41175
  }
40221
41176
  return jsonStripped(data, 200, port);
40222
41177
  }
40223
- if (path === "/api/connectors/manifest" && method === "GET") {
41178
+ if (path2 === "/api/connectors/manifest" && method === "GET") {
40224
41179
  const connectorNames = url2.searchParams.get("connectors")?.split(",").map((name) => name.trim()).filter(Boolean);
40225
41180
  const includeOperations = url2.searchParams.get("includeOperations") === "true";
40226
41181
  const manifest = await getConnectorCapabilityManifest({
@@ -40229,7 +41184,7 @@ Dashboard not found at: ${dashboardDir}`);
40229
41184
  });
40230
41185
  return json(manifest, 200, port);
40231
41186
  }
40232
- const singleMatch = path.match(/^\/api\/connectors\/([^/]+)$/);
41187
+ const singleMatch = path2.match(/^\/api\/connectors\/([^/]+)$/);
40233
41188
  if (singleMatch && method === "GET") {
40234
41189
  const name = singleMatch[1];
40235
41190
  if (!isValidConnectorName(name))
@@ -40249,7 +41204,7 @@ Dashboard not found at: ${dashboardDir}`);
40249
41204
  overview: docs?.overview || null
40250
41205
  }, 200, port);
40251
41206
  }
40252
- const operationsMatch = path.match(/^\/api\/connectors\/([^/]+)\/operations$/);
41207
+ const operationsMatch = path2.match(/^\/api\/connectors\/([^/]+)\/operations$/);
40253
41208
  if (operationsMatch && method === "GET") {
40254
41209
  const name = operationsMatch[1];
40255
41210
  if (!isValidConnectorName(name))
@@ -40270,7 +41225,7 @@ Dashboard not found at: ${dashboardDir}`);
40270
41225
  helpText: ops.helpText
40271
41226
  }, 200, port);
40272
41227
  }
40273
- const operationHelpMatch = path.match(/^\/api\/connectors\/([^/]+)\/operations\/([^/]+)$/);
41228
+ const operationHelpMatch = path2.match(/^\/api\/connectors\/([^/]+)\/operations\/([^/]+)$/);
40274
41229
  if (operationHelpMatch && method === "GET") {
40275
41230
  const name = operationHelpMatch[1];
40276
41231
  const command = decodeURIComponent(operationHelpMatch[2]);
@@ -40285,7 +41240,7 @@ Dashboard not found at: ${dashboardDir}`);
40285
41240
  const help = await getConnectorCommandHelp(name, command);
40286
41241
  return json({ connector: name, displayName: meta.displayName, command, help }, 200, port);
40287
41242
  }
40288
- const operationRunMatch = path.match(/^\/api\/connectors\/([^/]+)\/operations\/run$/);
41243
+ const operationRunMatch = path2.match(/^\/api\/connectors\/([^/]+)\/operations\/run$/);
40289
41244
  if (operationRunMatch && method === "POST") {
40290
41245
  const name = operationRunMatch[1];
40291
41246
  if (!isValidConnectorName(name))
@@ -40349,7 +41304,7 @@ ${result.stderr}`;
40349
41304
  }, 500, port);
40350
41305
  }
40351
41306
  }
40352
- const keyMatch = path.match(/^\/api\/connectors\/([^/]+)\/key$/);
41307
+ const keyMatch = path2.match(/^\/api\/connectors\/([^/]+)\/key$/);
40353
41308
  if (keyMatch && method === "POST") {
40354
41309
  const name = keyMatch[1];
40355
41310
  if (!isValidConnectorName(name))
@@ -40368,7 +41323,7 @@ ${result.stderr}`;
40368
41323
  return json({ error: e instanceof Error ? e.message : "Failed to save key" }, 500, port);
40369
41324
  }
40370
41325
  }
40371
- const refreshMatch = path.match(/^\/api\/connectors\/([^/]+)\/refresh$/);
41326
+ const refreshMatch = path2.match(/^\/api\/connectors\/([^/]+)\/refresh$/);
40372
41327
  if (refreshMatch && method === "POST") {
40373
41328
  const name = refreshMatch[1];
40374
41329
  if (!isValidConnectorName(name))
@@ -40381,7 +41336,7 @@ ${result.stderr}`;
40381
41336
  return json({ success: false, error: e instanceof Error ? e.message : "Failed to refresh" }, 500, port);
40382
41337
  }
40383
41338
  }
40384
- const installMatch = path.match(/^\/api\/connectors\/([^/]+)\/install$/);
41339
+ const installMatch = path2.match(/^\/api\/connectors\/([^/]+)\/install$/);
40385
41340
  if (installMatch && method === "POST") {
40386
41341
  const name = installMatch[1];
40387
41342
  if (!isValidConnectorName(name))
@@ -40400,7 +41355,7 @@ ${result.stderr}`;
40400
41355
  return json({ error: e instanceof Error ? e.message : "Failed to install connector" }, 500, port);
40401
41356
  }
40402
41357
  }
40403
- const uninstallMatch = path.match(/^\/api\/connectors\/([^/]+)\/uninstall$/);
41358
+ const uninstallMatch = path2.match(/^\/api\/connectors\/([^/]+)\/uninstall$/);
40404
41359
  if (uninstallMatch && method === "POST") {
40405
41360
  const name = uninstallMatch[1];
40406
41361
  if (!isValidConnectorName(name))
@@ -40416,7 +41371,7 @@ ${result.stderr}`;
40416
41371
  return json({ error: e instanceof Error ? e.message : "Failed to uninstall connector" }, 500, port);
40417
41372
  }
40418
41373
  }
40419
- if (path === "/api/update" && method === "POST") {
41374
+ if (path2 === "/api/update" && method === "POST") {
40420
41375
  try {
40421
41376
  const installed = getInstalledConnectors();
40422
41377
  if (installed.length === 0) {
@@ -40432,10 +41387,10 @@ ${result.stderr}`;
40432
41387
  return json({ error: e instanceof Error ? e.message : "Failed to update" }, 500, port);
40433
41388
  }
40434
41389
  }
40435
- if (path === "/api/activity" && method === "GET") {
41390
+ if (path2 === "/api/activity" && method === "GET") {
40436
41391
  return json(activityLog, 200, port);
40437
41392
  }
40438
- if (path === "/api/hot" && method === "GET") {
41393
+ if (path2 === "/api/hot" && method === "GET") {
40439
41394
  const { getTopConnectors: getTopConnectors2 } = await Promise.resolve().then(() => (init_usage(), exports_usage));
40440
41395
  const { getPromotedConnectors: getPromotedConnectors2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
40441
41396
  const limit = parseInt(url2.searchParams.get("limit") || "10", 10);
@@ -40445,7 +41400,7 @@ ${result.stderr}`;
40445
41400
  const promoted = new Set(getPromotedConnectors2(db));
40446
41401
  return json(top.map((t) => ({ ...t, promoted: promoted.has(t.connector) })), 200, port);
40447
41402
  }
40448
- const promoteMatch = path.match(/^\/api\/connectors\/([^/]+)\/promote$/);
41403
+ const promoteMatch = path2.match(/^\/api\/connectors\/([^/]+)\/promote$/);
40449
41404
  if (promoteMatch && method === "POST") {
40450
41405
  const name = promoteMatch[1];
40451
41406
  if (!getConnector(name))
@@ -40459,13 +41414,13 @@ ${result.stderr}`;
40459
41414
  const removed = demoteConnector2(promoteMatch[1], getDatabase3());
40460
41415
  return json({ success: removed, connector: promoteMatch[1] }, 200, port);
40461
41416
  }
40462
- if (path === "/api/llm" && method === "GET") {
41417
+ if (path2 === "/api/llm" && method === "GET") {
40463
41418
  const config2 = getLlmConfig();
40464
41419
  if (!config2)
40465
41420
  return json({ configured: false }, 200, port);
40466
41421
  return json({ configured: true, provider: config2.provider, model: config2.model, key: maskKey(config2.api_key), strip: config2.strip }, 200, port);
40467
41422
  }
40468
- if (path === "/api/llm" && method === "POST") {
41423
+ if (path2 === "/api/llm" && method === "POST") {
40469
41424
  const body = await req.json().catch(() => ({}));
40470
41425
  const validProviders = ["cerebras", "groq", "openai", "anthropic"];
40471
41426
  const provider = body.provider;
@@ -40479,7 +41434,7 @@ ${result.stderr}`;
40479
41434
  saveLlmConfig({ provider, model, api_key, strip });
40480
41435
  return json({ success: true, provider, model, strip }, 200, port);
40481
41436
  }
40482
- if (path === "/api/llm/test" && method === "POST") {
41437
+ if (path2 === "/api/llm/test" && method === "POST") {
40483
41438
  const config2 = getLlmConfig();
40484
41439
  if (!config2)
40485
41440
  return json({ error: "No LLM configured" }, 400, port);
@@ -40491,17 +41446,17 @@ ${result.stderr}`;
40491
41446
  return json({ success: false, error: e instanceof Error ? e.message : String(e) }, 500, port);
40492
41447
  }
40493
41448
  }
40494
- if (path === "/api/jobs" && method === "GET") {
41449
+ if (path2 === "/api/jobs" && method === "GET") {
40495
41450
  return json(listJobs(getDatabase3()), 200, port);
40496
41451
  }
40497
- if (path === "/api/jobs" && method === "POST") {
41452
+ if (path2 === "/api/jobs" && method === "POST") {
40498
41453
  const body = await req.json().catch(() => ({}));
40499
41454
  if (!body.name || !body.connector || !body.command || !body.cron)
40500
41455
  return json({ error: "name, connector, command, cron required" }, 400, port);
40501
41456
  const job = createJob({ name: body.name, connector: body.connector, command: body.command, args: body.args ?? [], cron: body.cron, strip: !!body.strip }, getDatabase3());
40502
41457
  return json(job, 201, port);
40503
41458
  }
40504
- const jobMatch = path.match(/^\/api\/jobs\/([^/]+)$/);
41459
+ const jobMatch = path2.match(/^\/api\/jobs\/([^/]+)$/);
40505
41460
  if (jobMatch) {
40506
41461
  const db = getDatabase3();
40507
41462
  const job = getJobByName(jobMatch[1]) ?? getDatabase3().query("SELECT * FROM connector_jobs WHERE id = ?").get(jobMatch[1]);
@@ -40523,7 +41478,7 @@ ${result.stderr}`;
40523
41478
  return json(updated, 200, port);
40524
41479
  }
40525
41480
  }
40526
- const jobRunMatch = path.match(/^\/api\/jobs\/([^/]+)\/run$/);
41481
+ const jobRunMatch = path2.match(/^\/api\/jobs\/([^/]+)\/run$/);
40527
41482
  if (jobRunMatch && method === "POST") {
40528
41483
  const db = getDatabase3();
40529
41484
  const job = getJobByName(jobRunMatch[1], db);
@@ -40532,17 +41487,17 @@ ${result.stderr}`;
40532
41487
  const result = await triggerJob(job, db);
40533
41488
  return json(result, 200, port);
40534
41489
  }
40535
- if (path === "/api/workflows" && method === "GET") {
41490
+ if (path2 === "/api/workflows" && method === "GET") {
40536
41491
  return json(listWorkflows(getDatabase3()), 200, port);
40537
41492
  }
40538
- if (path === "/api/workflows" && method === "POST") {
41493
+ if (path2 === "/api/workflows" && method === "POST") {
40539
41494
  const body = await req.json().catch(() => ({}));
40540
41495
  if (!body.name || !body.steps)
40541
41496
  return json({ error: "name and steps required" }, 400, port);
40542
41497
  const wf = createWorkflow({ name: body.name, steps: body.steps }, getDatabase3());
40543
41498
  return json(wf, 201, port);
40544
41499
  }
40545
- const wfMatch = path.match(/^\/api\/workflows\/([^/]+)$/);
41500
+ const wfMatch = path2.match(/^\/api\/workflows\/([^/]+)$/);
40546
41501
  if (wfMatch) {
40547
41502
  const db = getDatabase3();
40548
41503
  const wf = getWorkflowByName(wfMatch[1], db);
@@ -40555,7 +41510,7 @@ ${result.stderr}`;
40555
41510
  return json({ success: true }, 200, port);
40556
41511
  }
40557
41512
  }
40558
- const wfRunMatch = path.match(/^\/api\/workflows\/([^/]+)\/run$/);
41513
+ const wfRunMatch = path2.match(/^\/api\/workflows\/([^/]+)\/run$/);
40559
41514
  if (wfRunMatch && method === "POST") {
40560
41515
  const wf = getWorkflowByName(wfRunMatch[1], getDatabase3());
40561
41516
  if (!wf)
@@ -40563,10 +41518,10 @@ ${result.stderr}`;
40563
41518
  const result = await runWorkflow(wf);
40564
41519
  return json(result, 200, port);
40565
41520
  }
40566
- if (path === "/api/agents" && method === "GET") {
41521
+ if (path2 === "/api/agents" && method === "GET") {
40567
41522
  return json(listAgents(), 200, port);
40568
41523
  }
40569
- if (path === "/api/agents/register" && method === "POST") {
41524
+ if (path2 === "/api/agents/register" && method === "POST") {
40570
41525
  const body = await req.json().catch(() => ({}));
40571
41526
  const name = typeof body.name === "string" ? body.name : null;
40572
41527
  if (!name)
@@ -40580,15 +41535,15 @@ ${result.stderr}`;
40580
41535
  return json(result, 409, port);
40581
41536
  return json(result, 200, port);
40582
41537
  }
40583
- if (path.startsWith("/api/agents/") && method === "DELETE") {
40584
- const agentName = path.slice("/api/agents/".length);
41538
+ if (path2.startsWith("/api/agents/") && method === "DELETE") {
41539
+ const agentName = path2.slice("/api/agents/".length);
40585
41540
  const agent = getAgentByName(agentName);
40586
41541
  if (!agent)
40587
41542
  return json({ error: "Agent not found" }, 404, port);
40588
41543
  deleteAgent(agent.id);
40589
41544
  return json({ success: true }, 200, port);
40590
41545
  }
40591
- const rateMatch = path.match(/^\/api\/rate\/([^/]+)\/([^/]+)$/);
41546
+ const rateMatch = path2.match(/^\/api\/rate\/([^/]+)\/([^/]+)$/);
40592
41547
  if (rateMatch && method === "GET") {
40593
41548
  const [, agentId, connector] = rateMatch;
40594
41549
  const limit = parseInt(url2.searchParams.get("limit") || "60", 10);
@@ -40596,7 +41551,7 @@ ${result.stderr}`;
40596
41551
  const result = consume ? checkRateBudget(agentId, connector, limit) : getRateBudget(agentId, connector, limit);
40597
41552
  return json(result, 200, port);
40598
41553
  }
40599
- const profilesMatch = path.match(/^\/api\/connectors\/([^/]+)\/profiles$/);
41554
+ const profilesMatch = path2.match(/^\/api\/connectors\/([^/]+)\/profiles$/);
40600
41555
  if (profilesMatch && method === "GET") {
40601
41556
  const name = profilesMatch[1];
40602
41557
  if (!isValidConnectorName(name))
@@ -40618,7 +41573,7 @@ ${result.stderr}`;
40618
41573
  return json({ error: e instanceof Error ? e.message : "Failed to list profiles" }, 500, port);
40619
41574
  }
40620
41575
  }
40621
- const profileSwitchMatch = path.match(/^\/api\/connectors\/([^/]+)\/profiles\/switch$/);
41576
+ const profileSwitchMatch = path2.match(/^\/api\/connectors\/([^/]+)\/profiles\/switch$/);
40622
41577
  if (profileSwitchMatch && method === "POST") {
40623
41578
  const name = profileSwitchMatch[1];
40624
41579
  if (!isValidConnectorName(name))
@@ -40637,7 +41592,7 @@ ${result.stderr}`;
40637
41592
  return json({ error: e instanceof Error ? e.message : "Failed to switch profile" }, 500, port);
40638
41593
  }
40639
41594
  }
40640
- const profileDeleteMatch = path.match(/^\/api\/connectors\/([^/]+)\/profiles\/([^/]+)$/);
41595
+ const profileDeleteMatch = path2.match(/^\/api\/connectors\/([^/]+)\/profiles\/([^/]+)$/);
40641
41596
  if (profileDeleteMatch && method === "DELETE") {
40642
41597
  const name = profileDeleteMatch[1];
40643
41598
  const profile = profileDeleteMatch[2];
@@ -40655,7 +41610,7 @@ ${result.stderr}`;
40655
41610
  return json({ error: e instanceof Error ? e.message : "Failed to delete profile" }, 500, port);
40656
41611
  }
40657
41612
  }
40658
- if (path === "/api/export" && method === "GET") {
41613
+ if (path2 === "/api/export" && method === "GET") {
40659
41614
  try {
40660
41615
  const connectDir = getConnectorsHome();
40661
41616
  const result = {};
@@ -40705,7 +41660,7 @@ ${result.stderr}`;
40705
41660
  return json({ error: e instanceof Error ? e.message : "Failed to export credentials" }, 500, port);
40706
41661
  }
40707
41662
  }
40708
- if (path === "/api/import" && method === "POST") {
41663
+ if (path2 === "/api/import" && method === "POST") {
40709
41664
  try {
40710
41665
  const contentLength = parseInt(req.headers.get("content-length") || "0", 10);
40711
41666
  if (contentLength > MAX_BODY_SIZE)
@@ -40738,7 +41693,7 @@ ${result.stderr}`;
40738
41693
  return json({ error: e instanceof Error ? e.message : "Failed to import credentials" }, 500, port);
40739
41694
  }
40740
41695
  }
40741
- const oauthStartMatch = path.match(/^\/oauth\/([^/]+)\/start$/);
41696
+ const oauthStartMatch = path2.match(/^\/oauth\/([^/]+)\/start$/);
40742
41697
  if (oauthStartMatch && method === "GET") {
40743
41698
  const name = oauthStartMatch[1];
40744
41699
  const redirectUri = `http://localhost:${port}/oauth/${name}/callback`;
@@ -40748,7 +41703,7 @@ ${result.stderr}`;
40748
41703
  }
40749
41704
  return Response.redirect(authUrl, 302);
40750
41705
  }
40751
- const oauthCallbackMatch = path.match(/^\/oauth\/([^/]+)\/callback$/);
41706
+ const oauthCallbackMatch = path2.match(/^\/oauth\/([^/]+)\/callback$/);
40752
41707
  if (oauthCallbackMatch && method === "GET") {
40753
41708
  const name = oauthCallbackMatch[1];
40754
41709
  const code = url2.searchParams.get("code");
@@ -40782,11 +41737,14 @@ ${result.stderr}`;
40782
41737
  });
40783
41738
  }
40784
41739
  if (dashboardExists && (method === "GET" || method === "HEAD")) {
40785
- if (path !== "/") {
40786
- const filePath = join15(dashboardDir, path);
40787
- const res2 = serveStaticFile(filePath);
40788
- if (res2)
40789
- return res2;
41740
+ if (path2 !== "/") {
41741
+ const filePath = join15(dashboardDir, path2);
41742
+ const rel = relative2(dashboardDir, resolve(filePath));
41743
+ if (!rel.startsWith("..") && !rel.includes(`..${sep}`) && rel !== "") {
41744
+ const res2 = serveStaticFile(filePath);
41745
+ if (res2)
41746
+ return res2;
41747
+ }
40790
41748
  }
40791
41749
  const indexPath = join15(dashboardDir, "index.html");
40792
41750
  const res = serveStaticFile(indexPath);
@@ -40809,9 +41767,11 @@ ${result.stderr}`;
40809
41767
  console.log(`Connectors Dashboard running at ${url}`);
40810
41768
  if (shouldOpen) {
40811
41769
  try {
40812
- const { exec } = await import("child_process");
40813
- const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
40814
- exec(`${openCmd} ${url}`);
41770
+ const { openBrowser: openBrowser2 } = await Promise.resolve().then(() => (init_open_browser(), exports_open_browser));
41771
+ const opened = await openBrowser2(url);
41772
+ if (!opened.ok) {
41773
+ console.log(`If the browser did not open, visit ${url} manually.`);
41774
+ }
40815
41775
  } catch {}
40816
41776
  }
40817
41777
  return port;
@@ -40857,7 +41817,7 @@ var init_serve = __esm(() => {
40857
41817
  // src/cli/index.tsx
40858
41818
  import { render as render2 } from "ink";
40859
41819
 
40860
- // node_modules/commander/esm.mjs
41820
+ // ../../node_modules/.bun/commander@12.1.0/node_modules/commander/esm.mjs
40861
41821
  var import__ = __toESM(require_commander(), 1);
40862
41822
  var {
40863
41823
  program,
@@ -40882,11 +41842,11 @@ import { registerEventsCommands } from "@hasna/events/commander";
40882
41842
  import { useState as useState7 } from "react";
40883
41843
  import { Box as Box8, Text as Text10, useApp, useInput as useInput5 } from "ink";
40884
41844
 
40885
- // node_modules/ink-select-input/build/Indicator.js
41845
+ // ../../node_modules/.bun/ink-select-input@6.2.0+fa875fef9f949ebd/node_modules/ink-select-input/build/Indicator.js
40886
41846
  import React from "react";
40887
41847
  import { Box, Text } from "ink";
40888
41848
 
40889
- // node_modules/is-unicode-supported/index.js
41849
+ // ../../node_modules/.bun/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
40890
41850
  import process2 from "process";
40891
41851
  function isUnicodeSupported() {
40892
41852
  const { env } = process2;
@@ -40897,7 +41857,7 @@ function isUnicodeSupported() {
40897
41857
  return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
40898
41858
  }
40899
41859
 
40900
- // node_modules/figures/index.js
41860
+ // ../../node_modules/.bun/figures@6.1.0/node_modules/figures/index.js
40901
41861
  var common = {
40902
41862
  circleQuestionMark: "(?)",
40903
41863
  questionMarkPrefix: "(?)",
@@ -41173,23 +42133,23 @@ var figures = shouldUseMain ? mainSymbols : fallbackSymbols;
41173
42133
  var figures_default = figures;
41174
42134
  var replacements = Object.entries(specialMainSymbols);
41175
42135
 
41176
- // node_modules/ink-select-input/build/Indicator.js
42136
+ // ../../node_modules/.bun/ink-select-input@6.2.0+fa875fef9f949ebd/node_modules/ink-select-input/build/Indicator.js
41177
42137
  function Indicator({ isSelected = false }) {
41178
42138
  return React.createElement(Box, { marginRight: 1 }, isSelected ? React.createElement(Text, { color: "blue" }, figures_default.pointer) : React.createElement(Text, null, " "));
41179
42139
  }
41180
42140
  var Indicator_default = Indicator;
41181
- // node_modules/ink-select-input/build/Item.js
42141
+ // ../../node_modules/.bun/ink-select-input@6.2.0+fa875fef9f949ebd/node_modules/ink-select-input/build/Item.js
41182
42142
  import * as React2 from "react";
41183
42143
  import { Text as Text2 } from "ink";
41184
42144
  function Item({ isSelected = false, label }) {
41185
42145
  return React2.createElement(Text2, { color: isSelected ? "blue" : undefined }, label);
41186
42146
  }
41187
42147
  var Item_default = Item;
41188
- // node_modules/ink-select-input/build/SelectInput.js
42148
+ // ../../node_modules/.bun/ink-select-input@6.2.0+fa875fef9f949ebd/node_modules/ink-select-input/build/SelectInput.js
41189
42149
  import { isDeepStrictEqual } from "util";
41190
42150
  import React3, { useState, useEffect, useRef, useCallback } from "react";
41191
42151
 
41192
- // node_modules/to-rotated/index.js
42152
+ // ../../node_modules/.bun/to-rotated@1.0.0/node_modules/to-rotated/index.js
41193
42153
  function toRotated(array, steps) {
41194
42154
  if (!Array.isArray(array)) {
41195
42155
  throw new TypeError(`Expected an array, got \`${typeof array}\`.`);
@@ -41211,7 +42171,7 @@ function toRotated(array, steps) {
41211
42171
  ];
41212
42172
  }
41213
42173
 
41214
- // node_modules/ink-select-input/build/SelectInput.js
42174
+ // ../../node_modules/.bun/ink-select-input@6.2.0+fa875fef9f949ebd/node_modules/ink-select-input/build/SelectInput.js
41215
42175
  import { Box as Box2, useInput } from "ink";
41216
42176
  function SelectInput({ items = [], isFocused = true, initialIndex = 0, indicatorComponent = Indicator_default, itemComponent = Item_default, limit: customLimit, onSelect, onHighlight }) {
41217
42177
  const hasLimit = typeof customLimit === "number" && items.length > customLimit;
@@ -41624,7 +42584,7 @@ function ConnectorSelect({
41624
42584
  import { useState as useState4, useEffect as useEffect3, useMemo as useMemo2 } from "react";
41625
42585
  import { Box as Box6, Text as Text7, useInput as useInput4 } from "ink";
41626
42586
 
41627
- // node_modules/ink-text-input/build/index.js
42587
+ // ../../node_modules/.bun/ink-text-input@6.0.0+fa875fef9f949ebd/node_modules/ink-text-input/build/index.js
41628
42588
  import React5, { useState as useState3, useEffect as useEffect2 } from "react";
41629
42589
  import { Text as Text6, useInput as useInput3 } from "ink";
41630
42590
  import chalk from "chalk";
@@ -42012,7 +42972,7 @@ function SearchView({
42012
42972
  import { useState as useState6, useEffect as useEffect5 } from "react";
42013
42973
  import { Box as Box7, Text as Text9 } from "ink";
42014
42974
 
42015
- // node_modules/ink-spinner/build/index.js
42975
+ // ../../node_modules/.bun/ink-spinner@5.0.0+fa875fef9f949ebd/node_modules/ink-spinner/build/index.js
42016
42976
  var import_cli_spinners = __toESM(require_cli_spinners(), 1);
42017
42977
  import React7, { useState as useState5, useEffect as useEffect4 } from "react";
42018
42978
  import { Text as Text8 } from "ink";
@@ -43669,7 +44629,7 @@ ${meta.displayName} \u2014 Auth Configuration
43669
44629
  });
43670
44630
  const startedAt = Date.now();
43671
44631
  serverProc.unref();
43672
- await new Promise((resolve) => setTimeout(resolve, 2000));
44632
+ await new Promise((resolve2) => setTimeout(resolve2, 2000));
43673
44633
  try {
43674
44634
  await fetch(`http://localhost:${port}/api/connectors`);
43675
44635
  } catch {
@@ -43689,7 +44649,7 @@ ${meta.displayName} \u2014 Auth Configuration
43689
44649
  let attempts = 0;
43690
44650
  const maxAttempts = 360;
43691
44651
  while (attempts < maxAttempts) {
43692
- await new Promise((resolve) => setTimeout(resolve, 500));
44652
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
43693
44653
  if (hasOAuthTokenFileUpdatedSince(tokenPaths, startedAt)) {
43694
44654
  break;
43695
44655
  }
@@ -43723,12 +44683,11 @@ Open this URL to authenticate:
43723
44683
  `));
43724
44684
  console.log(` ${chalk5.cyan(oauthUrl)}
43725
44685
  `);
43726
- try {
43727
- const { exec } = await import("child_process");
43728
- const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
43729
- exec(`${openCmd} "${oauthUrl}"`);
44686
+ const { openBrowser: openBrowser2 } = await Promise.resolve().then(() => (init_open_browser(), exports_open_browser));
44687
+ const opened = await openBrowser2(oauthUrl);
44688
+ if (opened.ok) {
43730
44689
  console.log(chalk5.dim("Browser opened. Complete the OAuth flow, then press Ctrl+C to stop the server."));
43731
- } catch {
44690
+ } else {
43732
44691
  console.log(chalk5.dim("Open the URL above in your browser to complete authentication."));
43733
44692
  }
43734
44693
  console.log(chalk5.dim(`Press Ctrl+C when done.
@@ -43772,7 +44731,7 @@ Open this URL to authenticate:
43772
44731
  input: process.stdin,
43773
44732
  output: process.stdout
43774
44733
  });
43775
- const key = await new Promise((resolve) => {
44734
+ const key = await new Promise((resolve2) => {
43776
44735
  let input = "";
43777
44736
  process.stdout.write(` Enter ${fieldLabel}: `);
43778
44737
  if (process.stdin.isTTY) {
@@ -43792,7 +44751,7 @@ Open this URL to authenticate:
43792
44751
  }
43793
44752
  process.stdin.pause();
43794
44753
  rl.close();
43795
- resolve(input);
44754
+ resolve2(input);
43796
44755
  } else if (c === "\x03") {
43797
44756
  process.stdout.write(`
43798
44757
  `);
@@ -44156,10 +45115,6 @@ var TEST_ENDPOINTS = {
44156
45115
  url: "https://api.x.ai/v1/models",
44157
45116
  headers: (key) => ({ Authorization: `Bearer ${key}` })
44158
45117
  },
44159
- "xai-api-platform": {
44160
- url: "https://api.xaiapiplatform.com/v1/items",
44161
- headers: (key) => ({ Authorization: `Bearer ${key}` })
44162
- },
44163
45118
  mistral: {
44164
45119
  url: "https://api.mistral.ai/v1/models",
44165
45120
  headers: (key) => ({ Authorization: `Bearer ${key}` })
@@ -44791,7 +45746,7 @@ Testing connector credentials...
44791
45746
  break;
44792
45747
  }
44793
45748
  }
44794
- const tokensFile = connectorConfigDirs.map((dir) => join18(dir, "profiles", currentProfile, "tokens.json")).find((path) => existsSync18(path));
45749
+ const tokensFile = connectorConfigDirs.map((dir) => join18(dir, "profiles", currentProfile, "tokens.json")).find((path2) => existsSync18(path2));
44795
45750
  if (tokensFile) {
44796
45751
  try {
44797
45752
  const tokens = JSON.parse(readFileSync12(tokensFile, "utf-8"));
@@ -44852,8 +45807,8 @@ Testing connector credentials...
44852
45807
  tomtom: "key"
44853
45808
  };
44854
45809
  if (QUERY_PARAM_AUTH[name]) {
44855
- const sep = testUrl.includes("?") ? "&" : "?";
44856
- testUrl = `${testUrl}${sep}${QUERY_PARAM_AUTH[name]}=${encodeURIComponent(apiKey)}`;
45810
+ const sep2 = testUrl.includes("?") ? "&" : "?";
45811
+ testUrl = `${testUrl}${sep2}${QUERY_PARAM_AUTH[name]}=${encodeURIComponent(apiKey)}`;
44857
45812
  }
44858
45813
  const start = Date.now();
44859
45814
  try {
@@ -45099,7 +46054,7 @@ Setting up ${meta.displayName}...
45099
46054
  });
45100
46055
  const startedAt = Date.now();
45101
46056
  serverProc.unref();
45102
- await new Promise((resolve) => setTimeout(resolve, 2000));
46057
+ await new Promise((resolve2) => setTimeout(resolve2, 2000));
45103
46058
  try {
45104
46059
  await fetch(`http://localhost:${port}/api/connectors`);
45105
46060
  } catch {
@@ -45114,7 +46069,7 @@ Setting up ${meta.displayName}...
45114
46069
  let attempts = 0;
45115
46070
  const maxAttempts = 360;
45116
46071
  while (attempts < maxAttempts) {
45117
- await new Promise((resolve) => setTimeout(resolve, 500));
46072
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
45118
46073
  if (hasOAuthTokenFileUpdatedSince(tokenPaths, startedAt))
45119
46074
  break;
45120
46075
  attempts++;
@@ -45143,13 +46098,12 @@ Setting up ${meta.displayName}...
45143
46098
  ${chalk7.bold("Open this URL to authenticate:")}`);
45144
46099
  console.log(` ${chalk7.cyan(oauthUrl)}
45145
46100
  `);
45146
- try {
45147
- const { exec } = await import("child_process");
45148
- const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
45149
- exec(`${openCmd} "${oauthUrl}"`);
46101
+ const { openBrowser: openBrowser2 } = await Promise.resolve().then(() => (init_open_browser(), exports_open_browser));
46102
+ const opened = await openBrowser2(oauthUrl);
46103
+ if (opened.ok) {
45150
46104
  console.log(chalk7.dim(` Browser opened. Complete the OAuth flow, then press Ctrl+C.
45151
46105
  `));
45152
- } catch {
46106
+ } else {
45153
46107
  console.log(chalk7.dim(` Open the URL above in your browser.
45154
46108
  `));
45155
46109
  }