@made-by-moonlight/athene-web 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-build-manifest.json +448 -0
  3. package/.next/app-path-routes-manifest.json +47 -0
  4. package/.next/build-manifest.json +33 -0
  5. package/.next/export-marker.json +6 -0
  6. package/.next/images-manifest.json +58 -0
  7. package/.next/next-minimal-server.js.nft.json +1 -0
  8. package/.next/next-server.js.nft.json +1 -0
  9. package/.next/package.json +1 -0
  10. package/.next/prerender-manifest.json +172 -0
  11. package/.next/react-loadable-manifest.json +61 -0
  12. package/.next/required-server-files.json +335 -0
  13. package/.next/routes-manifest.json +234 -0
  14. package/.next/server/app/_not-found/page.js +2 -0
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  17. package/.next/server/app/_not-found.html +1 -0
  18. package/.next/server/app/_not-found.meta +8 -0
  19. package/.next/server/app/_not-found.rsc +24 -0
  20. package/.next/server/app/api/backlog/route.js +1 -0
  21. package/.next/server/app/api/backlog/route.js.nft.json +1 -0
  22. package/.next/server/app/api/backlog/route_client-reference-manifest.js +1 -0
  23. package/.next/server/app/api/browse-directory/route.js +1 -0
  24. package/.next/server/app/api/browse-directory/route.js.nft.json +1 -0
  25. package/.next/server/app/api/browse-directory/route_client-reference-manifest.js +1 -0
  26. package/.next/server/app/api/filesystem/browse/route.js +1 -0
  27. package/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
  28. package/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +1 -0
  29. package/.next/server/app/api/issues/route.js +1 -0
  30. package/.next/server/app/api/issues/route.js.nft.json +1 -0
  31. package/.next/server/app/api/issues/route_client-reference-manifest.js +1 -0
  32. package/.next/server/app/api/observability/route.js +1 -0
  33. package/.next/server/app/api/observability/route.js.nft.json +1 -0
  34. package/.next/server/app/api/observability/route_client-reference-manifest.js +1 -0
  35. package/.next/server/app/api/orchestrators/route.js +1 -0
  36. package/.next/server/app/api/orchestrators/route.js.nft.json +1 -0
  37. package/.next/server/app/api/orchestrators/route_client-reference-manifest.js +1 -0
  38. package/.next/server/app/api/projects/[id]/route.js +5 -0
  39. package/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  40. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -0
  41. package/.next/server/app/api/projects/reload/route.js +1 -0
  42. package/.next/server/app/api/projects/reload/route.js.nft.json +1 -0
  43. package/.next/server/app/api/projects/reload/route_client-reference-manifest.js +1 -0
  44. package/.next/server/app/api/projects/route.js +1 -0
  45. package/.next/server/app/api/projects/route.js.nft.json +1 -0
  46. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/prs/[id]/merge/route.js +1 -0
  48. package/.next/server/app/api/prs/[id]/merge/route.js.nft.json +1 -0
  49. package/.next/server/app/api/prs/[id]/merge/route_client-reference-manifest.js +1 -0
  50. package/.next/server/app/api/reviews/execute/route.js +1 -0
  51. package/.next/server/app/api/reviews/execute/route.js.nft.json +1 -0
  52. package/.next/server/app/api/reviews/execute/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/reviews/findings/route.js +1 -0
  54. package/.next/server/app/api/reviews/findings/route.js.nft.json +1 -0
  55. package/.next/server/app/api/reviews/findings/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/reviews/route.js +1 -0
  57. package/.next/server/app/api/reviews/route.js.nft.json +1 -0
  58. package/.next/server/app/api/reviews/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/reviews/send/route.js +1 -0
  60. package/.next/server/app/api/reviews/send/route.js.nft.json +1 -0
  61. package/.next/server/app/api/reviews/send/route_client-reference-manifest.js +1 -0
  62. package/.next/server/app/api/runtime/terminal/route.js +1 -0
  63. package/.next/server/app/api/runtime/terminal/route.js.nft.json +1 -0
  64. package/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -0
  65. package/.next/server/app/api/sessions/[id]/kill/route.js +1 -0
  66. package/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -0
  67. package/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -0
  68. package/.next/server/app/api/sessions/[id]/message/route.js +1 -0
  69. package/.next/server/app/api/sessions/[id]/message/route.js.nft.json +1 -0
  70. package/.next/server/app/api/sessions/[id]/message/route_client-reference-manifest.js +1 -0
  71. package/.next/server/app/api/sessions/[id]/remap/route.js +1 -0
  72. package/.next/server/app/api/sessions/[id]/remap/route.js.nft.json +1 -0
  73. package/.next/server/app/api/sessions/[id]/remap/route_client-reference-manifest.js +1 -0
  74. package/.next/server/app/api/sessions/[id]/restore/route.js +1 -0
  75. package/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -0
  76. package/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -0
  77. package/.next/server/app/api/sessions/[id]/route.js +1 -0
  78. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
  79. package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
  80. package/.next/server/app/api/sessions/[id]/send/route.js +1 -0
  81. package/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -0
  82. package/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -0
  83. package/.next/server/app/api/sessions/patches/route.js +1 -0
  84. package/.next/server/app/api/sessions/patches/route.js.nft.json +1 -0
  85. package/.next/server/app/api/sessions/patches/route_client-reference-manifest.js +1 -0
  86. package/.next/server/app/api/sessions/route.js +1 -0
  87. package/.next/server/app/api/sessions/route.js.nft.json +1 -0
  88. package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/setup-labels/route.js +1 -0
  90. package/.next/server/app/api/setup-labels/route.js.nft.json +1 -0
  91. package/.next/server/app/api/setup-labels/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/spawn/route.js +1 -0
  93. package/.next/server/app/api/spawn/route.js.nft.json +1 -0
  94. package/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -0
  95. package/.next/server/app/api/update/route.js +1 -0
  96. package/.next/server/app/api/update/route.js.nft.json +1 -0
  97. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/verify/route.js +1 -0
  99. package/.next/server/app/api/verify/route.js.nft.json +1 -0
  100. package/.next/server/app/api/verify/route_client-reference-manifest.js +1 -0
  101. package/.next/server/app/api/version/route.js +1 -0
  102. package/.next/server/app/api/version/route.js.nft.json +1 -0
  103. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  104. package/.next/server/app/api/webhooks/[...slug]/route.js +1 -0
  105. package/.next/server/app/api/webhooks/[...slug]/route.js.nft.json +1 -0
  106. package/.next/server/app/api/webhooks/[...slug]/route_client-reference-manifest.js +1 -0
  107. package/.next/server/app/apple-icon/route.js +1 -0
  108. package/.next/server/app/apple-icon/route.js.nft.json +1 -0
  109. package/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -0
  110. package/.next/server/app/apple-icon.body +0 -0
  111. package/.next/server/app/apple-icon.meta +1 -0
  112. package/.next/server/app/dev/terminal-test/page.js +15 -0
  113. package/.next/server/app/dev/terminal-test/page.js.nft.json +1 -0
  114. package/.next/server/app/dev/terminal-test/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/dev/terminal-test.html +1 -0
  116. package/.next/server/app/dev/terminal-test.meta +7 -0
  117. package/.next/server/app/dev/terminal-test.rsc +28 -0
  118. package/.next/server/app/icon/route.js +1 -0
  119. package/.next/server/app/icon/route.js.nft.json +1 -0
  120. package/.next/server/app/icon/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/icon-192/route.js +1 -0
  122. package/.next/server/app/icon-192/route.js.nft.json +1 -0
  123. package/.next/server/app/icon-192/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/icon-512/route.js +1 -0
  125. package/.next/server/app/icon-512/route.js.nft.json +1 -0
  126. package/.next/server/app/icon-512/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/icon.body +0 -0
  128. package/.next/server/app/icon.meta +1 -0
  129. package/.next/server/app/manifest.webmanifest/route.js +16 -0
  130. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  131. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  132. package/.next/server/app/manifest.webmanifest.body +1 -0
  133. package/.next/server/app/manifest.webmanifest.meta +1 -0
  134. package/.next/server/app/page.js +2 -0
  135. package/.next/server/app/page.js.nft.json +1 -0
  136. package/.next/server/app/page_client-reference-manifest.js +1 -0
  137. package/.next/server/app/projects/[projectId]/page.js +2 -0
  138. package/.next/server/app/projects/[projectId]/page.js.nft.json +1 -0
  139. package/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -0
  140. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js +2 -0
  141. package/.next/server/app/projects/[projectId]/sessions/[id]/page.js.nft.json +1 -0
  142. package/.next/server/app/projects/[projectId]/sessions/[id]/page_client-reference-manifest.js +1 -0
  143. package/.next/server/app/projects/[projectId]/settings/page.js +2 -0
  144. package/.next/server/app/projects/[projectId]/settings/page.js.nft.json +1 -0
  145. package/.next/server/app/projects/[projectId]/settings/page_client-reference-manifest.js +1 -0
  146. package/.next/server/app/prs/page.js +2 -0
  147. package/.next/server/app/prs/page.js.nft.json +1 -0
  148. package/.next/server/app/prs/page_client-reference-manifest.js +1 -0
  149. package/.next/server/app/review/page.js +2 -0
  150. package/.next/server/app/review/page.js.nft.json +1 -0
  151. package/.next/server/app/review/page_client-reference-manifest.js +1 -0
  152. package/.next/server/app/reviews/page.js +2 -0
  153. package/.next/server/app/reviews/page.js.nft.json +1 -0
  154. package/.next/server/app/reviews/page_client-reference-manifest.js +1 -0
  155. package/.next/server/app/sessions/[id]/page.js +2 -0
  156. package/.next/server/app/sessions/[id]/page.js.nft.json +1 -0
  157. package/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -0
  158. package/.next/server/app/test-direct/page.js +2 -0
  159. package/.next/server/app/test-direct/page.js.nft.json +1 -0
  160. package/.next/server/app/test-direct/page_client-reference-manifest.js +1 -0
  161. package/.next/server/app/test-direct.html +1 -0
  162. package/.next/server/app/test-direct.meta +7 -0
  163. package/.next/server/app/test-direct.rsc +28 -0
  164. package/.next/server/app-paths-manifest.json +47 -0
  165. package/.next/server/chunks/1215.js +1 -0
  166. package/.next/server/chunks/1271.js +1 -0
  167. package/.next/server/chunks/2106.js +1 -0
  168. package/.next/server/chunks/2347.js +3 -0
  169. package/.next/server/chunks/2899.js +1 -0
  170. package/.next/server/chunks/2914.js +1 -0
  171. package/.next/server/chunks/4033.js +1 -0
  172. package/.next/server/chunks/4148.js +942 -0
  173. package/.next/server/chunks/4422.js +32 -0
  174. package/.next/server/chunks/5053.js +1 -0
  175. package/.next/server/chunks/5689.js +1 -0
  176. package/.next/server/chunks/6148.js +9 -0
  177. package/.next/server/chunks/6582.js +25 -0
  178. package/.next/server/chunks/7002.js +1 -0
  179. package/.next/server/chunks/7486.js +9 -0
  180. package/.next/server/chunks/8803.js +6 -0
  181. package/.next/server/chunks/9472.js +847 -0
  182. package/.next/server/chunks/9493.js +1 -0
  183. package/.next/server/chunks/9561.js +22 -0
  184. package/.next/server/chunks/966.js +1 -0
  185. package/.next/server/functions-config-manifest.json +4 -0
  186. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  187. package/.next/server/middleware-build-manifest.js +1 -0
  188. package/.next/server/middleware-manifest.json +6 -0
  189. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  190. package/.next/server/next-font-manifest.js +1 -0
  191. package/.next/server/next-font-manifest.json +1 -0
  192. package/.next/server/pages/404.html +1 -0
  193. package/.next/server/pages/500.html +1 -0
  194. package/.next/server/pages/_app.js +1 -0
  195. package/.next/server/pages/_app.js.nft.json +1 -0
  196. package/.next/server/pages/_document.js +1 -0
  197. package/.next/server/pages/_document.js.nft.json +1 -0
  198. package/.next/server/pages/_error.js +19 -0
  199. package/.next/server/pages/_error.js.nft.json +1 -0
  200. package/.next/server/pages-manifest.json +6 -0
  201. package/.next/server/server-reference-manifest.js +1 -0
  202. package/.next/server/server-reference-manifest.json +1 -0
  203. package/.next/server/webpack-runtime.js +1 -0
  204. package/.next/static/chunks/0f200859.359176a445d2791f.js +10 -0
  205. package/.next/static/chunks/1089-c6d7995c7c19039a.js +1 -0
  206. package/.next/static/chunks/1461-af7c54935f21d56d.js +1 -0
  207. package/.next/static/chunks/2073-4192de0bb00cc993.js +1 -0
  208. package/.next/static/chunks/3764.4c736d9a181489a4.js +1 -0
  209. package/.next/static/chunks/4115-1a4fa80ec67a29d3.js +1 -0
  210. package/.next/static/chunks/4751.6c71bfc0c4520627.js +1 -0
  211. package/.next/static/chunks/503.f7ff284457dd9c40.js +1 -0
  212. package/.next/static/chunks/5204.7de7e266895bced7.js +1 -0
  213. package/.next/static/chunks/6835.7a29fa4b665b7c2f.js +1 -0
  214. package/.next/static/chunks/7008-0d9bee1bf4bfcbea.js +1 -0
  215. package/.next/static/chunks/7317.685aa5231218e8d3.js +1 -0
  216. package/.next/static/chunks/8204-7c7837ed694da99c.js +1 -0
  217. package/.next/static/chunks/8713-d3d663f55dc00e48.js +1 -0
  218. package/.next/static/chunks/8759-490573536f93f85c.js +1 -0
  219. package/.next/static/chunks/88a6fc35-f836b4b72df5eafa.js +1 -0
  220. package/.next/static/chunks/9531-a5175e55fa0db48d.js +1 -0
  221. package/.next/static/chunks/9876-de0c5a1a319b4e8e.js +1 -0
  222. package/.next/static/chunks/app/_not-found/page-6add9dacf1870b4b.js +1 -0
  223. package/.next/static/chunks/app/api/backlog/route-6add9dacf1870b4b.js +1 -0
  224. package/.next/static/chunks/app/api/browse-directory/route-6add9dacf1870b4b.js +1 -0
  225. package/.next/static/chunks/app/api/filesystem/browse/route-6add9dacf1870b4b.js +1 -0
  226. package/.next/static/chunks/app/api/issues/route-6add9dacf1870b4b.js +1 -0
  227. package/.next/static/chunks/app/api/observability/route-6add9dacf1870b4b.js +1 -0
  228. package/.next/static/chunks/app/api/orchestrators/route-6add9dacf1870b4b.js +1 -0
  229. package/.next/static/chunks/app/api/projects/[id]/route-6add9dacf1870b4b.js +1 -0
  230. package/.next/static/chunks/app/api/projects/reload/route-6add9dacf1870b4b.js +1 -0
  231. package/.next/static/chunks/app/api/projects/route-6add9dacf1870b4b.js +1 -0
  232. package/.next/static/chunks/app/api/prs/[id]/merge/route-6add9dacf1870b4b.js +1 -0
  233. package/.next/static/chunks/app/api/reviews/execute/route-6add9dacf1870b4b.js +1 -0
  234. package/.next/static/chunks/app/api/reviews/findings/route-6add9dacf1870b4b.js +1 -0
  235. package/.next/static/chunks/app/api/reviews/route-6add9dacf1870b4b.js +1 -0
  236. package/.next/static/chunks/app/api/reviews/send/route-6add9dacf1870b4b.js +1 -0
  237. package/.next/static/chunks/app/api/runtime/terminal/route-6add9dacf1870b4b.js +1 -0
  238. package/.next/static/chunks/app/api/sessions/[id]/kill/route-6add9dacf1870b4b.js +1 -0
  239. package/.next/static/chunks/app/api/sessions/[id]/message/route-6add9dacf1870b4b.js +1 -0
  240. package/.next/static/chunks/app/api/sessions/[id]/remap/route-6add9dacf1870b4b.js +1 -0
  241. package/.next/static/chunks/app/api/sessions/[id]/restore/route-6add9dacf1870b4b.js +1 -0
  242. package/.next/static/chunks/app/api/sessions/[id]/route-6add9dacf1870b4b.js +1 -0
  243. package/.next/static/chunks/app/api/sessions/[id]/send/route-6add9dacf1870b4b.js +1 -0
  244. package/.next/static/chunks/app/api/sessions/patches/route-6add9dacf1870b4b.js +1 -0
  245. package/.next/static/chunks/app/api/sessions/route-6add9dacf1870b4b.js +1 -0
  246. package/.next/static/chunks/app/api/setup-labels/route-6add9dacf1870b4b.js +1 -0
  247. package/.next/static/chunks/app/api/spawn/route-6add9dacf1870b4b.js +1 -0
  248. package/.next/static/chunks/app/api/update/route-6add9dacf1870b4b.js +1 -0
  249. package/.next/static/chunks/app/api/verify/route-6add9dacf1870b4b.js +1 -0
  250. package/.next/static/chunks/app/api/version/route-6add9dacf1870b4b.js +1 -0
  251. package/.next/static/chunks/app/api/webhooks/[...slug]/route-6add9dacf1870b4b.js +1 -0
  252. package/.next/static/chunks/app/apple-icon/route-6add9dacf1870b4b.js +1 -0
  253. package/.next/static/chunks/app/dev/terminal-test/page-d0132109f9d8524e.js +1 -0
  254. package/.next/static/chunks/app/error-d632d0714b987864.js +1 -0
  255. package/.next/static/chunks/app/global-error-f6bef179169bcdae.js +1 -0
  256. package/.next/static/chunks/app/icon/route-6add9dacf1870b4b.js +1 -0
  257. package/.next/static/chunks/app/icon-192/route-6add9dacf1870b4b.js +1 -0
  258. package/.next/static/chunks/app/icon-512/route-6add9dacf1870b4b.js +1 -0
  259. package/.next/static/chunks/app/layout-5cac6fe817194d7a.js +1 -0
  260. package/.next/static/chunks/app/loading-6add9dacf1870b4b.js +1 -0
  261. package/.next/static/chunks/app/manifest.webmanifest/route-6add9dacf1870b4b.js +1 -0
  262. package/.next/static/chunks/app/not-found-cba3f587e1f98dcb.js +1 -0
  263. package/.next/static/chunks/app/page-cf7bccb75990950d.js +1 -0
  264. package/.next/static/chunks/app/projects/[projectId]/layout-6add9dacf1870b4b.js +1 -0
  265. package/.next/static/chunks/app/projects/[projectId]/loading-6add9dacf1870b4b.js +1 -0
  266. package/.next/static/chunks/app/projects/[projectId]/page-039a93b16089ed57.js +1 -0
  267. package/.next/static/chunks/app/projects/[projectId]/sessions/[id]/page-043b525bedb8f0f7.js +1 -0
  268. package/.next/static/chunks/app/projects/[projectId]/settings/page-63572555892d7a61.js +1 -0
  269. package/.next/static/chunks/app/projects/layout-d43b2e38d46221bd.js +1 -0
  270. package/.next/static/chunks/app/prs/page-e447852fbe0c6ee4.js +1 -0
  271. package/.next/static/chunks/app/review/page-022b2d2c326ff413.js +1 -0
  272. package/.next/static/chunks/app/reviews/page-6add9dacf1870b4b.js +1 -0
  273. package/.next/static/chunks/app/sessions/[id]/error-67c0d27f977a1cc1.js +1 -0
  274. package/.next/static/chunks/app/sessions/[id]/loading-6add9dacf1870b4b.js +1 -0
  275. package/.next/static/chunks/app/sessions/[id]/not-found-cba3f587e1f98dcb.js +1 -0
  276. package/.next/static/chunks/app/sessions/[id]/page-863cf8dd2c76d06d.js +1 -0
  277. package/.next/static/chunks/app/test-direct/page-8b80ed180c0f2f42.js +1 -0
  278. package/.next/static/chunks/e12b4bb0.8742134e1ac0263f.js +58 -0
  279. package/.next/static/chunks/framework-7060e2ac4971c604.js +1 -0
  280. package/.next/static/chunks/main-app-162601c3f1c01b19.js +1 -0
  281. package/.next/static/chunks/main-ed1610689fbd6f0d.js +1 -0
  282. package/.next/static/chunks/pages/_app-f4baf4dbe88f6f54.js +1 -0
  283. package/.next/static/chunks/pages/_error-a7f6723f42093f29.js +1 -0
  284. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  285. package/.next/static/chunks/webpack-f9566aaa604a1b07.js +1 -0
  286. package/.next/static/css/0c9b7451c2ce7c02.css +1 -0
  287. package/.next/static/css/7ca4e3753c1c7833.css +1 -0
  288. package/.next/static/css/b4a15f23f468892a.css +1 -0
  289. package/.next/static/css/d06ee45019116677.css +1 -0
  290. package/.next/static/media/91601dd83defba07-s.p.woff2 +0 -0
  291. package/.next/static/media/aa8291c31d4e9e54-s.p.woff2 +0 -0
  292. package/.next/static/pROr0laPuZIdA4NYNygMD/_buildManifest.js +1 -0
  293. package/.next/static/pROr0laPuZIdA4NYNygMD/_ssgManifest.js +1 -0
  294. package/LICENSE +22 -0
  295. package/dist-server/direct-terminal-ws.js +109 -0
  296. package/dist-server/mux-websocket.js +1162 -0
  297. package/dist-server/single-port-server.js +305 -0
  298. package/dist-server/start-all.js +150 -0
  299. package/dist-server/terminal-observability.js +16 -0
  300. package/dist-server/tmux-utils.js +301 -0
  301. package/next.config.js +71 -0
  302. package/package.json +97 -0
@@ -0,0 +1,32 @@
1
+ exports.id=4422,exports.ids=[4422],exports.modules={171:(a,b,c)=>{"use strict";let d,e=c(27419),{stdout:f,stderr:g}=c(11567),{stringReplaceAll:h,stringEncaseCRLFWithFirstIndex:i}=c(6795),{isArray:j}=Array,k=["ansi","ansi","ansi256","ansi16m"],l=Object.create(null);class m{constructor(a){return n(a)}}let n=a=>{let b={};return((a,b={})=>{if(b.level&&!(Number.isInteger(b.level)&&b.level>=0&&b.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let c=f?f.level:0;a.level=void 0===b.level?c:b.level})(b,a),b.template=(...a)=>u(b.template,...a),Object.setPrototypeOf(b,o.prototype),Object.setPrototypeOf(b.template,b),b.template.constructor=()=>{throw Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},b.template.Instance=m,b.template};function o(a){return n(a)}for(let[a,b]of Object.entries(e))l[a]={get(){let c=s(this,r(b.open,b.close,this._styler),this._isEmpty);return Object.defineProperty(this,a,{value:c}),c}};l.visible={get(){let a=s(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:a}),a}};let p=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let a of p)l[a]={get(){let{level:b}=this;return function(...c){return s(this,r(e.color[k[b]][a](...c),e.color.close,this._styler),this._isEmpty)}}};for(let a of p)l["bg"+a[0].toUpperCase()+a.slice(1)]={get(){let{level:b}=this;return function(...c){return s(this,r(e.bgColor[k[b]][a](...c),e.bgColor.close,this._styler),this._isEmpty)}}};let q=Object.defineProperties(()=>{},{...l,level:{enumerable:!0,get(){return this._generator.level},set(a){this._generator.level=a}}}),r=(a,b,c)=>{let d,e;return void 0===c?(d=a,e=b):(d=c.openAll+a,e=b+c.closeAll),{open:a,close:b,openAll:d,closeAll:e,parent:c}},s=(a,b,c)=>{let d=(...a)=>j(a[0])&&j(a[0].raw)?t(d,u(d,...a)):t(d,1===a.length?""+a[0]:a.join(" "));return Object.setPrototypeOf(d,q),d._generator=a,d._styler=b,d._isEmpty=c,d},t=(a,b)=>{if(a.level<=0||!b)return a._isEmpty?"":b;let c=a._styler;if(void 0===c)return b;let{openAll:d,closeAll:e}=c;if(-1!==b.indexOf("\x1b"))for(;void 0!==c;)b=h(b,c.close,c.open),c=c.parent;let f=b.indexOf("\n");return -1!==f&&(b=i(b,e,d,f)),d+b+e},u=(a,...b)=>{let[e]=b;if(!j(e)||!j(e.raw))return b.join(" ");let f=b.slice(1),g=[e.raw[0]];for(let a=1;a<e.length;a++)g.push(String(f[a-1]).replace(/[{}\\]/g,"\\$&"),String(e.raw[a]));return void 0===d&&(d=c(67964)),d(a,g.join(""))};Object.defineProperties(o.prototype,l);let v=n(void 0);v.supportsColor=f,v.stderr=n({level:g?g.level:0}),v.stderr.supportsColor=g,a.exports=v},2393:a=>{"use strict";a.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||0x1fffffffffffff,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},2518:(a,b,c)=>{"use strict";let d=/\s+/g;class e{constructor(a,b){if(b=g(b),a instanceof e)if(!!b.loose===a.loose&&!!b.includePrerelease===a.includePrerelease)return a;else return new e(a.raw,b);if(a instanceof h)return this.raw=a.value,this.set=[[a]],this.formatted=void 0,this;if(this.options=b,this.loose=!!b.loose,this.includePrerelease=!!b.includePrerelease,this.raw=a.trim().replace(d," "),this.set=this.raw.split("||").map(a=>this.parseRange(a.trim())).filter(a=>a.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let a=this.set[0];if(this.set=this.set.filter(a=>!r(a[0])),0===this.set.length)this.set=[a];else if(this.set.length>1){for(let a of this.set)if(1===a.length&&s(a[0])){this.set=[a];break}}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let a=0;a<this.set.length;a++){a>0&&(this.formatted+="||");let b=this.set[a];for(let a=0;a<b.length;a++)a>0&&(this.formatted+=" "),this.formatted+=b[a].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(a){let b=((this.options.includePrerelease&&p)|(this.options.loose&&q))+":"+a,c=f.get(b);if(c)return c;let d=this.options.loose,e=d?k[l.HYPHENRANGELOOSE]:k[l.HYPHENRANGE];i("hyphen replace",a=a.replace(e,F(this.options.includePrerelease))),i("comparator trim",a=a.replace(k[l.COMPARATORTRIM],m)),i("tilde trim",a=a.replace(k[l.TILDETRIM],n)),i("caret trim",a=a.replace(k[l.CARETTRIM],o));let g=a.split(" ").map(a=>u(a,this.options)).join(" ").split(/\s+/).map(a=>E(a,this.options));d&&(g=g.filter(a=>(i("loose invalid filter",a,this.options),!!a.match(k[l.COMPARATORLOOSE])))),i("range list",g);let j=new Map;for(let a of g.map(a=>new h(a,this.options))){if(r(a))return[a];j.set(a.value,a)}j.size>1&&j.has("")&&j.delete("");let s=[...j.values()];return f.set(b,s),s}intersects(a,b){if(!(a instanceof e))throw TypeError("a Range is required");return this.set.some(c=>t(c,b)&&a.set.some(a=>t(a,b)&&c.every(c=>a.every(a=>c.intersects(a,b)))))}test(a){if(!a)return!1;if("string"==typeof a)try{a=new j(a,this.options)}catch(a){return!1}for(let b=0;b<this.set.length;b++)if(G(this.set[b],a,this.options))return!0;return!1}}a.exports=e;let f=new(c(66191)),g=c(71440),h=c(36779),i=c(17343),j=c(27139),{safeRe:k,t:l,comparatorTrimReplace:m,tildeTrimReplace:n,caretTrimReplace:o}=c(46887),{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:q}=c(2393),r=a=>"<0.0.0-0"===a.value,s=a=>""===a.value,t=(a,b)=>{let c=!0,d=a.slice(),e=d.pop();for(;c&&d.length;)c=d.every(a=>e.intersects(a,b)),e=d.pop();return c},u=(a,b)=>(i("comp",a=a.replace(k[l.BUILD],""),b),i("caret",a=y(a,b)),i("tildes",a=w(a,b)),i("xrange",a=B(a,b)),i("stars",a=D(a,b)),a),v=a=>!a||"x"===a.toLowerCase()||"*"===a,w=(a,b)=>a.trim().split(/\s+/).map(a=>x(a,b)).join(" "),x=(a,b)=>{let c=b.loose?k[l.TILDELOOSE]:k[l.TILDE];return a.replace(c,(b,c,d,e,f)=>{let g;return i("tilde",a,b,c,d,e,f),v(c)?g="":v(d)?g=`>=${c}.0.0 <${+c+1}.0.0-0`:v(e)?g=`>=${c}.${d}.0 <${c}.${+d+1}.0-0`:f?(i("replaceTilde pr",f),g=`>=${c}.${d}.${e}-${f} <${c}.${+d+1}.0-0`):g=`>=${c}.${d}.${e} <${c}.${+d+1}.0-0`,i("tilde return",g),g})},y=(a,b)=>a.trim().split(/\s+/).map(a=>A(a,b)).join(" "),A=(a,b)=>{i("caret",a,b);let c=b.loose?k[l.CARETLOOSE]:k[l.CARET],d=b.includePrerelease?"-0":"";return a.replace(c,(b,c,e,f,g)=>{let h;return i("caret",a,b,c,e,f,g),v(c)?h="":v(e)?h=`>=${c}.0.0${d} <${+c+1}.0.0-0`:v(f)?h="0"===c?`>=${c}.${e}.0${d} <${c}.${+e+1}.0-0`:`>=${c}.${e}.0${d} <${+c+1}.0.0-0`:g?(i("replaceCaret pr",g),h="0"===c?"0"===e?`>=${c}.${e}.${f}-${g} <${c}.${e}.${+f+1}-0`:`>=${c}.${e}.${f}-${g} <${c}.${+e+1}.0-0`:`>=${c}.${e}.${f}-${g} <${+c+1}.0.0-0`):(i("no pr"),h="0"===c?"0"===e?`>=${c}.${e}.${f}${d} <${c}.${e}.${+f+1}-0`:`>=${c}.${e}.${f}${d} <${c}.${+e+1}.0-0`:`>=${c}.${e}.${f} <${+c+1}.0.0-0`),i("caret return",h),h})},B=(a,b)=>(i("replaceXRanges",a,b),a.split(/\s+/).map(a=>C(a,b)).join(" ")),C=(a,b)=>{a=a.trim();let c=b.loose?k[l.XRANGELOOSE]:k[l.XRANGE];return a.replace(c,(c,d,e,f,g,h)=>{i("xRange",a,c,d,e,f,g,h);let j=v(e),k=j||v(f),l=k||v(g);return"="===d&&l&&(d=""),h=b.includePrerelease?"-0":"",j?c=">"===d||"<"===d?"<0.0.0-0":"*":d&&l?(k&&(f=0),g=0,">"===d?(d=">=",k?(e=+e+1,f=0):f=+f+1,g=0):"<="===d&&(d="<",k?e=+e+1:f=+f+1),"<"===d&&(h="-0"),c=`${d+e}.${f}.${g}${h}`):k?c=`>=${e}.0.0${h} <${+e+1}.0.0-0`:l&&(c=`>=${e}.${f}.0${h} <${e}.${+f+1}.0-0`),i("xRange return",c),c})},D=(a,b)=>(i("replaceStars",a,b),a.trim().replace(k[l.STAR],"")),E=(a,b)=>(i("replaceGTE0",a,b),a.trim().replace(k[b.includePrerelease?l.GTE0PRE:l.GTE0],"")),F=a=>(b,c,d,e,f,g,h,i,j,k,l,m)=>(c=v(d)?"":v(e)?`>=${d}.0.0${a?"-0":""}`:v(f)?`>=${d}.${e}.0${a?"-0":""}`:g?`>=${c}`:`>=${c}${a?"-0":""}`,i=v(j)?"":v(k)?`<${+j+1}.0.0-0`:v(l)?`<${j}.${+k+1}.0-0`:m?`<=${j}.${k}.${l}-${m}`:a?`<${j}.${k}.${+l+1}-0`:`<=${i}`,`${c} ${i}`.trim()),G=(a,b,c)=>{for(let c=0;c<a.length;c++)if(!a[c].test(b))return!1;if(b.prerelease.length&&!c.includePrerelease){for(let c=0;c<a.length;c++)if(i(a[c].semver),a[c].semver!==h.ANY&&a[c].semver.prerelease.length>0){let d=a[c].semver;if(d.major===b.major&&d.minor===b.minor&&d.patch===b.patch)return!0}return!1}return!0}},3284:(a,b,c)=>{let d=c(54196),e={};for(let a of Object.keys(d))e[d[a]]=a;let f={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(let b of(a.exports=f,Object.keys(f))){if(!("channels"in f[b]))throw Error("missing channels property: "+b);if(!("labels"in f[b]))throw Error("missing channel labels property: "+b);if(f[b].labels.length!==f[b].channels)throw Error("channel and label counts mismatch: "+b);let{channels:a,labels:c}=f[b];delete f[b].channels,delete f[b].labels,Object.defineProperty(f[b],"channels",{value:a}),Object.defineProperty(f[b],"labels",{value:c})}f.rgb.hsl=function(a){let b,c=a[0]/255,d=a[1]/255,e=a[2]/255,f=Math.min(c,d,e),g=Math.max(c,d,e),h=g-f;g===f?b=0:c===g?b=(d-e)/h:d===g?b=2+(e-c)/h:e===g&&(b=4+(c-d)/h),(b=Math.min(60*b,360))<0&&(b+=360);let i=(f+g)/2;return[b,100*(g===f?0:i<=.5?h/(g+f):h/(2-g-f)),100*i]},f.rgb.hsv=function(a){let b,c,d,e,f,g=a[0]/255,h=a[1]/255,i=a[2]/255,j=Math.max(g,h,i),k=j-Math.min(g,h,i),l=function(a){return(j-a)/6/k+.5};return 0===k?(e=0,f=0):(f=k/j,b=l(g),c=l(h),d=l(i),g===j?e=d-c:h===j?e=1/3+b-d:i===j&&(e=2/3+c-b),e<0?e+=1:e>1&&(e-=1)),[360*e,100*f,100*j]},f.rgb.hwb=function(a){let b=a[0],c=a[1],d=a[2];return[f.rgb.hsl(a)[0],1/255*Math.min(b,Math.min(c,d))*100,100*(d=1-1/255*Math.max(b,Math.max(c,d)))]},f.rgb.cmyk=function(a){let b=a[0]/255,c=a[1]/255,d=a[2]/255,e=Math.min(1-b,1-c,1-d);return[100*((1-b-e)/(1-e)||0),100*((1-c-e)/(1-e)||0),100*((1-d-e)/(1-e)||0),100*e]},f.rgb.keyword=function(a){let b,c=e[a];if(c)return c;let f=1/0;for(let c of Object.keys(d)){let e=d[c],g=(a[0]-e[0])**2+(a[1]-e[1])**2+(a[2]-e[2])**2;g<f&&(f=g,b=c)}return b},f.keyword.rgb=function(a){return d[a]},f.rgb.xyz=function(a){let b=a[0]/255,c=a[1]/255,d=a[2]/255;return[100*(.4124*(b=b>.04045?((b+.055)/1.055)**2.4:b/12.92)+.3576*(c=c>.04045?((c+.055)/1.055)**2.4:c/12.92)+.1805*(d=d>.04045?((d+.055)/1.055)**2.4:d/12.92)),100*(.2126*b+.7152*c+.0722*d),100*(.0193*b+.1192*c+.9505*d)]},f.rgb.lab=function(a){let b=f.rgb.xyz(a),c=b[0],d=b[1],e=b[2];return c/=95.047,d/=100,e/=108.883,[116*(d=d>.008856?d**(1/3):7.787*d+16/116)-16,500*((c=c>.008856?c**(1/3):7.787*c+16/116)-d),200*(d-(e=e>.008856?e**(1/3):7.787*e+16/116))]},f.hsl.rgb=function(a){let b,c,d,e=a[0]/360,f=a[1]/100,g=a[2]/100;if(0===f)return[d=255*g,d,d];b=g<.5?g*(1+f):g+f-g*f;let h=2*g-b,i=[0,0,0];for(let a=0;a<3;a++)(c=e+-(1/3*(a-1)))<0&&c++,c>1&&c--,d=6*c<1?h+(b-h)*6*c:2*c<1?b:3*c<2?h+(b-h)*(2/3-c)*6:h,i[a]=255*d;return i},f.hsl.hsv=function(a){let b=a[0],c=a[1]/100,d=a[2]/100,e=c,f=Math.max(d,.01);d*=2,c*=d<=1?d:2-d,e*=f<=1?f:2-f;let g=(d+c)/2;return[b,100*(0===d?2*e/(f+e):2*c/(d+c)),100*g]},f.hsv.rgb=function(a){let b=a[0]/60,c=a[1]/100,d=a[2]/100,e=Math.floor(b)%6,f=b-Math.floor(b),g=255*d*(1-c),h=255*d*(1-c*f),i=255*d*(1-c*(1-f));switch(d*=255,e){case 0:return[d,i,g];case 1:return[h,d,g];case 2:return[g,d,i];case 3:return[g,h,d];case 4:return[i,g,d];case 5:return[d,g,h]}},f.hsv.hsl=function(a){let b,c,d=a[0],e=a[1]/100,f=a[2]/100,g=Math.max(f,.01);c=(2-e)*f;let h=(2-e)*g;return[d,100*(b=(b=e*g/(h<=1?h:2-h))||0),100*(c/=2)]},f.hwb.rgb=function(a){let b,c,d,e,f=a[0]/360,g=a[1]/100,h=a[2]/100,i=g+h;i>1&&(g/=i,h/=i);let j=Math.floor(6*f),k=1-h;b=6*f-j,(1&j)!=0&&(b=1-b);let l=g+b*(k-g);switch(j){default:case 6:case 0:c=k,d=l,e=g;break;case 1:c=l,d=k,e=g;break;case 2:c=g,d=k,e=l;break;case 3:c=g,d=l,e=k;break;case 4:c=l,d=g,e=k;break;case 5:c=k,d=g,e=l}return[255*c,255*d,255*e]},f.cmyk.rgb=function(a){let b=a[0]/100,c=a[1]/100,d=a[2]/100,e=a[3]/100;return[255*(1-Math.min(1,b*(1-e)+e)),255*(1-Math.min(1,c*(1-e)+e)),255*(1-Math.min(1,d*(1-e)+e))]},f.xyz.rgb=function(a){let b,c,d,e=a[0]/100,f=a[1]/100,g=a[2]/100;return b=(b=3.2406*e+-1.5372*f+-.4986*g)>.0031308?1.055*b**(1/2.4)-.055:12.92*b,c=(c=-.9689*e+1.8758*f+.0415*g)>.0031308?1.055*c**(1/2.4)-.055:12.92*c,d=(d=.0557*e+-.204*f+1.057*g)>.0031308?1.055*d**(1/2.4)-.055:12.92*d,[255*(b=Math.min(Math.max(0,b),1)),255*(c=Math.min(Math.max(0,c),1)),255*(d=Math.min(Math.max(0,d),1))]},f.xyz.lab=function(a){let b=a[0],c=a[1],d=a[2];return b/=95.047,c/=100,d/=108.883,[116*(c=c>.008856?c**(1/3):7.787*c+16/116)-16,500*((b=b>.008856?b**(1/3):7.787*b+16/116)-c),200*(c-(d=d>.008856?d**(1/3):7.787*d+16/116))]},f.lab.xyz=function(a){let b,c,d,e=a[0],f=a[1],g=a[2];b=f/500+(c=(e+16)/116),d=c-g/200;let h=c**3,i=b**3,j=d**3;return c=(h>.008856?h:(c-16/116)/7.787)*100,[b=(i>.008856?i:(b-16/116)/7.787)*95.047,c,d=(j>.008856?j:(d-16/116)/7.787)*108.883]},f.lab.lch=function(a){let b,c=a[0],d=a[1],e=a[2];return(b=360*Math.atan2(e,d)/2/Math.PI)<0&&(b+=360),[c,Math.sqrt(d*d+e*e),b]},f.lch.lab=function(a){let b=a[0],c=a[1],d=a[2]/360*2*Math.PI;return[b,c*Math.cos(d),c*Math.sin(d)]},f.rgb.ansi16=function(a,b=null){let[c,d,e]=a,g=null===b?f.rgb.hsv(a)[2]:b;if(0===(g=Math.round(g/50)))return 30;let h=30+(Math.round(e/255)<<2|Math.round(d/255)<<1|Math.round(c/255));return 2===g&&(h+=60),h},f.hsv.ansi16=function(a){return f.rgb.ansi16(f.hsv.rgb(a),a[2])},f.rgb.ansi256=function(a){let b=a[0],c=a[1],d=a[2];return b===c&&c===d?b<8?16:b>248?231:Math.round((b-8)/247*24)+232:16+36*Math.round(b/255*5)+6*Math.round(c/255*5)+Math.round(d/255*5)},f.ansi16.rgb=function(a){let b=a%10;if(0===b||7===b)return a>50&&(b+=3.5),[b=b/10.5*255,b,b];let c=(~~(a>50)+1)*.5;return[(1&b)*c*255,(b>>1&1)*c*255,(b>>2&1)*c*255]},f.ansi256.rgb=function(a){let b;if(a>=232){let b=(a-232)*10+8;return[b,b,b]}return[Math.floor((a-=16)/36)/5*255,Math.floor((b=a%36)/6)/5*255,b%6/5*255]},f.rgb.hex=function(a){let b=(((255&Math.round(a[0]))<<16)+((255&Math.round(a[1]))<<8)+(255&Math.round(a[2]))).toString(16).toUpperCase();return"000000".substring(b.length)+b},f.hex.rgb=function(a){let b=a.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!b)return[0,0,0];let c=b[0];3===b[0].length&&(c=c.split("").map(a=>a+a).join(""));let d=parseInt(c,16);return[d>>16&255,d>>8&255,255&d]},f.rgb.hcg=function(a){let b,c=a[0]/255,d=a[1]/255,e=a[2]/255,f=Math.max(Math.max(c,d),e),g=Math.min(Math.min(c,d),e),h=f-g;return b=h<1?g/(1-h):0,[360*((h<=0?0:f===c?(d-e)/h%6:f===d?2+(e-c)/h:4+(c-d)/h)/6%1),100*h,100*b]},f.hsl.hcg=function(a){let b=a[1]/100,c=a[2]/100,d=c<.5?2*b*c:2*b*(1-c),e=0;return d<1&&(e=(c-.5*d)/(1-d)),[a[0],100*d,100*e]},f.hsv.hcg=function(a){let b=a[1]/100,c=a[2]/100,d=b*c,e=0;return d<1&&(e=(c-d)/(1-d)),[a[0],100*d,100*e]},f.hcg.rgb=function(a){let b=a[0]/360,c=a[1]/100,d=a[2]/100;if(0===c)return[255*d,255*d,255*d];let e=[0,0,0],f=b%1*6,g=f%1,h=1-g,i=0;switch(Math.floor(f)){case 0:e[0]=1,e[1]=g,e[2]=0;break;case 1:e[0]=h,e[1]=1,e[2]=0;break;case 2:e[0]=0,e[1]=1,e[2]=g;break;case 3:e[0]=0,e[1]=h,e[2]=1;break;case 4:e[0]=g,e[1]=0,e[2]=1;break;default:e[0]=1,e[1]=0,e[2]=h}return i=(1-c)*d,[(c*e[0]+i)*255,(c*e[1]+i)*255,(c*e[2]+i)*255]},f.hcg.hsv=function(a){let b=a[1]/100,c=b+a[2]/100*(1-b),d=0;return c>0&&(d=b/c),[a[0],100*d,100*c]},f.hcg.hsl=function(a){let b=a[1]/100,c=a[2]/100*(1-b)+.5*b,d=0;return c>0&&c<.5?d=b/(2*c):c>=.5&&c<1&&(d=b/(2*(1-c))),[a[0],100*d,100*c]},f.hcg.hwb=function(a){let b=a[1]/100,c=b+a[2]/100*(1-b);return[a[0],(c-b)*100,(1-c)*100]},f.hwb.hcg=function(a){let b=a[1]/100,c=1-a[2]/100,d=c-b,e=0;return d<1&&(e=(c-d)/(1-d)),[a[0],100*d,100*e]},f.apple.rgb=function(a){return[a[0]/65535*255,a[1]/65535*255,a[2]/65535*255]},f.rgb.apple=function(a){return[a[0]/255*65535,a[1]/255*65535,a[2]/255*65535]},f.gray.rgb=function(a){return[a[0]/100*255,a[0]/100*255,a[0]/100*255]},f.gray.hsl=function(a){return[0,0,a[0]]},f.gray.hsv=f.gray.hsl,f.gray.hwb=function(a){return[0,100,a[0]]},f.gray.cmyk=function(a){return[0,0,0,a[0]]},f.gray.lab=function(a){return[a[0],0,0]},f.gray.hex=function(a){let b=255&Math.round(a[0]/100*255),c=((b<<16)+(b<<8)+b).toString(16).toUpperCase();return"000000".substring(c.length)+c},f.rgb.gray=function(a){return[(a[0]+a[1]+a[2])/3/255*100]}},5271:(a,b,c)=>{"use strict";let d=c(64101);a.exports=(a,b)=>{let c=d(a.trim().replace(/^[=v]+/,""),b);return c?c.version:null}},6795:a=>{"use strict";a.exports={stringReplaceAll:(a,b,c)=>{let d=a.indexOf(b);if(-1===d)return a;let e=b.length,f=0,g="";do g+=a.substr(f,d-f)+b+c,f=d+e,d=a.indexOf(b,f);while(-1!==d);return g+a.substr(f)},stringEncaseCRLFWithFirstIndex:(a,b,c,d)=>{let e=0,f="";do{let g="\r"===a[d-1];f+=a.substr(e,(g?d-1:d)-e)+b+(g?"\r\n":"\n")+c,e=d+1,d=a.indexOf("\n",e)}while(-1!==d);return f+a.substr(e)}}},8832:(a,b,c)=>{"use strict";let d=c(64101);a.exports=(a,b)=>{let c=d(a,b);return c?c.version:null}},9900:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b,c)=>{let e=new d(a,c),f=new d(b,c);return e.compare(f)||e.compareBuild(f)}},11567:(a,b,c)=>{"use strict";let d,e=c(21820),f=c(83997),g=c(67388),{env:h}=process;function i(a){return 0!==a&&{level:a,hasBasic:!0,has256:a>=2,has16m:a>=3}}function j(a,b){if(0===d)return 0;if(g("color=16m")||g("color=full")||g("color=truecolor"))return 3;if(g("color=256"))return 2;if(a&&!b&&void 0===d)return 0;let c=d||0;if("dumb"===h.TERM)return c;if("win32"===process.platform){let a=e.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in h)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(a=>a in h)||"codeship"===h.CI_NAME?1:c;if("TEAMCITY_VERSION"in h)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(h.TEAMCITY_VERSION);if("truecolor"===h.COLORTERM)return 3;if("TERM_PROGRAM"in h){let a=parseInt((h.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(h.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(h.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(h.TERM)||"COLORTERM"in h?1:c}g("no-color")||g("no-colors")||g("color=false")||g("color=never")?d=0:(g("color")||g("colors")||g("color=true")||g("color=always"))&&(d=1),"FORCE_COLOR"in h&&(d="true"===h.FORCE_COLOR?1:"false"===h.FORCE_COLOR?0:0===h.FORCE_COLOR.length?1:Math.min(parseInt(h.FORCE_COLOR,10),3)),a.exports={supportsColor:function(a){return i(j(a,a&&a.isTTY))},stdout:i(j(!0,f.isatty(1))),stderr:i(j(!0,f.isatty(2)))}},14910:(a,b,c)=>{"use strict";let d=c(67026),e=c(29470),f=c(75431),g=c(45992),h=c(71644),i=c(80841);a.exports=(a,b,c,j)=>{switch(b){case"===":return"object"==typeof a&&(a=a.version),"object"==typeof c&&(c=c.version),a===c;case"!==":return"object"==typeof a&&(a=a.version),"object"==typeof c&&(c=c.version),a!==c;case"":case"=":case"==":return d(a,c,j);case"!=":return e(a,c,j);case">":return f(a,c,j);case">=":return g(a,c,j);case"<":return h(a,c,j);case"<=":return i(a,c,j);default:throw TypeError(`Invalid operator: ${b}`)}}},16730:(a,b,c)=>{"use strict";let d=c(27139),e=c(2518),f=c(75431);a.exports=(a,b)=>{a=new e(a,b);let c=new d("0.0.0");if(a.test(c)||(c=new d("0.0.0-0"),a.test(c)))return c;c=null;for(let b=0;b<a.set.length;++b){let e=a.set[b],g=null;e.forEach(a=>{let b=new d(a.semver.version);switch(a.operator){case">":0===b.prerelease.length?b.patch++:b.prerelease.push(0),b.raw=b.format();case"":case">=":(!g||f(b,g))&&(g=b);break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${a.operator}`)}}),g&&(!c||f(c,g))&&(c=g)}return c&&a.test(c)?c:null}},17343:a=>{"use strict";a.exports="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...a)=>console.error("SEMVER",...a):()=>{}},17765:(a,b,c)=>{"use strict";let d=c(27139),e=c(64101),{safeRe:f,t:g}=c(46887);a.exports=(a,b)=>{if(a instanceof d)return a;if("number"==typeof a&&(a=String(a)),"string"!=typeof a)return null;let c=null;if((b=b||{}).rtl){let d,e=b.includePrerelease?f[g.COERCERTLFULL]:f[g.COERCERTL];for(;(d=e.exec(a))&&(!c||c.index+c[0].length!==a.length);)c&&d.index+d[0].length===c.index+c[0].length||(c=d),e.lastIndex=d.index+d[1].length+d[2].length;e.lastIndex=-1}else c=a.match(b.includePrerelease?f[g.COERCEFULL]:f[g.COERCE]);if(null===c)return null;let h=c[2],i=c[3]||"0",j=c[4]||"0",k=b.includePrerelease&&c[5]?`-${c[5]}`:"",l=b.includePrerelease&&c[6]?`+${c[6]}`:"";return e(`${h}.${i}.${j}${k}${l}`,b)}},19653:(a,b,c)=>{"use strict";let d=c(2518);a.exports=(a,b)=>{try{return new d(a,b).range||"*"}catch(a){return null}}},20640:(a,b,c)=>{"use strict";let d=c(91012);a.exports=(a,b,c)=>d(a,b,">",c)},25746:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b,c,e,f)=>{"string"==typeof c&&(f=e,e=c,c=void 0);try{return new d(a instanceof d?a.version:a,c).inc(b,e,f).version}catch(a){return null}}},26008:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b)=>new d(a,b).patch},27139:(a,b,c)=>{"use strict";let d=c(17343),{MAX_LENGTH:e,MAX_SAFE_INTEGER:f}=c(2393),{safeRe:g,t:h}=c(46887),i=c(71440),{compareIdentifiers:j}=c(74944);class k{constructor(a,b){if(b=i(b),a instanceof k)if(!!b.loose===a.loose&&!!b.includePrerelease===a.includePrerelease)return a;else a=a.version;else if("string"!=typeof a)throw TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>e)throw TypeError(`version is longer than ${e} characters`);d("SemVer",a,b),this.options=b,this.loose=!!b.loose,this.includePrerelease=!!b.includePrerelease;let c=a.trim().match(b.loose?g[h.LOOSE]:g[h.FULL]);if(!c)throw TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>f||this.major<0)throw TypeError("Invalid major version");if(this.minor>f||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>f||this.patch<0)throw TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let b=+a;if(b>=0&&b<f)return b}return a}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(a){if(d("SemVer.compare",this.version,this.options,a),!(a instanceof k)){if("string"==typeof a&&a===this.version)return 0;a=new k(a,this.options)}return a.version===this.version?0:this.compareMain(a)||this.comparePre(a)}compareMain(a){return(a instanceof k||(a=new k(a,this.options)),this.major<a.major)?-1:this.major>a.major?1:this.minor<a.minor?-1:this.minor>a.minor?1:this.patch<a.patch?-1:+(this.patch>a.patch)}comparePre(a){if(a instanceof k||(a=new k(a,this.options)),this.prerelease.length&&!a.prerelease.length)return -1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;let b=0;do{let c=this.prerelease[b],e=a.prerelease[b];if(d("prerelease compare",b,c,e),void 0===c&&void 0===e)return 0;if(void 0===e)return 1;if(void 0===c)return -1;else if(c===e)continue;else return j(c,e)}while(++b)}compareBuild(a){a instanceof k||(a=new k(a,this.options));let b=0;do{let c=this.build[b],e=a.build[b];if(d("build compare",b,c,e),void 0===c&&void 0===e)return 0;if(void 0===e)return 1;if(void 0===c)return -1;else if(c===e)continue;else return j(c,e)}while(++b)}inc(a,b,c){if(a.startsWith("pre")){if(!b&&!1===c)throw Error("invalid increment argument: identifier is empty");if(b){let a=`-${b}`.match(this.options.loose?g[h.PRERELEASELOOSE]:g[h.PRERELEASE]);if(!a||a[1]!==b)throw Error(`invalid identifier: ${b}`)}}switch(a){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",b,c);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",b,c);break;case"prepatch":this.prerelease.length=0,this.inc("patch",b,c),this.inc("pre",b,c);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",b,c),this.inc("pre",b,c);break;case"release":if(0===this.prerelease.length)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(0!==this.minor||0!==this.patch||0===this.prerelease.length)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(0!==this.patch||0===this.prerelease.length)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{let a=+!!Number(c);if(0===this.prerelease.length)this.prerelease=[a];else{let d=this.prerelease.length;for(;--d>=0;)"number"==typeof this.prerelease[d]&&(this.prerelease[d]++,d=-2);if(-1===d){if(b===this.prerelease.join(".")&&!1===c)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(b){let d=[b,a];!1===c&&(d=[b]),0===j(this.prerelease[0],b)?isNaN(this.prerelease[1])&&(this.prerelease=d):this.prerelease=d}break}default:throw Error(`invalid increment argument: ${a}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}a.exports=k},27419:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let e=(a,b)=>(...c)=>{let d=a(...c);return`\u001B[${d+b}m`},f=(a,b)=>(...c)=>{let d=a(...c);return`\u001B[${38+b};5;${d}m`},g=(a,b)=>(...c)=>{let d=a(...c);return`\u001B[${38+b};2;${d[0]};${d[1]};${d[2]}m`},h=a=>a,i=(a,b,c)=>[a,b,c],j=(a,b,c)=>{Object.defineProperty(a,b,{get:()=>{let d=c();return Object.defineProperty(a,b,{value:d,enumerable:!0,configurable:!0}),d},enumerable:!0,configurable:!0})},k=(a,b,e,f)=>{void 0===d&&(d=c(34117));let g=10*!!f,h={};for(let[c,f]of Object.entries(d)){let d="ansi16"===c?"ansi":c;c===b?h[d]=a(e,g):"object"==typeof f&&(h[d]=a(f[b],g))}return h};Object.defineProperty(a,"exports",{enumerable:!0,get:function(){let a=new Map,b={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};for(let[c,d]of(b.color.gray=b.color.blackBright,b.bgColor.bgGray=b.bgColor.bgBlackBright,b.color.grey=b.color.blackBright,b.bgColor.bgGrey=b.bgColor.bgBlackBright,Object.entries(b))){for(let[c,e]of Object.entries(d))b[c]={open:`\u001B[${e[0]}m`,close:`\u001B[${e[1]}m`},d[c]=b[c],a.set(e[0],e[1]);Object.defineProperty(b,c,{value:d,enumerable:!1})}return Object.defineProperty(b,"codes",{value:a,enumerable:!1}),b.color.close="\x1b[39m",b.bgColor.close="\x1b[49m",j(b.color,"ansi",()=>k(e,"ansi16",h,!1)),j(b.color,"ansi256",()=>k(f,"ansi256",h,!1)),j(b.color,"ansi16m",()=>k(g,"rgb",i,!1)),j(b.bgColor,"ansi",()=>k(e,"ansi16",h,!0)),j(b.bgColor,"ansi256",()=>k(f,"ansi256",h,!0)),j(b.bgColor,"ansi16m",()=>k(g,"rgb",i,!0)),b}})},28337:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>d(b,a,c)},29470:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>0!==d(a,b,c)},29786:(a,b,c)=>{"use strict";let d=c(64101);a.exports=(a,b)=>{let c=d(a,b);return c&&c.prerelease.length?c.prerelease:null}},34117:(a,b,c)=>{let d=c(3284),e=c(71140),f={};Object.keys(d).forEach(a=>{f[a]={},Object.defineProperty(f[a],"channels",{value:d[a].channels}),Object.defineProperty(f[a],"labels",{value:d[a].labels});let b=e(a);Object.keys(b).forEach(c=>{let d=b[c];f[a][c]=function(a){let b=function(...b){let c=b[0];if(null==c)return c;c.length>1&&(b=c);let d=a(b);if("object"==typeof d)for(let a=d.length,b=0;b<a;b++)d[b]=Math.round(d[b]);return d};return"conversion"in a&&(b.conversion=a.conversion),b}(d),f[a][c].raw=function(a){let b=function(...b){let c=b[0];return null==c?c:(c.length>1&&(b=c),a(b))};return"conversion"in a&&(b.conversion=a.conversion),b}(d)})}),a.exports=f},34561:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b,c)=>new d(a,c).compare(new d(b,c))},34663:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b)=>new d(a,b).major},36620:(a,b,c)=>{"use strict";let d=c(9900);a.exports=(a,b)=>a.sort((a,c)=>d(a,c,b))},36779:(a,b,c)=>{"use strict";let d=Symbol("SemVer ANY");class e{static get ANY(){return d}constructor(a,b){if(b=f(b),a instanceof e)if(!!b.loose===a.loose)return a;else a=a.value;j("comparator",a=a.trim().split(/\s+/).join(" "),b),this.options=b,this.loose=!!b.loose,this.parse(a),this.semver===d?this.value="":this.value=this.operator+this.semver.version,j("comp",this)}parse(a){let b=this.options.loose?g[h.COMPARATORLOOSE]:g[h.COMPARATOR],c=a.match(b);if(!c)throw TypeError(`Invalid comparator: ${a}`);this.operator=void 0!==c[1]?c[1]:"","="===this.operator&&(this.operator=""),c[2]?this.semver=new k(c[2],this.options.loose):this.semver=d}toString(){return this.value}test(a){if(j("Comparator.test",a,this.options.loose),this.semver===d||a===d)return!0;if("string"==typeof a)try{a=new k(a,this.options)}catch(a){return!1}return i(a,this.operator,this.semver,this.options)}intersects(a,b){if(!(a instanceof e))throw TypeError("a Comparator is required");return""===this.operator?""===this.value||new l(a.value,b).test(this.value):""===a.operator?""===a.value||new l(this.value,b).test(a.semver):!((b=f(b)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===a.value)||!b.includePrerelease&&(this.value.startsWith("<0.0.0")||a.value.startsWith("<0.0.0")))&&!!(this.operator.startsWith(">")&&a.operator.startsWith(">")||this.operator.startsWith("<")&&a.operator.startsWith("<")||this.semver.version===a.semver.version&&this.operator.includes("=")&&a.operator.includes("=")||i(this.semver,"<",a.semver,b)&&this.operator.startsWith(">")&&a.operator.startsWith("<")||i(this.semver,">",a.semver,b)&&this.operator.startsWith("<")&&a.operator.startsWith(">"))}}a.exports=e;let f=c(71440),{safeRe:g,t:h}=c(46887),i=c(14910),j=c(17343),k=c(27139),l=c(2518)},45992:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>d(a,b,c)>=0},46887:(a,b,c)=>{"use strict";let{MAX_SAFE_COMPONENT_LENGTH:d,MAX_SAFE_BUILD_LENGTH:e,MAX_LENGTH:f}=c(2393),g=c(17343),h=(b=a.exports={}).re=[],i=b.safeRe=[],j=b.src=[],k=b.safeSrc=[],l=b.t={},m=0,n="[a-zA-Z0-9-]",o=[["\\s",1],["\\d",f],[n,e]],p=(a,b,c)=>{let d=(a=>{for(let[b,c]of o)a=a.split(`${b}*`).join(`${b}{0,${c}}`).split(`${b}+`).join(`${b}{1,${c}}`);return a})(b),e=m++;g(a,e,b),l[a]=e,j[e]=b,k[e]=d,h[e]=new RegExp(b,c?"g":void 0),i[e]=new RegExp(d,c?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${n}*`),p("MAINVERSION",`(${j[l.NUMERICIDENTIFIER]})\\.(${j[l.NUMERICIDENTIFIER]})\\.(${j[l.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${j[l.NUMERICIDENTIFIERLOOSE]})\\.(${j[l.NUMERICIDENTIFIERLOOSE]})\\.(${j[l.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${j[l.NONNUMERICIDENTIFIER]}|${j[l.NUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${j[l.NONNUMERICIDENTIFIER]}|${j[l.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASE",`(?:-(${j[l.PRERELEASEIDENTIFIER]}(?:\\.${j[l.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${j[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${j[l.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${n}+`),p("BUILD",`(?:\\+(${j[l.BUILDIDENTIFIER]}(?:\\.${j[l.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${j[l.MAINVERSION]}${j[l.PRERELEASE]}?${j[l.BUILD]}?`),p("FULL",`^${j[l.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${j[l.MAINVERSIONLOOSE]}${j[l.PRERELEASELOOSE]}?${j[l.BUILD]}?`),p("LOOSE",`^${j[l.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${j[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${j[l.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${j[l.XRANGEIDENTIFIER]})(?:\\.(${j[l.XRANGEIDENTIFIER]})(?:\\.(${j[l.XRANGEIDENTIFIER]})(?:${j[l.PRERELEASE]})?${j[l.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${j[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${j[l.XRANGEIDENTIFIERLOOSE]})(?:${j[l.PRERELEASELOOSE]})?${j[l.BUILD]}?)?)?`),p("XRANGE",`^${j[l.GTLT]}\\s*${j[l.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${j[l.GTLT]}\\s*${j[l.XRANGEPLAINLOOSE]}$`),p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${d}})(?:\\.(\\d{1,${d}}))?(?:\\.(\\d{1,${d}}))?`),p("COERCE",`${j[l.COERCEPLAIN]}(?:$|[^\\d])`),p("COERCEFULL",j[l.COERCEPLAIN]+`(?:${j[l.PRERELEASE]})?`+`(?:${j[l.BUILD]})?`+"(?:$|[^\\d])"),p("COERCERTL",j[l.COERCE],!0),p("COERCERTLFULL",j[l.COERCEFULL],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${j[l.LONETILDE]}\\s+`,!0),b.tildeTrimReplace="$1~",p("TILDE",`^${j[l.LONETILDE]}${j[l.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${j[l.LONETILDE]}${j[l.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${j[l.LONECARET]}\\s+`,!0),b.caretTrimReplace="$1^",p("CARET",`^${j[l.LONECARET]}${j[l.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${j[l.LONECARET]}${j[l.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${j[l.GTLT]}\\s*(${j[l.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${j[l.GTLT]}\\s*(${j[l.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${j[l.GTLT]}\\s*(${j[l.LOOSEPLAIN]}|${j[l.XRANGEPLAIN]})`,!0),b.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${j[l.XRANGEPLAIN]})\\s+-\\s+(${j[l.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${j[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${j[l.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},54196:a=>{"use strict";a.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},63109:(a,b,c)=>{"use strict";let d=c(2518);a.exports=(a,b,c)=>(a=new d(a,c),b=new d(b,c),a.intersects(b,c))},64101:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b,c=!1)=>{if(a instanceof d)return a;try{return new d(a,b)}catch(a){if(!c)return null;throw a}}},64422:(a,b,c)=>{"use strict";let d,e,f,g,h,i,j;c.d(b,{Composio:()=>kj});var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL,aM={};function aN(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c}function aO(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)}c.r(aM),c.d(aM,{BRAND:()=>cn.qt,DIRTY:()=>d_.jm,EMPTY_PATH:()=>d_.I3,INVALID:()=>d_.uY,NEVER:()=>cn.tm,OK:()=>d_.OK,ParseStatus:()=>d_.MY,Schema:()=>cn.Sj,ZodAny:()=>cn.Ml,ZodArray:()=>cn.n,ZodBigInt:()=>cn.Lr,ZodBoolean:()=>cn.WF,ZodBranded:()=>cn.eN,ZodCatch:()=>cn.hw,ZodDate:()=>cn.aP,ZodDefault:()=>cn.Xi,ZodDiscriminatedUnion:()=>cn.jv,ZodEffects:()=>cn.k1,ZodEnum:()=>cn.Vb,ZodError:()=>b6.G,ZodFirstPartyTypeKind:()=>cn.kY,ZodFunction:()=>cn.CZ,ZodIntersection:()=>cn.Jv,ZodIssueCode:()=>b6.eq,ZodLazy:()=>cn.Ih,ZodLiteral:()=>cn.DN,ZodMap:()=>cn.Ut,ZodNaN:()=>cn.Tq,ZodNativeEnum:()=>cn.WM,ZodNever:()=>cn.iS,ZodNull:()=>cn.PQ,ZodNullable:()=>cn.l1,ZodNumber:()=>cn.rS,ZodObject:()=>cn.bv,ZodOptional:()=>cn.Ii,ZodParsedType:()=>d0.Zp,ZodPipeline:()=>cn._c,ZodPromise:()=>cn.$i,ZodReadonly:()=>cn.EV,ZodRecord:()=>cn.b8,ZodSchema:()=>cn.lK,ZodSet:()=>cn.Kz,ZodString:()=>cn.ND,ZodSymbol:()=>cn.K5,ZodTransformer:()=>cn.BG,ZodTuple:()=>cn.y0,ZodType:()=>cn.aR,ZodUndefined:()=>cn._Z,ZodUnion:()=>cn.fZ,ZodUnknown:()=>cn._,ZodVoid:()=>cn.a0,addIssueToContext:()=>d_.zn,any:()=>cn.bz,array:()=>cn.YO,bigint:()=>cn.o,boolean:()=>cn.zM,coerce:()=>cn.au,custom:()=>cn.Ie,date:()=>cn.p6,datetimeRegex:()=>cn.fm,defaultErrorMap:()=>d$.su,discriminatedUnion:()=>cn.gM,effect:()=>cn.QZ,enum:()=>cn.k5,function:()=>cn.fH,getErrorMap:()=>d$.$W,getParsedType:()=>d0.CR,instanceof:()=>cn.Nl,intersection:()=>cn.E$,isAborted:()=>d_.G4,isAsync:()=>d_.xP,isDirty:()=>d_.DM,isValid:()=>d_.fn,late:()=>cn.fn,lazy:()=>cn.RZ,literal:()=>cn.eu,makeIssue:()=>d_.y7,map:()=>cn.Tj,nan:()=>cn.oi,nativeEnum:()=>cn.fc,never:()=>cn.Zm,null:()=>cn.ch,nullable:()=>cn.me,number:()=>cn.ai,object:()=>cn.Ik,objectUtil:()=>d0.o6,oboolean:()=>cn.yN,onumber:()=>cn.p7,optional:()=>cn.lq,ostring:()=>cn.Di,pipeline:()=>cn.Tk,preprocess:()=>cn.vk,promise:()=>cn.iv,quotelessJson:()=>b6.WI,record:()=>cn.g1,set:()=>cn.hZ,setErrorMap:()=>d$.pJ,strictObject:()=>cn.re,string:()=>cn.Yj,symbol:()=>cn.HR,transformer:()=>cn.Gu,tuple:()=>cn.PV,undefined:()=>cn.Vx,union:()=>cn.KC,unknown:()=>cn.L5,util:()=>d0.ZS,void:()=>cn.rI}),c(98995);let aP=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return aP=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))},aQ=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)};class aR extends Error{}class aS extends aR{constructor(a,b,c,d){super(`${aS.makeMessage(a,b,c)}`),this.status=a,this.headers=d,this.error=b}static makeMessage(a,b,c){let d=b?.message?"string"==typeof b.message?b.message:JSON.stringify(b.message):b?JSON.stringify(b):c;return a&&d?`${a} ${d}`:a?`${a} status code (no body)`:d||"(no status code or body)"}static generate(a,b,c,d){return a&&d?400===a?new aW(a,b,c,d):401===a?new aX(a,b,c,d):403===a?new aY(a,b,c,d):404===a?new aZ(a,b,c,d):409===a?new a$(a,b,c,d):422===a?new a_(a,b,c,d):429===a?new a0(a,b,c,d):a>=500?new a1(a,b,c,d):new aS(a,b,c,d):new aU({message:c,cause:aQ(b)})}}class aT extends aS{constructor({message:a}={}){super(void 0,void 0,a||"Request was aborted.",void 0)}}class aU extends aS{constructor({message:a,cause:b}){super(void 0,void 0,a||"Connection error.",void 0),b&&(this.cause=b)}}class aV extends aU{constructor({message:a}={}){super({message:a??"Request timed out."})}}class aW extends aS{}class aX extends aS{}class aY extends aS{}class aZ extends aS{}class a$ extends aS{}class a_ extends aS{}class a0 extends aS{}class a1 extends aS{}let a2=/^[a-z][a-z0-9+.-]*:/i,a3=a=>(a3=Array.isArray)(a),a4=a3;function a5(a){if(!a)return!0;for(let b in a)return!1;return!0}let a6="0.1.0-alpha.70",a7=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",a8=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown";async function a9(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let ba=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)}),bb="RFC3986",bc=a=>String(a),bd={RFC1738:a=>String(a).replace(/%20/g,"+"),RFC3986:bc},be=(a,b)=>(be=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty))(a,b),bf=(()=>{let a=[];for(let b=0;b<256;++b)a.push("%"+((b<16?"0":"")+b.toString(16)).toUpperCase());return a})();function bg(a,b){if(a3(a)){let c=[];for(let d=0;d<a.length;d+=1)c.push(b(a[d]));return c}return b(a)}let bh={brackets:a=>String(a)+"[]",comma:"comma",indices:(a,b)=>String(a)+"["+b+"]",repeat:a=>String(a)},bi=function(a,b){Array.prototype.push.apply(a,a3(b)?b:[b])},bj={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:(a,b,c,d,e)=>{if(0===a.length)return a;let f=a;if("symbol"==typeof a?f=Symbol.prototype.toString.call(a):"string"!=typeof a&&(f=String(a)),"iso-8859-1"===c)return escape(f).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let g="";for(let a=0;a<f.length;a+=1024){let b=f.length>=1024?f.slice(a,a+1024):f,c=[];for(let a=0;a<b.length;++a){let d=b.charCodeAt(a);if(45===d||46===d||95===d||126===d||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||"RFC1738"===e&&(40===d||41===d)){c[c.length]=b.charAt(a);continue}if(d<128){c[c.length]=bf[d];continue}if(d<2048){c[c.length]=bf[192|d>>6]+bf[128|63&d];continue}if(d<55296||d>=57344){c[c.length]=bf[224|d>>12]+bf[128|d>>6&63]+bf[128|63&d];continue}a+=1,d=65536+((1023&d)<<10|1023&b.charCodeAt(a)),c[c.length]=bf[240|d>>18]+bf[128|d>>12&63]+bf[128|d>>6&63]+bf[128|63&d]}g+=c.join("")}return g},encodeValuesOnly:!1,format:bb,formatter:bc,indices:!1,serializeDate:a=>(e??(e=Function.prototype.call.bind(Date.prototype.toISOString)))(a),skipNulls:!1,strictNullHandling:!1},bk={},bl=()=>{if("undefined"==typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function bm(a,b,c){return bl(),new File(a,b??"unknown_file",c)}let bn=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],bo=a=>{if((a=>"object"==typeof a&&null!==a&&(a instanceof Response||bn(a)||(a=>a instanceof Blob&&"name"in a)(a)))(a))return!0;if(Array.isArray(a))return a.some(bo);if(a&&"object"==typeof a){for(let b in a)if(bo(a[b]))return!0}return!1},bp=a=>null!=a&&"object"==typeof a&&"number"==typeof a.size&&"string"==typeof a.type&&"function"==typeof a.text&&"function"==typeof a.slice&&"function"==typeof a.arrayBuffer;async function bq(a,b,c){var d;let e,f;if(bl(),null!=(e=a=await a)&&"object"==typeof e&&"string"==typeof e.name&&"number"==typeof e.lastModified&&bp(e))return a instanceof File?a:bm([await a.arrayBuffer()],a.name);if(null!=(f=a)&&"object"==typeof f&&"string"==typeof f.url&&"function"==typeof f.blob){let d=await a.blob();return b||(b=new URL(a.url).pathname.split(/[\\/]/).pop()),bm(await br(d),b,c)}let g=await br(a);if(b||(b=("object"==typeof(d=a)&&null!==d&&("name"in d&&d.name&&String(d.name)||"url"in d&&d.url&&String(d.url)||"filename"in d&&d.filename&&String(d.filename)||"path"in d&&d.path&&String(d.path))||"").split(/[\\/]/).pop()||void 0),!c?.type){let a=g.find(a=>"object"==typeof a&&"type"in a&&a.type);"string"==typeof a&&(c={...c,type:a})}return bm(g,b,c)}async function br(a){let b=[];if("string"==typeof a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer)b.push(a);else if(bp(a))b.push(a instanceof Blob?a:await a.arrayBuffer());else if(bn(a))for await(let c of a)b.push(...await br(c));else{let b=a?.constructor?.name;throw Error(`Unexpected data type: ${typeof a}${b?`; constructor: ${b}`:""}${function(a){if("object"!=typeof a||null===a)return"";let b=Object.getOwnPropertyNames(a);return`; props: [${b.map(a=>`"${a}"`).join(", ")}]`}(a)}`)}return b}class bs{constructor(a){this._client=a}}function bt(a){return a.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let bu=Object.freeze(Object.create(null)),bv=((a=bt)=>function(b,...c){let d;if(1===b.length)return b[0];let e=!1,f=[],g=b.reduce((b,d,g)=>{/[?#]/.test(d)&&(e=!0);let h=c[g],i=(e?encodeURIComponent:a)(""+h);return g!==c.length&&(null==h||"object"==typeof h&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??bu)??bu)?.toString)&&(i=h+"",f.push({start:b.length+d.length,length:i.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),b+d+(g===c.length?"":i)},""),h=g.split(/[?#]/,1)[0],i=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(d=i.exec(h));)f.push({start:d.index,length:d[0].length,error:`Value "${d[0]}" can't be safely passed as a path parameter`});if(f.sort((a,b)=>a.start-b.start),f.length>0){let a=0,b=f.reduce((b,c)=>{let d=" ".repeat(c.start-a),e="^".repeat(c.length);return a=c.start+c.length,b+d+e},"");throw new aR(`Path parameters result in path with invalid segments:
2
+ ${f.map(a=>a.error).join("\n")}
3
+ ${g}
4
+ ${b}`)}return g})(bt);class bw extends bs{create(a,b){return this._client.post("/api/v3.1/auth_configs",{body:a,...b})}retrieve(a,b){return this._client.get(bv`/api/v3.1/auth_configs/${a}`,b)}update(a,b,c){return this._client.patch(bv`/api/v3.1/auth_configs/${a}`,{body:b,...c})}list(a={},b){return this._client.get("/api/v3.1/auth_configs",{query:a,...b})}delete(a,b){return this._client.delete(bv`/api/v3.1/auth_configs/${a}`,b)}updateStatus(a,b,c){let{nanoid:d}=b;return this._client.patch(bv`/api/v3.1/auth_configs/${d}/${a}`,c)}}class bx extends bs{auth(a,b){return this._client.post("/api/v3.1/cli/realtime/auth",{body:a,...b})}credentials(a){return this._client.get("/api/v3.1/cli/realtime/credentials",a)}}class by extends bs{constructor(){super(...arguments),this.realtime=new bx(this._client)}createSession(a={},b){return this._client.post("/api/v3.1/cli/create-session",{body:a,...b})}getSession(a,b){return this._client.get("/api/v3.1/cli/get-session",{query:a,...b})}}by.Realtime=bx;class bz extends bs{create(a,b){return this._client.post("/api/v3.1/connected_accounts",{body:a,...b})}retrieve(a,b){return this._client.get(bv`/api/v3.1/connected_accounts/${a}`,b)}list(a={},b){return this._client.get("/api/v3.1/connected_accounts",{query:a,...b})}delete(a,b){return this._client.delete(bv`/api/v3.1/connected_accounts/${a}`,b)}patch(a,b={},c){return this._client.patch(bv`/api/v3.1/connected_accounts/${a}`,{body:b,...c})}refresh(a,b={},c){let{query_redirect_url:d,...e}=b??{};return this._client.post(bv`/api/v3.1/connected_accounts/${a}/refresh`,{query:{redirect_url:d},body:e,...c})}updateStatus(a,b,c){return this._client.patch(bv`/api/v3.1/connected_accounts/${a}/status`,{body:b,...c})}}class bA extends bs{list(a={},b){return this._client.get("/api/v3.1/files/list",{query:a,...b})}createPresignedURL(a,b){return this._client.post("/api/v3.1/files/upload/request",{body:a,...b})}}class bB extends bs{create(a,b){return this._client.post("/api/v3.1/connected_accounts/link",{body:a,...b})}}class bC extends bs{retrieve(a,b){return this._client.get(bv`/api/v3.1/internal/action_execution/log/${a}`,b)}list(a,b){return this._client.post("/api/v3.1/internal/action_execution/logs",{body:a,...b})}}class bD extends bs{retrieve(a,b){return this._client.get(bv`/api/v3.1/internal/trigger/log/${a}`,b)}list(a={},b){return this._client.post("/api/v3.1/internal/trigger/logs",{body:a,...b})}}class bE extends bs{constructor(){super(...arguments),this.triggers=new bD(this._client),this.tools=new bC(this._client)}}bE.Triggers=bD,bE.Tools=bC;class bF extends bs{create(a,b){return this._client.post("/api/v3.1/mcp/servers/custom",{body:a,...b})}}class bG extends bs{url(a,b){return this._client.post("/api/v3.1/mcp/servers/generate",{body:a,...b})}}class bH extends bs{constructor(){super(...arguments),this.custom=new bF(this._client),this.generate=new bG(this._client)}create(a,b){return this._client.post("/api/v3.1/mcp/servers",{body:a,...b})}retrieve(a,b){return this._client.get(bv`/api/v3.1/mcp/${a}`,b)}update(a,b={},c){return this._client.patch(bv`/api/v3.1/mcp/${a}`,{body:b,...c})}list(a={},b){return this._client.get("/api/v3.1/mcp/servers",{query:a,...b})}delete(a,b){return this._client.delete(bv`/api/v3.1/mcp/${a}`,b)}retrieveApp(a,b={},c){return this._client.get(bv`/api/v3.1/mcp/app/${a}`,{query:b,...c})}}bH.Custom=bF,bH.Generate=bG;class bI extends bs{retrieveNanoid(a,b){return this._client.get("/api/v3.1/migration/get-nanoid",{query:a,...b})}}class bJ extends bs{retrieve(a){return this._client.get("/api/v3.1/org/project/config",a)}update(a={},b){return this._client.patch("/api/v3.1/org/project/config",{body:a,...b})}}class bK extends bs{constructor(){super(...arguments),this.config=new bJ(this._client)}}bK.Config=bJ;class bL extends bs{list(a,b,c){let{session_id:d,...e}=b;return this._client.get(bv`/api/v3.1/tool_router/session/${d}/mounts/${a}/items`,{query:e,...c})}delete(a,b,c){let{session_id:d,...e}=b;return this._client.post(bv`/api/v3.1/tool_router/session/${d}/mounts/${a}/delete`,{body:e,...c})}createDownloadURL(a,b,c){let{session_id:d,...e}=b;return this._client.post(bv`/api/v3.1/tool_router/session/${d}/mounts/${a}/download_url`,{body:e,...c})}createUploadURL(a,b,c){let{session_id:d,...e}=b;return this._client.post(bv`/api/v3.1/tool_router/session/${d}/mounts/${a}/upload_url`,{body:e,...c})}}class bM extends bs{constructor(){super(...arguments),this.files=new bL(this._client)}create(a,b){return this._client.post("/api/v3.1/tool_router/session",{body:a,...b})}retrieve(a,b){return this._client.get(bv`/api/v3.1/tool_router/session/${a}`,b)}attach(a,b={},c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/attach`,{body:b,...c})}configHistory(a,b={},c){return this._client.get(bv`/api/v3.1/tool_router/session/${a}/config_history`,{query:b,...c})}execute(a,b,c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/execute`,{body:b,...c})}executeMeta(a,b,c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/execute_meta`,{body:b,...c})}link(a,b,c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/link`,{body:b,...c})}patch(a,b={},c){return this._client.patch(bv`/api/v3.1/tool_router/session/${a}`,{body:b,...c})}proxyExecute(a,b,c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/proxy_execute`,{body:b,...c})}search(a,b,c){return this._client.post(bv`/api/v3.1/tool_router/session/${a}/search`,{body:b,...c})}toolkits(a,b={},c){return this._client.get(bv`/api/v3.1/tool_router/session/${a}/toolkits`,{query:b,...c})}tools(a,b={},c){return this._client.get(bv`/api/v3.1/tool_router/session/${a}/tools`,{query:b,...c})}}bM.Files=bL;class bN extends bs{constructor(){super(...arguments),this.session=new bM(this._client)}createSession(a,b){return this._client.post("/api/v3.1/labs/tool_router/session",{body:a,...b})}}bN.Session=bM;class bO extends bs{retrieve(a,b={},c){return this._client.get(bv`/api/v3.1/toolkits/${a}`,{query:b,...c})}list(a={},b){return this._client.get("/api/v3.1/toolkits",{query:a,...b})}retrieveCategories(a){return this._client.get("/api/v3.1/toolkits/categories",a)}}let bP=Symbol("brand.privateNullableHeaders"),bQ=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(bP in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():a4(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=a4(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){let d=e.toLowerCase();a.has(d)||(b.delete(e),a.add(d)),null===f?(b.delete(e),c.add(d)):(b.append(e,f),c.delete(d))}}return{[bP]:!0,values:b,nulls:c}};class bR extends bs{retrieve(a,b={},c){return this._client.get(bv`/api/v3.1/tools/${a}`,{query:b,...c})}list(a={},b){return this._client.get("/api/v3.1/tools",{query:a,...b})}execute(a,b={},c){let{"x-llm-gateway-headers":d,...e}=b??{};return this._client.post(bv`/api/v3.1/tools/execute/${a}`,{body:e,...c,headers:bQ([{...null!=d?{"x-llm-gateway-headers":d}:void 0},c?.headers])})}getInput(a,b,c){return this._client.post(bv`/api/v3.1/tools/execute/${a}/input`,{body:b,...c})}proxy(a,b){return this._client.post("/api/v3.1/tools/execute/proxy",{body:a,...b})}retrieveEnum(a){return this._client.get("/api/v3.1/tools/enum",a)}}class bS extends bs{update(a,b,c){return this._client.patch(bv`/api/v3.1/trigger_instances/manage/${a}`,{body:b,...c})}delete(a,b){return this._client.delete(bv`/api/v3.1/trigger_instances/manage/${a}`,b)}}class bT extends bs{constructor(){super(...arguments),this.manage=new bS(this._client)}listActive(a={},b){return this._client.get("/api/v3.1/trigger_instances/active",{query:a,...b})}upsert(a,b={},c){return this._client.post(bv`/api/v3.1/trigger_instances/${a}/upsert`,{body:b,...c})}}bT.Manage=bS;class bU extends bs{retrieve(a,b={},c){return this._client.get(bv`/api/v3.1/triggers_types/${a}`,{query:b,...c})}list(a={},b){return this._client.get("/api/v3.1/triggers_types",{query:a,...b})}retrieveEnum(a){return this._client.get("/api/v3.1/triggers_types/list/enum",a)}}let bV={off:0,error:200,warn:300,info:400,debug:500},bW=(a,b,c)=>{if(a){if(Object.prototype.hasOwnProperty.call(bV,a))return a;b_(c).warn(`${b} was set to ${JSON.stringify(a)}, expected one of ${JSON.stringify(Object.keys(bV))}`)}};function bX(){}function bY(a,b,c){return!b||bV[a]>bV[c]?bX:b[a].bind(b)}let bZ={error:bX,warn:bX,info:bX,debug:bX},b$=new WeakMap;function b_(a){let b=a.logger,c=a.logLevel??"off";if(!b)return bZ;let d=b$.get(b);if(d&&d[0]===c)return d[1];let e={error:bY("error",b,c),warn:bY("warn",b,c),info:bY("info",b,c),debug:bY("debug",b,c)};return b$.set(b,[c,e]),e}let b0=a=>(a.options&&(a.options={...a.options},delete a.options.headers),a.headers&&(a.headers=Object.fromEntries((a.headers instanceof Headers?[...a.headers]:Object.entries(a.headers)).map(([a,b])=>[a,"x-api-key"===a.toLowerCase()||"authorization"===a.toLowerCase()||"cookie"===a.toLowerCase()||"set-cookie"===a.toLowerCase()?"***":b]))),"retryOfRequestLogID"in a&&(a.retryOfRequestLogID&&(a.retryOf=a.retryOfRequestLogID),delete a.retryOfRequestLogID),a);async function b1(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(204===c.status)return null;if(b.options.__binaryResponse)return c;let a=c.headers.get("content-type"),d=a?.split(";")[0]?.trim();if(d?.includes("application/json")||d?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return await c.json()}return await c.text()})();return b_(a).debug(`[${d}] response parsed`,b0({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}class b2 extends Promise{constructor(a,b,c=b1){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,k.set(this,void 0),aN(this,k,a,"f")}_thenUnwrap(a){return new b2(aO(this,k,"f"),this.responsePromise,async(b,c)=>a(await this.parseResponse(b,c),c))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse(aO(this,k,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}k=new WeakMap;let b3=a=>void 0!==globalThis.process?globalThis.process.env?.[a]?.trim()||void 0:void 0!==globalThis.Deno&&globalThis.Deno.env?.get?.(a)?.trim()||void 0,b4={production:"https://backend.composio.dev",staging:"https://staging-backend.composio.dev",local:"http://localhost:9900"};class b5{constructor({baseURL:a=b3("COMPOSIO_BASE_URL"),apiKey:b=b3("COMPOSIO_API_KEY")??null,...c}={}){l.add(this),n.set(this,void 0),this.authConfigs=new bw(this),this.connectedAccounts=new bz(this),this.link=new bB(this),this.toolkits=new bO(this),this.tools=new bR(this),this.triggerInstances=new bT(this),this.triggersTypes=new bU(this),this.mcp=new bH(this),this.files=new bA(this),this.migration=new bI(this),this.cli=new by(this),this.project=new bK(this),this.logs=new bE(this),this.toolRouter=new bN(this);let d={apiKey:b,...c,baseURL:a,environment:c.environment??"production"};if(a&&c.environment)throw new aR("Ambiguous URL; The `baseURL` option (or COMPOSIO_BASE_URL env var) and the `environment` option are given. If you want to use the environment you must pass baseURL: null");this.baseURL=d.baseURL||b4[d.environment||"production"],this.timeout=d.timeout??m.DEFAULT_TIMEOUT,this.logger=d.logger??console;let e="warn";this.logLevel=e,this.logLevel=bW(d.logLevel,"ClientOptions.logLevel",this)??bW(b3("COMPOSIO_LOG"),"process.env['COMPOSIO_LOG']",this)??e,this.fetchOptions=d.fetchOptions,this.maxRetries=d.maxRetries??2,this.fetch=d.fetch??function(){if("undefined"!=typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Composio({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}(),aN(this,n,ba,"f");let f=b3("COMPOSIO_CUSTOM_HEADERS");if(f){let a={};for(let b of f.split("\n")){let c=b.indexOf(":");c>=0&&(a[b.substring(0,c).trim()]=b.substring(c+1).trim())}d.defaultHeaders={...a,...d.defaultHeaders}}this._options=d,this.apiKey=b}withOptions(a){return new this.constructor({...this._options,environment:a.environment?a.environment:void 0,baseURL:a.environment?void 0:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,...a})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:a,nulls:b}){}async authHeaders(a){if(null!=this.apiKey)return bQ([{"x-api-key":this.apiKey}])}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=bj){let b;if(void 0!==a.allowEmptyArrays&&"boolean"!=typeof a.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==a.encodeDotInKeys&&"boolean"!=typeof a.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw TypeError("Encoder has to be a function.");let c=a.charset||bj.charset;if(void 0!==a.charset&&"utf-8"!==a.charset&&"iso-8859-1"!==a.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let d=bb;if(void 0!==a.format){if(!be(bd,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=bd[d],f=bj.filter;if(("function"==typeof a.filter||a3(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in bh?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":bj.arrayFormat,"commaRoundTrip"in a&&"boolean"!=typeof a.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let g=void 0===a.allowDots?!0==!!a.encodeDotInKeys||bj.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:bj.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:bj.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:bj.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?bj.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:bj.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:bj.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:bj.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:bj.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:bj.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:bj.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:bj.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):a3(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=bh[e.arrayFormat],h="comma"===g&&e.commaRoundTrip;c||(c=Object.keys(d)),e.sort&&c.sort(e.sort);let i=new WeakMap;for(let a=0;a<c.length;++a){let b=c[a];e.skipNulls&&null===d[b]||bi(f,function a(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var t,u;let v,w=b,x=s,y=0,A=!1;for(;void 0!==(x=x.get(bk))&&!A;){let a=x.get(b);if(y+=1,void 0!==a)if(a===y)throw RangeError("Cyclic object value");else A=!0;void 0===x.get(bk)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&a3(w)&&(w=bg(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,bj.encoder,r,"key",o):c;w=""}if("string"==typeof(t=w)||"number"==typeof t||"boolean"==typeof t||"symbol"==typeof t||"bigint"==typeof t||(u=w)&&"object"==typeof u&&u.constructor&&u.constructor.isBuffer&&u.constructor.isBuffer(u)){if(j){let a=q?c:j(c,bj.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,bj.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let B=[];if(void 0===w)return B;if("comma"===d&&a3(w))q&&j&&(w=bg(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(a3(k))v=k;else{let a=Object.keys(w);v=l?a.sort(l):a}let C=i?String(c).replace(/\./g,"%2E"):String(c),D=e&&a3(w)&&1===w.length?C+"[]":C;if(f&&a3(w)&&0===w.length)return D+"[]";for(let c=0;c<v.length;++c){let t=v[c],u="object"==typeof t&&void 0!==t.value?t.value:w[t];if(h&&null===u)continue;let x=m&&i?t.replace(/\./g,"%2E"):t,A=a3(w)?"function"==typeof d?d(D,x):D:D+(m?"."+x:"["+x+"]");s.set(b,y);let C=new WeakMap;C.set(bk,s),bi(B,a(u,A,d,e,f,g,h,i,"comma"===d&&q&&a3(w)?null:j,k,l,m,n,o,p,q,r,C))}return B}(d[b],b,g,h,e.allowEmptyArrays,e.strictNullHandling,e.skipNulls,e.encodeDotInKeys,e.encode?e.encoder:null,e.filter,e.sort,e.allowDots,e.serializeDate,e.format,e.formatter,e.encodeValuesOnly,e.charset,i))}let j=f.join(e.delimiter),k=!0===e.addQueryPrefix?"?":"";return e.charsetSentinel&&("iso-8859-1"===e.charset?k+="utf8=%26%2310003%3B&":k+="utf8=%E2%9C%93&"),j.length>0?k+j:""}(a,{arrayFormat:"comma"})}getUserAgent(){return`${this.constructor.name}/JS ${a6}`}defaultIdempotencyKey(){return`stainless-node-retry-${aP()}`}makeStatusError(a,b,c,d){return aS.generate(a,b,c,d)}buildURL(a,b,c){let d=!aO(this,l,"m",o).call(this)&&c||this.baseURL,e=new URL(a2.test(a)?a:d+(d.endsWith("/")&&a.startsWith("/")?a.slice(1):a)),f=this.defaultQuery(),g=Object.fromEntries(e.searchParams);return a5(f)&&a5(g)||(b={...g,...f,...b}),"object"==typeof b&&b&&!Array.isArray(b)&&(e.search=this.stringifyQuery(b)),e.toString()}async prepareOptions(a){}async prepareRequest(a,{url:b,options:c}){}get(a,b){return this.methodRequest("get",a,b)}post(a,b){return this.methodRequest("post",a,b)}patch(a,b){return this.methodRequest("patch",a,b)}put(a,b){return this.methodRequest("put",a,b)}delete(a,b){return this.methodRequest("delete",a,b)}methodRequest(a,b,c){return this.request(Promise.resolve(c).then(c=>({method:a,path:b,...c})))}request(a,b=null){return new b2(this,this.makeRequest(a,b,void 0))}async makeRequest(a,b,c){let d=await a,e=d.maxRetries??this.maxRetries;null==b&&(b=e),await this.prepareOptions(d);let{req:f,url:g,timeout:h}=await this.buildRequest(d,{retryCount:e-b});await this.prepareRequest(f,{url:g,options:d});let i="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),j=void 0===c?"":`, retryOf: ${c}`,k=Date.now();if(b_(this).debug(`[${i}] sending request`,b0({retryOfRequestLogID:c,method:d.method,url:g,options:d,headers:f.headers})),d.signal?.aborted)throw new aT;let l=new AbortController,m=await this.fetchWithTimeout(g,f,h,l).catch(aQ),n=Date.now();if(m instanceof globalThis.Error){let a=`retrying, ${b} attempts remaining`;if(d.signal?.aborted)throw new aT;let e="object"==typeof m&&null!==m&&("name"in m&&"AbortError"===m.name||"message"in m&&String(m.message).includes("FetchRequestCanceledException"))||/timed? ?out/i.test(String(m)+("cause"in m?String(m.cause):""));if(b)return b_(this).info(`[${i}] connection ${e?"timed out":"failed"} - ${a}`),b_(this).debug(`[${i}] connection ${e?"timed out":"failed"} (${a})`,b0({retryOfRequestLogID:c,url:g,durationMs:n-k,message:m.message})),this.retryRequest(d,b,c??i);if(b_(this).info(`[${i}] connection ${e?"timed out":"failed"} - error; no more retries left`),b_(this).debug(`[${i}] connection ${e?"timed out":"failed"} (error; no more retries left)`,b0({retryOfRequestLogID:c,url:g,durationMs:n-k,message:m.message})),e)throw new aV;throw new aU({cause:m})}let o=`[${i}${j}] ${f.method} ${g} ${m.ok?"succeeded":"failed"} with status ${m.status} in ${n-k}ms`;if(!m.ok){let a=await this.shouldRetry(m);if(b&&a){let a=`retrying, ${b} attempts remaining`;return await a9(m.body),b_(this).info(`${o} - ${a}`),b_(this).debug(`[${i}] response error (${a})`,b0({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,durationMs:n-k})),this.retryRequest(d,b,c??i,m.headers)}let e=a?"error; no more retries left":"error; not retryable";b_(this).info(`${o} - ${e}`);let f=await m.text().catch(a=>aQ(a).message),g=(a=>{try{return JSON.parse(a)}catch(a){return}})(f),h=g?void 0:f;throw b_(this).debug(`[${i}] response error (${e})`,b0({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,message:h,durationMs:Date.now()-k})),this.makeStatusError(m.status,g,h,m.headers)}return b_(this).info(o),b_(this).debug(`[${i}] response start`,b0({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,durationMs:n-k})),{response:m,options:d,controller:l,requestLogID:i,retryOfRequestLogID:c,startTime:k}}async fetchWithTimeout(a,b,c,d){let{signal:e,method:f,...g}=b||{},h=this._makeAbort(d);e&&e.addEventListener("abort",h,{once:!0});let i=setTimeout(h,c),j=globalThis.ReadableStream&&g.body instanceof globalThis.ReadableStream||"object"==typeof g.body&&null!==g.body&&Symbol.asyncIterator in g.body,k={signal:d.signal,...j?{duplex:"half"}:{},method:"GET",...g};f&&(k.method=f.toUpperCase());try{return await this.fetch.call(void 0,a,k)}finally{clearTimeout(i)}}async shouldRetry(a){let b=a.headers.get("x-should-retry");return"true"===b||"false"!==b&&(408===a.status||409===a.status||429===a.status||!!(a.status>=500))}async retryRequest(a,b,c,d){let e,f,g=d?.get("retry-after-ms");if(g){let a=parseFloat(g);Number.isNaN(a)||(e=a)}let h=d?.get("retry-after");if(h&&!e){let a=parseFloat(h);e=Number.isNaN(a)?Date.parse(h)-Date.now():1e3*a}if(void 0===e){let c=a.maxRetries??this.maxRetries;e=this.calculateDefaultRetryTimeoutMillis(b,c)}return await (f=e,new Promise(a=>setTimeout(a,f))),this.makeRequest(a,b-1,c)}calculateDefaultRetryTimeoutMillis(a,b){return Math.min(.5*Math.pow(2,b-a),8)*(1-.25*Math.random())*1e3}async buildRequest(a,{retryCount:b=0}={}){let c={...a},{method:d,path:e,query:f,defaultBaseURL:g}=c,h=this.buildURL(e,f,g);"timeout"in c&&((a,b)=>{if("number"!=typeof b||!Number.isInteger(b))throw new aR(`${a} must be an integer`);if(b<0)throw new aR(`${a} must be a positive integer`)})("timeout",c.timeout),c.timeout=c.timeout??this.timeout;let{bodyHeaders:i,body:j}=this.buildBody({options:c}),k=await this.buildHeaders({options:a,method:d,bodyHeaders:i,retryCount:b});return{req:{method:d,headers:k,...c.signal&&{signal:c.signal},...globalThis.ReadableStream&&j instanceof globalThis.ReadableStream&&{duplex:"half"},...j&&{body:j},...this.fetchOptions??{},...c.fetchOptions??{}},url:h,timeout:c.timeout}}async buildHeaders({options:a,method:b,bodyHeaders:c,retryCount:e}){let f={};this.idempotencyHeader&&"get"!==b&&(a.idempotencyKey||(a.idempotencyKey=this.defaultIdempotencyKey()),f[this.idempotencyHeader]=a.idempotencyKey);let g=bQ([f,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(e),...a.timeout?{"X-Stainless-Timeout":String(Math.trunc(a.timeout/1e3))}:{},...d??(d=(()=>{let a="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":a6,"X-Stainless-OS":a8(Deno.build.os),"X-Stainless-Arch":a7(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":a6,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":a6,"X-Stainless-OS":a8(globalThis.process.platform??"unknown"),"X-Stainless-Arch":a7(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":a6,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":a6,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})())},await this.authHeaders(a),this._options.defaultHeaders,c,a.headers]);return this.validateHeaders(g),g.values}_makeAbort(a){return()=>a.abort()}buildBody({options:{body:a,headers:b}}){if(!a)return{bodyHeaders:void 0,body:void 0};let c=bQ([b]);if(ArrayBuffer.isView(a)||a instanceof ArrayBuffer||a instanceof DataView||"string"==typeof a&&c.values.has("content-type")||globalThis.Blob&&a instanceof globalThis.Blob||a instanceof FormData||a instanceof URLSearchParams||globalThis.ReadableStream&&a instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:a};if("object"==typeof a&&(Symbol.asyncIterator in a||Symbol.iterator in a&&"next"in a&&"function"==typeof a.next)){let b;return{bodyHeaders:void 0,body:(b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator](),function(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}}))}}return"object"==typeof a&&"application/x-www-form-urlencoded"===c.values.get("content-type")?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(a)}:aO(this,n,"f").call(this,{body:a,headers:c})}}m=b5,n=new WeakMap,l=new WeakSet,o=function(){return this.baseURL!==b4[this._options.environment||"production"]},b5.Composio=m,b5.DEFAULT_TIMEOUT=6e4,b5.ComposioError=aR,b5.APIError=aS,b5.APIConnectionError=aU,b5.APIConnectionTimeoutError=aV,b5.APIUserAbortError=aT,b5.NotFoundError=aZ,b5.ConflictError=a$,b5.RateLimitError=a0,b5.BadRequestError=aW,b5.AuthenticationError=aX,b5.InternalServerError=a1,b5.PermissionDeniedError=aY,b5.UnprocessableEntityError=a_,b5.toFile=bq,b5.AuthConfigs=bw,b5.ConnectedAccounts=bz,b5.Link=bB,b5.Toolkits=bO,b5.Tools=bR,b5.TriggerInstances=bT,b5.TriggersTypes=bU,b5.Mcp=bH,b5.Files=bA,b5.Migration=bI,b5.Cli=by,b5.Project=bK,b5.Logs=bE,b5.ToolRouter=bN;var b6=c(20642),b7=c(171);let b8=(a,b)=>{try{return process.env[a]||b}catch(a){return b}},b9=".composio",ca="files";b8("CLIENT_PUSHER_KEY");let cb=b8("COMPOSIO_LOG_LEVEL"),cc=b8("DEVELOPMENT")||b8("CI")||!1,cd="files",ce={silent:-1,error:0,warn:1,info:2,debug:3},cf=new class{level;includeTimestamp;console;constructor(a={}){this.level=a.level??(()=>{let a=(cb??"info")?.toLowerCase();return a&&a in ce?a:"info"})(),this.includeTimestamp=a.includeTimestamp??!0,this.console=console}formatMessage(a){let b=a.map((b,c)=>"object"==typeof b?JSON.stringify(b):0===c&&a.length>1?b7.yellow(`${b}`):String(b)).join("\n");if(!this.includeTimestamp)return b;let c=new Date().toISOString();return`${b7.gray(c)} - ${b}`}shouldLog(a){return ce[a]<=ce[this.level]}error(...a){this.shouldLog("error")&&this.console.error(this.formatMessage(a))}warn(...a){this.shouldLog("warn")&&this.console.warn(this.formatMessage(a))}info(...a){this.shouldLog("info")&&this.console.info(this.formatMessage(a))}debug(...a){this.shouldLog("debug")&&this.console.debug(this.formatMessage(a))}};var cg=class a extends Error{name="ComposioError";code;possibleFixes;errorId;constructor(b,c={}){super(b),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);let d=c.statusCode||(c.cause instanceof aW?c.cause.status:void 0);this.code=`TS-SDK::${c.code}`,this.possibleFixes=c.possibleFixes,this.definePropertyIfExists("statusCode",d),this.definePropertyIfExists("cause",c.cause);let e=c.cause instanceof Error?a.combineStackTraces(c.cause.stack,this.stack):c.stack??this.stack;this.definePropertyIfExists("stack",e),c.meta&&Object.keys(c.meta).length>0&&this.definePropertyIfExists("meta",c.meta)}definePropertyIfExists(a,b){void 0!==b&&Object.defineProperty(this,a,{value:b,enumerable:!0,writable:!1,configurable:!0})}static combineStackTraces(a,b){if(!a)return b;if(!b)return a;let c=b.split("\n")[0],d=a.split("\n").slice(1).join("\n");return`${c}
5
+ ${b.split("\n").slice(1).join("\n")}
6
+
7
+ Caused by:
8
+ ${d}`}getErrorData(a=!1){let b={name:this.name,message:this.message},{cause:c,code:d,stack:e,statusCode:f,meta:g,possibleFixes:h}=this;if(void 0!==c&&(b.cause=c instanceof Error?c.message:String(c)),d&&(b.code=d),void 0!==f&&(b.statusCode=f),g&&(b.meta=g),h&&(b.possibleFixes=h),a&&e)if(e.includes("Caused by:")){let[a,c]=e.split("Caused by:");b.stack=[...a.split("\n").slice(1),"Caused by:",...c.split("\n")]}else b.stack=e.split("\n").slice(1);return b}prettyPrint(a=!1){let b=this.getErrorData(a),c="\n"+b7.bgRed.white.bold(" ERROR ")+" "+b7.white.bold(b.message)+"\n";if(b.code&&(c+=b7.yellow(`Error Code: ${b.code}`)+"\n"),void 0!==b.statusCode&&(c+=b7.yellow(`Status: ${b.statusCode}`)+"\n"),b.cause&&(c+=b7.gray("Reason:")+"\n"+(" "+b7.white(b.cause))+"\n"),b.meta&&(c+=b7.gray("Additional Information:")+"\n"+(" "+b7.white(JSON.stringify(b.meta,null,2).replace(/\n/g,"\n ")))+"\n"),b.possibleFixes?.length){c+="\n"+b7.cyan.bold("Try the following:")+"\n";let a=b.possibleFixes?.map((a,b)=>` ${b+1}. `+b7.white(a));c+=a?.join("\n")+"\n"}b.stack?.length&&(c+="\n"+b7.gray("Stack Trace:")+"\n"+b7.gray(b.stack.join("\n"))+"\n"),c+="\n",cf.error(c)}static createAndPrint(b,c={},d=!1){let e=new a(b,c);return e.prettyPrint(d),e}static handle(b,c={}){let{includeStack:d=!1,exitProcess:e=!1}=c;b instanceof a?b.prettyPrint(d):b instanceof b6.G?this.handleZodError(b,d):b instanceof Error?this.handleStandardError(b,d):this.handleUnknownError(b),e&&this.throwError(b)}static handleAndThrow(a,b=!1){this.handle(a,{includeStack:b}),this.throwError(a)}static throwError(b){if(b instanceof a)throw b;if(b instanceof Error)throw new a(b.message,{cause:b});throw new a(String(b))}static handleZodError(a,b){if(cf.error("\n"+b7.bgRed.white.bold(" ERROR ")+" "+b7.white.bold(a.message)),cf.error(b7.gray("Invalid parameters:")),a.errors.forEach(a=>{cf.error(b7.yellow(a.path.join("."))+" "+b7.white(a.message))}),cf.error(b7.gray("Expected parameters:")),a.errors.forEach(a=>{cf.error(b7.yellow(a.path.join("."))+" "+b7.white(a.message))}),b&&(cf.error("\n"+b7.gray("Validation Errors:")),a.errors.forEach(a=>{let b=a.path.join(".");cf.error(b7.gray(" • ")+b7.yellow(b?`${b}: `:"")+b7.white(a.message))}),a.stack)){cf.error("\n"+b7.gray("Stack Trace:"));let b=a.stack.split("\n").slice(1);cf.error(b7.gray(b.join("\n")))}cf.error("")}static handleStandardError(a,b){if(cf.error("\n"+b7.bgRed.white.bold(" ERROR ")+" "+b7.white.bold(a.message)),b&&a.stack){cf.error("\n"+b7.gray("Stack Trace:"));let b=a.stack.split("\n").slice(1);cf.error(b7.gray(b.join("\n")))}cf.error("")}static handleUnknownError(a){cf.error("\n"+b7.bgRed.white.bold(" ERROR ")+" "+b7.white.bold("Unknown error occurred")),null!=a&&(cf.error(b7.gray("Error details:")),cf.error(" "+b7.white(String(a)))),cf.error("")}};let ch={FILE_UPLOAD_FAILED:"FILE_UPLOAD_FAILED",SENSITIVE_FILE_PATH_BLOCKED:"SENSITIVE_FILE_PATH_BLOCKED",FILE_UPLOAD_ABORTED:"FILE_UPLOAD_ABORTED",FILE_UPLOAD_PATH_NOT_ALLOWED:"FILE_UPLOAD_PATH_NOT_ALLOWED",FILE_NOT_FOUND:"FILE_NOT_FOUND"};var ci=class extends cg{constructor(a="Failed to upload file",b={}){super(a,{...b,code:b.code??ch.FILE_UPLOAD_FAILED,possibleFixes:b.possibleFixes||["Check if the file exists in the location provided"]}),this.name="ComposioFileUploadError"}},cj=class extends ci{constructor(a,b={}){super(a,{...b,code:ch.SENSITIVE_FILE_PATH_BLOCKED,possibleFixes:b.possibleFixes??["Use a file outside ~/.ssh, ~/.aws, and other credential locations","Set sensitiveFileUploadProtection: false only if you understand the risk","Add path segments to block with fileUploadPathDenySegments"]}),this.name="ComposioSensitiveFilePathBlockedError"}},ck=class extends ci{constructor(a,b={}){super(a,{...b,code:ch.FILE_UPLOAD_ABORTED,possibleFixes:b.possibleFixes??["Change beforeFileUpload to return a file path to upload, or allow the upload to proceed"]}),this.name="ComposioFileUploadAbortedError"}},cl=class extends ci{constructor(a,b={}){super(a,{...b,code:ch.FILE_UPLOAD_PATH_NOT_ALLOWED,possibleFixes:b.possibleFixes??["Move the file under one of the directories in `fileUploadDirs`","Stage the file under the default upload dir (`~/.composio/temp`)","Add the containing directory to `fileUploadDirs` when constructing Composio","Pass the file by URL or as a File/Blob object instead of a filesystem path"]}),this.name="ComposioFileUploadPathNotAllowedError"}},cm=class extends ci{constructor(a,b={}){super(a,{...b,code:ch.FILE_NOT_FOUND,possibleFixes:b.possibleFixes??["Double-check the path for typos","Remember relative paths are resolved against process.cwd() at upload time","Verify the file exists and the process has read permission"]}),this.name="ComposioFileNotFoundError"}},cn=c(67157);let co=Symbol("Let zodToJsonSchema decide on which parser to use"),cp={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},cq=(a,b)=>{let c=0;for(;c<a.length&&c<b.length&&a[c]===b[c];c++);return[(a.length-c).toString(),...b.slice(c)].join("/")};function cr(a){if("openAi"!==a.target)return{};let b=[...a.basePath,a.definitionPath,a.openAiAnyTypeName];return a.flags.hasReferencedOpenAiAnyType=!0,{$ref:"relative"===a.$refStrategy?cq(b,a.currentPath):b.join("/")}}function cs(a,b,c,d){d?.errorMessages&&c&&(a.errorMessage={...a.errorMessage,[b]:c})}function ct(a,b,c,d,e){a[b]=c,cs(a,b,d,e)}function cu(a,b){return cF(a.type._def,b)}let cv={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(void 0===j&&(j=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),j),ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function cw(a,b){let c={type:"string"};if(a.checks)for(let d of a.checks)switch(d.kind){case"min":ct(c,"minLength","number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,d.message,b);break;case"max":ct(c,"maxLength","number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value,d.message,b);break;case"email":switch(b.emailStrategy){case"format:email":cz(c,"email",d.message,b);break;case"format:idn-email":cz(c,"idn-email",d.message,b);break;case"pattern:zod":cA(c,cv.email,d.message,b)}break;case"url":cz(c,"uri",d.message,b);break;case"uuid":cz(c,"uuid",d.message,b);break;case"regex":cA(c,d.regex,d.message,b);break;case"cuid":cA(c,cv.cuid,d.message,b);break;case"cuid2":cA(c,cv.cuid2,d.message,b);break;case"startsWith":cA(c,RegExp(`^${cx(d.value,b)}`),d.message,b);break;case"endsWith":cA(c,RegExp(`${cx(d.value,b)}$`),d.message,b);break;case"datetime":cz(c,"date-time",d.message,b);break;case"date":cz(c,"date",d.message,b);break;case"time":cz(c,"time",d.message,b);break;case"duration":cz(c,"duration",d.message,b);break;case"length":ct(c,"minLength","number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,d.message,b),ct(c,"maxLength","number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value,d.message,b);break;case"includes":cA(c,RegExp(cx(d.value,b)),d.message,b);break;case"ip":"v6"!==d.version&&cz(c,"ipv4",d.message,b),"v4"!==d.version&&cz(c,"ipv6",d.message,b);break;case"base64url":cA(c,cv.base64url,d.message,b);break;case"jwt":cA(c,cv.jwt,d.message,b);break;case"cidr":"v6"!==d.version&&cA(c,cv.ipv4Cidr,d.message,b),"v4"!==d.version&&cA(c,cv.ipv6Cidr,d.message,b);break;case"emoji":cA(c,cv.emoji(),d.message,b);break;case"ulid":cA(c,cv.ulid,d.message,b);break;case"base64":switch(b.base64Strategy){case"format:binary":cz(c,"binary",d.message,b);break;case"contentEncoding:base64":ct(c,"contentEncoding","base64",d.message,b);break;case"pattern:zod":cA(c,cv.base64,d.message,b)}break;case"nanoid":cA(c,cv.nanoid,d.message,b)}return c}function cx(a,b){return"escape"===b.patternStrategy?function(a){let b="";for(let c=0;c<a.length;c++)cy.has(a[c])||(b+="\\"),b+=a[c];return b}(a):a}let cy=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cz(a,b,c,d){a.format||a.anyOf?.some(a=>a.format)?(a.anyOf||(a.anyOf=[]),a.format&&(a.anyOf.push({format:a.format,...a.errorMessage&&d.errorMessages&&{errorMessage:{format:a.errorMessage.format}}}),delete a.format,a.errorMessage&&(delete a.errorMessage.format,0===Object.keys(a.errorMessage).length&&delete a.errorMessage)),a.anyOf.push({format:b,...c&&d.errorMessages&&{errorMessage:{format:c}}})):ct(a,"format",b,c,d)}function cA(a,b,c,d){a.pattern||a.allOf?.some(a=>a.pattern)?(a.allOf||(a.allOf=[]),a.pattern&&(a.allOf.push({pattern:a.pattern,...a.errorMessage&&d.errorMessages&&{errorMessage:{pattern:a.errorMessage.pattern}}}),delete a.pattern,a.errorMessage&&(delete a.errorMessage.pattern,0===Object.keys(a.errorMessage).length&&delete a.errorMessage)),a.allOf.push({pattern:cB(b,d),...c&&d.errorMessages&&{errorMessage:{pattern:c}}})):ct(a,"pattern",cB(b,d),c,d)}function cB(a,b){if(!b.applyRegexFlags||!a.flags)return a.source;let c={i:a.flags.includes("i"),m:a.flags.includes("m"),s:a.flags.includes("s")},d=c.i?a.source.toLowerCase():a.source,e="",f=!1,g=!1,h=!1;for(let a=0;a<d.length;a++){if(f){e+=d[a],f=!1;continue}if(c.i){if(g){if(d[a].match(/[a-z]/)){h?(e+=d[a],e+=`${d[a-2]}-${d[a]}`.toUpperCase(),h=!1):"-"===d[a+1]&&d[a+2]?.match(/[a-z]/)?(e+=d[a],h=!0):e+=`${d[a]}${d[a].toUpperCase()}`;continue}}else if(d[a].match(/[a-z]/)){e+=`[${d[a]}${d[a].toUpperCase()}]`;continue}}if(c.m){if("^"===d[a]){e+=`(^|(?<=[\r
9
+ ]))`;continue}else if("$"===d[a]){e+=`($|(?=[\r
10
+ ]))`;continue}}if(c.s&&"."===d[a]){e+=g?`${d[a]}\r
11
+ `:`[${d[a]}\r
12
+ ]`;continue}e+=d[a],"\\"===d[a]?f=!0:g&&"]"===d[a]?g=!1:g||"["!==d[a]||(g=!0)}try{new RegExp(e)}catch{return console.warn(`Could not convert regex pattern at ${b.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),a.source}return e}function cC(a,b){if("openAi"===b.target&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),"openApi3"===b.target&&a.keyType?._def.typeName===cn.kY.ZodEnum)return{type:"object",required:a.keyType._def.values,properties:a.keyType._def.values.reduce((c,d)=>({...c,[d]:cF(a.valueType._def,{...b,currentPath:[...b.currentPath,"properties",d]})??cr(b)}),{}),additionalProperties:b.rejectedAdditionalProperties};let c={type:"object",additionalProperties:cF(a.valueType._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]})??b.allowedAdditionalProperties};if("openApi3"===b.target)return c;if(a.keyType?._def.typeName===cn.kY.ZodString&&a.keyType._def.checks?.length){let{type:d,...e}=cw(a.keyType._def,b);return{...c,propertyNames:e}}if(a.keyType?._def.typeName===cn.kY.ZodEnum)return{...c,propertyNames:{enum:a.keyType._def.values}};if(a.keyType?._def.typeName===cn.kY.ZodBranded&&a.keyType._def.type._def.typeName===cn.kY.ZodString&&a.keyType._def.type._def.checks?.length){let{type:d,...e}=cu(a.keyType._def,b);return{...c,propertyNames:e}}return c}let cD={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"},cE=(a,b)=>{let c=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((a,c)=>cF(a._def,{...b,currentPath:[...b.currentPath,"anyOf",`${c}`]})).filter(a=>!!a&&(!b.strictUnions||"object"==typeof a&&Object.keys(a).length>0));return c.length?{anyOf:c}:void 0};function cF(a,b,c=!1){let d=b.seen.get(a);if(b.override){let e=b.override?.(a,b,d,c);if(e!==co)return e}if(d&&!c){let a=cG(d,b);if(void 0!==a)return a}let e={def:a,path:b.currentPath,jsonSchema:void 0};b.seen.set(a,e);let f=((a,b,c)=>{switch(b){case cn.kY.ZodString:return cw(a,c);case cn.kY.ZodNumber:var d,e,f,g,h,i,j,k,l,m=a,n=c;let o={type:"number"};if(!m.checks)return o;for(let a of m.checks)switch(a.kind){case"int":o.type="integer",cs(o,"type",a.message,n);break;case"min":"jsonSchema7"===n.target?a.inclusive?ct(o,"minimum",a.value,a.message,n):ct(o,"exclusiveMinimum",a.value,a.message,n):(a.inclusive||(o.exclusiveMinimum=!0),ct(o,"minimum",a.value,a.message,n));break;case"max":"jsonSchema7"===n.target?a.inclusive?ct(o,"maximum",a.value,a.message,n):ct(o,"exclusiveMaximum",a.value,a.message,n):(a.inclusive||(o.exclusiveMaximum=!0),ct(o,"maximum",a.value,a.message,n));break;case"multipleOf":ct(o,"multipleOf",a.value,a.message,n)}return o;case cn.kY.ZodObject:return function(a,b){let c="openAi"===b.target,d={type:"object",properties:{}},e=[],f=a.shape();for(let a in f){let g=f[a];if(void 0===g||void 0===g._def)continue;let h=function(a){try{return a.isOptional()}catch{return!0}}(g);h&&c&&("ZodOptional"===g._def.typeName&&(g=g._def.innerType),g.isNullable()||(g=g.nullable()),h=!1);let i=cF(g._def,{...b,currentPath:[...b.currentPath,"properties",a],propertyPath:[...b.currentPath,"properties",a]});void 0!==i&&(d.properties[a]=i,h||e.push(a))}e.length&&(d.required=e);let g=function(a,b){if("ZodNever"!==a.catchall._def.typeName)return cF(a.catchall._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]});switch(a.unknownKeys){case"passthrough":return b.allowedAdditionalProperties;case"strict":return b.rejectedAdditionalProperties;case"strip":return"strict"===b.removeAdditionalStrategy?b.allowedAdditionalProperties:b.rejectedAdditionalProperties}}(a,b);return void 0!==g&&(d.additionalProperties=g),d}(a,c);case cn.kY.ZodBigInt:var p=a,q=c;let r={type:"integer",format:"int64"};if(!p.checks)return r;for(let a of p.checks)switch(a.kind){case"min":"jsonSchema7"===q.target?a.inclusive?ct(r,"minimum",a.value,a.message,q):ct(r,"exclusiveMinimum",a.value,a.message,q):(a.inclusive||(r.exclusiveMinimum=!0),ct(r,"minimum",a.value,a.message,q));break;case"max":"jsonSchema7"===q.target?a.inclusive?ct(r,"maximum",a.value,a.message,q):ct(r,"exclusiveMaximum",a.value,a.message,q):(a.inclusive||(r.exclusiveMaximum=!0),ct(r,"maximum",a.value,a.message,q));break;case"multipleOf":ct(r,"multipleOf",a.value,a.message,q)}return r;case cn.kY.ZodBoolean:return{type:"boolean"};case cn.kY.ZodDate:return function a(b,c,d){let e=d??c.dateStrategy;if(Array.isArray(e))return{anyOf:e.map((d,e)=>a(b,c,d))};switch(e){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var f=b,g=c;let h={type:"integer",format:"unix-time"};if("openApi3"===g.target)return h;for(let a of f.checks)switch(a.kind){case"min":ct(h,"minimum",a.value,a.message,g);break;case"max":ct(h,"maximum",a.value,a.message,g)}return h}}(a,c);case cn.kY.ZodUndefined:return{not:cr(c)};case cn.kY.ZodNull:return"openApi3"===c.target?{enum:["null"],nullable:!0}:{type:"null"};case cn.kY.ZodArray:var s=a,t=c;let u={type:"array"};return s.type?._def&&s.type?._def?.typeName!==cn.kY.ZodAny&&(u.items=cF(s.type._def,{...t,currentPath:[...t.currentPath,"items"]})),s.minLength&&ct(u,"minItems",s.minLength.value,s.minLength.message,t),s.maxLength&&ct(u,"maxItems",s.maxLength.value,s.maxLength.message,t),s.exactLength&&(ct(u,"minItems",s.exactLength.value,s.exactLength.message,t),ct(u,"maxItems",s.exactLength.value,s.exactLength.message,t)),u;case cn.kY.ZodUnion:case cn.kY.ZodDiscriminatedUnion:var v=a,w=c;if("openApi3"===w.target)return cE(v,w);let x=v.options instanceof Map?Array.from(v.options.values()):v.options;if(x.every(a=>a._def.typeName in cD&&(!a._def.checks||!a._def.checks.length))){let a=x.reduce((a,b)=>{let c=cD[b._def.typeName];return c&&!a.includes(c)?[...a,c]:a},[]);return{type:a.length>1?a:a[0]}}if(x.every(a=>"ZodLiteral"===a._def.typeName&&!a.description)){let a=x.reduce((a,b)=>{let c=typeof b._def.value;switch(c){case"string":case"number":case"boolean":return[...a,c];case"bigint":return[...a,"integer"];case"object":if(null===b._def.value)return[...a,"null"];default:return a}},[]);if(a.length===x.length){let b=a.filter((a,b,c)=>c.indexOf(a)===b);return{type:b.length>1?b:b[0],enum:x.reduce((a,b)=>a.includes(b._def.value)?a:[...a,b._def.value],[])}}}else if(x.every(a=>"ZodEnum"===a._def.typeName))return{type:"string",enum:x.reduce((a,b)=>[...a,...b._def.values.filter(b=>!a.includes(b))],[])};return cE(v,w);case cn.kY.ZodIntersection:var y=a,A=c;let B=[cF(y.left._def,{...A,currentPath:[...A.currentPath,"allOf","0"]}),cF(y.right._def,{...A,currentPath:[...A.currentPath,"allOf","1"]})].filter(a=>!!a),C="jsonSchema2019-09"===A.target?{unevaluatedProperties:!1}:void 0,D=[];return B.forEach(a=>{if((!("type"in a)||"string"!==a.type)&&"allOf"in a)D.push(...a.allOf),void 0===a.unevaluatedProperties&&(C=void 0);else{let b=a;if("additionalProperties"in a&&!1===a.additionalProperties){let{additionalProperties:c,...d}=a;b=d}else C=void 0;D.push(b)}}),D.length?{allOf:D,...C}:void 0;case cn.kY.ZodTuple:return d=a,e=c,d.rest?{type:"array",minItems:d.items.length,items:d.items.map((a,b)=>cF(a._def,{...e,currentPath:[...e.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[]),additionalItems:cF(d.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:d.items.length,maxItems:d.items.length,items:d.items.map((a,b)=>cF(a._def,{...e,currentPath:[...e.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[])};case cn.kY.ZodRecord:return cC(a,c);case cn.kY.ZodLiteral:var E=a,F=c;let G=typeof E.value;return"bigint"!==G&&"number"!==G&&"boolean"!==G&&"string"!==G?{type:Array.isArray(E.value)?"array":"object"}:"openApi3"===F.target?{type:"bigint"===G?"integer":G,enum:[E.value]}:{type:"bigint"===G?"integer":G,const:E.value};case cn.kY.ZodEnum:return{type:"string",enum:Array.from(a.values)};case cn.kY.ZodNativeEnum:var H=a;let I=H.values,J=Object.keys(H.values).filter(a=>"number"!=typeof I[I[a]]).map(a=>I[a]),K=Array.from(new Set(J.map(a=>typeof a)));return{type:1===K.length?"string"===K[0]?"string":"number":["string","number"],enum:J};case cn.kY.ZodNullable:var L=a,M=c;if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(L.innerType._def.typeName)&&(!L.innerType._def.checks||!L.innerType._def.checks.length))return"openApi3"===M.target?{type:cD[L.innerType._def.typeName],nullable:!0}:{type:[cD[L.innerType._def.typeName],"null"]};if("openApi3"===M.target){let a=cF(L.innerType._def,{...M,currentPath:[...M.currentPath]});return a&&"$ref"in a?{allOf:[a],nullable:!0}:a&&{...a,nullable:!0}}let N=cF(L.innerType._def,{...M,currentPath:[...M.currentPath,"anyOf","0"]});return N&&{anyOf:[N,{type:"null"}]};case cn.kY.ZodOptional:var O=a,P=c;if(P.currentPath.toString()===P.propertyPath?.toString())return cF(O.innerType._def,P);let Q=cF(O.innerType._def,{...P,currentPath:[...P.currentPath,"anyOf","1"]});return Q?{anyOf:[{not:cr(P)},Q]}:cr(P);case cn.kY.ZodMap:return f=a,"record"===(g=c).mapStrategy?cC(f,g):{type:"array",maxItems:125,items:{type:"array",items:[cF(f.keyType._def,{...g,currentPath:[...g.currentPath,"items","items","0"]})||cr(g),cF(f.valueType._def,{...g,currentPath:[...g.currentPath,"items","items","1"]})||cr(g)],minItems:2,maxItems:2}};case cn.kY.ZodSet:var R=a,S=c;let T={type:"array",uniqueItems:!0,items:cF(R.valueType._def,{...S,currentPath:[...S.currentPath,"items"]})};return R.minSize&&ct(T,"minItems",R.minSize.value,R.minSize.message,S),R.maxSize&&ct(T,"maxItems",R.maxSize.value,R.maxSize.message,S),T;case cn.kY.ZodLazy:return()=>a.getter()._def;case cn.kY.ZodPromise:return cF(a.type._def,c);case cn.kY.ZodNaN:case cn.kY.ZodNever:return"openAi"===(h=c).target?void 0:{not:cr({...h,currentPath:[...h.currentPath,"not"]})};case cn.kY.ZodEffects:return i=a,"input"===(j=c).effectStrategy?cF(i.schema._def,j):cr(j);case cn.kY.ZodAny:case cn.kY.ZodUnknown:return cr(c);case cn.kY.ZodDefault:return k=a,l=c,{...cF(k.innerType._def,l),default:k.defaultValue()};case cn.kY.ZodBranded:return cu(a,c);case cn.kY.ZodReadonly:case cn.kY.ZodCatch:return cF(a.innerType._def,c);case cn.kY.ZodPipeline:var U=a,V=c;if("input"===V.pipeStrategy)return cF(U.in._def,V);if("output"===V.pipeStrategy)return cF(U.out._def,V);let W=cF(U.in._def,{...V,currentPath:[...V.currentPath,"allOf","0"]}),X=cF(U.out._def,{...V,currentPath:[...V.currentPath,"allOf",W?"1":"0"]});return{allOf:[W,X].filter(a=>void 0!==a)};case cn.kY.ZodFunction:case cn.kY.ZodVoid:case cn.kY.ZodSymbol:default:return}})(a,a.typeName,b),g="function"==typeof f?cF(f(),b):f;if(g&&cH(a,b,g),b.postProcess){let c=b.postProcess(g,a,b);return e.jsonSchema=g,c}return e.jsonSchema=g,g}let cG=(a,b)=>{switch(b.$refStrategy){case"root":return{$ref:a.path.join("/")};case"relative":return{$ref:cq(b.currentPath,a.path)};case"none":case"seen":if(a.path.length<b.currentPath.length&&a.path.every((a,c)=>b.currentPath[c]===a))return console.warn(`Recursive reference detected at ${b.currentPath.join("/")}! Defaulting to any`),cr(b);return"seen"===b.$refStrategy?cr(b):void 0}},cH=(a,b,c)=>(a.description&&(c.description=a.description,b.markdownDescription&&(c.markdownDescription=a.description)),c),cI={CONNECTED_ACCOUNT_NOT_FOUND:"CONNECTED_ACCOUNT_NOT_FOUND",MULTIPLE_CONNECTED_ACCOUNTS:"MULTIPLE_CONNECTED_ACCOUNTS",FAILED_TO_CREATE_CONNECTED_ACCOUNT_LINK:"FAILED_TO_CREATE_CONNECTED_ACCOUNT_LINK",LEGACY_CONNECTED_ACCOUNTS_ENDPOINT_RETIRED:"LEGACY_CONNECTED_ACCOUNTS_ENDPOINT_RETIRED"};var cJ=class extends cg{constructor(a="Connected account not found",b={}){super(a,{...b,code:cI.CONNECTED_ACCOUNT_NOT_FOUND,statusCode:404,possibleFixes:b.possibleFixes||["Ensure the connected account exists and is active in your Composio dashboard"]}),this.name="ComposioConnectedAccountNotFoundError"}},cK=class extends cg{constructor(a="Multiple connected accounts found",b={}){super(a,{...b,code:cI.MULTIPLE_CONNECTED_ACCOUNTS,possibleFixes:b.possibleFixes||["Use the allowMultiple flag to allow multiple connected accounts per user for an auth config"]}),this.name="ComposioMultipleConnectedAccountsError"}},cL=class extends cg{constructor(a="Failed to create connected account link",b={}){super(a,{...b,code:cI.FAILED_TO_CREATE_CONNECTED_ACCOUNT_LINK}),this.name="ComposioFailedToCreateConnectedAccountLink"}},cM=class extends cg{constructor(a="POST /api/v3/connected_accounts is no longer supported for Composio-managed OAuth auth configs. Use composio.connectedAccounts.link() instead.",b={}){super(a,{...b,code:cI.LEGACY_CONNECTED_ACCOUNTS_ENDPOINT_RETIRED,statusCode:400,possibleFixes:b.possibleFixes||["Replace `composio.connectedAccounts.initiate(userId, authConfigId, options)` with `composio.connectedAccounts.link(userId, authConfigId, options)`. The return shape (id, redirectUrl, waitForConnection()) is the same.","Migration guide: https://docs.composio.dev/docs/changelog/2026/04/24"]}),this.name="ComposioLegacyConnectedAccountsEndpointRetiredError"}};let cN={TOOLSET_NOT_DEFINED:"TOOLSET_NOT_DEFINED",TOOL_NOT_FOUND:"TOOL_NOT_FOUND",INVALID_MODIFIER:"INVALID_MODIFIER",CUSTOM_TOOLS_NOT_INITIALIZED:"CUSTOM_TOOLS_NOT_INITIALIZED",TOOL_EXECUTION_ERROR:"TOOL_EXECUTION_ERROR",INVALID_EXECUTE_FUNCTION:"INVALID_EXECUTE_FUNCTION",GLOBAL_EXECUTE_TOOL_FN_NOT_SET:"GLOBAL_EXECUTE_TOOL_FN_NOT_SET",TOOL_VERSION_REQUIRED:"TOOL_VERSION_REQUIRED"};var cO=class extends cg{constructor(a="Provider not defined",b={}){super(a,{...b,code:cN.TOOLSET_NOT_DEFINED,possibleFixes:b.possibleFixes||["Ensure that the provider is defined in the Composio project and passed into the tool instance"]}),this.name="ComposioProviderNotDefinedError"}},cP=class extends cg{constructor(a="Tool not found",b={}){super(a,{...b,code:cN.TOOL_NOT_FOUND,possibleFixes:b.possibleFixes||["Ensure the tool slug is correct and exists in the Composio project"]}),this.name="ComposioToolNotFoundError"}},cQ=class extends cg{constructor(a="Invalid modifier",b={}){super(a,{...b,code:cN.INVALID_MODIFIER,possibleFixes:b.possibleFixes||["Ensure the modifier is a function and returns a valid result"]}),this.name="ComposioInvalidModifierError"}},cR=class extends cg{constructor(a="Custom tools not initialized",b={}){super(a,{...b,code:cN.CUSTOM_TOOLS_NOT_INITIALIZED,possibleFixes:b.possibleFixes||["Ensure the custom tools class is initialized in the Tools instance"]}),this.name="ComposioCustomToolsNotInitializedError"}},cS=class extends cg{constructor(a="Tool execution error",b={}){super(a,{...b,code:b.code||cN.TOOL_EXECUTION_ERROR,cause:b.cause,possibleFixes:b.possibleFixes||["Ensure the tool is correctly configured and the input is valid","Ensure the userId is correct and has an active connected account for the user in case of non NoAuth toolkits"]}),this.name="ComposioToolExecutionError"}},cT=class extends cg{constructor(a="Invalid execute function",b={}){super(a,{...b,code:cN.INVALID_EXECUTE_FUNCTION,possibleFixes:b.possibleFixes||["Ensure the execute function is a valid function and returns a valid result"]}),this.name="ComposioInvalidExecuteFunctionError"}},cU=class extends cg{constructor(a="Global execute tool function not set",b={}){super(a,{...b,code:cN.GLOBAL_EXECUTE_TOOL_FN_NOT_SET,possibleFixes:b.possibleFixes||["Ensure the global execute tool function is set in the provider"]}),this.name="ComposioGlobalExecuteToolFnNotSetError"}},cV=class extends cg{constructor(a="Toolkit version not specified. For manual execution of the tool please pass a specific toolkit version",b={}){super(a,{...b,code:cN.TOOL_VERSION_REQUIRED,possibleFixes:b.possibleFixes||['Pass the toolkit version as a parameter to the execute function ("latest" is not supported in manual execution)','Set the toolkit versions in the Composio config (toolkitVersions: { <toolkit-slug>: "<toolkit-version>" })',"Set the toolkit version in the environment variable (COMPOSIO_TOOLKIT_VERSION_<TOOLKIT_SLUG>)","Set dangerouslySkipVersionCheck to true (this might cause unexpected behavior when new versions of the tools are released)"]})}};let cW=new Map([[1803,a=>new cJ(a)]]),cX={AUTH_CONFIG_NOT_FOUND:"AUTH_CONFIG_NOT_FOUND"};var cY=class extends cg{constructor(a="Auth config not found",b={}){super(a,{...b,code:cX.AUTH_CONFIG_NOT_FOUND,possibleFixes:b.possibleFixes||["Check if the auth config exists","Check if the auth config id is correct","Check if the auth config is enabled"]}),this.name="ComposioAuthConfigNotFoundError"}};let cZ={CONNECTION_REQUEST_TIMEOUT:"CONNECTION_REQUEST_TIMEOUT",CONNECTION_REQUEST_FAILED:"CONNECTION_REQUEST_FAILED"};var c$=class extends cg{constructor(a="Connection request timed out",b={}){super(a,{...b,code:cZ.CONNECTION_REQUEST_TIMEOUT}),this.name="ConnectionRequestTimeoutError"}},c_=class extends cg{constructor(a="Connection request failed",b={}){super(a,{...b,code:cZ.CONNECTION_REQUEST_FAILED}),this.name="ConnectionRequestFailedError"}},c0=class extends cg{constructor(a="Toolkit not found",b={}){super(a,{...b,code:"TOOLKIT_NOT_FOUND",possibleFixes:b.possibleFixes||["Ensure the toolkit is correctly configured and the slug is valid"]}),this.name="ComposioToolkitNotFoundError"}},c1=class extends cg{constructor(a="Failed to fetch toolkit",b={}){super(a,{...b,code:"TOOLKIT_FETCH_ERROR",possibleFixes:b.possibleFixes||["Ensure the toolkit slug is valid","Ensure you are using the correct API key","Ensure you are using the correct API endpoint / Base URL and it is working"]}),this.name="ComposioToolkitFetchError"}};let c2={VALIDATION_ERROR:"VALIDATION_ERROR"};var c3=class extends cg{constructor(a="Input validation failed",b={}){let c,{cause:d,...e}=b;super(a,{...e,code:b.code||c2.VALIDATION_ERROR,possibleFixes:(c=d instanceof b6.G?d:new b6.G([{path:[],message:"Invalid input",code:"custom"}])).issues.map(a=>`[${a.code}] ${a.path.join(".")} - ${a.message}`),cause:c}),this.name="ValidationError",this.message=`${a}: ${this.generateUserFriendlyMessage()}`}generateUserFriendlyMessage(){if(this.cause instanceof b6.G&&this.cause.issues.length>0){let a=this.cause.issues[0],b=a.path.join(".")||"parameter";return"invalid_type"===a.code?`The ${b} should be a ${a.expected}, but you provided a ${a.received}`:a.message}return"Please check your input parameters"}};let c4={NO_API_KEY_PROVIDED:"NO_API_KEY_PROVIDED"};var c5=class extends cg{constructor(a="No Composio API key provided",b={}){super(a,{...b,code:c4.NO_API_KEY_PROVIDED,cause:b.cause||"Couldn't find an API key in the params, environment variables or in the user config file",possibleFixes:b.possibleFixes||["Ensure you have an API key passed in the params, or in environment variable (COMPOSIO_API_KEY) or in the user config file","To get an API key, please sign up at https://composio.dev/signup","You can also use the Composio CLI to create a project and get an API key"],statusCode:401}),this.name="ComposioNoAPIKeyError"}};let c6={TRIGGER_FAILED_TO_GET_SDK_REALTIME_CREDENTIALS:"TRIGGER_FAILED_TO_GET_SDK_REALTIME_CREDENTIALS",TRIGGER_FAILED_TO_CREATE_PUSHER_CLIENT:"TRIGGER_FAILED_TO_CREATE_PUSHER_CLIENT",TRIGGER_FAILED_TO_SUBSCRIBE_TO_PUSHER_CHANNEL:"TRIGGER_FAILED_TO_SUBSCRIBE_TO_PUSHER_CHANNEL",TRIGGER_TYPE_NOT_FOUND:"TRIGGER_TYPE_NOT_FOUND",WEBHOOK_SIGNATURE_VERIFICATION_FAILED:"WEBHOOK_SIGNATURE_VERIFICATION_FAILED",WEBHOOK_PAYLOAD_INVALID:"WEBHOOK_PAYLOAD_INVALID"};var c7=class extends cg{constructor(a="Failed to get SDK realtime credentials",b={}){super(a,{...b,code:c6.TRIGGER_FAILED_TO_GET_SDK_REALTIME_CREDENTIALS,possibleFixes:b.possibleFixes||["Please contact support."]}),this.name="ComposioFailedToGetSDKRealtimeCredentialsError"}},c8=class extends cg{constructor(a="Failed to create Pusher client",b={}){super(a,{...b,code:c6.TRIGGER_FAILED_TO_CREATE_PUSHER_CLIENT,possibleFixes:b.possibleFixes||["Please contact support."]}),this.name="ComposioFailedToCreatePusherClientError"}},c9=class extends cg{constructor(a="Failed to subscribe to Pusher channel",b={}){super(a,{...b,code:c6.TRIGGER_FAILED_TO_SUBSCRIBE_TO_PUSHER_CHANNEL,possibleFixes:b.possibleFixes||["Please contact support."]}),this.name="ComposioFailedToSubscribeToPusherChannelError"}},da=class extends cg{constructor(a="Trigger type not found",b={}){super(a,{...b,code:c6.TRIGGER_TYPE_NOT_FOUND,statusCode:404,possibleFixes:b.possibleFixes||["Please contact support."]}),this.name="ComposioTriggerTypeNotFoundError"}},db=class extends cg{constructor(a="Webhook signature verification failed",b={}){super(a,{...b,code:c6.WEBHOOK_SIGNATURE_VERIFICATION_FAILED,statusCode:401,possibleFixes:b.possibleFixes||["Verify that the webhook secret is correct.","Ensure the raw request body is passed without modifications.","Check that the signature header value is being passed correctly."]}),this.name="ComposioWebhookSignatureVerificationError"}},dc=class extends cg{constructor(a="Invalid webhook payload",b={}){super(a,{...b,code:c6.WEBHOOK_PAYLOAD_INVALID,statusCode:400,possibleFixes:b.possibleFixes||["Ensure the webhook payload is valid JSON.","Verify the payload structure matches the expected format."]}),this.name="ComposioWebhookPayloadError"}};let dd={DOWNLOAD_FAILED:"REMOTE_FILE_DOWNLOAD_FAILED"};var de=class extends cg{constructor(a="Failed to download remote file",b={}){let{statusCode:c,statusText:d,downloadUrl:e,mountRelativePath:f,filename:g,meta:h,...i}=b,j={...h,...void 0!==c&&{statusCode:c},...d&&{statusText:d},...e&&{downloadUrl:e},...f&&{mountRelativePath:f},...g&&{filename:g}};super(a,{...i,code:dd.DOWNLOAD_FAILED,statusCode:c,meta:Object.keys(j).length>0?j:void 0,possibleFixes:b.possibleFixes??["Verify the download URL has not expired (check expiresAt)","Ensure the file exists at the specified mount path","Retry the operation; presigned URLs may have transient failures"]}),this.name="RemoteFileDownloadError"}};cn.Yj().min(1,"slug is required").regex(/^[A-Za-z0-9_-]+$/,"slug must only contain alphanumeric characters, underscores, and hyphens").refine(a=>!a.toUpperCase().startsWith("LOCAL_"),{message:'slug must not start with "LOCAL_" — this prefix is reserved for internal routing.'}).refine(a=>!a.toUpperCase().startsWith("COMPOSIO_"),{message:'slug must not start with "COMPOSIO_" — this prefix is reserved for Composio meta tools.'}),cn.Ik({name:cn.Yj().min(1,"createCustomTool: name is required"),description:cn.Yj().min(1,"createCustomTool: description is required"),extendsToolkit:cn.Yj().optional(),preload:cn.zM().optional().describe("When true, include this custom tool in session.tools() so it can be called without searching first.")}),cn.Ik({name:cn.Yj().min(1,"createCustomToolkit: name is required"),description:cn.Yj().min(1,"createCustomToolkit: description is required"),preload:cn.zM().optional().describe("When true, include tools from this custom toolkit in session.tools(). Tool-level preload values override this default.")});let df="LOCAL_";function dg(a,b){let c=a.toUpperCase();return b?`${df}${b.toUpperCase()}_${c}`:`${df}${c}`}let dh=(a,b)=>`${a?.toUpperCase()??""}::${b.toUpperCase()}`,di=a=>{let b=a.originalSlug.toUpperCase();if(a.ambiguousOriginalSlugs.has(b))return;let c=a.byOriginalSlug.get(b);if(!c)return void a.byOriginalSlug.set(b,a.entry);if(c.finalSlug.toUpperCase()!==a.entry.finalSlug.toUpperCase()){if(((a,b)=>!!a.toolkit&&!!b.toolkit&&a.toolkit.toLowerCase()!==b.toolkit.toLowerCase())(c,a.entry)){a.byOriginalSlug.delete(b),a.ambiguousOriginalSlugs.add(b);return}throw new c3(`Custom tool slug collision: original slug "${a.originalSlug}" maps to multiple final slugs. "${c.finalSlug}" and "${a.entry.finalSlug}" both resolve from "${b}".`)}};function dj(a,b,c){let d=void 0!==a?a||(b??c)?a:void 0:void 0!==b?b||c?b:void 0:!!c||void 0;return void 0===d?{}:{preload:d}}function dk(a,b,c){let d=new Map,e=new Map,f=new Map,g=new Set,h=new Map,i=new Map,j=(a,b)=>{let c=a.slug.toUpperCase(),d={handle:a,toolkit:b};h.set(dh(b,c),d);let e=i.get(c)??[];e.push(d),i.set(c,e)};for(let b of a)j(b,b.extendsToolkit);if(b)for(let a of b)for(let b of a.tools)j(b,a.slug);let k=(a,b,c)=>{let j=c??void 0,k=((a,b)=>{let c=a.toUpperCase(),d=h.get(dh(b,c));if(d)return d;let e=i.get(c)??[];return 1===e.length?e[0]:void 0})(b,j);if(!k)return;let l=a.toUpperCase();if(d.has(l))throw new c3(`Custom tool slug collision: "${a}" is already registered.`);let m={handle:k.handle,finalSlug:a,toolkit:j??k.toolkit};d.set(l,m),f.set(dh(m.toolkit,b),m),di({byOriginalSlug:e,ambiguousOriginalSlugs:g,originalSlug:b,entry:m})};if(c?.custom_tools)for(let a of c.custom_tools)k(a.slug,a.original_slug,a.extends_toolkit);if(c?.custom_toolkits)for(let a of c.custom_toolkits)for(let b of a.tools)k(b.slug,b.original_slug,a.slug);return{byFinalSlug:d,byOriginalSlug:e,byToolkitAndOriginalSlug:f,...g.size?{ambiguousOriginalSlugs:g}:{},toolkits:b,tools:a.length?a:void 0}}function dl(a,b=!1){if(!a)return[];let c=new Set,d=[];for(let e of a.byFinalSlug.values()){let f=a.toolkits?.find(a=>e.toolkit&&a.slug.toLowerCase()===e.toolkit.toLowerCase());if(!(e.handle.preload??f?.preload??b))continue;let g=e.finalSlug.toUpperCase();c.has(g)||(c.add(g),d.push(e.finalSlug))}return d}function dm(){return globalThis.crypto.randomUUID()}function dn(){return dm().slice(0,8).replace(/-/g,"")}let dp=a=>{let b="";for(let c=0;c<a.length;c++)b+=String.fromCharCode(a[c]);return btoa(b)},dq={SDK_INITIALIZED:"SDK_INITIALIZED"};var dr=class{batch=[];time;batchSize;processBatchCallback;timer=null;pendingBatches=new Set;constructor(a=2e3,b=100,c){this.batch=[],this.time=a,this.batchSize=b,this.processBatchCallback=c}pushItem(a){this.batch.push(a),this.batch.length>=this.batchSize?this.processBatch():this.timer||(this.timer=setTimeout(()=>this.processBatch(),this.time))}processBatch(){if(this.batch.length>0){let a=this.batch;this.batch=[];let b=this.processBatchCallback(a).catch(()=>{}).finally(()=>{this.pendingBatches.delete(b)});this.pendingBatches.add(b)}this.timer&&(clearTimeout(this.timer),this.timer=null)}async flush(){this.processBatch(),this.pendingBatches.size>0&&await Promise.all(this.pendingBatches)}};let ds="https://telemetry.composio.dev/v1";var dt=class{static async sendMetric(a){try{return await fetch(`${ds}/metrics/invocations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})}catch(a){cf.debug("Error sending metric telemetry",a)}}static async sendErrorLog(a){try{return await fetch(`${ds}/errors`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})}catch(a){cf.debug("Error sending error telemetry",a)}}};let du=new class{telemetryMetadata;isTelemetryDisabled=!0;telemetrySource;telemetrySourceName="typescript-sdk";telemetryServiceName="sdk";telemetryLanguage="typescript";exitHandlersRegistered=!1;batchProcessor=new dr(200,10,async a=>{cf.debug("Sending batch of telemetry metrics",a),await dt.sendMetric(a)});setup(a){this.telemetryMetadata=a,this.isTelemetryDisabled=!1,this.telemetrySource={host:this.telemetryMetadata?.host??this.telemetrySourceName,service:this.telemetryServiceName,language:this.telemetryLanguage,version:this.telemetryMetadata?.version,platform:this.telemetryMetadata?.isBrowser?"browser":"node",environment:b8("NODE_ENV","production")},this.registerExitHandlers(),this.sendMetric([{functionName:dq.SDK_INITIALIZED,durationMs:0,timestamp:Date.now()/1e3,props:{},source:this.telemetrySource,metadata:{provider:this.telemetryMetadata?.provider??"openai"},error:void 0}])}instrument(a,b){let c=Object.getPrototypeOf(a),d=Object.getOwnPropertyNames(c).filter(a=>{let b=Object.getOwnPropertyDescriptor(c,a);return"constructor"!==a&&b&&"function"==typeof b.value&&"AsyncFunction"===b.value.constructor.name}),e=b??a.constructor?.name??"unknown";for(let b of d){let c=a[b];a[b]=async(...d)=>{let f=this.shouldSendTelemetry(),g=f?Date.now():void 0;try{let h=await c.apply(a,d);if(f&&void 0!==g){let a=Date.now()-g,c={functionName:`${e}.${b}`,durationMs:a,timestamp:g/1e3,props:{fileName:e,method:b},metadata:{provider:this.telemetryMetadata?.provider??"openai"},error:void 0,source:this.telemetrySource};this.batchProcessor.pushItem(c)}return h}catch(a){if(a instanceof Error&&!a.errorId&&(a.errorId=dm(),f&&void 0!==g)){let c=Date.now()-g;await this.prepareAndSendErrorTelemetry(a,e,b,g,c)}throw a}}}return a}shouldSendTelemetry(){let a=["test","ci"].includes((b8("NODE_ENV","development")||"").toLowerCase()),b="true"===b8("TELEMETRY_DISABLED","false");return!this.isTelemetryDisabled&&!b&&!a}async prepareAndSendErrorTelemetry(a,b,c,d,e){let f={functionName:`${b}.${c}`,durationMs:e,timestamp:d/1e3,props:{fileName:b,method:c},metadata:{provider:this.telemetryMetadata?.provider??"openai"},source:this.telemetrySource};a instanceof aR?f.error={errorId:a.errorId,name:a.name,message:a.message,stack:a.stack}:a instanceof cg?f.error={errorId:a.errorId,name:a.name,code:a.code,message:a.message,stack:a.stack}:a instanceof Error&&(f.error={errorId:a.errorId,name:a.name??"Unknown error",message:a.message,stack:a.stack}),await this.sendErrorTelemetry(f)}async sendMetric(a){if(!this.shouldSendTelemetry())return void cf.debug("Telemetry is disabled, skipping metric telemetry",a);try{cf.debug("SDK Metric",a),await dt.sendMetric(a)}catch(a){cf.error("Error sending metric telemetry",a)}}async sendErrorTelemetry(a){if(!this.shouldSendTelemetry())return void cf.debug("Telemetry is disabled, skipping metric telemetry",a);try{cf.debug("SDK Error Telemetry",a),await dt.sendErrorLog(a)}catch(a){cf.error("Error sending error telemetry",a)}}async flush(){await this.batchProcessor.flush()}registerExitHandlers(){if(this.exitHandlersRegistered||"undefined"==typeof process||!process.on)return;this.exitHandlersRegistered=!0;let a=()=>{this.flush().catch(a=>{cf.debug("Error flushing telemetry on exit",a)})};process.on("beforeExit",()=>{a()});let b=a=>{let b=()=>{cf.debug(`Received ${a}, flushing telemetry...`),this.flush().catch(a=>{cf.debug("Error flushing telemetry on signal",a)}).finally(()=>{process.removeListener(a,b),process.kill(process.pid,a)})};return b};process.on("SIGINT",b("SIGINT")),process.on("SIGTERM",b("SIGTERM"))}};function dv(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let dw=a=>{if(a.file_uploadable)return{title:a.title,description:a.description,format:"path",type:"string",file_uploadable:!0};let b={...a};return"object"===a.type&&a.properties&&(b.properties=dx(a.properties)),a.anyOf&&(b.anyOf=a.anyOf.map(dw)),a.oneOf&&(b.oneOf=a.oneOf.map(dw)),a.allOf&&(b.allOf=a.allOf.map(dw)),a.items&&(Array.isArray(a.items)?b.items=a.items.map(dw):b.items=dw(a.items)),b},dx=a=>{let b={};for(let[c,d]of Object.entries(a))b[c]=dw(d);return b},dy=(a,b)=>{if(!a)return!1;if(a[b])return!0;if(a.properties){for(let c of Object.values(a.properties))if(dy(c,b))return!0}if(a.anyOf){for(let c of a.anyOf)if(dy(c,b))return!0}if(a.oneOf){for(let c of a.oneOf)if(dy(c,b))return!0}if(a.allOf){for(let c of a.allOf)if(dy(c,b))return!0}if(a.items){if(Array.isArray(a.items)){for(let c of a.items)if(dy(c,b))return!0}else if(dy(a.items,b))return!0}return!1},dz=a=>dy(a,"file_uploadable"),dA=a=>dy(a,"file_downloadable");var dB=c(73024),dC=c(48161),dD=c(76760);let dE={supportsFileSystem:!0,homedir(){try{return dC.homedir()}catch{return null}},joinPath:(...a)=>dD.join(...a),resolvePath:(...a)=>dD.resolve(...a),isAbsolutePath:a=>dD.isAbsolute(a),basename:a=>dD.basename(a),existsSync:a=>dB.existsSync(a),mkdirSync(a){dB.mkdirSync(a,{recursive:!0})},readFileSync(a,b){if(void 0===b){let b=dB.readFileSync(a,{encoding:null});return new Uint8Array(b.buffer,b.byteOffset,b.byteLength)}return dB.readFileSync(a,{encoding:b})},writeFileSync(a,b,c){c&&"string"==typeof b?dB.writeFileSync(a,b,{encoding:c}):dB.writeFileSync(a,b)}};var dF=c(77598);let dG=[".ssh",".aws",".azure",".gnupg",".kube",".docker",".claude",".password-store","keychains"],dH=/^(\.env(\.|$)|\.netrc$|\.pgpass$)/i,dI=/^id_(rsa|ed25519|ecdsa|dsa|ecdsa_sk)(\.old)?$/i;function dJ(a){return"win32"===process.platform?a.toLowerCase():a}function dK(a){try{if(dB.existsSync(a))return dB.realpathSync(a)}catch{}return null}function dL(a){return["\nAllowed upload directories (fileUploadDirs):",0===a.length?" (none configured — all local paths are blocked)":a.map(a=>` - ${a}`).join("\n"),"\nFix one of the following:\n\n 1. Recommended — move the file under an allowed directory, or add your\n directory to the allowlist:\n new Composio({\n fileUploadDirs: ['/abs/path/to/uploads', '~/.composio/temp'],\n })\n Note: user-provided `fileUploadDirs` REPLACES the default\n `~/.composio/temp`. Include it explicitly if you want staged uploads\n to keep working.\n\n 2. Pass the file by URL or as a File/Blob object instead of a filesystem\n path. URLs and File objects are never path-checked.\n\n 3. (Dangerous) Bypass the allowlist entirely by opting into automatic\n file upload/download from any readable path:\n new Composio({ dangerouslyAllowAutoUploadDownloadFiles: true })\n WARNING: This lets a prompt-injected or misbehaving tool read ANY\n file the process can access. Only enable it in trusted, sandboxed\n environments. The built-in sensitive-path denylist (.ssh, .aws,\n .env, private SSH keys, etc.) still applies unless you also set\n `sensitiveFileUploadProtection: false`."].join("\n")}let dM=a=>{let b={"text/plain":"txt","text/html":"html","text/css":"css","text/javascript":"js","application/json":"json","application/xml":"xml","application/pdf":"pdf","application/zip":"zip","application/x-zip-compressed":"zip","application/gzip":"gz","application/x-tar":"tar","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.ms-excel":"xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","image/jpeg":"jpg","image/jpg":"jpg","image/png":"png","image/gif":"gif","image/svg+xml":"svg","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff","audio/mpeg":"mp3","audio/wav":"wav","audio/ogg":"ogg","video/mp4":"mp4","video/mpeg":"mpeg","video/quicktime":"mov","video/x-msvideo":"avi","video/webm":"webm"},c=a.split(";")[0].toLowerCase().trim();if(b[c])return b[c];let d=c.split("/");if(2===d.length){let a=d[1].toLowerCase();if(a.includes("+")){let b=a.split("+"),c=b[0],d=b[b.length-1];return["svg","atom","rss"].includes(c)?c:(["json","xml","yaml","zip","gzip"].includes(d),d)}return a||"txt"}return"txt"},dN=(a,b)=>`${b||"file_ts"}${Date.now()}${dn()}.${a}`,dO=async a=>{try{if(!dE.supportsFileSystem)throw Error("File system operations are not supported in this runtime environment");let b=dE.readFileSync(a);return{fileName:dN(a.split(".").pop()||"txt"),content:b instanceof Uint8Array?dp(b):dp(new TextEncoder().encode(b)),mimeType:"application/octet-stream"}}catch(b){throw Error(`Error reading file at ${a}: ${b}`)}},dP=async a=>{let b=await fetch(a);if(!b.ok)throw Error(`Failed to fetch file: ${b.statusText}`);let c=new Uint8Array(await b.arrayBuffer()),d=b.headers.get("content-type")||"application/octet-stream",e=new URL(a).pathname,f=dE.basename(e);return f&&"/"!==f&&f.includes(".")||(f=dN(dM(d))),{content:dp(c),mimeType:d,fileName:f}},dQ=async(a,b,c,d,e,f)=>{let g=(a=>{let b=atob(a),c=new Uint8Array(b.length);for(let a=0;a<b.length;a++)c[a]=b.charCodeAt(a);return c})(b),{key:h,new_presigned_url:i}=await f.files.createPresignedURL({filename:a,mimetype:e,md5:dF.createHash("md5").update(g).digest("hex"),tool_slug:c,toolkit_slug:d});cf.debug(`Uploading ${h} file to S3: ${h}`);let j=new Uint8Array(g.byteLength);j.set(g);let k=await fetch(i,{method:"PUT",body:j,headers:{"Content-Type":e,"Content-Length":g.length.toString()}});if(!k.ok)throw Error(`Failed to upload file to S3: ${k.statusText}`);return h},dR=async a=>{if(a instanceof File){let b=await a.arrayBuffer();return{fileName:a.name,content:dp(new Uint8Array(b)),mimeType:a.type}}if("string"==typeof a)if(a.startsWith("http"))return await dP(a);else return await dO(a);throw Error("Invalid file type")},dS=async(a,{toolSlug:b,toolkitSlug:c,client:d,sensitiveFileUploadProtection:e,fileUploadPathDenySegments:f,fileUploadAllowlist:g})=>{if(!a)throw Error("Either path or blob must be provided");let h="string"==typeof a&&!a.startsWith("http");h&&void 0!==g&&function(a,b){let c=dD.resolve(a),d=dK(c);if(!d){let d=process.cwd(),e=dD.dirname(c),f=(()=>{try{return dB.existsSync(e)}catch{return!1}})();throw new cm([`Refusing to auto-upload "${a}": the file does not exist on disk.`,"",`Path attempted: ${a}`,`Resolved to: ${c}`,`Process cwd: ${d}`,`Parent exists: ${f?"yes ("+e+")":"no ("+e+")"}`,"\nCommon causes:\n - Typo in the filename passed to the tool.\n - Relative path resolved against the wrong working directory\n (relative paths use process.cwd() at the moment of upload).\n - File was deleted between the tool being called and the upload starting.\n",dL(b)].join("\n"),{meta:{attempted:a,resolved:c,cwd:d,allowlist:b}})}if(0===b.length)throw new cl([`Refusing to auto-upload "${a}": no upload directories are configured.`,"",`Path attempted: ${a}`,`Resolved to: ${d}`,"\nAutomatic file upload during tool execution is locked down by default\nto prevent a prompt-injected tool from exfiltrating server files\n(source code, .env, SSH keys, etc.).",dL(b)].join("\n"),{meta:{attempted:a,resolved:d,allowlist:b}});for(let a of b)if(function(a,b){let c=dJ(a),d=dJ(b);if(c===d)return!0;let e=dD.sep,f=d.endsWith(e)?d:d+e;return c.startsWith(f)}(d,dK(a)??dD.resolve(a)))return;throw new cl([`Refusing to auto-upload "${a}": resolved path is not inside any`,"directory in the configured `fileUploadDirs` allowlist.\n",`Path attempted: ${a}`,`Resolved to: ${d}`,dL(b)].join("\n"),{meta:{attempted:a,resolved:d,allowlist:b}})}(a,g),!1!==e&&h&&function(a,b){let c=function(a,b){let c=function(a){let b=dD.resolve(a),c=b;try{dB.existsSync(b)&&(c=dB.realpathSync(b))}catch{}return c.split(/[/\\]+/).filter(Boolean)}(a),d="win32"===process.platform,e=new Set([...dG,...(b??[]).map(a=>a.trim()).filter(Boolean)].map(a=>d?a.toLowerCase():a)),f=d?c.map(a=>a.toLowerCase()):c;for(let a=0;a<c.length;a++)if(e.has(f[a]))return`path segment "${c[a]}" is in the sensitive file upload denylist`;let g=c.length>0?c[c.length-1]:"";if(g){if(dH.test(g)||dI.test(g))return`file name "${g}" looks like a credential, env, or private key file`;if("credentials"===g.toLowerCase())return'file name "credentials" is often used for cloud/API credential stores'}return null}(a,b?.additionalDenySegments);if(c)throw new cj(`Refusing to upload: ${c}. To upload from this path anyway, set sensitiveFileUploadProtection: false on Composio (not recommended) or use a copy outside sensitive locations.`,{meta:{filePath:a,reason:c}})}(a,{additionalDenySegments:f});let i=await dR(a);cf.debug("Uploading file to S3...");let j=await dQ(dE.basename(i.fileName),i.content,b,c,i.mimeType,d);return cf.debug(`Done! File uploaded to S3: ${j}`,JSON.stringify(i,null,2)),{name:i.fileName,mimetype:i.mimeType,s3key:j}},dT=async({toolSlug:a,s3Url:b,mimeType:c,fileDownloadDir:d})=>{let e=await fetch(b);if(!e.ok)throw Error(`Failed to download file: ${e.statusText}`);let f=await e.arrayBuffer(),g=dN(dM(c),`${a}_`);return{name:g,mimeType:c,s3Url:b,filePath:dV(g,new Uint8Array(f),{isTempFile:void 0===d,outputDir:d})}},dU=(a=!1)=>{try{let b=dE.homedir();if(!b)return null;let c=dE.joinPath(b,b9,ca);return a&&dE.supportsFileSystem&&!dE.existsSync(c)&&dE.mkdirSync(c),c}catch(a){return null}},dV=(a,b,c={})=>{let d="boolean"==typeof c?{isTempFile:c}:c;try{let c;if(!dE.supportsFileSystem)return cf.debug("File system operations are not supported in this runtime environment"),null;if(d.outputDir){let a=dE.joinPath(d.outputDir);try{dE.existsSync(a)||dE.mkdirSync(a),c=a}catch(b){cf.warn(`fileDownloadDir "${a}" is not writable, falling back to the default (~/.composio/files). Error: ${b}`),c=dU(!0)}}else c=d.isTempFile?dU(!0):((a=!1)=>{try{let b=dE.homedir();if(!b)return null;let c=dE.joinPath(b,b9);return a&&dE.supportsFileSystem&&!dE.existsSync(c)&&dE.mkdirSync(c),c}catch(a){return null}})(!0);if(!c)return null;let e=dE.joinPath(c,dE.basename(a));return cf.info(`Saving file to: ${e}`),b instanceof Uint8Array?dE.writeFileSync(e,b):dE.writeFileSync(e,b,"utf8"),e}catch(a){return cf.debug(`Error saving file: ${a}`),null}},dW=async(a,b,c)=>{if(b?.file_uploadable){if("string"!=typeof a&&!(a instanceof File))return a;let b=async(a,b)=>{if(!c.beforeFileUpload)return a;let d=await c.beforeFileUpload({path:a,source:b,toolSlug:c.toolSlug,toolkitSlug:c.toolkitSlug});if(!1===d)throw new ck("File upload was aborted because beforeFileUpload returned false.");return d};if("string"==typeof a){let d=await b(a,a.startsWith("http")?"url":"path");return cf.debug(`Uploading file "${d}"`),dS(d,{toolSlug:c.toolSlug,toolkitSlug:c.toolkitSlug,client:c.client,sensitiveFileUploadProtection:c.sensitiveFileUploadProtection,fileUploadPathDenySegments:c.fileUploadPathDenySegments,fileUploadAllowlist:c.fileUploadAllowlist})}if(c.beforeFileUpload){let b=await c.beforeFileUpload({path:a.name,source:"file",toolSlug:c.toolSlug,toolkitSlug:c.toolkitSlug});if(!1===b)throw new ck("File upload was aborted because beforeFileUpload returned false.");if("string"==typeof b&&b!==a.name)return cf.debug(`Uploading file from path "${b}" (replaced File: ${a.name})`),dS(b,{toolSlug:c.toolSlug,toolkitSlug:c.toolkitSlug,client:c.client,sensitiveFileUploadProtection:c.sensitiveFileUploadProtection,fileUploadPathDenySegments:c.fileUploadPathDenySegments,fileUploadAllowlist:c.fileUploadAllowlist})}return cf.debug(`Uploading file "${a.name}"`),dS(a,{toolSlug:c.toolSlug,toolkitSlug:c.toolkitSlug,client:c.client,sensitiveFileUploadProtection:c.sensitiveFileUploadProtection,fileUploadPathDenySegments:c.fileUploadPathDenySegments})}let d=[...b?.anyOf??[],...b?.oneOf??[],...b?.allOf??[]];if(d.length>0){let b=d.find(dz);if(b)return dW(a,b,c)}if(b?.type==="object"&&b.properties&&dv(a)){let d={};for(let[e,f]of Object.entries(a))d[e]=await dW(f,b.properties[e],c);return d}if(b?.type==="array"&&b.items&&Array.isArray(a)){let d=Array.isArray(b.items)?b.items[0]:b.items;return Promise.all(a.map(a=>dW(a,d,c)))}return a},dX=async(a,b)=>{let{s3url:c,mimetype:d}=a;try{cf.debug(`Downloading from S3: ${c}`);let a=await dT({toolSlug:b.toolSlug,s3Url:c,mimeType:d??"application/octet-stream",fileDownloadDir:b.fileDownloadDir});return cf.debug(`Downloaded → ${a.filePath}`),{uri:a.filePath,file_downloaded:!!a.filePath,s3url:c,mimeType:a.mimeType}}catch(a){return cf.error(`Download failed: ${c}`,{cause:a}),{uri:"",file_downloaded:!1,s3url:c,mimeType:d??"application/octet-stream"}}},dY=async(a,b,c)=>{if(dv(a)&&"string"==typeof a.s3url||b?.file_downloadable&&dv(a)&&"string"==typeof a.s3url)return dX(a,c);let d=[...b?.anyOf??[],...b?.oneOf??[],...b?.allOf??[]];if(d.length>0){let b=d.filter(dA),e=a;for(let a of b)e=await dY(e,a,c);return 0===b.length?dY(a,void 0,c):e}if(dv(a))return Object.fromEntries(await Promise.all(Object.entries(a).map(async([a,d])=>[a,await dY(d,b?.properties?.[a],c)])));if(Array.isArray(a)){let d=b?.items?Array.isArray(b.items)?b.items[0]:b.items:void 0;return Promise.all(a.map(a=>dY(a,d,c)))}return a};var dZ=class{client;fileUploadPathOptions;constructor(a,b={}){this.client=a,this.fileUploadPathOptions=b}async modifyToolSchema(a){if(!a.inputParameters?.properties)return a;let b=dx(a.inputParameters.properties);return{...a,inputParameters:{...a.inputParameters,properties:b}}}async fileUploadModifier(a,b){let{params:c,toolSlug:d,toolkitSlug:e="unknown"}=b,{arguments:f}=c;if(!f||"object"!=typeof f)return c;try{let b=await dW(f,a.inputParameters,{toolSlug:d,toolkitSlug:e,client:this.client,...this.fileUploadPathOptions});return{...c,arguments:b}}catch(a){if(a instanceof cj||a instanceof ck||a instanceof cl||a instanceof cm)throw a;throw new ci("Failed to upload file",{cause:a})}}async fileDownloadModifier(a,b){let{result:c,toolSlug:d}=b,e=await dY(c.data,a.outputParameters,{toolSlug:d,fileDownloadDir:this.fileUploadPathOptions.fileDownloadDir});return{...c,data:e}}},d$=c(81016),d_=c(18394),d0=c(16957);let d1={dangerouslyAllowAutoUploadDownloadFiles:!1,allowTracking:!0,toolkitVersions:"latest"};function d2(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c}function d3(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)}let d4=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return d4=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))};function d5(a){return"object"==typeof a&&null!==a&&("name"in a&&"AbortError"===a.name||"message"in a&&String(a.message).includes("FetchRequestCanceledException"))}let d6=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)};class d7 extends Error{}class d8 extends d7{constructor(a,b,c,d){super(`${d8.makeMessage(a,b,c)}`),this.status=a,this.headers=d,this.requestID=d?.get("x-request-id"),this.error=b,this.code=b?.code,this.param=b?.param,this.type=b?.type}static makeMessage(a,b,c){let d=b?.message?"string"==typeof b.message?b.message:JSON.stringify(b.message):b?JSON.stringify(b):c;return a&&d?`${a} ${d}`:a?`${a} status code (no body)`:d||"(no status code or body)"}static generate(a,b,c,d){if(!a||!d)return new ea({message:c,cause:d6(b)});let e=b?.error;return 400===a?new ec(a,e,c,d):401===a?new ed(a,e,c,d):403===a?new ee(a,e,c,d):404===a?new ef(a,e,c,d):409===a?new eg(a,e,c,d):422===a?new eh(a,e,c,d):429===a?new ei(a,e,c,d):a>=500?new ej(a,e,c,d):new d8(a,e,c,d)}}class d9 extends d8{constructor({message:a}={}){super(void 0,void 0,a||"Request was aborted.",void 0)}}class ea extends d8{constructor({message:a,cause:b}){super(void 0,void 0,a||"Connection error.",void 0),b&&(this.cause=b)}}class eb extends ea{constructor({message:a}={}){super({message:a??"Request timed out."})}}class ec extends d8{}class ed extends d8{}class ee extends d8{}class ef extends d8{}class eg extends d8{}class eh extends d8{}class ei extends d8{}class ej extends d8{}class ek extends d7{constructor(){super("Could not parse response content as the length limit was reached")}}class el extends d7{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class em extends Error{constructor(a){super(a)}}class en extends d8{constructor(a,b,c){let d,e="OAuth2 authentication error";if(b&&"object"==typeof b){d=b.error;let a=b.error_description;a&&"string"==typeof a?e=a:d&&(e=d)}super(a,b,e,c),this.error_code=d}}class eo extends d7{constructor(a,b,c){super(a),this.provider=b,this.cause=c}}let ep=/^[a-z][a-z0-9+.-]*:/i,eq=a=>(eq=Array.isArray)(a),er=eq;function es(a){return"object"!=typeof a?{}:a??{}}function et(a){if(!a)return!0;for(let b in a)return!1;return!0}function eu(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}let ev=a=>new Promise(b=>setTimeout(b,a)),ew="6.34.0",ex=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",ey=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown";function ez(){if("undefined"!=typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function eA(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}function eB(a){let b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator]();return eA({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}})}function eC(a){if(a[Symbol.asyncIterator])return a;let b=a.getReader();return{async next(){try{let a=await b.read();return a?.done&&b.releaseLock(),a}catch(a){throw b.releaseLock(),a}},async return(){let a=b.cancel();return b.releaseLock(),await a,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function eD(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let eE=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)}),eF="RFC3986",eG=a=>String(a),eH={RFC1738:a=>String(a).replace(/%20/g,"+"),RFC3986:eG},eI=(a,b)=>(eI=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty))(a,b),eJ=(()=>{let a=[];for(let b=0;b<256;++b)a.push("%"+((b<16?"0":"")+b.toString(16)).toUpperCase());return a})();function eK(a,b){if(eq(a)){let c=[];for(let d=0;d<a.length;d+=1)c.push(b(a[d]));return c}return b(a)}let eL={brackets:a=>String(a)+"[]",comma:"comma",indices:(a,b)=>String(a)+"["+b+"]",repeat:a=>String(a)},eM=function(a,b){Array.prototype.push.apply(a,eq(b)?b:[b])},eN={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:(a,b,c,d,e)=>{if(0===a.length)return a;let f=a;if("symbol"==typeof a?f=Symbol.prototype.toString.call(a):"string"!=typeof a&&(f=String(a)),"iso-8859-1"===c)return escape(f).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let g="";for(let a=0;a<f.length;a+=1024){let b=f.length>=1024?f.slice(a,a+1024):f,c=[];for(let a=0;a<b.length;++a){let d=b.charCodeAt(a);if(45===d||46===d||95===d||126===d||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||"RFC1738"===e&&(40===d||41===d)){c[c.length]=b.charAt(a);continue}if(d<128){c[c.length]=eJ[d];continue}if(d<2048){c[c.length]=eJ[192|d>>6]+eJ[128|63&d];continue}if(d<55296||d>=57344){c[c.length]=eJ[224|d>>12]+eJ[128|d>>6&63]+eJ[128|63&d];continue}a+=1,d=65536+((1023&d)<<10|1023&b.charCodeAt(a)),c[c.length]=eJ[240|d>>18]+eJ[128|d>>12&63]+eJ[128|d>>6&63]+eJ[128|63&d]}g+=c.join("")}return g},encodeValuesOnly:!1,format:eF,formatter:eG,indices:!1,serializeDate:a=>(g??(g=Function.prototype.call.bind(Date.prototype.toISOString)))(a),skipNulls:!1,strictNullHandling:!1},eO={};function eP(a){let b;return(h??(h=(b=new globalThis.TextEncoder).encode.bind(b)))(a)}function eQ(a){let b;return(i??(i=(b=new globalThis.TextDecoder).decode.bind(b)))(a)}class eR{constructor(){p.set(this,void 0),q.set(this,void 0),d2(this,p,new Uint8Array,"f"),d2(this,q,null,"f")}decode(a){let b;if(null==a)return[];let c=a instanceof ArrayBuffer?new Uint8Array(a):"string"==typeof a?eP(a):a;d2(this,p,function(a){let b=0;for(let c of a)b+=c.length;let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}([d3(this,p,"f"),c]),"f");let d=[];for(;null!=(b=function(a,b){for(let c=b??0;c<a.length;c++){if(10===a[c])return{preceding:c,index:c+1,carriage:!1};if(13===a[c])return{preceding:c,index:c+1,carriage:!0}}return null}(d3(this,p,"f"),d3(this,q,"f")));){if(b.carriage&&null==d3(this,q,"f")){d2(this,q,b.index,"f");continue}if(null!=d3(this,q,"f")&&(b.index!==d3(this,q,"f")+1||b.carriage)){d.push(eQ(d3(this,p,"f").subarray(0,d3(this,q,"f")-1))),d2(this,p,d3(this,p,"f").subarray(d3(this,q,"f")),"f"),d2(this,q,null,"f");continue}let a=null!==d3(this,q,"f")?b.preceding-1:b.preceding,c=eQ(d3(this,p,"f").subarray(0,a));d.push(c),d2(this,p,d3(this,p,"f").subarray(b.index),"f"),d2(this,q,null,"f")}return d}flush(){return d3(this,p,"f").length?this.decode("\n"):[]}}p=new WeakMap,q=new WeakMap,eR.NEWLINE_CHARS=new Set(["\n","\r"]),eR.NEWLINE_REGEXP=/\r\n|[\n\r]/g;let eS={off:0,error:200,warn:300,info:400,debug:500},eT=(a,b,c)=>{if(a){if(Object.prototype.hasOwnProperty.call(eS,a))return a;eY(c).warn(`${b} was set to ${JSON.stringify(a)}, expected one of ${JSON.stringify(Object.keys(eS))}`)}};function eU(){}function eV(a,b,c){return!b||eS[a]>eS[c]?eU:b[a].bind(b)}let eW={error:eU,warn:eU,info:eU,debug:eU},eX=new WeakMap;function eY(a){let b=a.logger,c=a.logLevel??"off";if(!b)return eW;let d=eX.get(b);if(d&&d[0]===c)return d[1];let e={error:eV("error",b,c),warn:eV("warn",b,c),info:eV("info",b,c),debug:eV("debug",b,c)};return eX.set(b,[c,e]),e}let eZ=a=>(a.options&&(a.options={...a.options},delete a.options.headers),a.headers&&(a.headers=Object.fromEntries((a.headers instanceof Headers?[...a.headers]:Object.entries(a.headers)).map(([a,b])=>[a,"authorization"===a.toLowerCase()||"cookie"===a.toLowerCase()||"set-cookie"===a.toLowerCase()?"***":b]))),"retryOfRequestLogID"in a&&(a.retryOfRequestLogID&&(a.retryOf=a.retryOfRequestLogID),delete a.retryOfRequestLogID),a);class e${constructor(a,b,c){this.iterator=a,r.set(this,void 0),this.controller=b,d2(this,r,c,"f")}static fromSSEResponse(a,b,c,d){let e=!1,f=c?eY(c):console;async function*g(){if(e)throw new d7("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");e=!0;let c=!1;try{for await(let e of e_(a,b))if(!c){if(e.data.startsWith("[DONE]")){c=!0;continue}if(null!==e.event&&e.event.startsWith("thread.")){let a;try{a=JSON.parse(e.data)}catch(a){throw console.error("Could not parse message into JSON:",e.data),console.error("From chunk:",e.raw),a}if("error"==e.event)throw new d8(void 0,a.error,a.message,void 0);yield{event:e.event,data:a}}else{let b;try{b=JSON.parse(e.data)}catch(a){throw f.error("Could not parse message into JSON:",e.data),f.error("From chunk:",e.raw),a}if(b&&b.error)throw new d8(void 0,b.error,void 0,a.headers);yield d?{event:e.event,data:b}:b}}c=!0}catch(a){if(d5(a))return;throw a}finally{c||b.abort()}}return new e$(g,b,c)}static fromReadableStream(a,b,c){let d=!1;async function*e(){let b=new eR;for await(let c of eC(a))for(let a of b.decode(c))yield a;for(let a of b.flush())yield a}return new e$(async function*(){if(d)throw new d7("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let a=!1;try{for await(let b of e())!a&&b&&(yield JSON.parse(b));a=!0}catch(a){if(d5(a))return;throw a}finally{a||b.abort()}},b,c)}[(r=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let a=[],b=[],c=this.iterator(),d=d=>({next:()=>{if(0===d.length){let d=c.next();a.push(d),b.push(d)}return d.shift()}});return[new e$(()=>d(a),this.controller,d3(this,r,"f")),new e$(()=>d(b),this.controller,d3(this,r,"f"))]}toReadableStream(){let a,b=this;return eA({async start(){a=b[Symbol.asyncIterator]()},async pull(b){try{let{value:c,done:d}=await a.next();if(d)return b.close();let e=eP(JSON.stringify(c)+"\n");b.enqueue(e)}catch(a){b.error(a)}},async cancel(){await a.return?.()}})}}async function*e_(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new d7("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new d7("Attempted to iterate over a response with no body")}let c=new e1,d=new eR;for await(let b of e0(eC(a.body)))for(let a of d.decode(b)){let b=c.decode(a);b&&(yield b)}for(let a of d.flush()){let b=c.decode(a);b&&(yield b)}}async function*e0(a){let b=new Uint8Array;for await(let c of a){let a;if(null==c)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):"string"==typeof c?eP(c):c,e=new Uint8Array(b.length+d.length);for(e.set(b),e.set(d,b.length),b=e;-1!==(a=function(a){for(let b=0;b<a.length-1;b++){if(10===a[b]&&10===a[b+1]||13===a[b]&&13===a[b+1])return b+2;if(13===a[b]&&10===a[b+1]&&b+3<a.length&&13===a[b+2]&&10===a[b+3])return b+4}return -1}(b));)yield b.slice(0,a),b=b.slice(a)}b.length>0&&(yield b)}class e1{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(a){if(a.endsWith("\r")&&(a=a.substring(0,a.length-1)),!a){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(a),a.startsWith(":"))return null;let[b,c,d]=function(a,b){let c=a.indexOf(":");return -1!==c?[a.substring(0,c),b,a.substring(c+b.length)]:[a,"",""]}(a,":");return d.startsWith(" ")&&(d=d.substring(1)),"event"===b?this.event=d:"data"===b&&this.data.push(d),null}}async function e2(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(b.options.stream)return(eY(a).debug("response",c.status,c.url,c.headers,c.body),b.options.__streamClass)?b.options.__streamClass.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData):e$.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData);if(204===c.status)return null;if(b.options.__binaryResponse)return c;let d=c.headers.get("content-type"),e=d?.split(";")[0]?.trim();if(e?.includes("application/json")||e?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return e3(await c.json(),c)}return await c.text()})();return eY(a).debug(`[${d}] response parsed`,eZ({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}function e3(a,b){return!a||"object"!=typeof a||Array.isArray(a)?a:Object.defineProperty(a,"_request_id",{value:b.headers.get("x-request-id"),enumerable:!1})}class e4 extends Promise{constructor(a,b,c=e2){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,s.set(this,void 0),d2(this,s,a,"f")}_thenUnwrap(a){return new e4(d3(this,s,"f"),this.responsePromise,async(b,c)=>e3(a(await this.parseResponse(b,c),c),c.response))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b,request_id:b.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse(d3(this,s,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}s=new WeakMap;class e5{constructor(a,b,c,d){t.set(this,void 0),d2(this,t,a,"f"),this.options=d,this.response=b,this.body=c}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let a=this.nextPageRequestOptions();if(!a)throw new d7("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await d3(this,t,"f").requestAPIList(this.constructor,a)}async *iterPages(){let a=this;for(yield a;a.hasNextPage();)a=await a.getNextPage(),yield a}async *[(t=new WeakMap,Symbol.asyncIterator)](){for await(let a of this.iterPages())for(let b of a.getPaginatedItems())yield b}}class e6 extends e4{constructor(a,b,c){super(a,b,async(a,b)=>new c(a,b.response,await e2(a,b),b.options))}async *[Symbol.asyncIterator](){for await(let a of(await this))yield a}}class e7 extends e5{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.object=c.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class e8 extends e5{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.getPaginatedItems(),b=a[a.length-1]?.id;return b?{...this.options,query:{...es(this.options.query),after:b}}:null}}class e9 extends e5{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.last_id=c.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.last_id;return a?{...this.options,query:{...es(this.options.query),after:a}}:null}}let fa={jwt:"urn:ietf:params:oauth:token-type:jwt",id:"urn:ietf:params:oauth:token-type:id_token"};class fb{constructor(a,b){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl="https://auth.openai.com/oauth/token",this.config=a,this.fetch=b??ez()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let a=await this.config.provider.getToken(),b=await this.fetch(this.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"urn:ietf:params:oauth:grant-type:token-exchange",client_id:this.config.clientId,subject_token:a,subject_token_type:fa[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId})});if(!b.ok){let a,c=await b.text();try{a=JSON.parse(c)}catch{}if(400===b.status||401===b.status||403===b.status)throw new en(b.status,a,b.headers);throw d8.generate(b.status,a,`Token exchange failed with status ${b.status}`,b.headers)}let c=await b.json(),d=c.expires_in||3600,e=Date.now()+1e3*d;return this.cachedToken={token:c.access_token,expiresAt:e},c.access_token}isTokenExpired(a){return Date.now()>=a.expiresAt}needsRefresh(a){let b=this.config.refreshBufferSeconds??1200;return Date.now()>=a.expiresAt-1e3*b}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}}let fc=()=>{if("undefined"==typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function fd(a,b,c){return fc(),new File(a,b??"unknown_file",c)}function fe(a){return("object"==typeof a&&null!==a&&("name"in a&&a.name&&String(a.name)||"url"in a&&a.url&&String(a.url)||"filename"in a&&a.filename&&String(a.filename)||"path"in a&&a.path&&String(a.path))||"").split(/[\\/]/).pop()||void 0}let ff=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],fg=async(a,b)=>fl(a.body)?{...a,body:await fj(a.body,b)}:a,fh=async(a,b)=>({...a,body:await fj(a.body,b)}),fi=new WeakMap,fj=async(a,b)=>{if(!await function(a){let b="function"==typeof a?a:a.fetch,c=fi.get(b);if(c)return c;let d=(async()=>{try{let a="Response"in b?b.Response:(await b("data:,")).constructor,c=new FormData;if(c.toString()===await new a(c).text())return!1;return!0}catch{return!0}})();return fi.set(b,d),d}(b))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let c=new FormData;return await Promise.all(Object.entries(a||{}).map(([a,b])=>fm(c,a,b))),c},fk=a=>a instanceof Blob&&"name"in a,fl=a=>{if((a=>"object"==typeof a&&null!==a&&(a instanceof Response||ff(a)||fk(a)))(a))return!0;if(Array.isArray(a))return a.some(fl);if(a&&"object"==typeof a){for(let b in a)if(fl(a[b]))return!0}return!1},fm=async(a,b,c)=>{if(void 0!==c){if(null==c)throw TypeError(`Received null for "${b}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof c||"number"==typeof c||"boolean"==typeof c)a.append(b,String(c));else if(c instanceof Response)a.append(b,fd([await c.blob()],fe(c)));else if(ff(c))a.append(b,fd([await new Response(eB(c)).blob()],fe(c)));else if(fk(c))a.append(b,c,fe(c));else if(Array.isArray(c))await Promise.all(c.map(c=>fm(a,b+"[]",c)));else if("object"==typeof c)await Promise.all(Object.entries(c).map(([c,d])=>fm(a,`${b}[${c}]`,d)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${c} instead`)}},fn=a=>null!=a&&"object"==typeof a&&"number"==typeof a.size&&"string"==typeof a.type&&"function"==typeof a.text&&"function"==typeof a.slice&&"function"==typeof a.arrayBuffer;async function fo(a,b,c){let d,e;if(fc(),null!=(d=a=await a)&&"object"==typeof d&&"string"==typeof d.name&&"number"==typeof d.lastModified&&fn(d))return a instanceof File?a:fd([await a.arrayBuffer()],a.name);if(null!=(e=a)&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob){let d=await a.blob();return b||(b=new URL(a.url).pathname.split(/[\\/]/).pop()),fd(await fp(d),b,c)}let f=await fp(a);if(b||(b=fe(a)),!c?.type){let a=f.find(a=>"object"==typeof a&&"type"in a&&a.type);"string"==typeof a&&(c={...c,type:a})}return fd(f,b,c)}async function fp(a){let b=[];if("string"==typeof a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer)b.push(a);else if(fn(a))b.push(a instanceof Blob?a:await a.arrayBuffer());else if(ff(a))for await(let c of a)b.push(...await fp(c));else{let b=a?.constructor?.name;throw Error(`Unexpected data type: ${typeof a}${b?`; constructor: ${b}`:""}${function(a){if("object"!=typeof a||null===a)return"";let b=Object.getOwnPropertyNames(a);return`; props: [${b.map(a=>`"${a}"`).join(", ")}]`}(a)}`)}return b}class fq{constructor(a){this._client=a}}function fr(a){return a.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let fs=Object.freeze(Object.create(null)),ft=((a=fr)=>function(b,...c){let d;if(1===b.length)return b[0];let e=!1,f=[],g=b.reduce((b,d,g)=>{/[?#]/.test(d)&&(e=!0);let h=c[g],i=(e?encodeURIComponent:a)(""+h);return g!==c.length&&(null==h||"object"==typeof h&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??fs)??fs)?.toString)&&(i=h+"",f.push({start:b.length+d.length,length:i.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),b+d+(g===c.length?"":i)},""),h=g.split(/[?#]/,1)[0],i=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(d=i.exec(h));)f.push({start:d.index,length:d[0].length,error:`Value "${d[0]}" can't be safely passed as a path parameter`});if(f.sort((a,b)=>a.start-b.start),f.length>0){let a=0,b=f.reduce((b,c)=>{let d=" ".repeat(c.start-a),e="^".repeat(c.length);return a=c.start+c.length,b+d+e},"");throw new d7(`Path parameters result in path with invalid segments:
13
+ ${f.map(a=>a.error).join("\n")}
14
+ ${g}
15
+ ${b}`)}return g})(fr);class fu extends fq{list(a,b={},c){return this._client.getAPIList(ft`/chat/completions/${a}/messages`,e8,{query:b,...c})}}function fv(a){return void 0!==a&&"function"in a&&void 0!==a.function}function fw(a){return a?.$brand==="auto-parseable-response-format"}function fx(a){return a?.$brand==="auto-parseable-tool"}function fy(a,b){let c=a.choices.map(a=>{var c,d;if("length"===a.finish_reason)throw new ek;if("content_filter"===a.finish_reason)throw new el;return fA(a.message.tool_calls),{...a,message:{...a.message,...a.message.tool_calls?{tool_calls:a.message.tool_calls?.map(a=>(function(a,b){let c=a.tools?.find(a=>fv(a)&&a.function?.name===b.function.name);return{...b,function:{...b.function,parsed_arguments:fx(c)?c.$parseRaw(b.function.arguments):c?.function.strict?JSON.parse(b.function.arguments):null}}})(b,a))??void 0}:void 0,parsed:a.message.content&&!a.message.refusal?(c=b,d=a.message.content,c.response_format?.type!=="json_schema"?null:c.response_format?.type==="json_schema"?"$parseRaw"in c.response_format?c.response_format.$parseRaw(d):JSON.parse(d):null):null}}});return{...a,choices:c}}function fz(a){return!!fw(a.response_format)||(a.tools?.some(a=>fx(a)||"function"===a.type&&!0===a.function.strict)??!1)}function fA(a){for(let b of a||[])if("function"!==b.type)throw new d7(`Currently only \`function\` tool calls are supported; Received \`${b.type}\``)}let fB=a=>a?.role==="assistant",fC=a=>a?.role==="tool";class fD{constructor(){u.add(this),this.controller=new AbortController,v.set(this,void 0),w.set(this,()=>{}),x.set(this,()=>{}),y.set(this,void 0),A.set(this,()=>{}),B.set(this,()=>{}),C.set(this,{}),D.set(this,!1),E.set(this,!1),F.set(this,!1),G.set(this,!1),d2(this,v,new Promise((a,b)=>{d2(this,w,a,"f"),d2(this,x,b,"f")}),"f"),d2(this,y,new Promise((a,b)=>{d2(this,A,a,"f"),d2(this,B,b,"f")}),"f"),d3(this,v,"f").catch(()=>{}),d3(this,y,"f").catch(()=>{})}_run(a){setTimeout(()=>{a().then(()=>{this._emitFinal(),this._emit("end")},d3(this,u,"m",H).bind(this))},0)}_connected(){this.ended||(d3(this,w,"f").call(this),this._emit("connect"))}get ended(){return d3(this,D,"f")}get errored(){return d3(this,E,"f")}get aborted(){return d3(this,F,"f")}abort(){this.controller.abort()}on(a,b){return(d3(this,C,"f")[a]||(d3(this,C,"f")[a]=[])).push({listener:b}),this}off(a,b){let c=d3(this,C,"f")[a];if(!c)return this;let d=c.findIndex(a=>a.listener===b);return d>=0&&c.splice(d,1),this}once(a,b){return(d3(this,C,"f")[a]||(d3(this,C,"f")[a]=[])).push({listener:b,once:!0}),this}emitted(a){return new Promise((b,c)=>{d2(this,G,!0,"f"),"error"!==a&&this.once("error",c),this.once(a,b)})}async done(){d2(this,G,!0,"f"),await d3(this,y,"f")}_emit(a,...b){if(d3(this,D,"f"))return;"end"===a&&(d2(this,D,!0,"f"),d3(this,A,"f").call(this));let c=d3(this,C,"f")[a];if(c&&(d3(this,C,"f")[a]=c.filter(a=>!a.once),c.forEach(({listener:a})=>a(...b))),"abort"===a){let a=b[0];d3(this,G,"f")||c?.length||Promise.reject(a),d3(this,x,"f").call(this,a),d3(this,B,"f").call(this,a),this._emit("end");return}if("error"===a){let a=b[0];d3(this,G,"f")||c?.length||Promise.reject(a),d3(this,x,"f").call(this,a),d3(this,B,"f").call(this,a),this._emit("end")}}_emitFinal(){}}v=new WeakMap,w=new WeakMap,x=new WeakMap,y=new WeakMap,A=new WeakMap,B=new WeakMap,C=new WeakMap,D=new WeakMap,E=new WeakMap,F=new WeakMap,G=new WeakMap,u=new WeakSet,H=function(a){if(d2(this,E,!0,"f"),a instanceof Error&&"AbortError"===a.name&&(a=new d9),a instanceof d9)return d2(this,F,!0,"f"),this._emit("abort",a);if(a instanceof d7)return this._emit("error",a);if(a instanceof Error){let b=new d7(a.message);return b.cause=a,this._emit("error",b)}return this._emit("error",new d7(String(a)))};class fE extends fD{constructor(){super(...arguments),I.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(a){this._chatCompletions.push(a),this._emit("chatCompletion",a);let b=a.choices[0]?.message;return b&&this._addMessage(b),a}_addMessage(a,b=!0){if("content"in a||(a.content=null),this.messages.push(a),b){if(this._emit("message",a),fC(a)&&a.content)this._emit("functionToolCallResult",a.content);else if(fB(a)&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&this._emit("functionToolCall",b.function)}}async finalChatCompletion(){await this.done();let a=this._chatCompletions[this._chatCompletions.length-1];if(!a)throw new d7("stream ended without producing a ChatCompletion");return a}async finalContent(){return await this.done(),d3(this,I,"m",J).call(this)}async finalMessage(){return await this.done(),d3(this,I,"m",K).call(this)}async finalFunctionToolCall(){return await this.done(),d3(this,I,"m",L).call(this)}async finalFunctionToolCallResult(){return await this.done(),d3(this,I,"m",M).call(this)}async totalUsage(){return await this.done(),d3(this,I,"m",N).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let a=this._chatCompletions[this._chatCompletions.length-1];a&&this._emit("finalChatCompletion",a);let b=d3(this,I,"m",K).call(this);b&&this._emit("finalMessage",b);let c=d3(this,I,"m",J).call(this);c&&this._emit("finalContent",c);let d=d3(this,I,"m",L).call(this);d&&this._emit("finalFunctionToolCall",d);let e=d3(this,I,"m",M).call(this);null!=e&&this._emit("finalFunctionToolCallResult",e),this._chatCompletions.some(a=>a.usage)&&this._emit("totalUsage",d3(this,I,"m",N).call(this))}async _createChatCompletion(a,b,c){let d=c?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort())),d3(this,I,"m",O).call(this,b);let e=await a.chat.completions.create({...b,stream:!1},{...c,signal:this.controller.signal});return this._connected(),this._addChatCompletion(fy(e,b))}async _runChatCompletion(a,b,c){for(let a of b.messages)this._addMessage(a,!1);return await this._createChatCompletion(a,b,c)}async _runTools(a,b,c){let d="tool",{tool_choice:e="auto",stream:f,...g}=b,h="string"!=typeof e&&"function"===e.type&&e?.function?.name,{maxChatCompletions:i=10}=c||{},j=b.tools.map(a=>{if(fx(a)){if(!a.$callback)throw new d7("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:a.$callback,name:a.function.name,description:a.function.description||"",parameters:a.function.parameters,parse:a.$parseRaw,strict:!0}}}return a}),k={};for(let a of j)"function"===a.type&&(k[a.function.name||a.function.function.name]=a.function);let l="tools"in b?j.map(a=>"function"===a.type?{type:"function",function:{name:a.function.name||a.function.function.name,parameters:a.function.parameters,description:a.function.description,strict:a.function.strict}}:a):void 0;for(let a of b.messages)this._addMessage(a,!1);for(let b=0;b<i;++b){let b=await this._createChatCompletion(a,{...g,tool_choice:e,tools:l,messages:[...this.messages]},c),f=b.choices[0]?.message;if(!f)throw new d7("missing message in ChatCompletion response");if(!f.tool_calls?.length)break;for(let a of f.tool_calls){let b;if("function"!==a.type)continue;let c=a.id,{name:e,arguments:f}=a.function,g=k[e];if(g){if(h&&h!==e){let a=`Invalid tool_call: ${JSON.stringify(e)}. ${JSON.stringify(h)} requested. Please try again`;this._addMessage({role:d,tool_call_id:c,content:a});continue}}else{let a=`Invalid tool_call: ${JSON.stringify(e)}. Available options are: ${Object.keys(k).map(a=>JSON.stringify(a)).join(", ")}. Please try again`;this._addMessage({role:d,tool_call_id:c,content:a});continue}try{b="function"==typeof g.parse?await g.parse(f):f}catch(b){let a=b instanceof Error?b.message:String(b);this._addMessage({role:d,tool_call_id:c,content:a});continue}let i=await g.function(b,this),j=d3(this,I,"m",P).call(this,i);if(this._addMessage({role:d,tool_call_id:c,content:j}),h)return}}}}I=new WeakSet,J=function(){return d3(this,I,"m",K).call(this).content??null},K=function(){let a=this.messages.length;for(;a-- >0;){let b=this.messages[a];if(fB(b))return{...b,content:b.content??null,refusal:b.refusal??null}}throw new d7("stream ended without producing a ChatCompletionMessage with role=assistant")},L=function(){for(let a=this.messages.length-1;a>=0;a--){let b=this.messages[a];if(fB(b)&&b?.tool_calls?.length)return b.tool_calls.filter(a=>"function"===a.type).at(-1)?.function}},M=function(){for(let a=this.messages.length-1;a>=0;a--){let b=this.messages[a];if(fC(b)&&null!=b.content&&"string"==typeof b.content&&this.messages.some(a=>"assistant"===a.role&&a.tool_calls?.some(a=>"function"===a.type&&a.id===b.tool_call_id)))return b.content}},N=function(){let a={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:b}of this._chatCompletions)b&&(a.completion_tokens+=b.completion_tokens,a.prompt_tokens+=b.prompt_tokens,a.total_tokens+=b.total_tokens);return a},O=function(a){if(null!=a.n&&a.n>1)throw new d7("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},P=function(a){return"string"==typeof a?a:void 0===a?"undefined":JSON.stringify(a)};class fF extends fE{static runTools(a,b,c){let d=new fF,e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,e)),d}_addMessage(a,b=!0){super._addMessage(a,b),fB(a)&&a.content&&this._emit("content",a.content)}}let fG={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,ALL:511};class fH extends Error{}class fI extends Error{}let fJ=a=>(function(a,b=fG.ALL){if("string"!=typeof a)throw TypeError(`expecting str, got ${typeof a}`);if(!a.trim())throw Error(`${a} is empty`);return((a,b)=>{let c=a.length,d=0,e=a=>{throw new fH(`${a} at position ${d}`)},f=a=>{throw new fI(`${a} at position ${d}`)},g=()=>(l(),d>=c&&e("Unexpected end of input"),'"'===a[d])?h():"{"===a[d]?i():"["===a[d]?j():"null"===a.substring(d,d+4)||fG.NULL&b&&c-d<4&&"null".startsWith(a.substring(d))?(d+=4,null):"true"===a.substring(d,d+4)||fG.BOOL&b&&c-d<4&&"true".startsWith(a.substring(d))?(d+=4,!0):"false"===a.substring(d,d+5)||fG.BOOL&b&&c-d<5&&"false".startsWith(a.substring(d))?(d+=5,!1):"Infinity"===a.substring(d,d+8)||fG.INFINITY&b&&c-d<8&&"Infinity".startsWith(a.substring(d))?(d+=8,1/0):"-Infinity"===a.substring(d,d+9)||fG.MINUS_INFINITY&b&&1<c-d&&c-d<9&&"-Infinity".startsWith(a.substring(d))?(d+=9,-1/0):"NaN"===a.substring(d,d+3)||fG.NAN&b&&c-d<3&&"NaN".startsWith(a.substring(d))?(d+=3,NaN):k(),h=()=>{let g=d,h=!1;for(d++;d<c&&('"'!==a[d]||h&&"\\"===a[d-1]);)h="\\"===a[d]&&!h,d++;if('"'==a.charAt(d))try{return JSON.parse(a.substring(g,++d-Number(h)))}catch(a){f(String(a))}else if(fG.STR&b)try{return JSON.parse(a.substring(g,d-Number(h))+'"')}catch(b){return JSON.parse(a.substring(g,a.lastIndexOf("\\"))+'"')}e("Unterminated string literal")},i=()=>{d++,l();let f={};try{for(;"}"!==a[d];){if(l(),d>=c&&fG.OBJ&b)return f;let e=h();l(),d++;try{let a=g();Object.defineProperty(f,e,{value:a,writable:!0,enumerable:!0,configurable:!0})}catch(a){if(fG.OBJ&b)return f;throw a}l(),","===a[d]&&d++}}catch(a){if(fG.OBJ&b)return f;e("Expected '}' at end of object")}return d++,f},j=()=>{d++;let c=[];try{for(;"]"!==a[d];)c.push(g()),l(),","===a[d]&&d++}catch(a){if(fG.ARR&b)return c;e("Expected ']' at end of array")}return d++,c},k=()=>{if(0===d){"-"===a&&fG.NUM&b&&e("Not sure what '-' is");try{return JSON.parse(a)}catch(c){if(fG.NUM&b)try{if("."===a[a.length-1])return JSON.parse(a.substring(0,a.lastIndexOf(".")));return JSON.parse(a.substring(0,a.lastIndexOf("e")))}catch(a){}f(String(c))}}let g=d;for("-"===a[d]&&d++;a[d]&&!",]}".includes(a[d]);)d++;d!=c||fG.NUM&b||e("Unterminated number literal");try{return JSON.parse(a.substring(g,d))}catch(c){"-"===a.substring(g,d)&&fG.NUM&b&&e("Not sure what '-' is");try{return JSON.parse(a.substring(g,a.lastIndexOf("e")))}catch(a){f(String(a))}}},l=()=>{for(;d<c&&" \n\r ".includes(a[d]);)d++};return g()})(a.trim(),b)})(a,fG.ALL^fG.NUM);class fK extends fE{constructor(a){super(),Q.add(this),R.set(this,void 0),S.set(this,void 0),T.set(this,void 0),d2(this,R,a,"f"),d2(this,S,[],"f")}get currentChatCompletionSnapshot(){return d3(this,T,"f")}static fromReadableStream(a){let b=new fK(null);return b._run(()=>b._fromReadableStream(a)),b}static createChatCompletion(a,b,c){let d=new fK(b);return d._run(()=>d._runChatCompletion(a,{...b,stream:!0},{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}async _createChatCompletion(a,b,c){super._createChatCompletion;let d=c?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort())),d3(this,Q,"m",U).call(this);let e=await a.chat.completions.create({...b,stream:!0},{...c,signal:this.controller.signal});for await(let a of(this._connected(),e))d3(this,Q,"m",W).call(this,a);if(e.controller.signal?.aborted)throw new d9;return this._addChatCompletion(d3(this,Q,"m",Z).call(this))}async _fromReadableStream(a,b){let c,d=b?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort())),d3(this,Q,"m",U).call(this),this._connected();let e=e$.fromReadableStream(a,this.controller);for await(let a of e)c&&c!==a.id&&this._addChatCompletion(d3(this,Q,"m",Z).call(this)),d3(this,Q,"m",W).call(this,a),c=a.id;if(e.controller.signal?.aborted)throw new d9;return this._addChatCompletion(d3(this,Q,"m",Z).call(this))}[(R=new WeakMap,S=new WeakMap,T=new WeakMap,Q=new WeakSet,U=function(){this.ended||d2(this,T,void 0,"f")},V=function(a){let b=d3(this,S,"f")[a.index];return b||(b={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},d3(this,S,"f")[a.index]=b),b},W=function(a){if(this.ended)return;let b=d3(this,Q,"m",_).call(this,a);for(let c of(this._emit("chunk",a,b),a.choices)){let a=b.choices[c.index];null!=c.delta.content&&a.message?.role==="assistant"&&a.message?.content&&(this._emit("content",c.delta.content,a.message.content),this._emit("content.delta",{delta:c.delta.content,snapshot:a.message.content,parsed:a.message.parsed})),null!=c.delta.refusal&&a.message?.role==="assistant"&&a.message?.refusal&&this._emit("refusal.delta",{delta:c.delta.refusal,snapshot:a.message.refusal}),c.logprobs?.content!=null&&a.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:c.logprobs?.content,snapshot:a.logprobs?.content??[]}),c.logprobs?.refusal!=null&&a.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:c.logprobs?.refusal,snapshot:a.logprobs?.refusal??[]});let d=d3(this,Q,"m",V).call(this,a);for(let b of(a.finish_reason&&(d3(this,Q,"m",Y).call(this,a),null!=d.current_tool_call_index&&d3(this,Q,"m",X).call(this,a,d.current_tool_call_index)),c.delta.tool_calls??[]))d.current_tool_call_index!==b.index&&(d3(this,Q,"m",Y).call(this,a),null!=d.current_tool_call_index&&d3(this,Q,"m",X).call(this,a,d.current_tool_call_index)),d.current_tool_call_index=b.index;for(let b of c.delta.tool_calls??[]){let c=a.message.tool_calls?.[b.index];c?.type&&(c?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:c.function?.name,index:b.index,arguments:c.function.arguments,parsed_arguments:c.function.parsed_arguments,arguments_delta:b.function?.arguments??""}):c?.type)}}},X=function(a,b){if(d3(this,Q,"m",V).call(this,a).done_tool_calls.has(b))return;let c=a.message.tool_calls?.[b];if(!c)throw Error("no tool call snapshot");if(!c.type)throw Error("tool call snapshot missing `type`");if("function"===c.type){let a=d3(this,R,"f")?.tools?.find(a=>fv(a)&&a.function.name===c.function.name);this._emit("tool_calls.function.arguments.done",{name:c.function.name,index:b,arguments:c.function.arguments,parsed_arguments:fx(a)?a.$parseRaw(c.function.arguments):a?.function.strict?JSON.parse(c.function.arguments):null})}else c.type},Y=function(a){let b=d3(this,Q,"m",V).call(this,a);if(a.message.content&&!b.content_done){b.content_done=!0;let c=d3(this,Q,"m",$).call(this);this._emit("content.done",{content:a.message.content,parsed:c?c.$parseRaw(a.message.content):null})}a.message.refusal&&!b.refusal_done&&(b.refusal_done=!0,this._emit("refusal.done",{refusal:a.message.refusal})),a.logprobs?.content&&!b.logprobs_content_done&&(b.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:a.logprobs.content})),a.logprobs?.refusal&&!b.logprobs_refusal_done&&(b.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:a.logprobs.refusal}))},Z=function(){if(this.ended)throw new d7("stream has ended, this shouldn't happen");let a=d3(this,T,"f");if(!a)throw new d7("request ended without sending any chunks");return d2(this,T,void 0,"f"),d2(this,S,[],"f"),function(a,b){var c;let{id:d,choices:e,created:f,model:g,system_fingerprint:h,...i}=a;return c={...i,id:d,choices:e.map(({message:b,finish_reason:c,index:d,logprobs:e,...f})=>{if(!c)throw new d7(`missing finish_reason for choice ${d}`);let{content:g=null,function_call:h,tool_calls:i,...j}=b,k=b.role;if(!k)throw new d7(`missing role for choice ${d}`);if(h){let{arguments:a,name:i}=h;if(null==a)throw new d7(`missing function_call.arguments for choice ${d}`);if(!i)throw new d7(`missing function_call.name for choice ${d}`);return{...f,message:{content:g,function_call:{arguments:a,name:i},role:k,refusal:b.refusal??null},finish_reason:c,index:d,logprobs:e}}return i?{...f,index:d,finish_reason:c,logprobs:e,message:{...j,role:k,content:g,refusal:b.refusal??null,tool_calls:i.map((b,c)=>{let{function:e,type:f,id:g,...h}=b,{arguments:i,name:j,...k}=e||{};if(null==g)throw new d7(`missing choices[${d}].tool_calls[${c}].id
16
+ ${fL(a)}`);if(null==f)throw new d7(`missing choices[${d}].tool_calls[${c}].type
17
+ ${fL(a)}`);if(null==j)throw new d7(`missing choices[${d}].tool_calls[${c}].function.name
18
+ ${fL(a)}`);if(null==i)throw new d7(`missing choices[${d}].tool_calls[${c}].function.arguments
19
+ ${fL(a)}`);return{...h,id:g,type:f,function:{...k,name:j,arguments:i}}})}}:{...f,message:{...j,content:g,role:k,refusal:b.refusal??null},finish_reason:c,index:d,logprobs:e}}),created:f,model:g,object:"chat.completion",...h?{system_fingerprint:h}:{}},b&&fz(b)?fy(c,b):{...c,choices:c.choices.map(a=>(fA(a.message.tool_calls),{...a,message:{...a.message,parsed:null,...a.message.tool_calls?{tool_calls:a.message.tool_calls}:void 0}}))}}(a,d3(this,R,"f"))},$=function(){let a=d3(this,R,"f")?.response_format;return fw(a)?a:null},_=function(a){var b,c,d,e;let f=d3(this,T,"f"),{choices:g,...h}=a;for(let{delta:g,finish_reason:i,index:j,logprobs:k=null,...l}of(f?Object.assign(f,h):f=d2(this,T,{...h,choices:[]},"f"),a.choices)){let a=f.choices[j];if(a||(a=f.choices[j]={finish_reason:i,index:j,message:{},logprobs:k,...l}),k)if(a.logprobs){let{content:d,refusal:e,...f}=k;Object.assign(a.logprobs,f),d&&((b=a.logprobs).content??(b.content=[]),a.logprobs.content.push(...d)),e&&((c=a.logprobs).refusal??(c.refusal=[]),a.logprobs.refusal.push(...e))}else a.logprobs=Object.assign({},k);if(i&&(a.finish_reason=i,d3(this,R,"f")&&fz(d3(this,R,"f")))){if("length"===i)throw new ek;if("content_filter"===i)throw new el}if(Object.assign(a,l),!g)continue;let{content:h,refusal:m,function_call:n,role:o,tool_calls:p,...q}=g;if(Object.assign(a.message,q),m&&(a.message.refusal=(a.message.refusal||"")+m),o&&(a.message.role=o),n&&(a.message.function_call?(n.name&&(a.message.function_call.name=n.name),n.arguments&&((d=a.message.function_call).arguments??(d.arguments=""),a.message.function_call.arguments+=n.arguments)):a.message.function_call=n),h&&(a.message.content=(a.message.content||"")+h,!a.message.refusal&&d3(this,Q,"m",$).call(this)&&(a.message.parsed=fJ(a.message.content))),p)for(let{index:b,id:c,type:d,function:f,...g}of(a.message.tool_calls||(a.message.tool_calls=[]),p)){let h=(e=a.message.tool_calls)[b]??(e[b]={});Object.assign(h,g),c&&(h.id=c),d&&(h.type=d),f&&(h.function??(h.function={name:f.name??"",arguments:""})),f?.name&&(h.function.name=f.name),f?.arguments&&(h.function.arguments+=f.arguments,function(a,b){if(!a||!("tools"in a)||!a.tools)return!1;let c=a.tools?.find(a=>fv(a)&&a.function?.name===b.function.name);return fv(c)&&(fx(c)||c?.function.strict||!1)}(d3(this,R,"f"),h)&&(h.function.parsed_arguments=fJ(h.function.arguments)))}}return f},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("chunk",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new e$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function fL(a){return JSON.stringify(a)}class fM extends fK{static fromReadableStream(a){let b=new fM(null);return b._run(()=>b._fromReadableStream(a)),b}static runTools(a,b,c){let d=new fM(b),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,e)),d}}class fN extends fq{constructor(){super(...arguments),this.messages=new fu(this._client)}create(a,b){return this._client.post("/chat/completions",{body:a,...b,stream:a.stream??!1})}retrieve(a,b){return this._client.get(ft`/chat/completions/${a}`,b)}update(a,b,c){return this._client.post(ft`/chat/completions/${a}`,{body:b,...c})}list(a={},b){return this._client.getAPIList("/chat/completions",e8,{query:a,...b})}delete(a,b){return this._client.delete(ft`/chat/completions/${a}`,b)}parse(a,b){for(let b of a.tools??[]){if("function"!==b.type)throw new d7(`Currently only \`function\` tool types support auto-parsing; Received \`${b.type}\``);if(!0!==b.function.strict)throw new d7(`The \`${b.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}return this._client.chat.completions.create(a,{...b,headers:{...b?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(b=>fy(b,a))}runTools(a,b){return a.stream?fM.runTools(this._client,a,b):fF.runTools(this._client,a,b)}stream(a,b){return fK.createChatCompletion(this._client,a,b)}}fN.Messages=fu;class fO extends fq{constructor(){super(...arguments),this.completions=new fN(this._client)}}fO.Completions=fN;let fP=Symbol("brand.privateNullableHeaders"),fQ=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(fP in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():er(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=er(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){let d=e.toLowerCase();a.has(d)||(b.delete(e),a.add(d)),null===f?(b.delete(e),c.add(d)):(b.append(e,f),c.delete(d))}}return{[fP]:!0,values:b,nulls:c}};class fR extends fq{create(a,b){return this._client.post("/audio/speech",{body:a,...b,headers:fQ([{Accept:"application/octet-stream"},b?.headers]),__binaryResponse:!0})}}class fS extends fq{create(a,b){return this._client.post("/audio/transcriptions",fh({body:a,...b,stream:a.stream??!1,__metadata:{model:a.model}},this._client))}}class fT extends fq{create(a,b){return this._client.post("/audio/translations",fh({body:a,...b,__metadata:{model:a.model}},this._client))}}class fU extends fq{constructor(){super(...arguments),this.transcriptions=new fS(this._client),this.translations=new fT(this._client),this.speech=new fR(this._client)}}fU.Transcriptions=fS,fU.Translations=fT,fU.Speech=fR;class fV extends fq{create(a,b){return this._client.post("/batches",{body:a,...b})}retrieve(a,b){return this._client.get(ft`/batches/${a}`,b)}list(a={},b){return this._client.getAPIList("/batches",e8,{query:a,...b})}cancel(a,b){return this._client.post(ft`/batches/${a}/cancel`,b)}}class fW extends fq{create(a,b){return this._client.post("/assistants",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}retrieve(a,b){return this._client.get(ft`/assistants/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}update(a,b,c){return this._client.post(ft`/assistants/${a}`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a={},b){return this._client.getAPIList("/assistants",e8,{query:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}delete(a,b){return this._client.delete(ft`/assistants/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}}class fX extends fq{create(a,b){return this._client.post("/realtime/sessions",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}}class fY extends fq{create(a,b){return this._client.post("/realtime/transcription_sessions",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}}class fZ extends fq{constructor(){super(...arguments),this.sessions=new fX(this._client),this.transcriptionSessions=new fY(this._client)}}fZ.Sessions=fX,fZ.TranscriptionSessions=fY;class f$ extends fq{create(a,b){return this._client.post("/chatkit/sessions",{body:a,...b,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers])})}cancel(a,b){return this._client.post(ft`/chatkit/sessions/${a}/cancel`,{...b,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers])})}}class f_ extends fq{retrieve(a,b){return this._client.get(ft`/chatkit/threads/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers])})}list(a={},b){return this._client.getAPIList("/chatkit/threads",e9,{query:a,...b,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers])})}delete(a,b){return this._client.delete(ft`/chatkit/threads/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers])})}listItems(a,b={},c){return this._client.getAPIList(ft`/chatkit/threads/${a}/items`,e9,{query:b,...c,headers:fQ([{"OpenAI-Beta":"chatkit_beta=v1"},c?.headers])})}}class f0 extends fq{constructor(){super(...arguments),this.sessions=new f$(this._client),this.threads=new f_(this._client)}}f0.Sessions=f$,f0.Threads=f_;class f1 extends fq{create(a,b,c){return this._client.post(ft`/threads/${a}/messages`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(ft`/threads/${d}/messages/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(ft`/threads/${d}/messages/${a}`,{body:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a,b={},c){return this._client.getAPIList(ft`/threads/${a}/messages`,e8,{query:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}delete(a,b,c){let{thread_id:d}=b;return this._client.delete(ft`/threads/${d}/messages/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}}class f2 extends fq{retrieve(a,b,c){let{thread_id:d,run_id:e,...f}=b;return this._client.get(ft`/threads/${d}/runs/${e}/steps/${a}`,{query:f,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a,b,c){let{thread_id:d,...e}=b;return this._client.getAPIList(ft`/threads/${d}/runs/${a}/steps`,e8,{query:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}}let f3=a=>void 0!==globalThis.process?globalThis.process.env?.[a]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(a)?.trim():void 0;class f4 extends fD{constructor(){super(...arguments),aa.add(this),ac.set(this,[]),ad.set(this,{}),ae.set(this,{}),af.set(this,void 0),ag.set(this,void 0),ah.set(this,void 0),ai.set(this,void 0),aj.set(this,void 0),ak.set(this,void 0),al.set(this,void 0),am.set(this,void 0),an.set(this,void 0)}[(ac=new WeakMap,ad=new WeakMap,ae=new WeakMap,af=new WeakMap,ag=new WeakMap,ah=new WeakMap,ai=new WeakMap,aj=new WeakMap,ak=new WeakMap,al=new WeakMap,am=new WeakMap,an=new WeakMap,aa=new WeakSet,Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(a){let b=new ab;return b._run(()=>b._fromReadableStream(a)),b}async _fromReadableStream(a,b){let c=b?.signal;c&&(c.aborted&&this.controller.abort(),c.addEventListener("abort",()=>this.controller.abort())),this._connected();let d=e$.fromReadableStream(a,this.controller);for await(let a of d)d3(this,aa,"m",ao).call(this,a);if(d.controller.signal?.aborted)throw new d9;return this._addRun(d3(this,aa,"m",ap).call(this))}toReadableStream(){return new e$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(a,b,c,d){let e=new ab;return e._run(()=>e._runToolAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}async _createToolAssistantStream(a,b,c,d){let e=d?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort()));let f={...c,stream:!0},g=await a.submitToolOutputs(b,f,{...d,signal:this.controller.signal});for await(let a of(this._connected(),g))d3(this,aa,"m",ao).call(this,a);if(g.controller.signal?.aborted)throw new d9;return this._addRun(d3(this,aa,"m",ap).call(this))}static createThreadAssistantStream(a,b,c){let d=new ab;return d._run(()=>d._threadAssistantStream(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}static createAssistantStream(a,b,c,d){let e=new ab;return e._run(()=>e._runAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}currentEvent(){return d3(this,al,"f")}currentRun(){return d3(this,am,"f")}currentMessageSnapshot(){return d3(this,af,"f")}currentRunStepSnapshot(){return d3(this,an,"f")}async finalRunSteps(){return await this.done(),Object.values(d3(this,ad,"f"))}async finalMessages(){return await this.done(),Object.values(d3(this,ae,"f"))}async finalRun(){if(await this.done(),!d3(this,ag,"f"))throw Error("Final run was not received.");return d3(this,ag,"f")}async _createThreadAssistantStream(a,b,c){let d=c?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let e={...b,stream:!0},f=await a.createAndRun(e,{...c,signal:this.controller.signal});for await(let a of(this._connected(),f))d3(this,aa,"m",ao).call(this,a);if(f.controller.signal?.aborted)throw new d9;return this._addRun(d3(this,aa,"m",ap).call(this))}async _createAssistantStream(a,b,c,d){let e=d?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort()));let f={...c,stream:!0},g=await a.create(b,f,{...d,signal:this.controller.signal});for await(let a of(this._connected(),g))d3(this,aa,"m",ao).call(this,a);if(g.controller.signal?.aborted)throw new d9;return this._addRun(d3(this,aa,"m",ap).call(this))}static accumulateDelta(a,b){for(let[c,d]of Object.entries(b)){if(!a.hasOwnProperty(c)){a[c]=d;continue}let b=a[c];if(null==b||"index"===c||"type"===c){a[c]=d;continue}if("string"==typeof b&&"string"==typeof d)b+=d;else if("number"==typeof b&&"number"==typeof d)b+=d;else if(eu(b)&&eu(d))b=this.accumulateDelta(b,d);else if(Array.isArray(b)&&Array.isArray(d)){if(b.every(a=>"string"==typeof a||"number"==typeof a)){b.push(...d);continue}for(let a of d){if(!eu(a))throw Error(`Expected array delta entry to be an object but got: ${a}`);let c=a.index;if(null==c)throw console.error(a),Error("Expected array delta entry to have an `index` property");if("number"!=typeof c)throw Error(`Expected array delta entry \`index\` property to be a number but got ${c}`);let d=b[c];null==d?b.push(a):b[c]=this.accumulateDelta(d,a)}continue}else throw Error(`Unhandled record type: ${c}, deltaValue: ${d}, accValue: ${b}`);a[c]=b}return a}_addRun(a){return a}async _threadAssistantStream(a,b,c){return await this._createThreadAssistantStream(b,a,c)}async _runAssistantStream(a,b,c,d){return await this._createAssistantStream(b,a,c,d)}async _runToolAssistantStream(a,b,c,d){return await this._createToolAssistantStream(b,a,c,d)}}ab=f4,ao=function(a){if(!this.ended)switch(d2(this,al,a,"f"),d3(this,aa,"m",as).call(this,a),a.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":d3(this,aa,"m",aw).call(this,a);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":d3(this,aa,"m",ar).call(this,a);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":d3(this,aa,"m",aq).call(this,a);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},ap=function(){if(this.ended)throw new d7("stream has ended, this shouldn't happen");if(!d3(this,ag,"f"))throw Error("Final run has not been received");return d3(this,ag,"f")},aq=function(a){let[b,c]=d3(this,aa,"m",au).call(this,a,d3(this,af,"f"));for(let a of(d2(this,af,b,"f"),d3(this,ae,"f")[b.id]=b,c)){let c=b.content[a.index];c?.type=="text"&&this._emit("textCreated",c.text)}switch(a.event){case"thread.message.created":this._emit("messageCreated",a.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",a.data.delta,b),a.data.delta.content)for(let c of a.data.delta.content){if("text"==c.type&&c.text){let a=c.text,d=b.content[c.index];if(d&&"text"==d.type)this._emit("textDelta",a,d.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(c.index!=d3(this,ah,"f")){if(d3(this,ai,"f"))switch(d3(this,ai,"f").type){case"text":this._emit("textDone",d3(this,ai,"f").text,d3(this,af,"f"));break;case"image_file":this._emit("imageFileDone",d3(this,ai,"f").image_file,d3(this,af,"f"))}d2(this,ah,c.index,"f")}d2(this,ai,b.content[c.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==d3(this,ah,"f")){let b=a.data.content[d3(this,ah,"f")];if(b)switch(b.type){case"image_file":this._emit("imageFileDone",b.image_file,d3(this,af,"f"));break;case"text":this._emit("textDone",b.text,d3(this,af,"f"))}}d3(this,af,"f")&&this._emit("messageDone",a.data),d2(this,af,void 0,"f")}},ar=function(a){let b=d3(this,aa,"m",at).call(this,a);switch(d2(this,an,b,"f"),a.event){case"thread.run.step.created":this._emit("runStepCreated",a.data);break;case"thread.run.step.delta":let c=a.data.delta;if(c.step_details&&"tool_calls"==c.step_details.type&&c.step_details.tool_calls&&"tool_calls"==b.step_details.type)for(let a of c.step_details.tool_calls)a.index==d3(this,aj,"f")?this._emit("toolCallDelta",a,b.step_details.tool_calls[a.index]):(d3(this,ak,"f")&&this._emit("toolCallDone",d3(this,ak,"f")),d2(this,aj,a.index,"f"),d2(this,ak,b.step_details.tool_calls[a.index],"f"),d3(this,ak,"f")&&this._emit("toolCallCreated",d3(this,ak,"f")));this._emit("runStepDelta",a.data.delta,b);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":d2(this,an,void 0,"f"),"tool_calls"==a.data.step_details.type&&d3(this,ak,"f")&&(this._emit("toolCallDone",d3(this,ak,"f")),d2(this,ak,void 0,"f")),this._emit("runStepDone",a.data,b)}},as=function(a){d3(this,ac,"f").push(a),this._emit("event",a)},at=function(a){switch(a.event){case"thread.run.step.created":return d3(this,ad,"f")[a.data.id]=a.data,a.data;case"thread.run.step.delta":let b=d3(this,ad,"f")[a.data.id];if(!b)throw Error("Received a RunStepDelta before creation of a snapshot");let c=a.data;if(c.delta){let d=ab.accumulateDelta(b,c.delta);d3(this,ad,"f")[a.data.id]=d}return d3(this,ad,"f")[a.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":d3(this,ad,"f")[a.data.id]=a.data}if(d3(this,ad,"f")[a.data.id])return d3(this,ad,"f")[a.data.id];throw Error("No snapshot available")},au=function(a,b){let c=[];switch(a.event){case"thread.message.created":return[a.data,c];case"thread.message.delta":if(!b)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let d=a.data;if(d.delta.content)for(let a of d.delta.content)if(a.index in b.content){let c=b.content[a.index];b.content[a.index]=d3(this,aa,"m",av).call(this,a,c)}else b.content[a.index]=a,c.push(a);return[b,c];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(b)return[b,c];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},av=function(a,b){return ab.accumulateDelta(b,a)},aw=function(a){switch(d2(this,am,a.data,"f"),a.event){case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":d2(this,ag,a.data,"f"),d3(this,ak,"f")&&(this._emit("toolCallDone",d3(this,ak,"f")),d2(this,ak,void 0,"f"))}};class f5 extends fq{constructor(){super(...arguments),this.steps=new f2(this._client)}create(a,b,c){let{include:d,...e}=b;return this._client.post(ft`/threads/${a}/runs`,{query:{include:d},body:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(ft`/threads/${d}/runs/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(ft`/threads/${d}/runs/${a}`,{body:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a,b={},c){return this._client.getAPIList(ft`/threads/${a}/runs`,e8,{query:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}cancel(a,b,c){let{thread_id:d}=b;return this._client.post(ft`/threads/${d}/runs/${a}/cancel`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(d.id,{thread_id:a},c)}createAndStream(a,b,c){return f4.createAssistantStream(a,this._client.beta.threads.runs,b,c)}async poll(a,b,c){let d=fQ([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:e,response:f}=await this.retrieve(a,b,{...c,headers:{...c?.headers,...d}}).withResponse();switch(e.status){case"queued":case"in_progress":case"cancelling":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=f.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await ev(g);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return e}}}stream(a,b,c){return f4.createAssistantStream(a,this._client.beta.threads.runs,b,c)}submitToolOutputs(a,b,c){let{thread_id:d,...e}=b;return this._client.post(ft`/threads/${d}/runs/${a}/submit_tool_outputs`,{body:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(a,b,c){let d=await this.submitToolOutputs(a,b,c);return await this.poll(d.id,b,c)}submitToolOutputsStream(a,b,c){return f4.createToolAssistantStream(a,this._client.beta.threads.runs,b,c)}}f5.Steps=f2;class f6 extends fq{constructor(){super(...arguments),this.runs=new f5(this._client),this.messages=new f1(this._client)}create(a={},b){return this._client.post("/threads",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}retrieve(a,b){return this._client.get(ft`/threads/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}update(a,b,c){return this._client.post(ft`/threads/${a}`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}delete(a,b){return this._client.delete(ft`/threads/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}createAndRun(a,b){return this._client.post("/threads/runs",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers]),stream:a.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(a,b){let c=await this.createAndRun(a,b);return await this.runs.poll(c.id,{thread_id:c.thread_id},b)}createAndRunStream(a,b){return f4.createThreadAssistantStream(a,this._client.beta.threads,b)}}f6.Runs=f5,f6.Messages=f1;class f7 extends fq{constructor(){super(...arguments),this.realtime=new fZ(this._client),this.chatkit=new f0(this._client),this.assistants=new fW(this._client),this.threads=new f6(this._client)}}f7.Realtime=fZ,f7.ChatKit=f0,f7.Assistants=fW,f7.Threads=f6;class f8 extends fq{create(a,b){return this._client.post("/completions",{body:a,...b,stream:a.stream??!1})}}class f9 extends fq{retrieve(a,b,c){let{container_id:d}=b;return this._client.get(ft`/containers/${d}/files/${a}/content`,{...c,headers:fQ([{Accept:"application/binary"},c?.headers]),__binaryResponse:!0})}}class ga extends fq{constructor(){super(...arguments),this.content=new f9(this._client)}create(a,b,c){return this._client.post(ft`/containers/${a}/files`,fg({body:b,...c},this._client))}retrieve(a,b,c){let{container_id:d}=b;return this._client.get(ft`/containers/${d}/files/${a}`,c)}list(a,b={},c){return this._client.getAPIList(ft`/containers/${a}/files`,e8,{query:b,...c})}delete(a,b,c){let{container_id:d}=b;return this._client.delete(ft`/containers/${d}/files/${a}`,{...c,headers:fQ([{Accept:"*/*"},c?.headers])})}}ga.Content=f9;class gb extends fq{constructor(){super(...arguments),this.files=new ga(this._client)}create(a,b){return this._client.post("/containers",{body:a,...b})}retrieve(a,b){return this._client.get(ft`/containers/${a}`,b)}list(a={},b){return this._client.getAPIList("/containers",e8,{query:a,...b})}delete(a,b){return this._client.delete(ft`/containers/${a}`,{...b,headers:fQ([{Accept:"*/*"},b?.headers])})}}gb.Files=ga;class gc extends fq{create(a,b,c){let{include:d,...e}=b;return this._client.post(ft`/conversations/${a}/items`,{query:{include:d},body:e,...c})}retrieve(a,b,c){let{conversation_id:d,...e}=b;return this._client.get(ft`/conversations/${d}/items/${a}`,{query:e,...c})}list(a,b={},c){return this._client.getAPIList(ft`/conversations/${a}/items`,e9,{query:b,...c})}delete(a,b,c){let{conversation_id:d}=b;return this._client.delete(ft`/conversations/${d}/items/${a}`,c)}}class gd extends fq{constructor(){super(...arguments),this.items=new gc(this._client)}create(a={},b){return this._client.post("/conversations",{body:a,...b})}retrieve(a,b){return this._client.get(ft`/conversations/${a}`,b)}update(a,b,c){return this._client.post(ft`/conversations/${a}`,{body:b,...c})}delete(a,b){return this._client.delete(ft`/conversations/${a}`,b)}}gd.Items=gc;class ge extends fq{create(a,b){let c=!!a.encoding_format,d=c?a.encoding_format:"base64";c&&eY(this._client).debug("embeddings/user defined encoding_format:",a.encoding_format);let e=this._client.post("/embeddings",{body:{...a,encoding_format:d},...b});return c?e:(eY(this._client).debug("embeddings/decoding base64 embeddings from base64"),e._thenUnwrap(a=>(a&&a.data&&a.data.forEach(a=>{let b=a.embedding;a.embedding=(a=>{if("undefined"!=typeof Buffer){let b=Buffer.from(a,"base64");return Array.from(new Float32Array(b.buffer,b.byteOffset,b.length/Float32Array.BYTES_PER_ELEMENT))}{let b=atob(a),c=b.length,d=new Uint8Array(c);for(let a=0;a<c;a++)d[a]=b.charCodeAt(a);return Array.from(new Float32Array(d.buffer))}})(b)}),a)))}}class gf extends fq{retrieve(a,b,c){let{eval_id:d,run_id:e}=b;return this._client.get(ft`/evals/${d}/runs/${e}/output_items/${a}`,c)}list(a,b,c){let{eval_id:d,...e}=b;return this._client.getAPIList(ft`/evals/${d}/runs/${a}/output_items`,e8,{query:e,...c})}}class gg extends fq{constructor(){super(...arguments),this.outputItems=new gf(this._client)}create(a,b,c){return this._client.post(ft`/evals/${a}/runs`,{body:b,...c})}retrieve(a,b,c){let{eval_id:d}=b;return this._client.get(ft`/evals/${d}/runs/${a}`,c)}list(a,b={},c){return this._client.getAPIList(ft`/evals/${a}/runs`,e8,{query:b,...c})}delete(a,b,c){let{eval_id:d}=b;return this._client.delete(ft`/evals/${d}/runs/${a}`,c)}cancel(a,b,c){let{eval_id:d}=b;return this._client.post(ft`/evals/${d}/runs/${a}`,c)}}gg.OutputItems=gf;class gh extends fq{constructor(){super(...arguments),this.runs=new gg(this._client)}create(a,b){return this._client.post("/evals",{body:a,...b})}retrieve(a,b){return this._client.get(ft`/evals/${a}`,b)}update(a,b,c){return this._client.post(ft`/evals/${a}`,{body:b,...c})}list(a={},b){return this._client.getAPIList("/evals",e8,{query:a,...b})}delete(a,b){return this._client.delete(ft`/evals/${a}`,b)}}gh.Runs=gg;class gi extends fq{create(a,b){return this._client.post("/files",fh({body:a,...b},this._client))}retrieve(a,b){return this._client.get(ft`/files/${a}`,b)}list(a={},b){return this._client.getAPIList("/files",e8,{query:a,...b})}delete(a,b){return this._client.delete(ft`/files/${a}`,b)}content(a,b){return this._client.get(ft`/files/${a}/content`,{...b,headers:fQ([{Accept:"application/binary"},b?.headers]),__binaryResponse:!0})}async waitForProcessing(a,{pollInterval:b=5e3,maxWait:c=18e5}={}){let d=new Set(["processed","error","deleted"]),e=Date.now(),f=await this.retrieve(a);for(;!f.status||!d.has(f.status);)if(await ev(b),f=await this.retrieve(a),Date.now()-e>c)throw new eb({message:`Giving up on waiting for file ${a} to finish processing after ${c} milliseconds.`});return f}}class gj extends fq{}class gk extends fq{run(a,b){return this._client.post("/fine_tuning/alpha/graders/run",{body:a,...b})}validate(a,b){return this._client.post("/fine_tuning/alpha/graders/validate",{body:a,...b})}}class gl extends fq{constructor(){super(...arguments),this.graders=new gk(this._client)}}gl.Graders=gk;class gm extends fq{create(a,b,c){return this._client.getAPIList(ft`/fine_tuning/checkpoints/${a}/permissions`,e7,{body:b,method:"post",...c})}retrieve(a,b={},c){return this._client.get(ft`/fine_tuning/checkpoints/${a}/permissions`,{query:b,...c})}list(a,b={},c){return this._client.getAPIList(ft`/fine_tuning/checkpoints/${a}/permissions`,e9,{query:b,...c})}delete(a,b,c){let{fine_tuned_model_checkpoint:d}=b;return this._client.delete(ft`/fine_tuning/checkpoints/${d}/permissions/${a}`,c)}}class gn extends fq{constructor(){super(...arguments),this.permissions=new gm(this._client)}}gn.Permissions=gm;class go extends fq{list(a,b={},c){return this._client.getAPIList(ft`/fine_tuning/jobs/${a}/checkpoints`,e8,{query:b,...c})}}class gp extends fq{constructor(){super(...arguments),this.checkpoints=new go(this._client)}create(a,b){return this._client.post("/fine_tuning/jobs",{body:a,...b})}retrieve(a,b){return this._client.get(ft`/fine_tuning/jobs/${a}`,b)}list(a={},b){return this._client.getAPIList("/fine_tuning/jobs",e8,{query:a,...b})}cancel(a,b){return this._client.post(ft`/fine_tuning/jobs/${a}/cancel`,b)}listEvents(a,b={},c){return this._client.getAPIList(ft`/fine_tuning/jobs/${a}/events`,e8,{query:b,...c})}pause(a,b){return this._client.post(ft`/fine_tuning/jobs/${a}/pause`,b)}resume(a,b){return this._client.post(ft`/fine_tuning/jobs/${a}/resume`,b)}}gp.Checkpoints=go;class gq extends fq{constructor(){super(...arguments),this.methods=new gj(this._client),this.jobs=new gp(this._client),this.checkpoints=new gn(this._client),this.alpha=new gl(this._client)}}gq.Methods=gj,gq.Jobs=gp,gq.Checkpoints=gn,gq.Alpha=gl;class gr extends fq{}class gs extends fq{constructor(){super(...arguments),this.graderModels=new gr(this._client)}}gs.GraderModels=gr;class gt extends fq{createVariation(a,b){return this._client.post("/images/variations",fh({body:a,...b},this._client))}edit(a,b){return this._client.post("/images/edits",fh({body:a,...b,stream:a.stream??!1},this._client))}generate(a,b){return this._client.post("/images/generations",{body:a,...b,stream:a.stream??!1})}}class gu extends fq{retrieve(a,b){return this._client.get(ft`/models/${a}`,b)}list(a){return this._client.getAPIList("/models",e7,a)}delete(a,b){return this._client.delete(ft`/models/${a}`,b)}}class gv extends fq{create(a,b){return this._client.post("/moderations",{body:a,...b})}}class gw extends fq{accept(a,b,c){return this._client.post(ft`/realtime/calls/${a}/accept`,{body:b,...c,headers:fQ([{Accept:"*/*"},c?.headers])})}hangup(a,b){return this._client.post(ft`/realtime/calls/${a}/hangup`,{...b,headers:fQ([{Accept:"*/*"},b?.headers])})}refer(a,b,c){return this._client.post(ft`/realtime/calls/${a}/refer`,{body:b,...c,headers:fQ([{Accept:"*/*"},c?.headers])})}reject(a,b={},c){return this._client.post(ft`/realtime/calls/${a}/reject`,{body:b,...c,headers:fQ([{Accept:"*/*"},c?.headers])})}}class gx extends fq{create(a,b){return this._client.post("/realtime/client_secrets",{body:a,...b})}}class gy extends fq{constructor(){super(...arguments),this.clientSecrets=new gx(this._client),this.calls=new gw(this._client)}}function gz(a,b){let c=a.output.map(a=>{if("function_call"===a.type)return{...a,parsed_arguments:function(a,b){var c,d;let e=(c=a.tools??[],d=b.name,c.find(a=>"function"===a.type&&a.name===d));return{...b,...b,parsed_arguments:e?.$brand==="auto-parseable-tool"?e.$parseRaw(b.arguments):e?.strict?JSON.parse(b.arguments):null}}(b,a)};if("message"===a.type){let c=a.content.map(a=>{var c,d;return"output_text"===a.type?{...a,parsed:(c=b,d=a.text,c.text?.format?.type!=="json_schema"?null:"$parseRaw"in c.text?.format?(c.text?.format).$parseRaw(d):JSON.parse(d))}:a});return{...a,content:c}}return a}),d=Object.assign({},a,{output:c});return Object.getOwnPropertyDescriptor(a,"output_text")||gA(d),Object.defineProperty(d,"output_parsed",{enumerable:!0,get(){for(let a of d.output)if("message"===a.type){for(let b of a.content)if("output_text"===b.type&&null!==b.parsed)return b.parsed}return null}}),d}function gA(a){let b=[];for(let c of a.output)if("message"===c.type)for(let a of c.content)"output_text"===a.type&&b.push(a.text);a.output_text=b.join("")}gy.ClientSecrets=gx,gy.Calls=gw;class gB extends fD{constructor(a){super(),ax.add(this),ay.set(this,void 0),az.set(this,void 0),aA.set(this,void 0),d2(this,ay,a,"f")}static createResponse(a,b,c){let d=new gB(b);return d._run(()=>d._createOrRetrieveResponse(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}async _createOrRetrieveResponse(a,b,c){let d,e=c?.signal;e&&(e.aborted&&this.controller.abort(),e.addEventListener("abort",()=>this.controller.abort())),d3(this,ax,"m",aB).call(this);let f=null;for await(let e of("response_id"in b?(d=await a.responses.retrieve(b.response_id,{stream:!0},{...c,signal:this.controller.signal,stream:!0}),f=b.starting_after??null):d=await a.responses.create({...b,stream:!0},{...c,signal:this.controller.signal}),this._connected(),d))d3(this,ax,"m",aC).call(this,e,f);if(d.controller.signal?.aborted)throw new d9;return d3(this,ax,"m",aD).call(this)}[(ay=new WeakMap,az=new WeakMap,aA=new WeakMap,ax=new WeakSet,aB=function(){this.ended||d2(this,az,void 0,"f")},aC=function(a,b){if(this.ended)return;let c=(a,c)=>{(null==b||c.sequence_number>b)&&this._emit(a,c)},d=d3(this,ax,"m",aE).call(this,a);switch(c("event",a),a.type){case"response.output_text.delta":{let b=d.output[a.output_index];if(!b)throw new d7(`missing output at index ${a.output_index}`);if("message"===b.type){let d=b.content[a.content_index];if(!d)throw new d7(`missing content at index ${a.content_index}`);if("output_text"!==d.type)throw new d7(`expected content to be 'output_text', got ${d.type}`);c("response.output_text.delta",{...a,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let b=d.output[a.output_index];if(!b)throw new d7(`missing output at index ${a.output_index}`);"function_call"===b.type&&c("response.function_call_arguments.delta",{...a,snapshot:b.arguments});break}default:c(a.type,a)}},aD=function(){if(this.ended)throw new d7("stream has ended, this shouldn't happen");let a=d3(this,az,"f");if(!a)throw new d7("request ended without sending any events");d2(this,az,void 0,"f");let b=function(a,b){var c;return b&&(c=b,fw(c.text?.format))?gz(a,b):{...a,output_parsed:null,output:a.output.map(a=>"function_call"===a.type?{...a,parsed_arguments:null}:"message"===a.type?{...a,content:a.content.map(a=>({...a,parsed:null}))}:a)}}(a,d3(this,ay,"f"));return d2(this,aA,b,"f"),b},aE=function(a){let b=d3(this,az,"f");if(!b){if("response.created"!==a.type)throw new d7(`When snapshot hasn't been set yet, expected 'response.created' event, got ${a.type}`);return d2(this,az,a.response,"f")}switch(a.type){case"response.output_item.added":b.output.push(a.item);break;case"response.content_part.added":{let c=b.output[a.output_index];if(!c)throw new d7(`missing output at index ${a.output_index}`);let d=c.type,e=a.part;"message"===d&&"reasoning_text"!==e.type?c.content.push(e):"reasoning"===d&&"reasoning_text"===e.type&&(c.content||(c.content=[]),c.content.push(e));break}case"response.output_text.delta":{let c=b.output[a.output_index];if(!c)throw new d7(`missing output at index ${a.output_index}`);if("message"===c.type){let b=c.content[a.content_index];if(!b)throw new d7(`missing content at index ${a.content_index}`);if("output_text"!==b.type)throw new d7(`expected content to be 'output_text', got ${b.type}`);b.text+=a.delta}break}case"response.function_call_arguments.delta":{let c=b.output[a.output_index];if(!c)throw new d7(`missing output at index ${a.output_index}`);"function_call"===c.type&&(c.arguments+=a.delta);break}case"response.reasoning_text.delta":{let c=b.output[a.output_index];if(!c)throw new d7(`missing output at index ${a.output_index}`);if("reasoning"===c.type){let b=c.content?.[a.content_index];if(!b)throw new d7(`missing content at index ${a.content_index}`);if("reasoning_text"!==b.type)throw new d7(`expected content to be 'reasoning_text', got ${b.type}`);b.text+=a.delta}break}case"response.completed":d2(this,az,a.response,"f")}return b},Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=b.shift();d?d.resolve(c):a.push(c)}),this.on("end",()=>{for(let a of(c=!0,b))a.resolve(void 0);b.length=0}),this.on("abort",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),this.on("error",a=>{for(let d of(c=!0,b))d.reject(a);b.length=0}),{next:async()=>a.length?{value:a.shift(),done:!1}:c?{value:void 0,done:!0}:new Promise((a,c)=>b.push({resolve:a,reject:c})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let a=d3(this,aA,"f");if(!a)throw new d7("stream ended without producing a ChatCompletion");return a}}class gC extends fq{list(a,b={},c){return this._client.getAPIList(ft`/responses/${a}/input_items`,e8,{query:b,...c})}}class gD extends fq{count(a={},b){return this._client.post("/responses/input_tokens",{body:a,...b})}}class gE extends fq{constructor(){super(...arguments),this.inputItems=new gC(this._client),this.inputTokens=new gD(this._client)}create(a,b){return this._client.post("/responses",{body:a,...b,stream:a.stream??!1})._thenUnwrap(a=>("object"in a&&"response"===a.object&&gA(a),a))}retrieve(a,b={},c){return this._client.get(ft`/responses/${a}`,{query:b,...c,stream:b?.stream??!1})._thenUnwrap(a=>("object"in a&&"response"===a.object&&gA(a),a))}delete(a,b){return this._client.delete(ft`/responses/${a}`,{...b,headers:fQ([{Accept:"*/*"},b?.headers])})}parse(a,b){return this._client.responses.create(a,b)._thenUnwrap(b=>gz(b,a))}stream(a,b){return gB.createResponse(this._client,a,b)}cancel(a,b){return this._client.post(ft`/responses/${a}/cancel`,b)}compact(a,b){return this._client.post("/responses/compact",{body:a,...b})}}gE.InputItems=gC,gE.InputTokens=gD;class gF extends fq{retrieve(a,b){return this._client.get(ft`/skills/${a}/content`,{...b,headers:fQ([{Accept:"application/binary"},b?.headers]),__binaryResponse:!0})}}class gG extends fq{retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(ft`/skills/${d}/versions/${a}/content`,{...c,headers:fQ([{Accept:"application/binary"},c?.headers]),__binaryResponse:!0})}}class gH extends fq{constructor(){super(...arguments),this.content=new gG(this._client)}create(a,b={},c){return this._client.post(ft`/skills/${a}/versions`,fg({body:b,...c},this._client))}retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(ft`/skills/${d}/versions/${a}`,c)}list(a,b={},c){return this._client.getAPIList(ft`/skills/${a}/versions`,e8,{query:b,...c})}delete(a,b,c){let{skill_id:d}=b;return this._client.delete(ft`/skills/${d}/versions/${a}`,c)}}gH.Content=gG;class gI extends fq{constructor(){super(...arguments),this.content=new gF(this._client),this.versions=new gH(this._client)}create(a={},b){return this._client.post("/skills",fg({body:a,...b},this._client))}retrieve(a,b){return this._client.get(ft`/skills/${a}`,b)}update(a,b,c){return this._client.post(ft`/skills/${a}`,{body:b,...c})}list(a={},b){return this._client.getAPIList("/skills",e8,{query:a,...b})}delete(a,b){return this._client.delete(ft`/skills/${a}`,b)}}gI.Content=gF,gI.Versions=gH;class gJ extends fq{create(a,b,c){return this._client.post(ft`/uploads/${a}/parts`,fh({body:b,...c},this._client))}}class gK extends fq{constructor(){super(...arguments),this.parts=new gJ(this._client)}create(a,b){return this._client.post("/uploads",{body:a,...b})}cancel(a,b){return this._client.post(ft`/uploads/${a}/cancel`,b)}complete(a,b,c){return this._client.post(ft`/uploads/${a}/complete`,{body:b,...c})}}gK.Parts=gJ;let gL=async a=>{let b=await Promise.allSettled(a),c=b.filter(a=>"rejected"===a.status);if(c.length){for(let a of c)console.error(a.reason);throw Error(`${c.length} promise(s) failed - see the above errors`)}let d=[];for(let a of b)"fulfilled"===a.status&&d.push(a.value);return d};class gM extends fq{create(a,b,c){return this._client.post(ft`/vector_stores/${a}/file_batches`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(ft`/vector_stores/${d}/file_batches/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}cancel(a,b,c){let{vector_store_id:d}=b;return this._client.post(ft`/vector_stores/${d}/file_batches/${a}/cancel`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}async createAndPoll(a,b,c){let d=await this.create(a,b);return await this.poll(a,d.id,c)}listFiles(a,b,c){let{vector_store_id:d,...e}=b;return this._client.getAPIList(ft`/vector_stores/${d}/file_batches/${a}/files`,e8,{query:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}async poll(a,b,c){let d=fQ([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:e,response:f}=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse();switch(e.status){case"in_progress":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=f.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await ev(g);break;case"failed":case"cancelled":case"completed":return e}}}async uploadAndPoll(a,{files:b,fileIds:c=[]},d){if(null==b||0==b.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let e=Math.min(d?.maxConcurrency??5,b.length),f=this._client,g=b.values(),h=[...c];async function i(a){for(let b of a){let a=await f.files.create({file:b,purpose:"assistants"},d);h.push(a.id)}}let j=Array(e).fill(g).map(i);return await gL(j),await this.createAndPoll(a,{file_ids:h})}}class gN extends fq{create(a,b,c){return this._client.post(ft`/vector_stores/${a}/files`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(ft`/vector_stores/${d}/files/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}update(a,b,c){let{vector_store_id:d,...e}=b;return this._client.post(ft`/vector_stores/${d}/files/${a}`,{body:e,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a,b={},c){return this._client.getAPIList(ft`/vector_stores/${a}/files`,e8,{query:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}delete(a,b,c){let{vector_store_id:d}=b;return this._client.delete(ft`/vector_stores/${d}/files/${a}`,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(a,d.id,c)}async poll(a,b,c){let d=fQ([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let e=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse(),f=e.data;switch(f.status){case"in_progress":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=e.response.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await ev(g);break;case"failed":case"completed":return f}}}async upload(a,b,c){let d=await this._client.files.create({file:b,purpose:"assistants"},c);return this.create(a,{file_id:d.id},c)}async uploadAndPoll(a,b,c){let d=await this.upload(a,b,c);return await this.poll(a,d.id,c)}content(a,b,c){let{vector_store_id:d}=b;return this._client.getAPIList(ft`/vector_stores/${d}/files/${a}/content`,e7,{...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}}class gO extends fq{constructor(){super(...arguments),this.files=new gN(this._client),this.fileBatches=new gM(this._client)}create(a,b){return this._client.post("/vector_stores",{body:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}retrieve(a,b){return this._client.get(ft`/vector_stores/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}update(a,b,c){return this._client.post(ft`/vector_stores/${a}`,{body:b,...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}list(a={},b){return this._client.getAPIList("/vector_stores",e8,{query:a,...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}delete(a,b){return this._client.delete(ft`/vector_stores/${a}`,{...b,headers:fQ([{"OpenAI-Beta":"assistants=v2"},b?.headers])})}search(a,b,c){return this._client.getAPIList(ft`/vector_stores/${a}/search`,e7,{body:b,method:"post",...c,headers:fQ([{"OpenAI-Beta":"assistants=v2"},c?.headers])})}}gO.Files=gN,gO.FileBatches=gM;class gP extends fq{create(a,b){return this._client.post("/videos",fh({body:a,...b},this._client))}retrieve(a,b){return this._client.get(ft`/videos/${a}`,b)}list(a={},b){return this._client.getAPIList("/videos",e9,{query:a,...b})}delete(a,b){return this._client.delete(ft`/videos/${a}`,b)}createCharacter(a,b){return this._client.post("/videos/characters",fh({body:a,...b},this._client))}downloadContent(a,b={},c){return this._client.get(ft`/videos/${a}/content`,{query:b,...c,headers:fQ([{Accept:"application/binary"},c?.headers]),__binaryResponse:!0})}edit(a,b){return this._client.post("/videos/edits",fh({body:a,...b},this._client))}extend(a,b){return this._client.post("/videos/extensions",fh({body:a,...b},this._client))}getCharacter(a,b){return this._client.get(ft`/videos/characters/${a}`,b)}remix(a,b,c){return this._client.post(ft`/videos/${a}/remix`,fg({body:b,...c},this._client))}}class gQ extends fq{constructor(){super(...arguments),aF.add(this)}async unwrap(a,b,c=this._client.webhookSecret,d=300){return await this.verifySignature(a,b,c,d),JSON.parse(a)}async verifySignature(a,b,c=this._client.webhookSecret,d=300){if("undefined"==typeof crypto||"function"!=typeof crypto.subtle.importKey||"function"!=typeof crypto.subtle.verify)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");d3(this,aF,"m",aG).call(this,c);let e=fQ([b]).values,f=d3(this,aF,"m",aH).call(this,e,"webhook-signature"),g=d3(this,aF,"m",aH).call(this,e,"webhook-timestamp"),h=d3(this,aF,"m",aH).call(this,e,"webhook-id"),i=parseInt(g,10);if(isNaN(i))throw new em("Invalid webhook timestamp format");let j=Math.floor(Date.now()/1e3);if(j-i>d)throw new em("Webhook timestamp is too old");if(i>j+d)throw new em("Webhook timestamp is too new");let k=f.split(" ").map(a=>a.startsWith("v1,")?a.substring(3):a),l=c.startsWith("whsec_")?Buffer.from(c.replace("whsec_",""),"base64"):Buffer.from(c,"utf-8"),m=h?`${h}.${g}.${a}`:`${g}.${a}`,n=await crypto.subtle.importKey("raw",l,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let a of k)try{let b=Buffer.from(a,"base64");if(await crypto.subtle.verify("HMAC",n,b,new TextEncoder().encode(m)))return}catch{continue}throw new em("The given webhook signature does not match the expected signature")}}aF=new WeakSet,aG=function(a){if("string"!=typeof a||0===a.length)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},aH=function(a,b){if(!a)throw Error("Headers are required");let c=a.get(b);if(null==c)throw Error(`Missing required header: ${b}`);return c};let gR="workload-identity-auth";class gS{constructor({baseURL:a=f3("OPENAI_BASE_URL"),apiKey:b=f3("OPENAI_API_KEY"),organization:c=f3("OPENAI_ORG_ID")??null,project:d=f3("OPENAI_PROJECT_ID")??null,webhookSecret:e=f3("OPENAI_WEBHOOK_SECRET")??null,workloadIdentity:f,...g}={}){if(aI.add(this),aK.set(this,void 0),this.completions=new f8(this),this.chat=new fO(this),this.embeddings=new ge(this),this.files=new gi(this),this.images=new gt(this),this.audio=new fU(this),this.moderations=new gv(this),this.models=new gu(this),this.fineTuning=new gq(this),this.graders=new gs(this),this.vectorStores=new gO(this),this.webhooks=new gQ(this),this.beta=new f7(this),this.batches=new fV(this),this.uploads=new gK(this),this.responses=new gE(this),this.realtime=new gy(this),this.conversations=new gd(this),this.evals=new gh(this),this.containers=new gb(this),this.skills=new gI(this),this.videos=new gP(this),f){if(b&&b!==gR)throw new d7("The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.");b=gR}else if(void 0===b)throw new d7("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.");let h={apiKey:b,organization:c,project:d,webhookSecret:e,workloadIdentity:f,...g,baseURL:a||"https://api.openai.com/v1"};if(!h.dangerouslyAllowBrowser&&"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator)throw new d7("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");this.baseURL=h.baseURL,this.timeout=h.timeout??aJ.DEFAULT_TIMEOUT,this.logger=h.logger??console;let i="warn";this.logLevel=i,this.logLevel=eT(h.logLevel,"ClientOptions.logLevel",this)??eT(f3("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??i,this.fetchOptions=h.fetchOptions,this.maxRetries=h.maxRetries??2,this.fetch=h.fetch??ez(),d2(this,aK,eE,"f"),this._options=h,f&&(this._workloadIdentityAuth=new fb(f,this.fetch)),this.apiKey="string"==typeof b?b:"Missing Key",this.organization=c,this.project=d,this.webhookSecret=e}withOptions(a){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...a})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:a,nulls:b}){}async authHeaders(a){return fQ([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=eN){let b;if(void 0!==a.allowEmptyArrays&&"boolean"!=typeof a.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==a.encodeDotInKeys&&"boolean"!=typeof a.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==a.encoder&&void 0!==a.encoder&&"function"!=typeof a.encoder)throw TypeError("Encoder has to be a function.");let c=a.charset||eN.charset;if(void 0!==a.charset&&"utf-8"!==a.charset&&"iso-8859-1"!==a.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let d=eF;if(void 0!==a.format){if(!eI(eH,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=eH[d],f=eN.filter;if(("function"==typeof a.filter||eq(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in eL?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":eN.arrayFormat,"commaRoundTrip"in a&&"boolean"!=typeof a.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let g=void 0===a.allowDots?!0==!!a.encodeDotInKeys||eN.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:eN.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:eN.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:eN.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?eN.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:eN.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:eN.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:eN.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:eN.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:eN.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:eN.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:eN.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):eq(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=eL[e.arrayFormat],h="comma"===g&&e.commaRoundTrip;c||(c=Object.keys(d)),e.sort&&c.sort(e.sort);let i=new WeakMap;for(let a=0;a<c.length;++a){let b=c[a];e.skipNulls&&null===d[b]||eM(f,function a(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var t,u;let v,w=b,x=s,y=0,A=!1;for(;void 0!==(x=x.get(eO))&&!A;){let a=x.get(b);if(y+=1,void 0!==a)if(a===y)throw RangeError("Cyclic object value");else A=!0;void 0===x.get(eO)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&eq(w)&&(w=eK(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,eN.encoder,r,"key",o):c;w=""}if("string"==typeof(t=w)||"number"==typeof t||"boolean"==typeof t||"symbol"==typeof t||"bigint"==typeof t||(u=w)&&"object"==typeof u&&u.constructor&&u.constructor.isBuffer&&u.constructor.isBuffer(u)){if(j){let a=q?c:j(c,eN.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,eN.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let B=[];if(void 0===w)return B;if("comma"===d&&eq(w))q&&j&&(w=eK(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(eq(k))v=k;else{let a=Object.keys(w);v=l?a.sort(l):a}let C=i?String(c).replace(/\./g,"%2E"):String(c),D=e&&eq(w)&&1===w.length?C+"[]":C;if(f&&eq(w)&&0===w.length)return D+"[]";for(let c=0;c<v.length;++c){let t=v[c],u="object"==typeof t&&void 0!==t.value?t.value:w[t];if(h&&null===u)continue;let x=m&&i?t.replace(/\./g,"%2E"):t,A=eq(w)?"function"==typeof d?d(D,x):D:D+(m?"."+x:"["+x+"]");s.set(b,y);let C=new WeakMap;C.set(eO,s),eM(B,a(u,A,d,e,f,g,h,i,"comma"===d&&q&&eq(w)?null:j,k,l,m,n,o,p,q,r,C))}return B}(d[b],b,g,h,e.allowEmptyArrays,e.strictNullHandling,e.skipNulls,e.encodeDotInKeys,e.encode?e.encoder:null,e.filter,e.sort,e.allowDots,e.serializeDate,e.format,e.formatter,e.encodeValuesOnly,e.charset,i))}let j=f.join(e.delimiter),k=!0===e.addQueryPrefix?"?":"";return e.charsetSentinel&&("iso-8859-1"===e.charset?k+="utf8=%26%2310003%3B&":k+="utf8=%E2%9C%93&"),j.length>0?k+j:""}(a,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${ew}`}defaultIdempotencyKey(){return`stainless-node-retry-${d4()}`}makeStatusError(a,b,c,d){return d8.generate(a,b,c,d)}async _callApiKey(){let a,b=this._options.apiKey;if("function"!=typeof b)return!1;try{a=await b()}catch(a){if(a instanceof d7)throw a;throw new d7(`Failed to get token from 'apiKey' function: ${a.message}`,{cause:a})}if("string"!=typeof a||!a)throw new d7(`Expected 'apiKey' function argument to return a string but it returned ${a}`);return this.apiKey=a,!0}buildURL(a,b,c){let d=!d3(this,aI,"m",aL).call(this)&&c||this.baseURL,e=new URL(ep.test(a)?a:d+(d.endsWith("/")&&a.startsWith("/")?a.slice(1):a)),f=this.defaultQuery(),g=Object.fromEntries(e.searchParams);return et(f)&&et(g)||(b={...g,...f,...b}),"object"==typeof b&&b&&!Array.isArray(b)&&(e.search=this.stringifyQuery(b)),e.toString()}async prepareOptions(a){await this._callApiKey()}async prepareRequest(a,{url:b,options:c}){}get(a,b){return this.methodRequest("get",a,b)}post(a,b){return this.methodRequest("post",a,b)}patch(a,b){return this.methodRequest("patch",a,b)}put(a,b){return this.methodRequest("put",a,b)}delete(a,b){return this.methodRequest("delete",a,b)}methodRequest(a,b,c){return this.request(Promise.resolve(c).then(c=>({method:a,path:b,...c})))}request(a,b=null){return new e4(this,this.makeRequest(a,b,void 0))}async makeRequest(a,b,c){let d=await a,e=d.maxRetries??this.maxRetries;null==b&&(b=e),await this.prepareOptions(d);let{req:f,url:g,timeout:h}=await this.buildRequest(d,{retryCount:e-b});await this.prepareRequest(f,{url:g,options:d});let i="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),j=void 0===c?"":`, retryOf: ${c}`,k=Date.now();if(eY(this).debug(`[${i}] sending request`,eZ({retryOfRequestLogID:c,method:d.method,url:g,options:d,headers:f.headers})),d.signal?.aborted)throw new d9;let l=new AbortController,m=await this.fetchWithAuth(g,f,h,l).catch(d6),n=Date.now();if(m instanceof globalThis.Error){let a=`retrying, ${b} attempts remaining`;if(d.signal?.aborted)throw new d9;let e=d5(m)||/timed? ?out/i.test(String(m)+("cause"in m?String(m.cause):""));if(b)return eY(this).info(`[${i}] connection ${e?"timed out":"failed"} - ${a}`),eY(this).debug(`[${i}] connection ${e?"timed out":"failed"} (${a})`,eZ({retryOfRequestLogID:c,url:g,durationMs:n-k,message:m.message})),this.retryRequest(d,b,c??i);if(eY(this).info(`[${i}] connection ${e?"timed out":"failed"} - error; no more retries left`),eY(this).debug(`[${i}] connection ${e?"timed out":"failed"} (error; no more retries left)`,eZ({retryOfRequestLogID:c,url:g,durationMs:n-k,message:m.message})),m instanceof en||m instanceof eo)throw m;if(e)throw new eb;throw new ea({cause:m})}let o=[...m.headers.entries()].filter(([a])=>"x-request-id"===a).map(([a,b])=>", "+a+": "+JSON.stringify(b)).join(""),p=`[${i}${j}${o}] ${f.method} ${g} ${m.ok?"succeeded":"failed"} with status ${m.status} in ${n-k}ms`;if(!m.ok){if(401===m.status&&this._workloadIdentityAuth&&!d.__metadata?.hasStreamingBody&&!d.__metadata?.workloadIdentityTokenRefreshed)return await eD(m.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...d,__metadata:{...d.__metadata,workloadIdentityTokenRefreshed:!0}},b,c??i);let a=await this.shouldRetry(m);if(b&&a){let a=`retrying, ${b} attempts remaining`;return await eD(m.body),eY(this).info(`${p} - ${a}`),eY(this).debug(`[${i}] response error (${a})`,eZ({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,durationMs:n-k})),this.retryRequest(d,b,c??i,m.headers)}let e=a?"error; no more retries left":"error; not retryable";eY(this).info(`${p} - ${e}`);let f=await m.text().catch(a=>d6(a).message),g=(a=>{try{return JSON.parse(a)}catch(a){return}})(f),h=g?void 0:f;throw eY(this).debug(`[${i}] response error (${e})`,eZ({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,message:h,durationMs:Date.now()-k})),this.makeStatusError(m.status,g,h,m.headers)}return eY(this).info(p),eY(this).debug(`[${i}] response start`,eZ({retryOfRequestLogID:c,url:m.url,status:m.status,headers:m.headers,durationMs:n-k})),{response:m,options:d,controller:l,requestLogID:i,retryOfRequestLogID:c,startTime:k}}getAPIList(a,b,c){return this.requestAPIList(b,c&&"then"in c?c.then(b=>({method:"get",path:a,...b})):{method:"get",path:a,...c})}requestAPIList(a,b){return new e6(this,this.makeRequest(b,null,void 0),a)}async fetchWithAuth(a,b,c,d){if(this._workloadIdentityAuth){let a=b.headers,c=a.get("Authorization");if(!c||c===`Bearer ${gR}`){let b=await this._workloadIdentityAuth.getToken();a.set("Authorization",`Bearer ${b}`)}}return await this.fetchWithTimeout(a,b,c,d)}async fetchWithTimeout(a,b,c,d){let{signal:e,method:f,...g}=b||{},h=this._makeAbort(d);e&&e.addEventListener("abort",h,{once:!0});let i=setTimeout(h,c),j=globalThis.ReadableStream&&g.body instanceof globalThis.ReadableStream||"object"==typeof g.body&&null!==g.body&&Symbol.asyncIterator in g.body,k={signal:d.signal,...j?{duplex:"half"}:{},method:"GET",...g};f&&(k.method=f.toUpperCase());try{return await this.fetch.call(void 0,a,k)}finally{clearTimeout(i)}}async shouldRetry(a){let b=a.headers.get("x-should-retry");return"true"===b||"false"!==b&&(408===a.status||409===a.status||429===a.status||!!(a.status>=500))}async retryRequest(a,b,c,d){let e,f=d?.get("retry-after-ms");if(f){let a=parseFloat(f);Number.isNaN(a)||(e=a)}let g=d?.get("retry-after");if(g&&!e){let a=parseFloat(g);e=Number.isNaN(a)?Date.parse(g)-Date.now():1e3*a}if(void 0===e){let c=a.maxRetries??this.maxRetries;e=this.calculateDefaultRetryTimeoutMillis(b,c)}return await ev(e),this.makeRequest(a,b-1,c)}calculateDefaultRetryTimeoutMillis(a,b){return Math.min(.5*Math.pow(2,b-a),8)*(1-.25*Math.random())*1e3}async buildRequest(a,{retryCount:b=0}={}){let c={...a},{method:d,path:e,query:f,defaultBaseURL:g}=c,h=this.buildURL(e,f,g);"timeout"in c&&((a,b)=>{if("number"!=typeof b||!Number.isInteger(b))throw new d7(`${a} must be an integer`);if(b<0)throw new d7(`${a} must be a positive integer`)})("timeout",c.timeout),c.timeout=c.timeout??this.timeout;let{bodyHeaders:i,body:j,isStreamingBody:k}=this.buildBody({options:c});k&&(a.__metadata={...a.__metadata,hasStreamingBody:!0});let l=await this.buildHeaders({options:a,method:d,bodyHeaders:i,retryCount:b});return{req:{method:d,headers:l,...c.signal&&{signal:c.signal},...globalThis.ReadableStream&&j instanceof globalThis.ReadableStream&&{duplex:"half"},...j&&{body:j},...this.fetchOptions??{},...c.fetchOptions??{}},url:h,timeout:c.timeout}}async buildHeaders({options:a,method:b,bodyHeaders:c,retryCount:d}){let e={};this.idempotencyHeader&&"get"!==b&&(a.idempotencyKey||(a.idempotencyKey=this.defaultIdempotencyKey()),e[this.idempotencyHeader]=a.idempotencyKey);let g=fQ([e,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(d),...a.timeout?{"X-Stainless-Timeout":String(Math.trunc(a.timeout/1e3))}:{},...f??(f=(()=>{let a="undefined"!=typeof Deno&&null!=Deno.build?"deno":"undefined"!=typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ew,"X-Stainless-OS":ey(Deno.build.os),"X-Stainless-Arch":ex(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ew,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ew,"X-Stainless-OS":ey(globalThis.process.platform??"unknown"),"X-Stainless-Arch":ex(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ew,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ew,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})()),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(a),this._options.defaultHeaders,c,a.headers]);return this.validateHeaders(g),g.values}_makeAbort(a){return()=>a.abort()}buildBody({options:{body:a,headers:b}}){if(!a)return{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let c=fQ([b]),d=void 0!==globalThis.ReadableStream&&a instanceof globalThis.ReadableStream,e=!d&&("string"==typeof a||a instanceof ArrayBuffer||ArrayBuffer.isView(a)||void 0!==globalThis.Blob&&a instanceof globalThis.Blob||a instanceof URLSearchParams||a instanceof FormData);return ArrayBuffer.isView(a)||a instanceof ArrayBuffer||a instanceof DataView||"string"==typeof a&&c.values.has("content-type")||globalThis.Blob&&a instanceof globalThis.Blob||a instanceof FormData||a instanceof URLSearchParams||d?{bodyHeaders:void 0,body:a,isStreamingBody:!e}:"object"==typeof a&&(Symbol.asyncIterator in a||Symbol.iterator in a&&"next"in a&&"function"==typeof a.next)?{bodyHeaders:void 0,body:eB(a),isStreamingBody:!0}:"object"==typeof a&&"application/x-www-form-urlencoded"===c.values.get("content-type")?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(a),isStreamingBody:!1}:{...d3(this,aK,"f").call(this,{body:a,headers:c}),isStreamingBody:!1}}}aJ=gS,aK=new WeakMap,aI=new WeakSet,aL=function(){return"https://api.openai.com/v1"!==this.baseURL},gS.OpenAI=aJ,gS.DEFAULT_TIMEOUT=6e5,gS.OpenAIError=d7,gS.APIError=d8,gS.APIConnectionError=ea,gS.APIConnectionTimeoutError=eb,gS.APIUserAbortError=d9,gS.NotFoundError=ef,gS.ConflictError=eg,gS.RateLimitError=ei,gS.BadRequestError=ec,gS.AuthenticationError=ed,gS.InternalServerError=ej,gS.PermissionDeniedError=ee,gS.UnprocessableEntityError=eh,gS.InvalidWebhookSignatureError=em,gS.toFile=fo,gS.Completions=f8,gS.Chat=fO,gS.Embeddings=ge,gS.Files=gi,gS.Images=gt,gS.Audio=fU,gS.Moderations=gv,gS.Models=gu,gS.FineTuning=gq,gS.Graders=gs,gS.VectorStores=gO,gS.Webhooks=gQ,gS.Beta=f7,gS.Batches=fV,gS.Uploads=gK,gS.Responses=gE,gS.Realtime=gy,gS.Conversations=gd,gS.Evals=gh,gS.Containers=gb,gS.Skills=gI,gS.Videos=gP;var gT=c(92044),gU=class{fileOptions;constructor(a,b={}){this.client=a,this.fileOptions=b,du.instrument(this,"Files")}async upload({file:a,toolSlug:b,toolkitSlug:c}){return await dS(a,{toolSlug:b,toolkitSlug:c,client:this.client,sensitiveFileUploadProtection:this.fileOptions.sensitiveFileUploadProtection,fileUploadPathDenySegments:this.fileOptions.fileUploadPathDenySegments})}async download({toolSlug:a,s3Url:b,mimeType:c}){return await dT({toolSlug:a,s3Url:b,mimeType:c,fileDownloadDir:this.fileOptions.fileDownloadDir})}};let gV=Symbol("Original index");function gW(a,b){let c;if(0===a.allOf.length)return z.never();if(1===a.allOf.length){let c=a.allOf[0];return g0(c,{...b,path:[...b.path,"allOf",c[gV]]})}let[d,e]=[(c=(a=>{let b=[];for(let c=0;c<a.length;c++){let d=a[c];if("boolean"==typeof d)b.push(d?{[gV]:c}:{[gV]:c,not:{}});else{if(gV in d)return a;b.push({...d,[gV]:c})}}return b})(a.allOf)).slice(0,c.length/2),c.slice(c.length/2)];return z.intersection(gW({allOf:d},b),gW({allOf:e},b))}let gX=(a,b)=>a.anyOf.length?1===a.anyOf.length?g0(a.anyOf[0],{...b,path:[...b.path,"anyOf",0]}):z.union(a.anyOf.map((a,c)=>g0(a,{...b,path:[...b.path,"anyOf",c]}))):z.any();function gY(a,b,c,d){let e=b[c];return void 0!==e?d(a,e,b.errorMessage?.[c]):a}let gZ={an:{object:a=>"object"===a.type||!a.type&&(void 0!==a.properties||void 0!==a.additionalProperties||void 0!==a.patternProperties),array:a=>"array"===a.type,anyOf:a=>void 0!==a.anyOf,allOf:a=>void 0!==a.allOf,enum:a=>void 0!==a.enum},a:{nullable:a=>!0===a.nullable,multipleType:a=>Array.isArray(a.type),not:a=>void 0!==a.not,const:a=>void 0!==a.const,primitive:(a,b)=>a.type===b,conditional:a=>!!("if"in a&&a.if&&"then"in a&&"else"in a&&a.then&&a.else),oneOf:a=>void 0!==a.oneOf}},g$=(a,...b)=>Object.keys(a).reduce((c,d)=>(b.includes(d)||(c[d]=a[d]),c),{}),g_=(a,b)=>a.oneOf.length?1===a.oneOf.length?g0(a.oneOf[0],{...b,path:[...b.path,"oneOf",0]}):z.any().superRefine((c,d)=>{let e=a.oneOf.map((a,c)=>g0(a,{...b,path:[...b.path,"oneOf",c]})),f=e.reduce((a,b)=>(b=>b.error?[...a,b.error]:a)(b.safeParse(c)),[]);e.length-f.length!=1&&d.addIssue({path:d.path,code:"invalid_union",unionErrors:f,message:"Invalid input: Should pass single schema"})}):z.any(),g0=(a,b={seen:new Map,path:[]},c)=>{if("object"!=typeof a)return a?z$1.any():z$1.never();if(b.parserOverride){let c=b.parserOverride(a,b);if(c instanceof z$1.ZodType)return c}let d=b.seen.get(a);if(d){if(void 0!==d.r)return d.r;if(void 0===b.depth||d.n>=b.depth)return z$1.any();d.n+=1}else d={r:void 0,n:0},b.seen.set(a,d);let e=((a,b)=>{if(gZ.a.nullable(a))return((a,b)=>{let c=null===a.default,d=g0(c?g$(g$(a,"nullable"),"default"):g$(a,"nullable"),b,!0).nullable();return c?d.default(null):d})(a,b);if(gZ.an.object(a))return function(a,b){let c,d=Object.keys(a.patternProperties??{}).length>0,e="object"===a.type?a:{...a,type:"object"},f=function(a,b){if(!a.properties)return z$1.object({});let c=Object.keys(a.properties);if(0===c.length)return z$1.object({});let d={};for(let e of c){let c=a.properties[e],f=g0(c,{...b,path:[...b.path,"properties",e]}),g=!!Array.isArray(a.required)&&a.required.includes(e);if(!g&&c&&"object"==typeof c&&"default"in c)if(null===c.default){let a=c.anyOf&&Array.isArray(c.anyOf)&&c.anyOf.some(a=>"object"==typeof a&&null!==a&&"null"===a.type),b=c.oneOf&&Array.isArray(c.oneOf)&&c.oneOf.some(a=>"object"==typeof a&&null!==a&&"null"===a.type),g="nullable"in c&&!0===c.nullable;a||b||g?d[e]=f.optional().default(null):d[e]=f.nullable().optional().default(null)}else d[e]=f.optional().default(c.default);else d[e]=g?f:f.optional()}return z$1.object(d)}(e,b),g=f,h=void 0!==e.additionalProperties?g0(e.additionalProperties,{...b,path:[...b.path,"additionalProperties"]}):void 0,i=!0===e.additionalProperties;if(e.patternProperties){let a=Object.fromEntries(Object.entries(e.patternProperties).map(([a,c])=>[a,g0(c,{...b,path:[...b.path,"patternProperties",a]})])),c=Object.values(a);g=f?h?f.catchall(z$1.union([...c,h])):Object.keys(a).length>1?f.catchall(z$1.union(c)):f.catchall(c[0]):h?z$1.record(z$1.union([...c,h])):c.length>1?z$1.record(z$1.union(c)):z$1.record(c[0]);let d=new Set(Object.keys(e.properties??{}));g=g.superRefine((b,c)=>{for(let f in b){let g=d.has(f);for(let d in e.patternProperties){let e=new RegExp(d);if(f.match(e)){g=!0;let e=a[d].safeParse(b[f]);e.success||c.addIssue({path:[...c.path,f],code:"custom",message:`Invalid input: Key matching regex /${f}/ must match schema`,params:{issues:e.error.issues}})}}if(!g&&h){let a=h.safeParse(b[f]);a.success||c.addIssue({path:[...c.path,f],code:"custom",message:"Invalid input: must match catchall schema",params:{issues:a.error.issues}})}}})}return c=f?d?g:h?h instanceof z$1.ZodNever?f.strict():i?f.passthrough():f.catchall(h):f.strict():d?g:h?h instanceof z$1.ZodNever?z$1.object({}).strict():i?z$1.object({}).passthrough():z$1.record(h):z$1.object({}).passthrough(),gZ.an.anyOf(a)&&(c=c.and(gX({...a,anyOf:a.anyOf.map(a=>"object"==typeof a&&!a.type&&(a.properties??a.additionalProperties??a.patternProperties)?{...a,type:"object"}:a)},b))),gZ.a.oneOf(a)&&(c=c.and(g_({...a,oneOf:a.oneOf.map(a=>"object"==typeof a&&!a.type&&(a.properties??a.additionalProperties??a.patternProperties)?{...a,type:"object"}:a)},b))),gZ.an.allOf(a)&&(c=c.and(gW({...a,allOf:a.allOf.map(a=>"object"==typeof a&&!a.type&&(a.properties??a.additionalProperties??a.patternProperties)?{...a,type:"object"}:a)},b))),c}(a,b);if(gZ.an.array(a))return((a,b)=>{if(gZ.an.anyOf(a)){let c,d=new Set,e=[];a.anyOf.forEach(a=>{if("object"==typeof a&&a.type&&d.add("string"==typeof a.type?a.type:a.type[0]),"object"==typeof a&&a.items){let b=a.items;Array.isArray(b)||"object"!=typeof b||e.push(b)}}),1===e.length?c=e[0]:e.length>1&&(c={anyOf:e});let f={...d.size>0?{type:Array.from(d)}:{type:"array"},...c&&{items:c}};return["default","description","examples","title"].forEach(b=>{let c=a[b];void 0!==c&&(f[b]=c)}),g0(f,b)}if(Array.isArray(a.items))return z.tuple(a.items.map((a,c)=>g0(a,{...b,path:[...b.path,"items",c]})));let c=a.items?z.array(g0(a.items,{...b,path:[...b.path,"items"]})):z.array(z.any());return c=gY(c,a,"minItems",(a,b,c)=>a.min(b,c)),c=gY(c,a,"maxItems",(a,b,c)=>a.max(b,c)),"number"==typeof a.min&&"number"!=typeof a.minItems&&(c=gY(c,{...a,minItems:a.min},"minItems",(a,b,c)=>a.min(b,c))),"number"==typeof a.max&&"number"!=typeof a.maxItems&&(c=gY(c,{...a,maxItems:a.max},"maxItems",(a,b,c)=>a.max(b,c))),c})(a,b);if(gZ.an.anyOf(a))return gX(a,b);if(gZ.an.allOf(a))return gW(a,b);else if(gZ.a.oneOf(a))return g_(a,b);else if(gZ.a.not(a))return((a,b)=>z.any().refine(c=>!g0(a.not,{...b,path:[...b.path,"not"]}).safeParse(c).success,"Invalid input: Should NOT be valid against schema"))(a,b);else if(gZ.an.enum(a))return(a=>0===a.enum.length?z.never():1===a.enum.length?z.literal(a.enum[0]):a.enum.every(a=>"string"==typeof a)?z.enum(a.enum):z.union(a.enum.map(a=>z.literal(a))))(a);else if(gZ.a.const(a))return z.literal(a.const);else if(gZ.a.multipleType(a))return((a,b)=>z.union(a.type.map(c=>g0({...a,type:c},b))))(a,b);else if(gZ.a.primitive(a,"string"))return(a=>{let b=z.string();return b=gY(b,a,"format",(a,b,c)=>{switch(b){case"email":return a.email(c);case"ip":return a.ip(c);case"ipv4":return a.ip({version:"v4",message:c});case"ipv6":return a.ip({version:"v6",message:c});case"uri":return a.url(c);case"uuid":return a.uuid(c);case"date-time":return a.datetime({offset:!0,message:c});case"time":return a.time(c);case"date":return a.date(c);case"binary":return a.base64(c);case"duration":return a.duration(c);default:return a}}),b=gY(b,a,"contentEncoding",(a,b,c)=>a.base64(c)),b=gY(b,a,"pattern",(a,b,c)=>a.regex(new RegExp(b),c)),b=gY(b,a,"minLength",(a,b,c)=>a.min(b,c)),b=gY(b,a,"maxLength",(a,b,c)=>a.max(b,c)),"number"==typeof a.min&&"number"!=typeof a.minLength&&(b=gY(b,{...a,minLength:a.min},"minLength",(a,b,c)=>a.min(b,c))),"number"==typeof a.max&&"number"!=typeof a.maxLength&&(b=gY(b,{...a,maxLength:a.max},"maxLength",(a,b,c)=>a.max(b,c))),b})(a);else if(gZ.a.primitive(a,"number")||gZ.a.primitive(a,"integer"))return(a=>{let b=z.number(),c=!1;return"integer"===a.type?(c=!0,b=gY(b,a,"type",(a,b,c)=>a.int(c))):"int64"===a.format&&(c=!0,b=gY(b,a,"format",(a,b,c)=>a.int(c))),b=gY(b,a,"multipleOf",(a,b,d)=>1===b?c?a:a.int(d):a.multipleOf(b,d)),"number"==typeof a.minimum?b=!0===a.exclusiveMinimum?gY(b,a,"minimum",(a,b,c)=>a.gt(b,c)):gY(b,a,"minimum",(a,b,c)=>a.gte(b,c)):"number"==typeof a.exclusiveMinimum&&(b=gY(b,a,"exclusiveMinimum",(a,b,c)=>a.gt(b,c))),"number"==typeof a.maximum?b=!0===a.exclusiveMaximum?gY(b,a,"maximum",(a,b,c)=>a.lt(b,c)):gY(b,a,"maximum",(a,b,c)=>a.lte(b,c)):"number"==typeof a.exclusiveMaximum&&(b=gY(b,a,"exclusiveMaximum",(a,b,c)=>a.lt(b,c))),"number"==typeof a.min&&"number"!=typeof a.minimum&&(b=gY(b,{...a,minimum:a.min},"minimum",(a,b,c)=>a.gte(b,c))),"number"==typeof a.max&&"number"!=typeof a.maximum&&(b=gY(b,{...a,maximum:a.max},"maximum",(a,b,c)=>a.lte(b,c))),b})(a);else if(gZ.a.primitive(a,"boolean"))return z.boolean();else if(gZ.a.primitive(a,"null"))return z.null();else return gZ.a.conditional(a)?((a,b)=>{let c=g0(a.if,{...b,path:[...b.path,"if"]}),d=g0(a.then,{...b,path:[...b.path,"then"]}),e=g0(a.else,{...b,path:[...b.path,"else"]});return z.union([d,e]).superRefine((a,b)=>{let f=c.safeParse(a).success?d.safeParse(a):e.safeParse(a);f.success||f.error.errors.forEach(a=>b.addIssue(a))})})(a,b):z.any()})(a,b);return c||(b.withoutDescribes||(e=((a,b)=>{let c="";if(a.description?c=a.description:a.title&&(c=a.title),void 0!==a.example){let b=`Example: ${JSON.stringify(a.example)}`;c=c?`${c}
20
+ ${b}`:b}else if(void 0!==a.examples&&Array.isArray(a.examples)){let b=a.examples;if(b&&b.length&&b.length>0){let a=1===b.length?`Example: ${JSON.stringify(b[0])}`:`Examples:
21
+ ${b.map(a=>` ${JSON.stringify(a)}`).join("\n")}`;c=c?`${c}
22
+ ${a}`:a}}return c&&(b=b.describe(c)),b})(a,e)),b.withoutDefaults||(e=((a,b,c)=>{if(void 0!==a.default){if(null===a.default&&c?.path.some(a=>"anyOf"===a||"oneOf"===a)&&a.type&&"null"!==a.type&&!a.nullable)return b;b=b.default(a.default)}return b})(a,e,b)),e=((a,b)=>(a.readOnly&&(b=b.readonly()),b))(a,e)),d.r=e,e},g1={OAUTH1:"OAUTH1",OAUTH2:"OAUTH2",API_KEY:"API_KEY",BASIC:"BASIC",BEARER_TOKEN:"BEARER_TOKEN",BILLCOM_AUTH:"BILLCOM_AUTH",GOOGLE_SERVICE_ACCOUNT:"GOOGLE_SERVICE_ACCOUNT",NO_AUTH:"NO_AUTH",BASIC_WITH_JWT:"BASIC_WITH_JWT",CALCOM_AUTH:"CALCOM_AUTH",SERVICE_ACCOUNT:"SERVICE_ACCOUNT",SAML:"SAML",DCR_OAUTH:"DCR_OAUTH",S2S_OAUTH2:"S2S_OAUTH2"},g2=cn.Ik({toolsForConnectedAccountCreation:cn.YO(cn.Yj()).optional()}),g3=cn.Ik({toolsAvailableForExecution:cn.YO(cn.Yj()).optional(),toolsForConnectedAccountCreation:cn.YO(cn.Yj()).optional()}),g4=cn.k5(["OAUTH2","OAUTH1","API_KEY","BASIC","BILLCOM_AUTH","BEARER_TOKEN","GOOGLE_SERVICE_ACCOUNT","NO_AUTH","BASIC_WITH_JWT","CALCOM_AUTH","SERVICE_ACCOUNT","SAML","DCR_OAUTH","S2S_OAUTH2"]),g5=cn.Ik({type:cn.eu("use_custom_auth"),name:cn.Yj().optional(),credentials:cn.g1(cn.Yj(),cn.KC([cn.Yj(),cn.ai(),cn.zM()])),authScheme:g4,proxyConfig:cn.Ik({proxyUrl:cn.Yj(),proxyAuthKey:cn.Yj().optional()}).optional(),toolAccessConfig:g2.optional(),isEnabledForToolRouter:cn.zM().optional()}),g6=cn.Ik({type:cn.eu("use_composio_managed_auth"),name:cn.Yj().optional(),credentials:cn.Ik({scopes:cn.KC([cn.Yj(),cn.YO(cn.Yj())]).optional(),user_scopes:cn.KC([cn.Yj(),cn.YO(cn.Yj())]).optional()}).passthrough().optional(),toolAccessConfig:g2.optional(),isEnabledForToolRouter:cn.zM().optional()}),g7=cn.gM("type",[g5,g6]),g8=cn.Ik({id:cn.Yj(),authScheme:cn.Yj(),isComposioManaged:cn.zM(),toolkit:cn.Yj()}),g9=cn.Ik({id:cn.Yj(),name:cn.Yj(),toolkit:cn.Ik({logo:cn.Yj(),slug:cn.Yj()}),noOfConnections:cn.ai(),status:cn.k5(["ENABLED","DISABLED"]),uuid:cn.Yj(),authScheme:g4.optional(),credentials:cn.g1(cn.Yj(),cn.L5()).optional(),expectedInputFields:cn.YO(cn.L5()).optional(),isEnabledForToolRouter:cn.zM().optional(),restrictToFollowingTools:cn.YO(cn.Yj()).optional(),isComposioManaged:cn.zM().optional(),createdBy:cn.Yj().optional(),createdAt:cn.Yj().optional(),lastUpdatedAt:cn.Yj().optional(),toolAccessConfig:g3.optional()}),ha=cn.Ik({cursor:cn.Yj().optional(),isComposioManaged:cn.zM().optional(),limit:cn.ai().optional(),toolkit:cn.Yj().optional()}),hb=cn.Ik({items:cn.YO(g9),nextCursor:cn.Yj().nullable(),totalPages:cn.ai()}),hc=cn.Ik({type:cn.eu("custom"),credentials:cn.Ik({scopes:cn.KC([cn.Yj(),cn.YO(cn.Yj())]).optional(),user_scopes:cn.KC([cn.Yj(),cn.YO(cn.Yj())]).optional()}).passthrough().optional(),isEnabledForToolRouter:cn.zM().optional(),restrictToFollowingTools:cn.YO(cn.Yj()).optional(),toolAccessConfig:g3.optional()}),hd=cn.Ik({type:cn.eu("default"),scopes:cn.Yj().optional(),isEnabledForToolRouter:cn.zM().optional(),restrictToFollowingTools:cn.YO(cn.Yj()).optional(),toolAccessConfig:g3.optional()}),he=cn.gM("type",[hc,hd]),hf={INITIALIZING:"INITIALIZING",INITIATED:"INITIATED",ACTIVE:"ACTIVE",FAILED:"FAILED",EXPIRED:"EXPIRED",INACTIVE:"INACTIVE",REVOKED:"REVOKED"};cn.k5([g1.OAUTH1,g1.OAUTH2]);let hg=cn.Ik({subdomain:cn.Yj().optional(),"your-domain":cn.Yj().optional(),region:cn.Yj().optional(),shop:cn.Yj().optional(),account_url:cn.Yj().optional(),COMPANYDOMAIN:cn.Yj().optional(),extension:cn.Yj().optional(),form_api_base_url:cn.Yj().optional(),instanceEndpoint:cn.Yj().optional(),api_url:cn.Yj().optional(),borneo_dashboard_url:cn.Yj().optional(),proxy_username:cn.Yj().optional(),proxy_password:cn.Yj().optional(),domain:cn.Yj().optional(),version:cn.Yj().optional(),dc:cn.Yj().optional(),site_name:cn.Yj().optional(),instanceName:cn.Yj().optional(),account_id:cn.Yj().optional(),your_server:cn.Yj().optional(),server_location:cn.Yj().optional(),base_url:cn.Yj().optional(),api_key:cn.Yj().optional(),generic_api_key:cn.Yj().optional(),bearer_token:cn.Yj().optional(),basic_encoded:cn.Yj().optional(),long_redirect_url:cn.zM().optional(),state_prefix:cn.Yj().optional(),registration_access_token:cn.Yj().optional(),registration_client_uri:cn.Yj().optional(),composio_link_redirect_url:cn.Yj().optional()}).catchall(cn.L5()),hh=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hi=hh.extend({status:cn.eu(hf.INITIATED),code_verifier:cn.Yj().optional(),redirectUrl:cn.Yj(),callback_url:cn.Yj().optional(),finalRedirectUri:cn.Yj().optional(),webhook_signature:cn.Yj().optional()}).catchall(cn.L5()),hj=hh.extend({status:cn.eu(hf.ACTIVE),access_token:cn.Yj(),id_token:cn.Yj().optional(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional(),webhook_signature:cn.Yj().optional(),authed_user:cn.Ik({access_token:cn.Yj().optional(),scope:cn.Yj().optional()}).optional().describe("for slack user scopes")}).catchall(cn.L5()),hk=hh.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hl=hh.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5()),hm=hh.extend({status:cn.eu(hf.INACTIVE),access_token:cn.Yj(),id_token:cn.Yj().optional(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional(),webhook_signature:cn.Yj().optional(),authed_user:cn.Ik({access_token:cn.Yj().optional(),scope:cn.Yj().optional()}).optional().describe("for slack user scopes")}).catchall(cn.L5()),hn=hh.extend({status:cn.eu(hf.REVOKED),revoked_at:cn.Yj().optional()}).catchall(cn.L5()),ho=cn.gM("status",[hh,hi,hj,hk,hl,hm,hn]),hp=hj.omit({status:!0}),hq=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hr=cn.gM("status",[hq,hq.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hq.extend({status:cn.eu(hf.ACTIVE),access_token:cn.Yj().optional(),id_token:cn.Yj().optional(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional()}).catchall(cn.L5()),hq.extend({status:cn.eu(hf.INACTIVE),access_token:cn.Yj().optional(),id_token:cn.Yj().optional(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional()}).catchall(cn.L5()),hq.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hq.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5()),hq.extend({status:cn.eu(hf.REVOKED),revoked_at:cn.Yj().optional()}).catchall(cn.L5())]),hs=hg.extend({access_token:cn.Yj().optional(),id_token:cn.Yj().optional(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish().optional(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional()}).catchall(cn.L5()),ht=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hu=ht.extend({status:cn.eu(hf.INITIATED),authUri:cn.Yj(),oauth_token:cn.Yj(),oauth_token_secret:cn.Yj(),redirectUrl:cn.Yj(),callbackUrl:cn.Yj().optional()}).catchall(cn.L5()),hv=ht.extend({status:cn.eu(hf.ACTIVE),oauth_token:cn.Yj(),oauth_token_secret:cn.Yj(),consumer_key:cn.Yj().optional(),oauth_verifier:cn.Yj().optional(),redirectUrl:cn.Yj().optional(),callback_url:cn.Yj().optional()}).catchall(cn.L5()),hw=ht.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hx=ht.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5()),hy=ht.extend({status:cn.eu(hf.INACTIVE),oauth_token:cn.Yj(),oauth_token_secret:cn.Yj(),consumer_key:cn.Yj().optional(),oauth_verifier:cn.Yj().optional(),redirectUrl:cn.Yj().optional(),callback_url:cn.Yj().optional()}).catchall(cn.L5()),hz=cn.gM("status",[ht,hu,hv,hw,hx,hy]),hA=hv.omit({status:!0}),hB=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hC=cn.gM("status",[hB,hB.extend({status:cn.eu(hf.INITIATED),redirectUrl:cn.Yj()}).catchall(cn.L5()),hB.extend({status:cn.eu(hf.ACTIVE),sessionId:cn.Yj(),devKey:cn.Yj()}).catchall(cn.L5()),hB.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hB.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5()),hB.extend({status:cn.eu(hf.INACTIVE)}).catchall(cn.L5())]),hD=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hE=cn.gM("status",[hD,hD.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hD.extend({status:cn.eu(hf.ACTIVE),username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hD.extend({status:cn.eu(hf.INACTIVE),username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hD.extend({status:cn.eu(hf.FAILED),username:cn.Yj(),password:cn.Yj(),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hD.extend({status:cn.eu(hf.EXPIRED),username:cn.Yj(),password:cn.Yj(),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hF=hg.extend({username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hG=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hH=cn.gM("status",[hG,hG.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hG.extend({status:cn.eu(hf.ACTIVE),api_key:cn.Yj().optional(),generic_api_key:cn.Yj().optional()}).catchall(cn.L5()),hG.extend({status:cn.eu(hf.INACTIVE),api_key:cn.Yj().optional(),generic_api_key:cn.Yj().optional()}).catchall(cn.L5()),hG.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hG.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hI=hg.extend({api_key:cn.Yj().optional(),generic_api_key:cn.Yj().optional()}).catchall(cn.L5()),hJ=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hK=cn.gM("status",[hJ,hJ.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hJ.extend({status:cn.eu(hf.ACTIVE),token:cn.Yj()}).catchall(cn.L5()),hJ.extend({status:cn.eu(hf.INACTIVE),token:cn.Yj()}).catchall(cn.L5()),hJ.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hJ.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hL=hg.extend({token:cn.Yj()}).catchall(cn.L5()),hM=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hN=cn.gM("status",[hM,hM.extend({status:cn.eu(hf.INITIATED),redirectUrl:cn.Yj(),composio_link_redirect_url:cn.Yj().optional()}).catchall(cn.L5()),hM.extend({status:cn.eu(hf.ACTIVE),credentials_json:cn.Yj()}).catchall(cn.L5()),hM.extend({status:cn.eu(hf.INACTIVE),credentials_json:cn.Yj()}).catchall(cn.L5()),hM.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hM.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hO=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hP=cn.gM("status",[hO,hO.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hO.extend({status:cn.eu(hf.ACTIVE)}).catchall(cn.L5()),hO.extend({status:cn.eu(hf.INACTIVE)}).catchall(cn.L5()),hO.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hO.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hQ=hg.catchall(cn.L5()),hR=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hS=cn.gM("status",[hR,hR.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hR.extend({status:cn.eu(hf.ACTIVE)}).catchall(cn.L5()),hR.extend({status:cn.eu(hf.INACTIVE)}).catchall(cn.L5()),hR.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hR.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hT=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hU=cn.gM("status",[hT,hT.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hT.extend({status:cn.eu(hf.ACTIVE),username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hT.extend({status:cn.eu(hf.INACTIVE),username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hT.extend({status:cn.eu(hf.FAILED),username:cn.Yj(),password:cn.Yj(),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hT.extend({status:cn.eu(hf.EXPIRED),username:cn.Yj(),password:cn.Yj(),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),hV=hg.extend({username:cn.Yj(),password:cn.Yj()}).catchall(cn.L5()),hW=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),hX=cn.gM("status",[hW,hW.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hW.extend({status:cn.eu(hf.ACTIVE),application_id:cn.Yj(),installation_id:cn.Yj(),private_key:cn.Yj()}).catchall(cn.L5()),hW.extend({status:cn.eu(hf.INACTIVE),application_id:cn.Yj(),installation_id:cn.Yj(),private_key:cn.Yj()}).catchall(cn.L5())]),hY=cn.Ik({application_id:cn.Yj(),installation_id:cn.Yj(),private_key:cn.Yj()}).merge(hg).catchall(cn.L5()),hZ=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),h$=cn.gM("status",[hZ,hZ.extend({status:cn.eu(hf.INITIATED)}).catchall(cn.L5()),hZ.extend({status:cn.eu(hf.ACTIVE)}).catchall(cn.L5()),hZ.extend({status:cn.eu(hf.INACTIVE)}).catchall(cn.L5()),hZ.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),hZ.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]);hg.catchall(cn.L5());let h_=hg.extend({status:cn.eu(hf.INITIALIZING)}).catchall(cn.L5()),h0=cn.gM("status",[h_,h_.extend({status:cn.eu(hf.INITIATED),client_id:cn.Yj(),redirectUrl:cn.Yj(),client_secret:cn.Yj().optional(),callback_url:cn.Yj().optional(),client_id_issued_at:cn.ai().optional(),client_secret_expires_at:cn.ai().optional(),code_verifier:cn.Yj().optional(),finalRedirectUri:cn.Yj().optional()}).catchall(cn.L5()),h_.extend({status:cn.eu(hf.ACTIVE),access_token:cn.Yj(),client_id:cn.Yj(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional(),id_token:cn.Yj().optional(),client_secret:cn.Yj().optional(),client_id_issued_at:cn.ai().optional(),client_secret_expires_at:cn.ai().optional()}).catchall(cn.L5()),h_.extend({status:cn.eu(hf.INACTIVE),access_token:cn.Yj(),client_id:cn.Yj(),token_type:cn.Yj().optional(),refresh_token:cn.Yj().nullish(),expires_in:cn.KC([cn.Yj(),cn.ai(),cn.ch()]).optional(),scope:cn.KC([cn.Yj(),cn.YO(cn.Yj()),cn.ch()]).optional(),id_token:cn.Yj().optional(),client_secret:cn.Yj().optional(),client_id_issued_at:cn.ai().optional(),client_secret_expires_at:cn.ai().optional()}).catchall(cn.L5()),h_.extend({status:cn.eu(hf.FAILED),error:cn.Yj().optional(),error_description:cn.Yj().optional()}).catchall(cn.L5()),h_.extend({status:cn.eu(hf.EXPIRED),expired_at:cn.Yj().optional()}).catchall(cn.L5())]),h1=cn.Ik({access_token:cn.Yj(),client_id:cn.Yj()}).merge(hg).catchall(cn.L5()),h2=cn.gM("authScheme",[cn.Ik({authScheme:cn.eu(g1.OAUTH1),val:hz}),cn.Ik({authScheme:cn.eu(g1.OAUTH2),val:ho}),cn.Ik({authScheme:cn.eu(g1.S2S_OAUTH2),val:hr}),cn.Ik({authScheme:cn.eu(g1.API_KEY),val:hH}),cn.Ik({authScheme:cn.eu(g1.BASIC),val:hE}),cn.Ik({authScheme:cn.eu(g1.BEARER_TOKEN),val:hK}),cn.Ik({authScheme:cn.eu(g1.GOOGLE_SERVICE_ACCOUNT),val:hN}),cn.Ik({authScheme:cn.eu(g1.NO_AUTH),val:hP}),cn.Ik({authScheme:cn.eu(g1.CALCOM_AUTH),val:hS}),cn.Ik({authScheme:cn.eu(g1.BILLCOM_AUTH),val:hC}),cn.Ik({authScheme:cn.eu(g1.BASIC_WITH_JWT),val:hU}),cn.Ik({authScheme:cn.eu(g1.SERVICE_ACCOUNT),val:hX}),cn.Ik({authScheme:cn.eu(g1.SAML),val:h$}),cn.Ik({authScheme:cn.eu(g1.DCR_OAUTH),val:h0})]),h3=cn.gM("authScheme",[cn.Ik({authScheme:cn.eu(g1.OAUTH2),toolkitSlug:cn.Yj(),val:hp}),cn.Ik({authScheme:cn.eu(g1.S2S_OAUTH2),toolkitSlug:cn.Yj(),val:hs}),cn.Ik({authScheme:cn.eu(g1.DCR_OAUTH),toolkitSlug:cn.Yj(),val:h1}),cn.Ik({authScheme:cn.eu(g1.API_KEY),toolkitSlug:cn.Yj(),val:hI}),cn.Ik({authScheme:cn.eu(g1.BASIC_WITH_JWT),toolkitSlug:cn.Yj(),val:hV}),cn.Ik({authScheme:cn.eu(g1.BASIC),toolkitSlug:cn.Yj(),val:hF}),cn.Ik({authScheme:cn.eu(g1.BEARER_TOKEN),toolkitSlug:cn.Yj(),val:hL}),cn.Ik({authScheme:cn.eu(g1.OAUTH1),toolkitSlug:cn.Yj(),val:hA}),cn.Ik({authScheme:cn.eu(g1.NO_AUTH),toolkitSlug:cn.Yj(),val:hQ}),cn.Ik({authScheme:cn.eu(g1.SERVICE_ACCOUNT),toolkitSlug:cn.Yj(),val:hY})]),h4=cn.Ik({slug:cn.Yj().describe("The slug of the toolkit"),name:cn.Yj().describe("The name of the toolkit"),logo:cn.Yj().describe("The logo of the toolkit").optional()}),h5=cn.k5(["string","number","integer","boolean","object","array","null"]),h6=cn.Ik({type:cn.KC([h5,cn.YO(h5)]).optional(),description:cn.Yj().optional(),anyOf:cn.RZ(()=>cn.YO(h6)).optional(),oneOf:cn.RZ(()=>cn.YO(h6)).optional(),allOf:cn.RZ(()=>cn.YO(h6)).optional(),not:cn.RZ(()=>h6).optional(),title:cn.Yj().optional(),default:cn.bz().optional(),nullable:cn.zM().optional(),properties:cn.RZ(()=>cn.g1(cn.Yj(),h6)).optional(),required:cn.YO(cn.Yj()).optional(),file_uploadable:cn.zM().optional(),file_downloadable:cn.zM().optional(),items:cn.RZ(()=>cn.KC([h6,cn.YO(h6)])).optional(),enum:cn.YO(cn.bz()).optional(),const:cn.bz().optional(),minimum:cn.ai().optional(),maximum:cn.ai().optional(),exclusiveMinimum:cn.ai().optional(),exclusiveMaximum:cn.ai().optional(),multipleOf:cn.ai().optional(),minLength:cn.ai().optional(),maxLength:cn.ai().optional(),pattern:cn.Yj().optional(),format:cn.Yj().optional(),minItems:cn.ai().optional(),maxItems:cn.ai().optional(),uniqueItems:cn.zM().optional(),minProperties:cn.ai().optional(),maxProperties:cn.ai().optional(),patternProperties:cn.RZ(()=>cn.g1(cn.Yj(),h6)).optional(),additionalProperties:cn.KC([cn.zM(),cn.RZ(()=>h6)]).optional(),examples:cn.YO(cn.bz()).optional(),readOnly:cn.zM().optional(),writeOnly:cn.zM().optional(),if:cn.RZ(()=>h6).optional(),then:cn.RZ(()=>h6).optional(),else:cn.RZ(()=>h6).optional(),$ref:cn.Yj().optional(),definitions:cn.g1(cn.Yj(),cn.RZ(()=>h6)).optional(),$defs:cn.g1(cn.Yj(),cn.RZ(()=>h6)).optional()}),h7=cn.Ik({type:cn.eu("object"),anyOf:cn.YO(h6).optional(),oneOf:cn.YO(h6).optional(),allOf:cn.YO(h6).optional(),not:h6.optional(),properties:cn.g1(cn.Yj(),h6),required:cn.YO(cn.Yj()).optional(),title:cn.Yj().optional(),default:cn.bz().optional(),nullable:cn.zM().optional(),description:cn.Yj().optional(),additionalProperties:cn.zM().default(!1).optional()}),h8=cn.Ik({slug:cn.Yj().describe('The slug of the tool. eg. "GOOGLE_SEARCH"'),name:cn.Yj().describe('The name of the tool. eg. "Google Search"'),description:cn.Yj().optional().describe("The description of the tool"),inputParameters:h7.optional().describe("The input parameters of the tool"),outputParameters:h7.optional().describe("The output parameters of the tool"),tags:cn.YO(cn.Yj()).describe("The tags of the tool. eg: Important").default([]).optional(),toolkit:h4.describe("The toolkit of the tool").optional(),version:cn.Yj().describe('The version of the tool, e.g. "20250909_00"').optional(),isDeprecated:cn.zM().describe("Whether the tool is deprecated").optional(),availableVersions:cn.YO(cn.Yj()).describe("Available versions of the tool.").default([]).optional(),scopes:cn.YO(cn.Yj()).describe('The scopes of the tool. eg: ["task:add"]').optional(),isNoAuth:cn.zM().describe("Do the tool support no auth?").optional()});cn.Ik({items:cn.YO(h8),nextCursor:cn.Yj().nullable().optional(),totalPages:cn.ai()});let h9=cn.eu("latest"),ia=cn.KC([h9,cn.Yj()]),ib=cn.g1(cn.Yj(),ia);cn.KC([ib,h9,cn.Vx()]).describe('The versioning of the toolkits. eg: { "github": "latest", "slack": "20250902_00" }');let ic=cn.Ik({tools:cn.YO(cn.Yj()).optional(),toolkits:cn.YO(cn.Yj()).optional(),scopes:cn.YO(cn.Yj()).optional(),tags:cn.YO(cn.Yj()).optional(),limit:cn.ai().optional(),search:cn.Yj().optional(),authConfigIds:cn.YO(cn.Yj()).optional(),important:cn.zM().optional()}),id=cn.Ik({baseURL:cn.Yj().optional(),body:cn.g1(cn.Yj(),cn.L5()).optional(),parameters:cn.YO(cn.Ik({in:cn.k5(["query","header"]),name:cn.Yj(),value:cn.KC([cn.Yj(),cn.ai()])}))}),ie=cn.Ik({allowTracing:cn.zM().optional(),connectedAccountId:cn.Yj().optional(),customAuthParams:id.optional(),customConnectionData:h3.optional(),arguments:cn.g1(cn.Yj(),cn.L5()).optional(),userId:cn.Yj().optional(),version:cn.KC([cn.eu("latest"),cn.Yj()]).optional(),dangerouslySkipVersionCheck:cn.zM().optional(),text:cn.Yj().optional()}),ig=cn.Ik({sessionId:cn.Yj(),arguments:cn.g1(cn.Yj(),cn.L5()).optional()}),ih=cn.Ik({data:cn.g1(cn.Yj(),cn.L5()),error:cn.Yj().nullable(),successful:cn.zM(),logId:cn.Yj().optional(),sessionInfo:cn.L5().optional()}),ii=cn.Ik({endpoint:cn.Yj(),method:cn.k5(["GET","POST","PUT","DELETE","PATCH"]),body:cn.L5().optional(),parameters:cn.YO(cn.Ik({in:cn.k5(["query","header"]),name:cn.Yj(),value:cn.KC([cn.Yj(),cn.ai()])})).optional(),connectedAccountId:cn.Yj().optional(),customConnectionData:h3.describe("DEPRECATED: This field is deprecated and will be removed in the future.").optional()}),ij={INITIALIZING:"INITIALIZING",INITIATED:"INITIATED",ACTIVE:"ACTIVE",FAILED:"FAILED",EXPIRED:"EXPIRED",INACTIVE:"INACTIVE",REVOKED:"REVOKED"},ik=cn.k5([ij.INITIALIZING,ij.INITIATED,ij.ACTIVE,ij.FAILED,ij.EXPIRED,ij.INACTIVE,ij.REVOKED]);cn.Ik({authConfig:cn.Ik({id:cn.Yj()}),connection:cn.Ik({data:cn.g1(cn.Yj(),cn.L5()).optional(),callbackUrl:cn.Yj().optional(),userId:cn.Yj().optional()})}),cn.Ik({auth_config:cn.Ik({id:cn.Yj()}),connection:cn.Ik({state:h2.optional(),data:cn.g1(cn.Yj(),cn.L5()).optional(),callback_url:cn.Yj().optional(),user_id:cn.Yj().optional(),alias:cn.Yj().optional()})}),cn.Ik({allowMultiple:cn.zM().optional(),callbackUrl:cn.Yj().optional(),config:h2.optional(),alias:cn.Yj().optional()}),cn.Ik({id:cn.Yj(),status:ik,redirectUrl:cn.Yj().nullable()});let il=cn.Ik({id:cn.Yj(),authScheme:g4.optional(),isComposioManaged:cn.zM(),isDisabled:cn.zM()}),im=cn.Ik({id:cn.Yj(),authConfig:il,wordId:cn.Yj().nullable().optional(),alias:cn.Yj().nullable().optional(),data:cn.g1(cn.Yj(),cn.L5()).optional(),params:cn.g1(cn.Yj(),cn.L5()).optional(),status:ik,statusReason:cn.Yj().nullable(),toolkit:cn.Ik({slug:cn.Yj()}),state:h2.optional(),testRequestEndpoint:cn.Yj().optional(),isDisabled:cn.zM(),createdAt:cn.Yj(),updatedAt:cn.Yj()}),io=cn.Ik({authConfigIds:cn.YO(cn.Yj()).nullable().optional().describe("The auth config ids of the connected accounts"),cursor:cn.Yj().nullish().describe("The cursor to paginate through the connected accounts"),limit:cn.ai().nullable().optional().describe("The limit of the connected accounts to return"),orderBy:cn.k5(["created_at","updated_at"]).optional().describe("The order by of the connected accounts"),statuses:cn.YO(ik).nullable().optional().describe("The statuses of the connected accounts"),toolkitSlugs:cn.YO(cn.Yj()).nullable().optional().describe("The toolkit slugs of the connected accounts"),userIds:cn.YO(cn.Yj()).nullable().optional().describe("The user ids of the connected accounts")}),ip=cn.Ik({items:cn.YO(im).describe("The list of connected accounts"),nextCursor:cn.Yj().nullish().describe("The next cursor to paginate through the connected accounts"),totalPages:cn.ai().describe("The total number of pages of connected accounts")}),iq=cn.Ik({callbackUrl:cn.Yj().optional(),alias:cn.Yj().optional(),allowMultiple:cn.zM().optional()});cn.Ik({redirectUrl:cn.Yj()});let ir=cn.Ik({redirectUrl:cn.Yj().optional(),validateCredentials:cn.zM().optional()}),is=cn.Ik({enabled:cn.zM()});function it(a){return{with:b=>({using(c,d){let e=c(a),f=b.safeParse(e);if(!f.success){let a=d?.label?` for ${d.label}`:"",b=f.error.issues.map(a=>` - ${a.path.join(".")||"parameter"}: ${a.message}`).join("\n");return cf.warn(`Transform validation failed${a}:
23
+ ${b}`),e}return f.data}})}}function iu(a){return it(a).with(im).using(b=>({...b,authConfig:{...b.auth_config,id:b.auth_config.id,authScheme:b.auth_config.auth_scheme,isComposioManaged:b.auth_config.is_composio_managed,isDisabled:b.auth_config.is_disabled},wordId:a.word_id??null,alias:a.alias??null,data:b.data??void 0,state:(a=>{try{return a?h2.parse(a):void 0}catch(a){cf.warn("Unsupported auth scheme in connected account state, ignoring state field",{error:a});return}})(b.state),status:b.status,statusReason:b.status_reason,isDisabled:b.is_disabled,createdAt:b.created_at,updatedAt:b.updated_at,testRequestEndpoint:b.test_request_endpoint}))}var iv=class{client;customToolsRegistry;constructor(a){if(!a)throw new cg("ComposioClient is required");this.client=a,this.customToolsRegistry=new Map,du.instrument(this,"CustomTools")}async createTool(a){let{slug:b,execute:c,inputParams:d,name:e,description:f}=a;if(!b||!c||!d||!e)throw Error("Invalid tool options");let g=((a,b)=>{let c=(a=>{let b,c="string"==typeof(b=a)?{...cp,name:b}:{...cp,...b},d=void 0!==c.name?[...c.basePath,c.definitionPath,c.name]:c.basePath;return{...c,flags:{hasReferencedOpenAiAnyType:!1},currentPath:d,propertyPath:void 0,seen:new Map(Object.entries(c.definitions).map(([a,b])=>[b._def,{def:b._def,path:[...c.basePath,c.definitionPath,a],jsonSchema:void 0}]))}})(b),d="object"==typeof b&&b.definitions?Object.entries(b.definitions).reduce((a,[b,d])=>({...a,[b]:cF(d._def,{...c,currentPath:[...c.basePath,c.definitionPath,b]},!0)??cr(c)}),{}):void 0,e="string"==typeof b?b:b?.nameStrategy==="title"?void 0:b?.name,f=cF(a._def,void 0===e?c:{...c,currentPath:[...c.basePath,c.definitionPath,e]},!1)??cr(c),g="object"==typeof b&&void 0!==b.name&&"title"===b.nameStrategy?b.name:void 0;void 0!==g&&(f.title=g),c.flags.hasReferencedOpenAiAnyType&&(d||(d={}),d[c.openAiAnyTypeName]||(d[c.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:"relative"===c.$refStrategy?"1":[...c.basePath,c.definitionPath,c.openAiAnyTypeName].join("/")}}));let h=void 0===e?d?{...f,[c.definitionPath]:d}:f:{$ref:[..."relative"===c.$refStrategy?[]:c.basePath,c.definitionPath,e].join("/"),[c.definitionPath]:{...d,[e]:f}};return"jsonSchema7"===c.target?h.$schema="http://json-schema.org/draft-07/schema#":("jsonSchema2019-09"===c.target||"openAi"===c.target)&&(h.$schema="https://json-schema.org/draft/2019-09/schema#"),"openAi"===c.target&&("anyOf"in h||"oneOf"in h||"allOf"in h||"type"in h&&Array.isArray(h.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),h})(d,{name:"input"}).definitions.input,h={name:e,slug:b,description:f,inputParameters:{title:e,type:"object",description:f,properties:g.properties,required:g.required},outputParameters:{type:"object",title:`Response for ${e}`,properties:{}},tags:[],toolkit:{name:"custom",slug:"custom"}};return this.customToolsRegistry.set(b.toLowerCase(),{options:a,schema:h}),h}async getCustomTools({toolSlugs:a}){let b=[];if(!a)return Array.from(this.customToolsRegistry.values()).map(a=>a.schema);for(let c of a){let a=this.customToolsRegistry.get(c.toLowerCase());a&&b.push(a.schema)}return b}async getCustomToolBySlug(a){try{return this.customToolsRegistry.get(a.toLowerCase())?.schema}catch(a){cf.error(`Error getting custom tool: ${a}`);return}}async getConnectedAccountForToolkit(a,b,c){try{if(await this.client.toolkits.retrieve(a),(await this.client.toolkits.retrieve(a)).auth_config_details?.some(a=>a.mode===g1.NO_AUTH))return null}catch(b){throw new cP(`Toolkit with slug ${a} not found`,{cause:b})}let d=await this.client.connectedAccounts.list({toolkit_slugs:[a],user_ids:[b]});if(!d.items.length)throw new cJ(`No connected accounts found for toolkit ${a}`);let e=c?d.items.find(a=>a.id===c):d.items[0];if(!e)throw new cJ(`Connected account not found for toolkit ${a} for user ${b}`);return iu(e)}async executeCustomTool(a,b){let c=this.customToolsRegistry.get(a.toLowerCase());if(!c)throw new cP(`Tool with slug ${a} not found`);let d=null,{toolkitSlug:e,execute:f,inputParams:g}=c.options,h=b.connectedAccountId;if(e&&"custom"!==e&&b.userId){let a=await this.getConnectedAccountForToolkit(e,b.userId,b.connectedAccountId);if(cf.debug(`[CustomTool] Connected account for ${e} found for user ${b.userId}`,JSON.stringify(a,null,2)),!a)throw new cJ(`Connected account not found for toolkit ${e} for user ${b.userId}`,{meta:{toolkitSlug:e,userId:b.userId}});d=a.state??null,h=a.id}if("function"!=typeof f)throw new cT("Invalid execute function",{meta:{toolSlug:a}});let i=async a=>{if(e&&"custom"===e)throw new cT("Custom tools without a toolkit cannot be executed using the executeToolRequest function",{possibleFixes:["Please manually execute the tool using your logic.","Pass a toolkit slug to execute the tool on behalf of a toolkit credentials"]});let b=a.parameters?.map(a=>({name:a.name,type:a.in,value:a.value.toString()}));return{data:(await this.client.tools.proxy({endpoint:a.endpoint,method:a.method,parameters:b,body:a.body,connected_account_id:h,custom_connection_data:a.customConnectionData})).data,error:null,successful:!0,logId:void 0,sessionInfo:void 0}},j=g.safeParse(b.arguments);if(!j.success)throw new c3("Invalid input parameters",{cause:j.error});return f(j.data,d,i)}};function iw(a){if(!a)return a;let b=a;if("~"===a||a.startsWith("~/")||a.startsWith("~\\")){let c=dE.homedir();if(!c)return;b="~"===a?c:dE.joinPath(c,a.slice(2))}return dE.resolvePath(b)}function ix(a){if(void 0===a)return;if(!1===a)return!1;let b=[];for(let c of a){if("string"!=typeof c||""===c.trim())continue;let a=iw(c);a&&b.push(a)}return b}var iy=class{client;customTools;provider;autoUploadDownloadFiles;toolkitVersions;fileUploadPathOptions;warnedAutoUploadDisabledForTool=new Set;constructor(a,b){if(!a)throw Error("ComposioClient is required");if(!b?.provider)throw new cO("Provider not passed into Tools instance");this.client=a,this.customTools=new iv(a),this.provider=b.provider,this.autoUploadDownloadFiles=b?.dangerouslyAllowAutoUploadDownloadFiles===!0,this.toolkitVersions=b?.toolkitVersions??d1.toolkitVersions,this.fileUploadPathOptions={sensitiveFileUploadProtection:b?.sensitiveFileUploadProtection,fileUploadPathDenySegments:b?.fileUploadPathDenySegments,fileUploadAllowlist:this.autoUploadDownloadFiles?function(a){if(void 0===a){let a=function(){let a=dE.homedir();return a?dE.resolvePath(dE.joinPath(a,".composio","temp")):null}();return a?[a]:[]}if(!1===a)return[];let b=ix(a);return Array.isArray(b)?b:[]}(b?.fileUploadDirs):void 0,fileDownloadDir:b?.fileDownloadDir},this.execute=this.execute.bind(this),this.provider._setExecuteToolFn(this.createExecuteFnForProviders()),this.getRawComposioToolBySlug=this.getRawComposioToolBySlug.bind(this),this.getRawComposioTools=this.getRawComposioTools.bind(this),du.instrument(this,"Tools")}transformToolCases(a){return h8.parse({...a,inputParameters:a.input_parameters,outputParameters:a.output_parameters,availableVersions:a.available_versions,isDeprecated:a.deprecated?.is_deprecated??!1,isNoAuth:a.no_auth})}transformToolExecuteResponse(a){return ih.parse({data:a.data,error:a.error,successful:a.successful,logId:a.log_id,sessionInfo:a.session_info})}async applyDefaultSchemaModifiers(a){if(!this.autoUploadDownloadFiles)return a;let b=new dZ(this.client,this.fileUploadPathOptions);return await Promise.all(a.map(a=>b.modifyToolSchema(a)))}async applyBeforeExecuteModifiers(a,{toolSlug:b,toolkitSlug:c,params:d},e){let f=d;if(this.autoUploadDownloadFiles?f=await new dZ(this.client,{...this.fileUploadPathOptions,beforeFileUpload:e?.beforeFileUpload}).fileUploadModifier(a,{toolSlug:b,toolkitSlug:c,params:f}):dz(a.inputParameters)&&!this.warnedAutoUploadDisabledForTool.has(b)&&(this.warnedAutoUploadDisabledForTool.add(b),cf.warn(`Tool "${b}" (toolkit "${c}") has a file-uploadable input, but \`dangerouslyAllowAutoUploadDownloadFiles\` is disabled. The SDK will forward the file argument as-is; if it isn't already a staged { name, mimetype, s3key } descriptor, the backend will reject the call. Either:
24
+ 1) Stage the file yourself: \`const f = await composio.files.upload({ file, toolSlug, toolkitSlug }); await composio.tools.execute('${b}', { userId, arguments: { <fileField>: f } })\`, or
25
+ 2) Enable auto-upload with a scoped allowlist: \`new Composio({ dangerouslyAllowAutoUploadDownloadFiles: true, fileUploadDirs: ['/safe/dir'] })\`.`)),e?.beforeExecute)if("function"==typeof e.beforeExecute)f=await e.beforeExecute({toolSlug:b,toolkitSlug:c,params:f});else throw new cQ("Invalid beforeExecute modifier. Not a function.");return f}async applyAfterExecuteModifiers(a,{toolSlug:b,toolkitSlug:c,result:d},e){let f=d;if(this.autoUploadDownloadFiles&&(f=await new dZ(this.client,this.fileUploadPathOptions).fileDownloadModifier(a,{toolSlug:b,toolkitSlug:c,result:f})),e)if("function"==typeof e)f=await e({toolSlug:b,toolkitSlug:c,result:f});else throw new cQ("Invalid afterExecute modifier. Not a function.");return f}async getRawComposioTools(a,b){if("tools"in a&&"toolkits"in a)throw new c3("Invalid tool list parameters. You should not use tools and toolkits filter together.");let c=ic.safeParse(a);if(c.error)throw new c3("Invalid tool list parameters",{cause:c.error});let d="toolkits"in c.data&&!("tools"in c.data)&&!("tags"in c.data)&&!("search"in c.data)&&!("limit"in c.data)&&!1!==c.data.important,e="important"in c.data?c.data.important:d;if(!("tools"in c.data||"toolkits"in c.data||"search"in c.data||"authConfigIds"in c.data))throw new c3("Invalid tool list parameters, atleast one of the following parameters is required: tools, toolkits, search, authConfigIds");let f="limit"in c.data?c.data.limit:void 0;"tools"in c.data&&(f=9999);let g={..."tools"in c.data?{tool_slugs:c.data.tools?.join(",")}:{},..."toolkits"in c.data?{toolkit_slug:c.data.toolkits?.join(",")}:{},...f?{limit:f}:{},..."tags"in c.data?{tags:c.data.tags}:{},..."scopes"in c.data?{scopes:c.data.scopes}:{},..."search"in c.data?{search:c.data.search}:{},..."authConfigIds"in c.data?{auth_config_ids:c.data.authConfigIds}:{},...e?{important:"true"}:{},toolkit_versions:this.toolkitVersions};cf.debug(`Fetching tools with filters: ${JSON.stringify(g,null,2)}`);let h=await this.client.tools.list(g);if(!h)return[];let i=h.items.map(a=>this.transformToolCases(a)),j=await this.customTools.getCustomTools({toolSlugs:"tools"in c.data?c.data.tools:void 0}),k=await this.applyDefaultSchemaModifiers([...i,...j]);if(b?.modifySchema){let a=b.modifySchema;if("function"==typeof a){let b=k.map(b=>a({toolSlug:b.slug,toolkitSlug:b.toolkit?.slug??"unknown",schema:b}));k=await Promise.all(b)}else throw new cQ("Invalid schema modifier. Not a function.")}return k}async getRawToolRouterSessionTools(a,b){let c,d=[];do{let b=await this.client.toolRouter.session.tools(a,{limit:500,...c?{cursor:c}:{}});d.push(...b.items.map(a=>this.transformToolCases(a))),c=b.next_cursor}while(c);let e=d;if(b?.modifySchema){let a=b.modifySchema;if("function"==typeof a){let b=e.map(b=>a({toolSlug:b.slug,toolkitSlug:b.toolkit?.slug??"unknown",schema:b}));e=await Promise.all(b)}else throw new cQ("Invalid schema modifier. Not a function.")}return e}async getRawComposioToolBySlug(a,b){let c,d=await this.customTools.getCustomToolBySlug(a);if(d)return cf.debug(`Found ${a} to be a custom tool`,JSON.stringify(d,null,2)),d;cf.debug(`Tool ${a} is not a custom tool. Fetching from Composio API`);try{let d=b?.version?{version:b.version}:{toolkit_versions:this.toolkitVersions};c=await this.client.tools.retrieve(a,d)}catch(b){throw new cP(`Unable to retrieve tool with slug ${a}`,{cause:b})}let[e]=await this.applyDefaultSchemaModifiers([this.transformToolCases(c)]);if(b?.modifySchema){let c=b.modifySchema;if("function"==typeof c)e=await c({toolSlug:a,toolkitSlug:e.toolkit?.slug??"unknown",schema:e});else throw new cQ("Invalid schema modifier. Not a function.")}return e}async get(a,b,c){if("string"==typeof b){let d=await this.getRawComposioToolBySlug(b,{modifySchema:c?.modifySchema});return this.wrapToolsForProvider(a,[d],c)}{let d=await this.getRawComposioTools(b,{modifySchema:c?.modifySchema});return this.wrapToolsForProvider(a,d,c)}}createExecuteFnForProviders(){return async(a,b,c)=>await this.execute(a,{...b,dangerouslySkipVersionCheck:b.dangerouslySkipVersionCheck??!0},c)}wrapToolsForProvider(a,b,c){let d=this.createExecuteToolFn(a,c);return this.provider.wrapTools(b,d)}wrapToolsForToolRouter(a,b,c){let d=this.createExecuteToolFnForToolRouter(a,b,c);return this.provider.wrapTools(b,d)}createExecuteToolFn(a,b){return async(c,d)=>await this.execute(c,{userId:a,arguments:d,dangerouslySkipVersionCheck:!0},b)}createExecuteToolFnForToolRouter(a,b,c){let d=new Map(b.map(a=>[a.slug.toUpperCase(),a]));return async(b,e)=>await this.executeSessionTool(b,{sessionId:a,arguments:e},c,d.get(b.toUpperCase()))}async executeComposioTool(a,b){var c,d;let e=b.version??(c=a.toolkit?.slug??"unknown","string"==typeof(d=this.toolkitVersions)?d:d&&Object.keys(d).length>0?d[c]??"latest":"latest");if("latest"===e&&!b.dangerouslySkipVersionCheck)throw new cV;try{let c=await this.client.tools.execute(a.slug,{allow_tracing:b.allowTracing,connected_account_id:b.connectedAccountId,custom_auth_params:b.customAuthParams?{base_url:b.customAuthParams.baseURL,body:b.customAuthParams.body,parameters:b.customAuthParams.parameters}:void 0,custom_connection_data:b.customConnectionData,arguments:b.arguments,user_id:b.userId,version:e,text:b.text});return this.transformToolExecuteResponse(c)}catch(b){throw((a,b)=>{if(b instanceof aS&&b.error){let a=b.error,c=a?.error?.code,d=a?.error?.message;if(c&&cW.has(c))return cW.get(c)(d||"An error occurred")}return new cS(`Error executing the tool ${a}`,{cause:b,possibleFixes:["Ensure the tool slug is correct and the input arguments for the tool is valid"]})})(a.slug,b)}}async execute(a,b,c){if(!this.customTools)throw new cR("CustomTools not initialized. Make sure Tools class is properly constructed.");let d=ie.safeParse(b);if(!d.success)throw new c3("Invalid tool execute parameters",{cause:d.error});let e=await this.customTools.getCustomToolBySlug(a),f=e??await this.getRawComposioToolBySlug(a,{version:b.version}),g=f.toolkit?.slug??"unknown",h=await this.applyBeforeExecuteModifiers(f,{toolSlug:a,toolkitSlug:g,params:d.data},c),i=e?await this.customTools.executeCustomTool(e.slug,h):await this.executeComposioTool(f,h);return await this.applyAfterExecuteModifiers(f,{toolSlug:a,toolkitSlug:g,result:i},c?.afterExecute)}async executeSessionTool(a,b,c,d,e){let f=ig.safeParse(b);if(!f.success)throw new c3("Invalid tool execute session parameters",{cause:f.error});let g=b.arguments??{},h=d?.toolkit?.slug??"composio";c?.beforeExecute&&(g=await c.beforeExecute({toolSlug:a,toolkitSlug:h,sessionId:b.sessionId,params:g}));let i={tool_slug:a,arguments:g,enable_auto_workbench_offload:!0};e?.experimental&&(i.experimental=e.experimental);let j=await this.client.toolRouter.session.execute(b.sessionId,i),k={data:j.data,error:j.error,successful:!j.error,logId:j.log_id};return c?.afterExecute&&(k=await c.afterExecute({toolSlug:a,toolkitSlug:h,sessionId:b.sessionId,result:k})),k}async getToolsEnum(){return this.client.tools.retrieveEnum()}async getInput(a,b){return this.client.tools.getInput(a,b)}async proxyExecute(a){let b=ii.safeParse(a);if(!b.success)throw new c3("Invalid tool proxy parameters",{cause:b.error});let c=[];return b.data.parameters&&c.push(...(b.data.parameters??[]).map(a=>({name:a.name,type:"header"===a.in?"header":"query",value:a.value.toString()}))),this.client.tools.proxy({endpoint:b.data.endpoint,method:b.data.method,body:b.data.body,connected_account_id:b.data.connectedAccountId,parameters:c,custom_connection_data:b.data.customConnectionData})}async createCustomTool(a){return this.customTools.createTool(a)}};let iz=cn.k5(["all","composio","project"]),iA=cn.k5(["usage","alphabetically"]),iB=cn.Ik({category:cn.Yj().optional(),managedBy:iz.optional(),sortBy:iA.optional(),cursor:cn.Yj().optional(),limit:cn.ai().optional()}),iC=cn.Ik({categories:cn.YO(cn.Ik({slug:cn.Yj(),name:cn.Yj()})).optional(),appUrl:cn.Yj().optional(),createdAt:cn.Yj().optional(),description:cn.Yj().optional(),logo:cn.Yj().optional(),toolsCount:cn.ai().optional(),triggersCount:cn.ai().optional(),updatedAt:cn.Yj().optional(),availableVersions:cn.YO(cn.Yj()).optional()}),iD=cn.Ik({name:cn.Yj(),slug:cn.Yj(),meta:iC,isLocalToolkit:cn.zM(),authSchemes:cn.YO(cn.Yj()).optional(),composioManagedAuthSchemes:cn.YO(cn.Yj()).optional(),noAuth:cn.zM().optional()}),iE=cn.YO(iD),iF=cn.Ik({description:cn.Yj(),displayName:cn.Yj(),required:cn.zM(),name:cn.Yj(),type:cn.Yj(),default:cn.Yj().nullable().optional()}),iG=cn.Ik({name:cn.Yj(),mode:cn.Yj(),fields:cn.Ik({authConfigCreation:cn.Ik({optional:cn.YO(iF),required:cn.YO(iF)}),connectedAccountInitiation:cn.Ik({optional:cn.YO(iF),required:cn.YO(iF)})}),proxy:cn.Ik({baseUrl:cn.Yj().optional()}).optional()}),iH=cn.Ik({name:cn.Yj(),slug:cn.Yj(),meta:iC,isLocalToolkit:cn.zM(),composioManagedAuthSchemes:cn.YO(cn.Yj()).optional(),authConfigDetails:cn.YO(iG).optional(),baseUrl:cn.Yj().optional(),getCurrentUserEndpoint:cn.Yj().optional(),getCurrentUserEndpointMethod:cn.Yj().optional()}),iI=cn.Ik({id:cn.Yj(),name:cn.Yj()}),iJ=cn.Ik({items:cn.YO(iI),nextCursor:cn.Yj().nullable(),totalPages:cn.ai()});function iK(a){return it(a).with(g9).using(a=>({id:a.id,name:a.name,noOfConnections:a.no_of_connections,status:a.status,toolkit:{logo:a.toolkit.logo,slug:a.toolkit.slug},isEnabledForToolRouter:a.is_enabled_for_tool_router,uuid:a.uuid,authScheme:a.auth_scheme,credentials:a.credentials,expectedInputFields:a.expected_input_fields,isComposioManaged:a.is_composio_managed,createdBy:a.created_by,createdAt:a.created_at,lastUpdatedAt:a.last_updated_at,restrictToFollowingTools:a.tool_access_config?.tools_for_connected_account_creation,toolAccessConfig:a.tool_access_config?{toolsAvailableForExecution:a.tool_access_config.tools_available_for_execution,toolsForConnectedAccountCreation:a.tool_access_config.tools_for_connected_account_creation}:void 0}))}cn.YO(iF.extend({required:cn.zM().optional()}));var iL=class{client;constructor(a){this.client=a,du.instrument(this,"AuthConfigs")}getClient(){return this.client}async list(a){let b=a?ha.parse(a):void 0;return it(await this.client.authConfigs.list({cursor:b?.cursor,is_composio_managed:b?.isComposioManaged,limit:b?.limit,toolkit_slug:b?.toolkit})).with(hb).using(a=>({items:a.items.map(iK),nextCursor:a.next_cursor??null,totalPages:a.total_pages}))}async create(a,b={type:"use_composio_managed_auth"}){let c=g7.safeParse(b);if(c.error)throw new c3("Failed to parse auth config create options",{cause:c.error});return it(await this.client.authConfigs.create({toolkit:{slug:a},auth_config:"use_custom_auth"===c.data.type?{type:c.data.type,name:c.data.name,authScheme:c.data.authScheme,credentials:c.data.credentials,is_enabled_for_tool_router:c.data.isEnabledForToolRouter,proxy_config:c.data.proxyConfig?{proxy_url:c.data.proxyConfig.proxyUrl,proxy_auth_key:c.data.proxyConfig.proxyAuthKey}:void 0,tool_access_config:c.data.toolAccessConfig?{tools_for_connected_account_creation:c.data.toolAccessConfig.toolsForConnectedAccountCreation}:void 0}:{type:c.data.type,credentials:c.data.credentials,name:c.data.name,is_enabled_for_tool_router:c.data.isEnabledForToolRouter,tool_access_config:c.data.toolAccessConfig?{tools_for_connected_account_creation:c.data.toolAccessConfig.toolsForConnectedAccountCreation}:void 0}})).with(g8).using(a=>({id:a.auth_config.id,authScheme:a.auth_config.auth_scheme,isComposioManaged:a.auth_config.is_composio_managed,toolkit:a.toolkit.slug}))}async get(a){return iK(await this.client.authConfigs.retrieve(a))}async update(a,b){let c=he.safeParse(b);if(c.error)throw new c3("Failed to parse auth config update data",{cause:c.error});return this.client.authConfigs.update(a,"custom"===c.data.type?{type:"custom",credentials:c.data.credentials,is_enabled_for_tool_router:c.data.isEnabledForToolRouter,tool_access_config:{tools_for_connected_account_creation:c.data.toolAccessConfig?.toolsForConnectedAccountCreation,tools_available_for_execution:c.data.toolAccessConfig?.toolsAvailableForExecution??c.data.restrictToFollowingTools}}:{type:"default",scopes:c.data.scopes,is_enabled_for_tool_router:c.data.isEnabledForToolRouter,tool_access_config:{tools_for_connected_account_creation:c.data.toolAccessConfig?.toolsForConnectedAccountCreation,tools_available_for_execution:c.data.toolAccessConfig?.toolsAvailableForExecution??c.data.restrictToFollowingTools}})}async delete(a){return this.client.authConfigs.delete(a)}async updateStatus(a,b){return this.client.authConfigs.updateStatus(a,{nanoid:b})}async enable(a){return this.client.authConfigs.updateStatus("ENABLED",{nanoid:a})}async disable(a){return this.client.authConfigs.updateStatus("DISABLED",{nanoid:a})}};function iM(a,b,c,d){let e={id:b,status:c||ij.INITIATED,redirectUrl:d};async function f(b=6e4){let c=[ij.FAILED,ij.EXPIRED,ij.REVOKED],d=a=>{if(c.includes(a.status))throw new c_(`Connection request failed with status: ${a.status}${a.status_reason?`, reason: ${a.status_reason}`:""}`,{meta:{connectedAccountId:e.id,status:a.status,statusReason:a.status_reason}})};try{let b=await a.connectedAccounts.retrieve(e.id);if(b.status===ij.ACTIVE)return e.status=ij.ACTIVE,iu(b);d(b)}catch(a){if(a instanceof b5.NotFoundError)throw new cJ(`Connected account with id ${e.id} not found`,{meta:{connectedAccountId:e.id}});throw a}let g=Date.now();for(;Date.now()-g<b;)try{let b=await a.connectedAccounts.retrieve(e.id);if(e.status=b.status,b.status===ij.ACTIVE)return iu(b);d(b),await new Promise(a=>setTimeout(a,1e3))}catch(a){throw a}throw new c$(`Connection request timed out for ${e.id}`)}return du.instrument(e,"ConnectionRequest"),{...e,waitForConnection:f,toJSON:()=>({...e}),toString:()=>JSON.stringify(e,null,2)}}let iN=new Set(["OAUTH1","OAUTH2","DCR_OAUTH"]),iO=!1;var iP=class{client;constructor(a){this.client=a,du.instrument(this,"ConnectedAccounts")}async list(a){let b;if(a){let c=io.safeParse(a);if(!c.success)throw new c3("Failed to parse connected account list query",{cause:c.error});b={auth_config_ids:c.data.authConfigIds,cursor:c.data.cursor?.toString(),limit:c.data.limit,order_by:c.data.orderBy,statuses:c.data.statuses,toolkit_slugs:c.data.toolkitSlugs,user_ids:c.data.userIds}}return it(await this.client.connectedAccounts.list(b)).with(ip).using(a=>({items:a.items.map(iu),nextCursor:a.next_cursor??null,totalPages:a.total_pages}))}async initiate(a,b,c){let d,e=await this.list({userIds:[a],authConfigIds:[b],statuses:[ij.ACTIVE]});if(e.items.length>0&&!c?.allowMultiple)throw new cK(`Multiple connected accounts found for user ${a} in auth config ${b}. Please use the allowMultiple option to allow multiple connected accounts.`);e.items.length>0&&cf.warn(`[Warn:AllowMultiple] Multiple connected accounts found for user ${a} in auth config ${b}`);let f=c?.config??void 0,g={auth_config:{id:b},connection:{callback_url:c?.callbackUrl,user_id:a,state:f,...c?.alias!=null&&{alias:c.alias}}};try{d=await this.client.connectedAccounts.create(g)}catch(a){if(a instanceof aW&&"string"==typeof a.message&&a.message.includes("no longer supported")&&a.message.includes("/api/v3/connected_accounts/link"))throw new cM(a.message,{cause:a});throw a}let h=d.connectionData?.authScheme;!iO&&"string"==typeof h&&iN.has(h)&&(iO=!0,cf.warn("[Deprecation] composio.connectedAccounts.initiate() will stop working for Composio-managed OAuth auth configs on 2026-05-08 (new orgs) and 2026-07-03 (all orgs). If this auth config is Composio-managed, switch to composio.connectedAccounts.link() before then. Custom auth configs are unaffected. See https://docs.composio.dev/docs/changelog/2026/04/24"));let i="string"==typeof d.connectionData?.val?.redirectUrl?d.connectionData.val.redirectUrl:null;return iM(this.client,d.id,d.connectionData.val.status,i)}async link(a,b,c){let d=await iq.safeParse(c||{});if(!d.success)throw new c3("Failed to parse create connected account link options",{cause:d.error});let e=await this.list({userIds:[a],authConfigIds:[b],statuses:[ij.ACTIVE]});if(e.items.length>0&&!d.data.allowMultiple)throw new cK(`Multiple connected accounts found for user ${a} in auth config ${b}. Please use the allowMultiple option to allow multiple connected accounts.`);e.items.length>0&&cf.warn(`[Warn:AllowMultiple] Multiple connected accounts found for user ${a} in auth config ${b}`);try{let c=await this.client.link.create({auth_config_id:b,user_id:a,...d?.data.callbackUrl&&{callback_url:d.data.callbackUrl},...d?.data.alias!=null&&{alias:d.data.alias}});return iM(this.client,c.connected_account_id,ij.INITIATED,c.redirect_url)}catch(a){throw new cL("Failed to create connected account link",{cause:a})}}async waitForConnection(a,b=6e4){return iM(this.client,a).waitForConnection(b)}async get(a){return iu(await this.client.connectedAccounts.retrieve(a))}async delete(a){return this.client.connectedAccounts.delete(a)}async refresh(a,b){let c;if(b){let a=ir.safeParse(b);if(!a.success)throw new c3("Failed to parse connected account refresh options",{cause:a.error});c={query_redirect_url:a.data.redirectUrl,validate_credentials:a.data.validateCredentials}}return this.client.connectedAccounts.refresh(a,c)}async updateStatus(a,b){return this.client.connectedAccounts.updateStatus(a,b)}async enable(a){return this.client.connectedAccounts.updateStatus(a,{enabled:!0})}async disable(a){return this.client.connectedAccounts.updateStatus(a,{enabled:!1})}async update(a,b){let c=is.safeParse(b);if(!c.success)throw new c3("Failed to parse connected account update params",{cause:c.error});return this.client.connectedAccounts.updateStatus(a,c.data)}},iQ=class{client;constructor(a){this.client=a,this.authorize=this.authorize.bind(this),du.instrument(this,"Toolkits")}async getToolkits(a){try{let b,c=iB.safeParse(a);if(!c.success)throw new c3("Failed to parse toolkit list query",{cause:c.error});return b=await this.client.toolkits.list({category:c.data.category,managed_by:c.data.managedBy,sort_by:c.data.sortBy,cursor:c.data.cursor,limit:c.data.limit}),it(b).with(iE).using(a=>a.items.map(a=>({name:a.name,slug:a.slug,meta:{...a.meta,categories:a.meta.categories?.map(a=>({slug:a.id,name:a.name})),createdAt:a.meta.created_at,description:a.meta.description,logo:a.meta.logo,toolsCount:a.meta.tools_count,triggersCount:a.meta.triggers_count,updatedAt:a.meta.updated_at,appUrl:a.meta.app_url??void 0},isLocalToolkit:a.is_local_toolkit,authSchemes:a.auth_schemes,composioManagedAuthSchemes:a.composio_managed_auth_schemes,noAuth:a.no_auth})))}catch(a){throw new c1("Failed to fetch toolkits",{cause:a})}}async getToolkitBySlug(a){try{let b;return b=await this.client.toolkits.retrieve(a),it(b).with(iH).using(a=>({name:a.name,slug:a.slug,meta:{...a.meta,createdAt:a.meta.created_at,updatedAt:a.meta.updated_at,toolsCount:a.meta.tools_count,triggersCount:a.meta.triggers_count,categories:a.meta.categories?.map(a=>({slug:a.slug,name:a.name})),availableVersions:a.meta.available_versions},isLocalToolkit:a.is_local_toolkit,composioManagedAuthSchemes:a.composio_managed_auth_schemes,authConfigDetails:a.auth_config_details?.map(a=>({name:a.name,mode:a.mode,fields:{authConfigCreation:a.fields.auth_config_creation,connectedAccountInitiation:a.fields.connected_account_initiation},proxy:{baseUrl:a.proxy?.base_url}})),baseUrl:a.base_url,getCurrentUserEndpoint:a.get_current_user_endpoint,getCurrentUserEndpointMethod:a.get_current_user_endpoint_method}))}catch(b){if(b instanceof d8&&(404===b.status||400===b.status))throw new c0(`Toolkit with slug ${a} not found`,{meta:{slug:a},cause:b});throw new c1(`Couldn't fetch Toolkit with slug: ${a}`,{meta:{slug:a},cause:b})}}async get(a){return"string"==typeof a?this.getToolkitBySlug(a):this.getToolkits(a??{})}async getAuthConfigFields(a,b,c,d){let e=await this.getToolkitBySlug(a);if(!e.authConfigDetails)throw new cY("No auth config found for toolkit",{meta:{toolkitSlug:a}});e.authConfigDetails.length>1&&!b&&cf.warn(`Multiple auth configs found for ${a}, please specify the auth scheme to get details of specific auth scheme. Selecting the first scheme by default.`,{meta:{toolkitSlug:a}});let f=b?e.authConfigDetails.find(a=>a.mode===b):e.authConfigDetails[0];if(!f)throw new cY(`Auth schema ${b} not found for toolkit ${a} with auth scheme ${b}`,{meta:{toolkitSlug:a,authScheme:b}});let g=f.fields[c].required.map(a=>({...a,required:!0}));return d?g:[...g,...f.fields[c].optional.map(a=>({...a,required:!1}))]}async getAuthConfigCreationFields(a,b,{requiredOnly:c=!1}={}){return this.getAuthConfigFields(a,b??null,"authConfigCreation",c)}async getConnectedAccountInitiationFields(a,b,{requiredOnly:c=!1}={}){return this.getAuthConfigFields(a,b??null,"connectedAccountInitiation",c)}async listCategories(){return it(await this.client.toolkits.retrieveCategories()).with(iJ).using(a=>({items:a.items.map(a=>({id:a.id,name:a.name})),nextCursor:a.next_cursor??null,totalPages:a.total_pages}))}async authorize(a,b,c){let d=await this.getToolkitBySlug(b),e=new iL(this.client),f=c;if(f||(f=(await e.list({toolkit:b})).items[0]?.id),!f)if(d.authConfigDetails&&d.authConfigDetails.length>0)try{f=(await e.create(b,{type:"use_composio_managed_auth",name:`${d.name} Auth Config`})).id}catch(a){if(a instanceof b5.APIError&&400===a.status)throw new cY(`No Default auth config found for toolkit ${b}`,{meta:{toolkitSlug:b},cause:a,possibleFixes:[`Please Create an auth config for the toolkit ${b} via the dashboard`]});throw a}else throw new cY(`No auth configs found for toolkit ${b}`,{meta:{toolkitSlug:b}});return await new iP(this.client).initiate(a,f,{allowMultiple:!0})}};cn.k5(["enable","disable"]);let iR=cn.Ik({toolkits:cn.YO(cn.Yj()).optional(),triggerId:cn.Yj().optional(),connectedAccountId:cn.Yj().optional(),authConfigId:cn.Yj().optional(),triggerSlug:cn.YO(cn.Yj()).optional(),triggerData:cn.Yj().optional(),userId:cn.Yj().optional()}),iS=cn.Ik({authConfigIds:cn.YO(cn.Yj()).nullable().optional(),connectedAccountIds:cn.YO(cn.Yj()).nullable().optional(),limit:cn.ai().optional(),cursor:cn.Yj().optional(),showDisabled:cn.zM().nullable().optional(),triggerIds:cn.YO(cn.Yj()).nullable().optional(),triggerNames:cn.YO(cn.Yj()).nullable().optional()}),iT=cn.Ik({id:cn.Yj(),connectedAccountId:cn.Yj(),disabledAt:cn.Yj().nullable(),state:cn.g1(cn.L5()),triggerConfig:cn.g1(cn.L5()),triggerName:cn.Yj(),updatedAt:cn.Yj(),triggerData:cn.Yj().optional(),uuid:cn.Yj().optional()}),iU=cn.Ik({items:cn.YO(iT),nextCursor:cn.Yj().nullable(),totalPages:cn.ai()}),iV=cn.Ik({connectedAccountId:cn.Yj().optional(),triggerConfig:cn.g1(cn.L5()).optional()});cn.Ik({triggerId:cn.Yj()}),cn.Ik({status:cn.k5(["enable","disable"])}),cn.Ik({status:cn.k5(["success"])}),cn.Ik({triggerId:cn.Yj()});let iW=cn.Ik({id:cn.Yj().describe("The ID of the trigger"),uuid:cn.Yj().describe("The UUID of the trigger"),triggerSlug:cn.Yj().describe("The slug of the trigger that triggered the event"),toolkitSlug:cn.Yj().describe("The slug of the toolkit that triggered the event"),userId:cn.Yj().describe("The ID of the user that triggered the event"),payload:cn.g1(cn.L5()).describe("The payload of the trigger").optional(),originalPayload:cn.g1(cn.L5()).describe("The original payload of the trigger").optional(),metadata:cn.Ik({id:cn.Yj(),uuid:cn.Yj(),toolkitSlug:cn.Yj(),triggerSlug:cn.Yj(),triggerData:cn.Yj().optional(),triggerConfig:cn.g1(cn.L5()),connectedAccount:cn.Ik({id:cn.Yj(),uuid:cn.Yj(),authConfigId:cn.Yj(),authConfigUUID:cn.Yj(),userId:cn.Yj(),status:cn.k5(["ACTIVE","INACTIVE"])})})}),iX=cn.Ik({cursor:cn.Yj().optional(),limit:cn.ai().nullish(),toolkits:cn.YO(cn.Yj()).nullish()}),iY=cn.Ik({slug:cn.Yj(),name:cn.Yj(),description:cn.Yj(),instructions:cn.Yj().optional(),toolkit:cn.Ik({logo:cn.Yj(),slug:cn.Yj(),name:cn.Yj()}),payload:cn.g1(cn.L5()),config:cn.g1(cn.L5()),version:cn.Yj().optional()}),iZ=cn.Ik({items:cn.YO(iY),nextCursor:cn.Yj().nullish(),totalPages:cn.ai()}),i$=cn.Ik({trigger_name:cn.Yj(),connection_id:cn.Yj(),trigger_id:cn.Yj(),payload:cn.g1(cn.L5()),log_id:cn.Yj()}),i_=cn.Ik({type:cn.Yj(),timestamp:cn.Yj(),log_id:cn.Yj(),data:cn.Ik({connection_id:cn.Yj(),connection_nano_id:cn.Yj(),trigger_nano_id:cn.Yj(),trigger_id:cn.Yj(),user_id:cn.Yj()}).passthrough()}),i0=cn.Ik({id:cn.Yj(),timestamp:cn.Yj(),type:cn.Yj().refine(a=>a.startsWith("composio."),{message:"V3 event type must start with 'composio.'"}),metadata:cn.g1(cn.L5()),data:cn.g1(cn.L5())}),i1=cn.Ik({id:cn.Yj(),timestamp:cn.Yj(),type:cn.Yj(),metadata:cn.Ik({log_id:cn.Yj(),trigger_slug:cn.Yj(),trigger_id:cn.Yj(),connected_account_id:cn.Yj(),auth_config_id:cn.Yj(),user_id:cn.Yj()}).passthrough(),data:cn.g1(cn.L5())});cn.KC([i0,i_,i$]);let i2={V1:"V1",V2:"V2",V3:"V3"},i3=cn.Ik({id:cn.Yj({required_error:"Missing 'id' parameter. Pass the value of the 'webhook-id' HTTP header.",invalid_type_error:"Invalid 'id' parameter. Expected string from 'webhook-id' HTTP header."}),payload:cn.Yj({required_error:"Missing 'payload' parameter. Pass the raw request body as a string (do not parse it).",invalid_type_error:"Invalid 'payload' parameter. Expected string (raw request body)."}),secret:cn.Yj({required_error:"Missing 'secret' parameter. Get your webhook secret from the Composio dashboard.",invalid_type_error:"Invalid 'secret' parameter. Expected string."}),signature:cn.Yj({required_error:"Missing 'signature' parameter. Pass the value of the 'webhook-signature' HTTP header.",invalid_type_error:"Invalid 'signature' parameter. Expected string from 'webhook-signature' HTTP header."}),timestamp:cn.Yj({required_error:"Missing 'timestamp' parameter. Pass the value of the 'webhook-timestamp' HTTP header.",invalid_type_error:"Invalid 'timestamp' parameter. Expected string from 'webhook-timestamp' HTTP header."}),tolerance:cn.ai().optional().default(300)}),i4=cn.Ik({projectId:cn.Yj().describe("The project ID"),pusherKey:cn.Yj().describe("The Pusher key"),pusherCluster:cn.Yj().describe("The Pusher cluster")});var i5=class{constructor(a){this.client=a,this.client=a}async getSDKRealtimeCredentials(){let a=await this.client.request({method:"get",path:"/api/v3/internal/sdk/realtime/credentials"}),b=i4.safeParse({pusherKey:a.pusher_key,projectId:a.project_id,pusherCluster:a.pusher_cluster});if(cf.debug(`[InternalService] SDK realtime credentials: ${JSON.stringify(b,null,2)}`),!b.success)throw new c3("Failed to parse SDK realtime credentials",{cause:b.error});return b.data}},i6=class{clientId;pusherKey;pusherCluster;pusherChannel;pusherBaseURL;apiKey;pusherClient;composioClient;constructor(a){this.composioClient=a,this.pusherBaseURL=a.baseURL,this.apiKey=a.apiKey??process.env.COMPOSIO_API_KEY??"",du.instrument(this,"PusherService")}async getPusherClient(){if(!this.pusherClient){let a,b=new i5(this.composioClient);try{a=await b.getSDKRealtimeCredentials()}catch(a){throw new c7("Failed to get SDK realtime credentials",{cause:a})}this.clientId=a.projectId,this.pusherKey=a.pusherKey,this.pusherCluster=a.pusherCluster,this.pusherChannel=`private-${this.clientId}_triggers`,cf.debug(`[PusherService] Creating Pusher client for client ID: ${this.clientId} in cluster ${this.pusherCluster}`);try{let{default:a}=await c.e(2914).then(c.t.bind(c,22914,19));this.pusherClient=new a(this.pusherKey,{cluster:this.pusherCluster,channelAuthorization:{endpoint:`${this.pusherBaseURL}/api/v3/internal/sdk/realtime/auth`,headers:{"x-api-key":this.apiKey},transport:"ajax"}})}catch(a){throw new c8("Failed to create Pusher client",{cause:a})}}return this.pusherClient}bindWithChunking(a,b,c){try{a.bind(b,c);let d={};a.bind("chunked-"+b,a=>{try{if(!a||"string"!=typeof a.id||"number"!=typeof a.index)throw Error("Invalid chunked trigger data format");d.hasOwnProperty(a.id)||(d[a.id]={chunks:[],receivedFinal:!1});let b=d[a.id];if(b.chunks[a.index]=a.chunk,a.final&&(b.receivedFinal=!0),b.receivedFinal&&b.chunks.length===Object.keys(b.chunks).length)try{c(JSON.parse(b.chunks.join("")))}catch(b){let a=b instanceof Error?b.message:String(b);cf.error("Failed to parse chunked data:",a)}finally{delete d[a.id]}}catch(c){let b=c instanceof Error?c.message:String(c);cf.error("Error processing chunked trigger data:",b),a&&"object"==typeof a&&"id"in a&&delete d[a.id]}})}catch(b){let a=b instanceof Error?b.message:String(b);throw cf.error("Failed to bind chunked events:",b),Error(`Failed to bind chunked events: ${a}`)}}async subscribe(a){try{cf.debug(`[PusherService] Subscribing to channel: ${this.pusherChannel}`);let b=await (await this.getPusherClient()).subscribe(this.pusherChannel);b.bind("pusher:subscription_error",a=>{let b=a.error?String(a.error):"Unknown subscription error";throw new c9(`Trigger subscription error: ${b}`,{cause:b})}),this.bindWithChunking(b,"trigger_to_client",b=>{try{a(b)}catch(b){let a=b instanceof Error?b.message:String(b);cf.error("❌ Error in trigger callback:",a)}}),cf.info(`✅ Subscribed to triggers. You should start receiving events now.`)}catch(a){throw new c9("Failed to subscribe to Pusher channel",{cause:a})}}async unsubscribe(){try{cf.debug(`[PusherService] Unsubscribing from channel: ${this.pusherChannel}`),await (await this.getPusherClient()).unsubscribe(this.pusherChannel),cf.info(`✅ Unsubscribed from triggers.`)}catch(a){throw new c9("Failed to unsubscribe from Pusher channel",{cause:a})}}};async function i7(a,b){let c=new TextEncoder,d=c.encode(a),e=await globalThis.crypto.subtle.importKey("raw",d,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),f=c.encode(b);return function(a){let b=new Uint8Array(a),c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c)}(await globalThis.crypto.subtle.sign("HMAC",e,f))}let i8=(a,b)=>{if(null==a)return b;let c=String(a);return c.length>0?c:b};var i9=class{client;pusherService;toolkitVersions;constructor(a,b){this.client=a,this.pusherService=new i6(a),this.toolkitVersions=b?.toolkitVersions??d1.toolkitVersions,du.instrument(this,"Triggers")}async listActive(a){let b=iS.safeParse(a??{});if(!b.success)throw new c3("Invalid parameters passed to list triggers",{cause:b.error});return it(await this.client.triggerInstances.listActive(a?{auth_config_ids:b.data.authConfigIds,connected_account_ids:b.data.connectedAccountIds,cursor:b.data.cursor,limit:b.data.limit,show_disabled:b.data.showDisabled,trigger_ids:b.data.triggerIds,trigger_names:b.data.triggerNames}:void 0)).with(iU).using(a=>({items:a.items.map(a=>it(a).with(iT).using(a=>({id:a.id,connectedAccountId:a.connected_account_id,disabledAt:a.disabled_at,state:a.state,triggerConfig:a.trigger_config,triggerName:a.trigger_name,updatedAt:a.updated_at,triggerData:a.trigger_data,uuid:a.uuid}))),nextCursor:a.next_cursor??null,totalPages:a.total_pages}))}async create(a,b,c){let d,e=iV.safeParse(c??{});if(!e.success)throw new c3("Invalid parameters passed to create trigger",{cause:e.error});try{d=(await this.getType(b)).toolkit.slug}catch(a){if(a instanceof aS&&(400===a.status||404===a.status))throw new da(`Trigger type ${b} not found`,{cause:a,possibleFixes:["Please check the trigger slug","Please check the provided version of toolkit has the trigger","Visit the toolkit page to see the available triggers"]});throw a}let f=c?.connectedAccountId;try{let{items:b}=await this.client.connectedAccounts.list({user_ids:[a],toolkit_slugs:[d]});if(0===b.length)throw new cJ(`No connected account found for user ${a} for toolkit ${d}`,{cause:Error(`No connected account found for user ${a}`),possibleFixes:[`Create a new connected account for user ${a}`]});let c=b.some(a=>a.id===f);if(f&&!c)throw new cJ(`Connected account ID ${f} not found for user ${a}`,{cause:Error(`Connected account ID ${f} not found for user ${a}`),possibleFixes:[`Create a new connected account for user ${a}`,"Verify the connected account ID"]});f||(f=b[0].id,cf.warn(`[Warn] Multiple connected accounts found for user ${a}, using the first one. Pass connectedAccountId to select a specific account.`))}catch(b){if(b instanceof aS&&[400,404].includes(b.status))throw new cJ(`No connected account found for user ${a} for toolkit ${d}`,{cause:b,possibleFixes:[`Create a new connected account for user ${a}`]});throw b}return{triggerId:(await this.client.triggerInstances.upsert(b,{connected_account_id:f,trigger_config:e.data.triggerConfig,toolkit_versions:this.toolkitVersions})).trigger_id}}async update(a,b){return this.client.triggerInstances.manage.update(a,b)}async delete(a){return{triggerId:(await this.client.triggerInstances.manage.delete(a)).trigger_id}}async disable(a){return this.client.triggerInstances.manage.update(a,{status:"disable"})}async enable(a){return this.client.triggerInstances.manage.update(a,{status:"enable"})}async listTypes(a){let b=it(a??{}).with(iX).using(a=>a);return it(await this.client.triggersTypes.list({cursor:b.cursor,limit:b.limit,toolkit_slugs:b.toolkits,toolkit_versions:this.toolkitVersions})).with(iZ).using(a=>({items:a.items,nextCursor:a.next_cursor??null,totalPages:a.total_pages}))}async getType(a){return it(await this.client.triggersTypes.retrieve(a,{toolkit_versions:this.toolkitVersions})).with(iY).using(a=>({slug:a.slug,name:a.name,description:a.description,instructions:a.instructions,toolkit:{logo:a.toolkit.logo,slug:a.toolkit.slug,name:a.toolkit.name},version:a.version,payload:a.payload,config:a.config}))}async listEnum(){return this.client.triggersTypes.retrieveEnum()}shouldSendTriggerAfterFilters(a,b){return a.toolkits?.length&&!a.toolkits.map(a=>a.toLowerCase()).includes(b.toolkitSlug.toLowerCase())?(cf.debug("Trigger does not match toolkits filter",JSON.stringify(a.toolkits,null,2)),!1):a.triggerId&&a.triggerId!==b.id?(cf.debug("Trigger does not match triggerId filter",JSON.stringify(a.triggerId,null,2)),!1):a.connectedAccountId&&a.connectedAccountId!==b.metadata.connectedAccount.id?(cf.debug("Trigger does not match connectedAccountId filter",JSON.stringify(a.connectedAccountId,null,2)),!1):a.triggerSlug?.length&&!a.triggerSlug.map(a=>a.toLowerCase()).includes(b.triggerSlug.toLowerCase())?(cf.debug("Trigger does not match triggerSlug filter",JSON.stringify(a.triggerSlug,null,2)),!1):a.triggerData&&a.triggerData!==b.metadata.triggerData?(cf.debug("Trigger does not match triggerData filter",JSON.stringify(a.triggerData,null,2)),!1):a.userId&&a.userId!==b.metadata.connectedAccount.userId?(cf.debug("Trigger does not match userId filter",JSON.stringify(a.userId,null,2)),!1):(cf.debug("Trigger matches all filters",JSON.stringify(a,null,2)),!0)}async subscribe(a,b={}){if(!a)throw Error("Function is required for trigger subscription");let c=iR.safeParse(b);if(!c.success)throw new c3("Invalid parameters passed to subscribe to triggers",{cause:c.error});cf.debug("\uD83D\uDD04 Subscribing to triggers with filters: ",JSON.stringify(b,null,2)),await this.pusherService.subscribe(b=>{cf.debug("Received raw trigger data",JSON.stringify(b,null,2));let d=this.parsePusherPayload(b);if(this.shouldSendTriggerAfterFilters(c.data,d))try{a(d)}catch(a){cf.error("❌ Error in trigger callback:",a)}else cf.debug("Trigger does not match filters",JSON.stringify(c.data,null,2))})}tryParseVersionedPayload(a){let b=i0.safeParse(a);if(b.success)return{ok:!0,version:i2.V3,rawPayload:b.data,normalizedPayload:this.normalizeV3Payload(b.data)};let c=i_.safeParse(a);if(c.success)return{ok:!0,version:i2.V2,rawPayload:c.data,normalizedPayload:this.normalizeV2Payload(c.data)};let d=i$.safeParse(a);return d.success?{ok:!0,version:i2.V1,rawPayload:d.data,normalizedPayload:this.normalizeV1Payload(d.data)}:{ok:!1,v1Error:d.error.message,v2Error:c.error.message,v3Error:b.error.message}}parsePusherPayload(a){let b=this.tryParseVersionedPayload(a);if(b.ok)return cf.debug(`Parsed Pusher payload as ${b.version} format`),b.normalizedPayload;if(a.metadata?.nanoId&&a.appName)return cf.debug("Parsed Pusher payload as legacy TriggerData format"),it(a).with(iW).using(a=>({id:a.metadata.nanoId,uuid:a.metadata.id,triggerSlug:a.metadata.triggerName,toolkitSlug:a.appName,userId:a.metadata.connection?.clientUniqueUserId,payload:a.payload,originalPayload:a.originalPayload,metadata:{id:a.metadata.nanoId,uuid:a.metadata.id,triggerConfig:a.metadata.triggerConfig,triggerSlug:a.metadata.triggerName,toolkitSlug:a.appName,triggerData:a.metadata.triggerData,connectedAccount:{id:a.metadata.connection?.connectedAccountNanoId,uuid:a.metadata.connection?.id,authConfigId:a.metadata.connection?.authConfigNanoId,authConfigUUID:a.metadata.connection?.integrationId,userId:a.metadata.connection?.clientUniqueUserId,status:a.metadata.connection?.status}}}));cf.warn("Unknown Pusher payload format. Payload keys: "+Object.keys(a).join(", "));let c=i8(a.id,i8(a.trigger_id,"unknown")),d=i8(a.uuid,i8(a.id,"unknown")),e=i8(a.triggerSlug,i8(a.trigger_name,"UNKNOWN")),f=i8(a.toolkitSlug,i8(a.appName,"UNKNOWN"));return{id:c,uuid:d,triggerSlug:e,toolkitSlug:f,userId:i8(a.userId,""),payload:a.payload||a,originalPayload:a.originalPayload||a,metadata:{id:c,uuid:d,triggerSlug:e,toolkitSlug:f,triggerConfig:{},connectedAccount:{id:"",uuid:"",authConfigId:"",authConfigUUID:"",userId:"",status:"ACTIVE"}}}}async unsubscribe(){await this.pusherService.unsubscribe()}async verifyWebhook(a){let b=i3.safeParse(a);if(!b.success){let a=b.error.issues.filter(a=>"invalid_type"===a.code&&"undefined"===a.received).map(a=>{let b=a.path[0],c={id:"webhook-id",timestamp:"webhook-timestamp",signature:"webhook-signature"}[b];return c?`'${b}' (from '${c}' header)`:`'${b}'`});if(a.length>0)throw new c3(`Missing required parameters: ${a.join(", ")}. Extract these values from the HTTP request headers and body.`,{cause:b.error});throw new c3("Invalid parameters passed to verifyWebhook",{cause:b.error})}let{payload:c,signature:d,secret:e,id:f,timestamp:g,tolerance:h}=b.data;h>0&&this.validateWebhookTimestamp(g,h),await this.verifyWebhookSignature(f,g,c,d,e);let{version:i,rawPayload:j,normalizedPayload:k}=this.parseWebhookPayload(c);return{version:i,payload:k,rawPayload:j}}parseWebhookPayload(a){let b;try{b=JSON.parse(a)}catch(a){throw new dc("Failed to parse webhook payload as JSON",{cause:a})}let c=this.tryParseVersionedPayload(b);if(c.ok){let{ok:a,...b}=c;return b}let{v1Error:d,v2Error:e,v3Error:f}=c;throw new dc("Webhook payload does not match any known version (V1, V2, or V3). Please ensure you are using a supported webhook payload format.",{cause:{v1Error:d,v2Error:e,v3Error:f}})}normalizeV1Payload(a){let b=a.trigger_name,c=b.split("_")[0]?.toUpperCase()||"UNKNOWN";return{id:a.trigger_id,uuid:a.trigger_id,triggerSlug:b,toolkitSlug:c,userId:"",payload:a.payload,originalPayload:a.payload,metadata:{id:a.trigger_id,uuid:a.trigger_id,toolkitSlug:c,triggerSlug:b,triggerConfig:{},connectedAccount:{id:a.connection_id,uuid:a.connection_id,authConfigId:"",authConfigUUID:"",userId:"",status:"ACTIVE"}}}}normalizeV2Payload(a){let b=a.type.toUpperCase(),c=b.split("_")[0]||"UNKNOWN",{connection_id:d,connection_nano_id:e,trigger_nano_id:f,trigger_id:g,user_id:h,...i}=a.data;return{id:f,uuid:g,triggerSlug:b,toolkitSlug:c,userId:h,payload:i,originalPayload:i,metadata:{id:f,uuid:g,toolkitSlug:c,triggerSlug:b,triggerConfig:{},connectedAccount:{id:e,uuid:d,authConfigId:"",authConfigUUID:"",userId:h,status:"ACTIVE"}}}}normalizeV3Payload(a){let b=i1.safeParse(a);if(b.success){let c=b.data.metadata.trigger_slug,d=c.split("_")[0]?.toUpperCase()||"UNKNOWN";return{id:b.data.metadata.trigger_id,uuid:b.data.metadata.trigger_id,triggerSlug:c,toolkitSlug:d,userId:b.data.metadata.user_id,payload:a.data,originalPayload:a.data,metadata:{id:b.data.metadata.trigger_id,uuid:b.data.metadata.trigger_id,toolkitSlug:d,triggerSlug:c,triggerConfig:{},connectedAccount:{id:b.data.metadata.connected_account_id,uuid:b.data.metadata.connected_account_id,authConfigId:b.data.metadata.auth_config_id,authConfigUUID:b.data.metadata.auth_config_id,userId:b.data.metadata.user_id,status:"ACTIVE"}}}}return{id:a.id,uuid:a.id,triggerSlug:a.type,toolkitSlug:"COMPOSIO",userId:"",payload:a.data,originalPayload:a,metadata:{id:a.id,uuid:a.id,toolkitSlug:"COMPOSIO",triggerSlug:a.type,triggerConfig:{},connectedAccount:{id:"",uuid:"",authConfigId:"",authConfigUUID:"",userId:"",status:"ACTIVE"}}}}async verifyWebhookSignature(a,b,c,d,e){if(0===c.length)throw new db("No webhook payload was provided.");if(0===d.length)throw new db("No signature header value was provided. Please pass the value of the 'webhook-signature' header.");if(0===e.length)throw new db("No webhook secret was provided. You can find your webhook secret in your Composio dashboard.");if(0===a.length)throw new db("No webhook ID was provided. Please pass the value of the 'webhook-id' header.");if(0===b.length)throw new db("No webhook timestamp was provided. Please pass the value of the 'webhook-timestamp' header.");let f=d.split(" "),g=[];for(let a of f){let[b,c]=a.split(",");"v1"===b&&c&&g.push(c)}if(0===g.length)throw new db("No valid v1 signature found in the webhook-signature header. Expected format: 'v1,base64EncodedSignature'");let h=await i7(e,`${a}.${b}.${c}`),i=!1;for(let a of g)if(function(a,b){if(a.length!==b.length)return!1;let c=0;for(let d=0;d<a.length;d++)c|=a.charCodeAt(d)^b.charCodeAt(d);return 0===c}(a,h)){i=!0;break}if(!i)throw new db("The signature provided is invalid. Please ensure you are using the correct webhook secret.")}validateWebhookTimestamp(a,b){let c=parseInt(a,10);if(Number.isNaN(c))throw new dc(`Invalid webhook timestamp: ${a}. Expected Unix timestamp in seconds.`);let d=Math.abs(Date.now()-1e3*c);if(d>1e3*b)throw new db(`The webhook timestamp is outside the allowed tolerance. The webhook was sent ${Math.round(d/1e3)} seconds ago, but the maximum allowed age is ${b} seconds.`)}};let ja=aM.object({id:aM.string(),name:aM.string(),type:aM.literal("streamable_http"),url:aM.string(),userId:aM.string(),allowedTools:aM.array(aM.string()),authConfigs:aM.array(aM.string())}),jb=aM.object({toolkit:aM.string().describe("Id of the toolkit").optional(),authConfigId:aM.string().describe("Id of the auth config").optional()}),jc=aM.object({toolkits:aM.array(aM.union([jb,aM.string()])),allowedTools:aM.array(aM.string()).optional(),manuallyManageConnections:aM.boolean().default(!1).optional().describe(`Whether to manually manage accounts. If true, you need to manage accounts manually connect user accounts.
26
+ If set to false, composio will inject account maangement tools into your mcp server for agents to request and authenticate accounts.
27
+ defaults to false`)}),jd=aM.object({id:aM.string(),name:aM.string(),allowedTools:aM.array(aM.string()),authConfigIds:aM.array(aM.string()),commands:aM.object({claude:aM.string(),cursor:aM.string(),windsurf:aM.string()}),MCPUrl:aM.string()}),je=aM.object({manuallyManageConnections:aM.boolean().default(!1).optional().describe(`Whether to manually manage accounts. If true, you need to manage accounts manually connect user accounts.
28
+ If set to false, composio will inject account maangement tools into your mcp server for agents to request and authenticate accounts.
29
+ defaults to false`)}),jf=aM.object({page:aM.number().optional().default(1),limit:aM.number().optional().default(10),toolkits:aM.array(aM.string()).optional().default([]),authConfigs:aM.array(aM.string()).optional().default([]),name:aM.string().optional()}),jg=jd.extend({...aM.object({toolkitIcons:aM.record(aM.string(),aM.string()),serverInstanceCount:aM.number(),toolkits:aM.array(aM.string())}).shape}),jh=aM.object({items:aM.array(jg),currentPage:aM.number(),totalPages:aM.number()}),ji=aM.object({name:aM.string().optional(),toolkits:aM.array(aM.union([jb,aM.string()])).optional(),allowedTools:aM.array(aM.string()).optional(),manuallyManageConnections:aM.boolean().optional().describe(`Whether to manually manage accounts. If true, you need to manage accounts manually connect user accounts.
30
+ If set to false, composio will inject account maangement tools into your mcp server for agents to request and authenticate accounts.
31
+ defaults to false`)});function jj(a){return it(a).with(jg).using(a=>({name:a.name,allowedTools:a.allowed_tools,id:a.id,authConfigIds:a.auth_config_ids,commands:a.commands,MCPUrl:a.mcp_url,toolkitIcons:a.toolkit_icons,serverInstanceCount:a.server_instance_count,toolkits:a.toolkits}))}aM.object({connected:aM.boolean(),toolkit:aM.string(),connectedAccountId:aM.string()}),aM.record(aM.string(),aM.array(aM.object({toolkit:aM.string(),authConfigId:aM.string(),connectedAccountId:aM.string()})));var jk=class{client;constructor(a){this.client=a,du.instrument(this,"MCP")}async create(a,b){let c=jc.safeParse(b);if(c.error)throw new c3("Invalid parameters passed to create mcp config",{cause:c.error});let d=[],e=[],f=c.data.allowedTools??[];c.data.toolkits.forEach(a=>{"string"==typeof a?d.push(a):a.toolkit?d.push(a.toolkit):a.authConfigId&&e.push(a.authConfigId)});let g=await this.client.mcp.custom.create({name:a,toolkits:d,auth_config_ids:e,custom_tools:f,managed_auth_via_composio:!c.data.manuallyManageConnections});return{...it(g).with(jd).using(a=>({name:a.name,allowedTools:a.allowed_tools,id:a.id,authConfigIds:a.auth_config_ids,commands:a.commands,MCPUrl:a.mcp_url})),generate:async a=>await this.generate(a,g.id,{manuallyManageConnections:c.data.manuallyManageConnections})}}async list(a){let{data:b,error:c}=jf.safeParse(a);if(c)throw new c3("Failed to validate list options",{cause:c});return it(await this.client.mcp.list({page_no:b.page,limit:b.limit,toolkits:b.toolkits?.length>0?b.toolkits.join(","):void 0,auth_config_ids:b.authConfigs?.length>0?b.authConfigs.join(","):void 0,name:b.name})).with(jh).using(a=>({currentPage:a.current_page,totalPages:a.total_pages,items:a.items.map(a=>({name:a.name,allowedTools:a.allowed_tools,id:a.id,authConfigIds:a.auth_config_ids,commands:a.commands,MCPUrl:a.mcp_url,toolkitIcons:a.toolkit_icons,serverInstanceCount:a.server_instance_count,toolkits:a.toolkits}))}))}async get(a){return jj(await this.client.mcp.retrieve(a))}async delete(a){return await this.client.mcp.delete(a)}async update(a,b){let{data:c,error:d}=ji.safeParse(b);if(d)throw new c3("Failed to validate update params",{cause:d});let e=[],f=[],g=c.allowedTools??void 0;return c.toolkits?.forEach(a=>{"string"==typeof a?e.push(a):a.toolkit?e.push(a.toolkit):a.authConfigId&&f.push(a.authConfigId)}),jj(await this.client.mcp.update(a,{name:c.name??void 0,...c.toolkits?{custom_tools:g,toolkits:e,auth_config_ids:f}:{},managed_auth_via_composio:c.manuallyManageConnections??void 0}))}async generate(a,b,c){let d=await this.client.mcp.retrieve(b),e=je.safeParse(c??{manuallyManageConnections:!1});if(e.error)throw new c3("Invalid params passed for Get Instance Params",{cause:e.error});let f=(await this.client.mcp.generate.url({mcp_server_id:b,user_ids:[a],managed_auth_by_composio:!c?.manuallyManageConnections})).user_ids_url[0],g=ja.safeParse({id:d.id,name:d.name,type:"streamable_http",url:f,userId:a,allowedTools:d.allowed_tools,authConfigs:d.auth_config_ids});if(g.error)throw new c3("Failed to parse MCP server instance",{cause:g.error});return g.data}};async function jl(a){try{if(!gT.valid(a))return;let b=gT.prerelease(a);if(b&&(String(b[0]).includes("alpha")||String(b[0]).includes("beta")))return;let c=(await (await fetch("https://registry.npmjs.org/@composio/core/latest")).json()).version;gT.gt(c,a)&&!cc&&cf.info(`🚀 Upgrade available! Your composio-core version (${a}) is behind. Latest version: ${c}.`)}catch(a){}}var jm=class{_globalExecuteToolFn;_setExecuteToolFn(a){this._globalExecuteToolFn=a}executeTool(a,b,c){if(!this._globalExecuteToolFn)throw new cU("executeToolFn is not set");return this._globalExecuteToolFn(a,b,c)}},jn=class extends jm{_isAgentic=!1},jo=class extends jn{name="openai";constructor(){super()}wrapMcpServerResponse(a){return a.map(a=>({url:new URL(a.url),name:a.name}))}wrapTool=a=>({type:"function",function:{name:a.slug,description:a.description,parameters:a.inputParameters}});wrapTools=a=>a.map(a=>this.wrapTool(a));async executeToolCall(a,b,c,d){let e={arguments:JSON.parse(b.function.arguments),connectedAccountId:c?.connectedAccountId,customAuthParams:c?.customAuthParams,customConnectionData:c?.customConnectionData,userId:a};return JSON.stringify(await this.executeTool(b.function.name,e,d))}async handleToolCalls(a,b,c,d){let e=[];for(let f of b.choices)if(f.message.tool_calls&&"function"===f.message.tool_calls[0].type){let b=await this.executeToolCall(a,f.message.tool_calls[0],c,d);e.push({role:"tool",tool_call_id:f.message.tool_calls[0].id,content:b})}return e}async handleAssistantMessage(a,b,c,d){let e=b.required_action?.submit_tool_outputs?.tool_calls||[];return await Promise.all(e.map(async b=>{cf.debug(`Executing tool call: ${b.id}`);let e=await this.executeToolCall(a,b,c,d);return cf.debug(`Tool call ${b.id} executed with response: ${e}`),{tool_call_id:b.id,output:JSON.stringify(e)}}))}async *waitAndHandleAssistantStreamToolCalls(a,b,c,d,e,f){let g=null;for await(let h of c){if(yield h,"thread.run.created"===h.event){let{id:a}=h.data;g=a}if(g){if("thread.run.requires_action"===h.event){let c=await this.handleAssistantMessage(a,h.data,e,f);await b.beta.threads.runs.submitToolOutputs(g,{thread_id:d.id,tool_outputs:c})}if(["thread.run.completed","thread.run.failed","thread.run.cancelled","thread.run.expired"].includes(h.event))break}}if(!g)throw Error("No run ID found");let h=await b.beta.threads.runs.retrieve(g,{thread_id:d.id});for(;["queued","in_progress","requires_action"].includes(h.status);)if("requires_action"===h.status){let c=await this.handleAssistantMessage(a,h,e,f);h=await b.beta.threads.runs.submitToolOutputs(g,{thread_id:d.id,tool_outputs:c})}else h=await b.beta.threads.runs.retrieve(g,{thread_id:d.id}),await new Promise(a=>setTimeout(a,500))}async waitAndHandleAssistantToolCalls(a,b,c,d,e,f){for(;["queued","in_progress","requires_action"].includes(c.status);){let g=await this.handleAssistantMessage(a,c,e,f);"requires_action"===c.status?c=await b.beta.threads.runs.submitToolOutputs(c.id,{thread_id:d.id,tool_outputs:g}):(c=await b.beta.threads.runs.retrieve(c.id,{thread_id:d.id}),await new Promise(a=>setTimeout(a,500)))}return c}},jp="0.9.0";let jq=function(){let a=globalThis;if("Bun"in a&&void 0!==a.Bun)return"BUN";if("Deno"in a&&void 0!==a.Deno)return"DENO";if("undefined"!=typeof process&&process.versions&&process.versions.node)return"NODEJS";if("caches"in a&&void 0!==a.caches&&"WebSocketPair"in a&&void 0!==a.WebSocketPair)return"CLOUDFLARE_WORKERS";if("EdgeRuntime"in a&&void 0!==a.EdgeRuntime)return"VERCEL_EDGE";if("ServiceWorkerGlobalScope"in a&&void 0!==a.ServiceWorkerGlobalScope){let b=a.ServiceWorkerGlobalScope;if(b&&a instanceof b)return"SERVICE_WORKER"}return"WorkerGlobalScope"in a&&void 0!==a.WorkerGlobalScope&&"importScripts"in a&&"function"==typeof a.importScripts?"WEB_WORKER":"undefined"!=typeof navigator&&"ReactNative"===navigator.product?"REACT_NATIVE":"undefined"!=typeof window&&"undefined"!=typeof document?"BROWSER":"UNKNOWN"}(),jr=(a,b)=>{let c={"x-framework":b?.name||"unknown","x-source":"TYPESCRIPT_SDK","x-runtime":jq,"x-sdk-version":jp};return{...a||{},...c}},js={DIRECT_TOOLS:"direct_tools"},jt=aM.enum(["http","sse"]),ju=aM.enum(["standard","medium","large","xlarge"]),jv=aM.object({enable:aM.boolean().default(!0).optional().describe("Whether to use tools to manage connections in the tool router session. Defaults to true, if set to false, you need to manage connections manually"),callbackUrl:aM.string().optional().describe("The callback uri to use in the tool router session"),waitForConnections:aM.boolean().optional().describe("Whether to wait for users to finish authenticating connections before proceeding to the next step. Defaults to false, if set to true, a wait for connections tool call will happen and finish when the connections are ready")}).strict(),jw=aM.array(aM.string()).describe("List of toolkits to enable in the tool router session"),jx=aM.object({disable:jw.describe("List of toolkits to disable in the tool router session")}).strict(),jy=aM.object({enable:jw.describe("List of toolkits to enable in the tool router session")}).strict();aM.object({enable:aM.boolean().optional().describe("Whether to use tools to manage connections in the tool router session. Defaults to true, if set to false, you need to manage connections manually").default(!0),callbackUrl:aM.string().optional().describe("The callback url to use in the tool router session")});let jz=aM.array(aM.enum(["readOnlyHint","destructiveHint","idempotentHint","openWorldHint"])).describe("The tags to filter the tools by"),jA=aM.object({enable:jz.optional().describe("The tags to enable in the tool router session"),disable:jz.optional().describe("The tags to disable in the tool router session")}).strict(),jB=aM.union([jz,jA]).describe("The tags to use in the tool router session"),jC=aM.array(aM.string()).describe("The tools to use in the tool router session"),jD=aM.union([jC,aM.object({enable:jC.describe("The tools to enable in the tool router session")}).strict(),aM.object({disable:jC.describe("The tools to disable in the tool router session")}).strict(),aM.object({tags:jB.describe("The tags to filter the tools by, this will override the global tags")}).strict()]).superRefine((a,b)=>{if("object"==typeof a&&!Array.isArray(a)){let c=Object.keys(a);c.length>1&&b.addIssue({code:aM.ZodIssueCode.custom,message:`Only one of 'enable', 'disable', or 'tags' can be specified, but found: ${c.join(", ")}`,path:c})}}),jE=aM.object({sessionPreset:aM.literal(js.DIRECT_TOOLS).optional().describe("Shortcut to expose every tool allowed by the session filters directly in session.tools() and the MCP tool list. This disables meta tools by default (search, multi-execute, manage-connections, and workbench). Use when all tools are known upfront and helper/meta tools are not needed. Without this preset, ToolRouter uses its default configuration with meta tools enabled."),tools:aM.record(aM.string(),aM.union([jC,jD])).optional().describe("The tools to use in the tool router session"),tags:jB.optional().describe("Global tags to filter the tools by"),toolkits:aM.union([jw,jx,jy]).optional().describe("The toolkits to use in the tool router session"),authConfigs:aM.record(aM.string(),aM.string()).describe("The auth configs to use in the tool router session. The key is the toolkit slug, the value is the auth config id.").default({}),connectedAccounts:aM.record(aM.string(),aM.union([aM.string(),aM.array(aM.string())])).describe("The connected accounts to use in the tool router session. The key is the toolkit slug, the value is a connected account id or an array of ids. Only one account per toolkit is allowed when multi-account mode is disabled.").default({}),manageConnections:aM.union([aM.boolean(),jv]).optional().default(!0).describe("The config for the manage connections in the tool router session. Defaults to true, if set to false, you need to manage connections manually. If set to an object, you can configure the manage connections settings."),workbench:aM.object({enable:aM.boolean().default(!0).describe("Whether to enable the workbench entirely. Defaults to true. When set to false, no code execution tools (COMPOSIO_REMOTE_WORKBENCH, COMPOSIO_REMOTE_BASH_TOOL) are available in the session."),enableProxyExecution:aM.boolean().optional().describe("Whether to enable proxy execution in the tool router session"),autoOffloadThreshold:aM.number().optional().describe("The auto offload threshold in characters for the tool execution to be moved into workbench"),sandboxSize:ju.optional().describe('Sandbox compute tier for the workbench. One of "standard" (1 vCPU / 1 GB), "medium" (2 vCPU / 2 GB), "large" (4 vCPU / 4 GB), or "xlarge" (8 vCPU / 8 GB). Defaults to "standard" server-side. Changing this on an existing session recreates the session\'s workbench sandbox on next access; the in-memory FS is lost, but /mnt/files/ persists.')}).optional().describe("The workbench config for the tool router session"),multiAccount:aM.object({enable:aM.boolean().default(!1).describe("When true, enables multi-account mode for this session. Defaults to false."),maxAccountsPerToolkit:aM.number().int().min(2).max(10).optional().describe("Maximum number of connected accounts allowed per toolkit. Defaults to 5 when multi-account is enabled."),requireExplicitSelection:aM.boolean().optional().describe("When true, require explicit account selection when multiple accounts are connected. When false (default), use the first/default account.")}).optional().describe("Multi-account configuration for this session"),preload:aM.object({tools:aM.union([aM.array(aM.string()),aM.literal("all")]).optional().describe('Tool slugs to preload into session.tools() and the MCP tool list, or "all" to preload every app tool allowed by the session filters. "all" requires a positive filter such as toolkits, tools, or tags; the backend validates and caps the final tool set.')}).strict().optional().describe("Preload configuration for tools that should be exposed without search."),experimental:aM.object({assistivePrompt:aM.object({userTimezone:aM.string().optional().describe('IANA timezone identifier (e.g., "America/New_York", "Europe/London") for timezone-aware assistive prompts')}).optional().describe("Configuration for assistive prompt generation"),customTools:aM.array(aM.custom()).optional().describe("Custom tools to include in this session. Created via createCustomTool() from @composio/core/experimental."),customToolkits:aM.array(aM.custom()).optional().describe("Custom toolkits to include in this session. Created via createCustomToolkit() from @composio/core/experimental.")}).optional().describe("Experimental features configuration - not stable, may be modified or removed")}).partial().describe("The config for the tool router session"),jF=aM.preprocess(a=>!a||"object"!=typeof a||Array.isArray(a)||a.sessionPreset!==js.DIRECT_TOOLS?a:{...a,manageConnections:void 0!==a.manageConnections&&a.manageConnections,workbench:void 0===a.workbench?{enable:!1}:a.workbench,preload:void 0===a.preload?{tools:"all"}:a.preload},jE).describe("The config for the tool router session"),jG=aM.object({slug:aM.string().describe("The slug of a toolkit"),name:aM.string().describe("The name of a toolkit"),logo:aM.string().optional().describe("The logo of a toolkit"),isNoAuth:aM.boolean().default(!1).describe("Whether the toolkit is no auth or not"),connection:aM.object({isActive:aM.boolean().describe("Whether the connection is active or not"),authConfig:aM.object({id:aM.string().describe("The id of the auth config"),mode:aM.string().describe("The auth scheme used by the auth config"),isComposioManaged:aM.boolean().describe("Whether the auth config is managed by Composio")}).nullish().describe("The auth config of a toolkit"),connectedAccount:aM.object({id:aM.string().describe("The id of the connected account"),status:aM.string().describe("The status of the connected account")}).optional().describe("The connected account of a toolkit")}).optional().describe("The connection of a toolkit")}).describe("The connection state of a toolkit");aM.object({items:aM.array(jG),cursor:aM.string().optional(),totalPages:aM.number()}),aM.object({type:jt,url:aM.string(),headers:aM.record(aM.string(),aM.string()).optional()});let jH=aM.object({toolkits:aM.array(aM.string()).optional(),cursor:aM.string().optional(),limit:aM.number().optional(),isConnected:aM.boolean().optional(),search:aM.string().optional()}),jI=aM.object({code:aM.string(),description:aM.string()}),jJ=aM.object({index:aM.number(),useCase:aM.string(),primaryToolSlugs:aM.array(aM.string()),relatedToolSlugs:aM.array(aM.string()),toolkits:aM.array(aM.string()),difficulty:aM.string().optional(),error:aM.string().nullable().optional(),executionGuidance:aM.string().optional(),knownPitfalls:aM.array(aM.string()).optional(),memory:aM.record(aM.string(),aM.array(aM.string())).optional(),planId:aM.string().optional(),recommendedPlanSteps:aM.array(aM.string()).optional(),referenceWorkbenchSnippets:aM.array(jI).optional()}),jK=aM.object({id:aM.string(),generateId:aM.boolean(),instructions:aM.string()}),jL=aM.object({currentTimeUtc:aM.string(),currentTimeUtcEpochSeconds:aM.number(),message:aM.string()}),jM=aM.object({args:aM.object({toolSlugs:aM.array(aM.string())}),message:aM.string().optional(),tool:aM.literal("COMPOSIO_GET_TOOL_SCHEMAS")}),jN=aM.object({toolSlug:aM.string(),toolkit:aM.string(),description:aM.string().optional(),hasFullSchema:aM.boolean().optional(),inputSchema:aM.record(aM.string(),aM.unknown()).optional(),outputSchema:aM.record(aM.string(),aM.unknown()).optional(),schemaRef:jM.optional()}),jO=aM.object({toolkit:aM.string(),description:aM.string(),hasActiveConnection:aM.boolean(),statusMessage:aM.string(),connectionDetails:aM.record(aM.string(),aM.unknown()).optional(),currentUserInfo:aM.record(aM.string(),aM.unknown()).optional()}),jP=aM.object({success:aM.boolean(),error:aM.string().nullable(),results:aM.array(jJ),toolSchemas:aM.record(aM.string(),jN),toolkitConnectionStatuses:aM.array(jO),nextStepsGuidance:aM.array(aM.string()),session:jK,timeInfo:jL}),jQ=aM.object({data:aM.record(aM.string(),aM.unknown()),error:aM.string().nullable(),logId:aM.string()}),jR=aM.object({toolkit:aM.string(),endpoint:aM.string(),method:aM.enum(["GET","POST","PUT","DELETE","PATCH"]),body:aM.unknown().optional(),parameters:aM.array(aM.object({in:aM.enum(["query","header"]),name:aM.string(),value:aM.union([aM.string(),aM.number()])})).optional()}),jS=aM.object({toolkits:aM.union([jw,jx,jy]).optional(),tools:aM.record(aM.string(),aM.union([jC,jD])).optional(),tags:jB.optional(),authConfigs:aM.record(aM.string(),aM.string()).optional(),connectedAccounts:aM.record(aM.string(),aM.union([aM.string(),aM.array(aM.string())])).transform(a=>{let b={};for(let[c,d]of Object.entries(a))b[c]="string"==typeof d?[d]:d;return b}).optional(),manageConnections:aM.union([aM.boolean(),jv]).nullable().optional(),workbench:aM.object({enable:aM.boolean().optional(),enableProxyExecution:aM.boolean().optional(),autoOffloadThreshold:aM.number().optional(),sandboxSize:ju.optional()}).nullable().optional(),multiAccount:aM.object({enable:aM.boolean().optional(),maxAccountsPerToolkit:aM.number().int().min(2).max(10).optional(),requireExplicitSelection:aM.boolean().optional()}).nullable().optional(),preload:aM.object({tools:aM.union([aM.array(aM.string()),aM.literal("all")]).optional()}).strict().optional()}).partial(),jT=a=>{if(a&&"object"==typeof a)return Object.keys(a).reduce((b,c)=>{if(Array.isArray(a[c]))b[c]={enable:a[c]};else if("object"==typeof a[c]){let d=jD.safeParse(a[c]);if(d.success){let a=d.data;if(Array.isArray(a))b[c]={enable:a};else if("enable"in a)b[c]={enable:a.enable};else if("disable"in a)b[c]={disable:a.disable};else if("tags"in a){let d=jU(a.tags);d&&(b[c]={tags:d})}}else throw new c3(d.error.message)}else b[c]={enable:a[c]};return b},{})},jU=a=>{if(a){if(Array.isArray(a))return{enable:a};else if("object"==typeof a)return{enable:a.enable,disable:a.disable}}},jV=a=>{if(a)return Array.isArray(a)?{enable:a}:a};function jW(a){return{index:a.index,useCase:a.use_case,primaryToolSlugs:a.primary_tool_slugs,relatedToolSlugs:a.related_tool_slugs,toolkits:a.toolkits,difficulty:a.difficulty,error:a.error,executionGuidance:a.execution_guidance,knownPitfalls:a.known_pitfalls,memory:a.memory,planId:a.plan_id,recommendedPlanSteps:a.recommended_plan_steps,referenceWorkbenchSnippets:a.reference_workbench_snippets}}function jX(a){return{toolkit:a.toolkit,description:a.description,hasActiveConnection:a.has_active_connection,statusMessage:a.status_message,connectionDetails:a.connection_details,currentUserInfo:a.current_user_info}}function jY(a){return{data:a.data,error:a.error,logId:a.log_id}}let jZ=aM.object({path:aM.string().optional(),mountId:aM.string().default(cd),cursor:aM.string().optional(),limit:aM.number().min(1).max(500).optional()}),j$=aM.object({last_modified:aM.string(),mount_relative_path:aM.string(),sandbox_mount_prefix:aM.string(),size:aM.number()}),j_=aM.object({items:aM.array(j$),next_cursor:aM.string().optional()}).transform(a=>({items:a.items.map(a=>({lastModified:a.last_modified,mountRelativePath:a.mount_relative_path,sandboxMountPrefix:a.sandbox_mount_prefix,size:a.size})),nextCursor:a.next_cursor})),j0=aM.object({remotePath:aM.string().optional(),mountId:aM.string().default(cd),mimetype:aM.string().optional()}),j1=aM.object({mountId:aM.string().default(cd)}),j2=aM.object({mountId:aM.string().default(cd)}),j3=aM.object({expires_at:aM.string(),mount_relative_path:aM.string(),sandbox_mount_prefix:aM.string(),download_url:aM.string()}).transform(a=>({expiresAt:a.expires_at,mountRelativePath:a.mount_relative_path,sandboxMountPrefix:a.sandbox_mount_prefix,downloadUrl:a.download_url})),j4=aM.object({mount_relative_path:aM.string(),sandbox_mount_prefix:aM.string()}).transform(a=>({mountRelativePath:a.mount_relative_path,sandboxMountPrefix:a.sandbox_mount_prefix}));var j5=class a{expiresAt;mountRelativePath;sandboxMountPrefix;downloadUrl;constructor(a){this.expiresAt=a.expiresAt,this.mountRelativePath=a.mountRelativePath,this.sandboxMountPrefix=a.sandboxMountPrefix,this.downloadUrl=a.downloadUrl}static parse(b){let c=j3.safeParse(b);if(!c.success)throw new c3("Failed to parse remote file response",{cause:c.error});return new a(c.data)}get filename(){return dE.basename(this.mountRelativePath)}async buffer(){let a=await fetch(this.downloadUrl);if(!a.ok)throw new de(`Failed to download file: ${a.status} ${a.statusText}`,{statusCode:a.status,statusText:a.statusText,downloadUrl:this.downloadUrl,mountRelativePath:this.mountRelativePath,filename:this.filename,cause:Error(`HTTP ${a.status}: ${a.statusText}`)});return new Uint8Array(await a.arrayBuffer())}async text(){let a=await this.buffer();return new TextDecoder().decode(a)}async blob(){let a=await fetch(this.downloadUrl);if(!a.ok)throw new de(`Failed to download file: ${a.status} ${a.statusText}`,{statusCode:a.status,statusText:a.statusText,downloadUrl:this.downloadUrl,mountRelativePath:this.mountRelativePath,filename:this.filename,cause:Error(`HTTP ${a.status}: ${a.statusText}`)});return a.blob()}async save(a){if(!dE.supportsFileSystem)throw Error("File system operations are not supported in this runtime (e.g. Cloudflare Workers). Use buffer(), text(), or blob() to work with the file content in memory, or run in Node.js.");let b=await this.buffer(),c=dE.homedir();if(!c)throw Error("Cannot determine save location: home directory is not available");let d=a??dE.joinPath(c,b9,ca,this.filename),e=null!=a?function(a){let b=Math.max(a.lastIndexOf("/"),a.lastIndexOf("\\"));return b<=0?"":a.slice(0,b)}(d):dE.joinPath(c,b9,ca);return e&&!dE.existsSync(e)&&dE.mkdirSync(e),dE.writeFileSync(d,b),d}};function j6(a){let b={"text/plain":"txt","text/html":"html","text/css":"css","text/javascript":"js","application/json":"json","application/xml":"xml","application/pdf":"pdf","application/zip":"zip","application/x-zip-compressed":"zip","application/gzip":"gz","application/octet-stream":"bin","application/x-tar":"tar","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.ms-excel":"xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","image/jpeg":"jpg","image/jpg":"jpg","image/png":"png","image/gif":"gif","image/svg+xml":"svg","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff","audio/mpeg":"mp3","audio/wav":"wav","audio/ogg":"ogg","video/mp4":"mp4","video/mpeg":"mpeg","video/quicktime":"mov","video/x-msvideo":"avi","video/webm":"webm"},c=a.split(";")[0].toLowerCase().trim();if(b[c])return b[c];let d=c.split("/");if(2===d.length){let a=d[1].toLowerCase();if(a.includes("+")){let b=a.split("+"),c=b[0],d=b[b.length-1];return["svg","atom","rss"].includes(c)?c:(["json","xml","yaml","zip","gzip"].includes(d),d)}return a||"txt"}return"bin"}var j7=class{sessionId;client;constructor(a,b){this.client=a,this.sessionId=b,du.instrument(this,"ToolRouterSessionFiles")}async list(a){let b=jZ.safeParse(a??{});if(!b.success)throw new c3("Failed to parse tool router session files mount list options",{cause:b.error});let c=b.data.path,d=void 0===c||""===c||"/"===c?void 0:c.startsWith("/")?c.slice(1):c,e=await this.client.toolRouter.session.files.list(b.data.mountId,{session_id:this.sessionId,mount_relative_prefix:d,cursor:b.data.cursor,limit:b.data.limit}),f="object"==typeof e&&"body"in e?e.body:e,g=j_.safeParse(f);if(!g.success)throw new c3("Failed to parse file list response",{cause:g.error});return g.data}async normalizeUploadInput(a,b){if("string"==typeof a){if(a.startsWith("http://")||a.startsWith("https://")){let c=await fetch(a);if(!c.ok)throw Error(`Failed to fetch file from URL: ${c.statusText}`);let d=await c.arrayBuffer(),e=(c.headers.get("content-type")||"application/octet-stream").split(";")[0].trim(),f=new URL(a).pathname.split("/").filter(Boolean),g=f.length>0?f[f.length-1]:"";if(!g||!g.includes(".")){let a=j6(e);g=`${dn()}.${a}`}return{fileToUpload:new File([d],g,{type:e}),remotePath:b.remotePath??g,mimetype:e}}let c=dE.readFileSync(a),d=c instanceof Uint8Array?new Uint8Array(c):new TextEncoder().encode(c),e=dE.basename(a),f=b.mimetype??"application/octet-stream";return{fileToUpload:new File([d],e,{type:f}),remotePath:b.remotePath??e,mimetype:f}}if(a instanceof File)return{fileToUpload:a,remotePath:b.remotePath??(a.name||`upload-${dn()}.bin`),mimetype:a.type||"application/octet-stream"};let c=a instanceof ArrayBuffer?new Uint8Array(a):a;if(!b.mimetype&&!b.remotePath)throw Error('When passing a buffer, either mimetype or remotePath (filename) is required. Example: files.upload(buffer, { remotePath: "data.json", mimetype: "application/json" })');let d=b.mimetype??"application/octet-stream",e=j6(d),f=b.remotePath??`upload-${dn()}.${e}`;return{fileToUpload:new File([c],f,{type:d}),remotePath:f,mimetype:d}}async upload(a,b){let c=j0.safeParse(b??{});if(!c.success)throw new c3("Failed to parse tool router session files mount upload options",{cause:c.error});let{fileToUpload:d,remotePath:e,mimetype:f}=await this.normalizeUploadInput(a,c.data),g=await this.client.toolRouter.session.files.createUploadURL(c.data.mountId,{session_id:this.sessionId,mount_relative_path:e,mimetype:f}),h="object"==typeof g&&"body"in g?g.body:g,i=await fetch(h.upload_url,{method:"PUT",body:await d.arrayBuffer(),headers:{"Content-Type":f}});if(!i.ok)throw Error(`Failed to upload file: ${i.statusText}`);let j=await this.client.toolRouter.session.files.createDownloadURL(c.data.mountId,{session_id:this.sessionId,mount_relative_path:h.mount_relative_path}),k="object"==typeof j&&"body"in j?j.body:j,l=j3.safeParse(k);if(!l.success)throw new c3("Failed to parse remote file properties",{cause:l.error});return new j5(l.data)}async download(a,b){let c=j1.safeParse(b??{});if(!c.success)throw new c3("Failed to parse tool router session files mount download options",{cause:c.error});let d=await this.client.toolRouter.session.files.createDownloadURL(c.data.mountId,{session_id:this.sessionId,mount_relative_path:a}),e="object"==typeof d&&"body"in d?d.body:d,f=j3.safeParse(e);if(!f.success)throw new c3("Failed to parse remote file properties",{cause:f.error});return new j5(f.data)}async delete(a,b){let c=j2.safeParse(b??{});if(!c.success)throw new c3("Failed to parse tool router session files mount delete options",{cause:c.error});let d=await this.client.toolRouter.session.files.delete(c.data.mountId,{session_id:this.sessionId,mount_relative_path:a}),e=j4.safeParse(d);if(!e.success)throw new c3("Failed to parse file delete response",{cause:e.error});return e.data}};function j8(a){let b=a.parameters?.map(a=>({name:a.name,type:a.in,value:a.value.toString()}));return{toolkit_slug:a.toolkit,endpoint:a.endpoint,method:a.method,...void 0!==a.body?{body:a.body}:{},...b?.length?{parameters:b}:{}}}function j9(a,b){if(!a)return;let c=b.toUpperCase(),d=a.byFinalSlug.get(c);return d||(a.ambiguousOriginalSlugs?.has(c)?void 0:a.byOriginalSlug.get(c))}function ka(a,b){if(!a)return;let c=b.toUpperCase();if(!a.ambiguousOriginalSlugs?.has(c))return;let d=[...a.byFinalSlug.values()].filter(a=>a.handle.slug.toUpperCase()===c).map(a=>a.finalSlug).sort();throw new c3(`Ambiguous custom tool slug "${b}". Multiple custom toolkit tools share this original slug; manual session.execute() by original slug is only supported when the original slug is unique.`+(d.length?` Use one of: ${d.join(", ")}.`:""))}async function kb(a,b,c){let{handle:d}=a,e=d.inputParams.safeParse(b);if(!e.success)return{data:{},error:`Input validation failed: ${e.error.message}`,successful:!1};try{return{data:await d.execute(e.data,c)??{},error:null,successful:!0}}catch(a){return{data:{},error:a instanceof Error?a.message:String(a),successful:!1}}}var kc=class{userId;constructor(a,b,c,d,e){this.client=a,this.sessionId=c,this.customToolsMap=d,this.inlineCustomToolsPayload=e,this.userId=b}async execute(a,b){let c=j9(this.customToolsMap,a);if(c){let a=await kb(c,b,this);return jQ.parse({data:a.data,error:a.error,logId:""})}ka(this.customToolsMap,a);let d={tool_slug:a,arguments:b},e=this.inlineCustomToolsPayload;e&&(d.experimental=e);let f=await this.client.toolRouter.session.execute(this.sessionId,d);return jQ.parse(jY(f))}async proxyExecute(a){let b=jR.safeParse(a);if(!b.success)throw new c3("Invalid proxy execute parameters",{cause:b.error});let c=j8(b.data),d=await this.client.toolRouter.session.proxyExecute(this.sessionId,c);return{status:d.status,data:d.data,headers:d.headers,...d.binary_data?{binaryData:{contentType:d.binary_data.content_type,size:d.binary_data.size,url:d.binary_data.url,expiresAt:d.binary_data.expires_at}}:{}}}};let kd="COMPOSIO_MULTI_EXECUTE_TOOL";var ke=class{sessionId;mcp;experimental;preload;configVersion;warnings;preloadedCustomToolSlugs;inlineCustomToolsPayload;sessionContext;constructor(a,b,c,d,e,f,g,h){if(this.client=a,this.config=b,this.customToolsMap=f,this.userId=g,f&&!g)throw Error("userId is required when custom tools are bound to a session.");this.sessionId=c,this.mcp=d,this.experimental={assistivePrompt:e?.assistivePrompt,files:new j7(a,c)},this.preload=h?.preload??{tools:[]},this.configVersion=h?.configVersion,this.warnings=h?.warnings??[],this.preloadedCustomToolSlugs=h?.preloadedCustomToolSlugs??[],this.inlineCustomToolsPayload=h?.inlineCustomToolsPayload,f&&g&&(this.sessionContext=new kc(a,g,c,f,this.inlineCustomToolsPayload)),du.instrument(this,"ToolRouterSession")}async tools(a){let b=new iy(this.client,this.config),c=await b.getRawToolRouterSessionTools(this.sessionId,a?.modifySchema?{modifySchema:a.modifySchema}:void 0),d=await this.addPreloadedCustomTools(c,a),e=new Map(d.map(a=>[a.slug.toUpperCase(),a]));if(this.hasCustomTools()){let c=async(c,f)=>{if(c===kd)return this.routeMultiExecute(f,b,d,a);let g=j9(this.customToolsMap,c);return g?kb(g,f,this.sessionContext):(ka(this.customToolsMap,c),this.executeBackendSessionTool(b,c,f,a,e.get(c.toUpperCase())))};if(!this.config?.provider)throw Error("A provider is required when using custom tools with session.tools(). Pass a provider in the Composio constructor.");return this.config.provider.wrapTools(d,c)}return b.wrapToolsForToolRouter(this.sessionId,d,a)}async addPreloadedCustomTools(a,b){let c=await this.getPreloadedCustomToolSchemas(b);if(!c.length)return a;let d=new Set(a.map(a=>a.slug.toUpperCase())),e=c.filter(a=>!d.has(a.slug.toUpperCase()));return e.length?[...a,...e]:a}async getPreloadedCustomToolSchemas(a){if(!this.customToolsMap||!this.preloadedCustomToolSlugs.length)return[];let b=[];for(let d of this.preloadedCustomToolSlugs){var c;let e=(c=this.customToolsMap,c?.byFinalSlug.get(d.toUpperCase()));if(!e)continue;let f=this.customToolEntryToTool(e);a?.modifySchema&&(f=await a.modifySchema({toolSlug:f.slug,toolkitSlug:f.toolkit?.slug??"custom",schema:f})),b.push(f)}return b}customToolEntryToTool(a){let b=a.toolkit??"custom",c=this.customToolsMap?.toolkits?.find(a=>a.slug.toLowerCase()===b.toLowerCase())?.name??a.toolkit??"Custom";return{slug:a.finalSlug,name:a.handle.name,description:`[Direct tool - call directly, no search needed beforehand.]
32
+ ${a.handle.description}`,inputParameters:a.handle.inputSchema,outputParameters:a.handle.outputSchema,tags:[],toolkit:{slug:b,name:c},isDeprecated:!1,availableVersions:[],scopes:[],isNoAuth:!a.handle.extendsToolkit}}customTools(a){if(!this.customToolsMap)return[];let b=Array.from(this.customToolsMap.byFinalSlug.values());return(a?.toolkit?b.filter(b=>b.toolkit?.toLowerCase()===a.toolkit.toLowerCase()):b).map(a=>({slug:a.finalSlug,name:a.handle.name,description:a.handle.description,toolkit:a.toolkit,inputSchema:a.handle.inputSchema,outputSchema:a.handle.outputSchema}))}customToolkits(){let a=this.customToolsMap?.toolkits;return a?.length?a.map(a=>({slug:a.slug,name:a.name,description:a.description,tools:a.tools.map(b=>{var c,d,e;return{slug:(c=this.customToolsMap,d=a.slug,e=b.slug,c?.byToolkitAndOriginalSlug?.get(dh(d,e))??this.customToolsMap.byOriginalSlug.get(b.slug.toUpperCase()))?.finalSlug??b.slug,name:b.name,description:b.description,toolkit:a.slug,inputSchema:b.inputSchema,outputSchema:b.outputSchema}})})):[]}async authorize(a,b){let c=await this.client.toolRouter.session.link(this.sessionId,{toolkit:a,...b?.callbackUrl&&{callback_url:b.callbackUrl},...b?.alias!=null&&{alias:b.alias}});return iM(this.client,c.connected_account_id,ij.INITIATED,c.redirect_url)}async toolkits(a){let b=jH.safeParse(a??{});if(!b.success)throw new c3("Failed to parse toolkits options",{cause:b.error});let c=await this.client.toolRouter.session.toolkits(this.sessionId,{cursor:b.data.cursor,limit:b.data.limit,toolkits:b.data.toolkits,is_connected:b.data.isConnected,search:b.data.search});return{items:c.items.map(a=>it(a).with(jG).using(a=>({slug:a.slug,name:a.name,logo:a.meta?.logo,isNoAuth:a.is_no_auth,connection:a.is_no_auth?void 0:{isActive:a.connected_account?.status==="ACTIVE",authConfig:a.connected_account&&{id:a.connected_account?.auth_config.id,mode:a.connected_account?.auth_config.auth_scheme,isComposioManaged:a.connected_account?.auth_config.is_composio_managed},connectedAccount:a.connected_account?{id:a.connected_account.id,status:a.connected_account.status}:void 0}}))),cursor:c.next_cursor??void 0,totalPages:c.total_pages}}async search(a){let b=this.inlineCustomToolsPayload,c={queries:[{use_case:a.query}],...a.toolkits?.length?{toolkits:a.toolkits}:{},...b?{experimental:b}:{}},d=function(a){let b={};for(let[c,d]of Object.entries(a.tool_schemas))b[c]={toolSlug:d.tool_slug,toolkit:d.toolkit,description:d.description,hasFullSchema:d.hasFullSchema,inputSchema:d.input_schema,outputSchema:d.output_schema,schemaRef:d.schemaRef?{args:{toolSlugs:d.schemaRef.args.tool_slugs},message:d.schemaRef.message,tool:d.schemaRef.tool}:void 0};return{success:a.success,error:a.error,results:a.results.map(jW),toolSchemas:b,toolkitConnectionStatuses:a.toolkit_connection_statuses.map(jX),nextStepsGuidance:a.next_steps_guidance,session:{id:a.session.id,generateId:a.session.generate_id,instructions:a.session.instructions},timeInfo:{currentTimeUtc:a.time_info.current_time_utc,currentTimeUtcEpochSeconds:a.time_info.current_time_utc_epoch_seconds,message:a.time_info.message}}}(await this.client.toolRouter.session.search(this.sessionId,c));return jP.parse(d)}async execute(a,b,c){let d=j9(this.customToolsMap,a);if(d){let a=await kb(d,b??{},this.sessionContext);return{data:a.data,error:a.error,logId:""}}ka(this.customToolsMap,a);let e={tool_slug:a,arguments:b??{}};c?.account&&(e.account=c.account);let f=this.inlineCustomToolsPayload;f&&(e.experimental=f);let g=jY(await this.client.toolRouter.session.execute(this.sessionId,e));return jQ.parse(g)}async proxyExecute(a){let b=jR.safeParse(a);if(!b.success)throw new c3("Invalid proxy execute parameters",{cause:b.error});let c=j8(b.data),d=await this.client.toolRouter.session.proxyExecute(this.sessionId,c);return{status:d.status,data:d.data,headers:d.headers,...d.binary_data?{binaryData:{contentType:d.binary_data.content_type,size:d.binary_data.size,url:d.binary_data.url,expiresAt:d.binary_data.expires_at}}:{}}}async update(a){let b=(a=>{let b={};if(void 0!==a.toolkits&&(b.toolkits=jV(a.toolkits)),void 0!==a.tools&&(b.tools=jT(a.tools)),void 0!==a.tags&&(b.tags=jU(a.tags)),void 0!==a.authConfigs&&(b.auth_configs=a.authConfigs),void 0!==a.connectedAccounts){let c={};for(let[b,d]of Object.entries(a.connectedAccounts))c[b]="string"==typeof d?[d]:d;b.connected_accounts=c}if(void 0!==a.manageConnections&&(null===a.manageConnections?b.manage_connections=null:b.manage_connections=(a=>{if("boolean"==typeof a)return{enable:a};let b=jv.safeParse(a);if(!b.success)throw new c3("Failed to parse manage connections config",{cause:b.error});let c=b.data,d={};return void 0!==c.enable&&(d.enable=c.enable),void 0!==c.callbackUrl&&(d.callback_url=c.callbackUrl),void 0!==c.waitForConnections&&(d.enable_wait_for_connections=c.waitForConnections),d})(a.manageConnections)),void 0!==a.workbench&&(null===a.workbench?b.workbench=null:b.workbench=(a=>{let b={};return void 0!==a.enable&&(b.enable=a.enable),void 0!==a.enableProxyExecution&&(b.enable_proxy_execution=a.enableProxyExecution),void 0!==a.autoOffloadThreshold&&(b.auto_offload_threshold=a.autoOffloadThreshold),void 0!==a.sandboxSize&&(b.sandbox_size=a.sandboxSize),b})(a.workbench)),void 0!==a.multiAccount)if(null===a.multiAccount)b.multi_account=null;else{let c={};void 0!==a.multiAccount.enable&&(c.enable=a.multiAccount.enable),void 0!==a.multiAccount.maxAccountsPerToolkit&&(c.max_accounts_per_toolkit=a.multiAccount.maxAccountsPerToolkit),void 0!==a.multiAccount.requireExplicitSelection&&(c.require_explicit_selection=a.multiAccount.requireExplicitSelection),b.multi_account=c}return void 0!==a.preload&&(b.preload=a.preload),b})(jS.parse(a)),c=await this.client.toolRouter.session.patch(this.sessionId,b);this.configVersion=c.config_version,this.preload=c.config.preload,this.warnings=c.warnings??[]}hasCustomTools(){return(this.customToolsMap?.byFinalSlug.size??0)>0}executeBackendSessionTool(a,b,c,d,e){let f={sessionId:this.sessionId,arguments:c},g=this.inlineCustomToolsPayload;return g?a.executeSessionTool(b,f,d,e,{experimental:g}):a.executeSessionTool(b,f,d,e)}parseToolItem(a){return"object"!=typeof a||null===a?{tool_slug:"",arguments:{}}:{tool_slug:String(a.tool_slug??""),arguments:a.arguments??{}}}async routeMultiExecute(a,b,c,d){let e,f=c.find(a=>a.slug===kd),g=a.tools;if(!Array.isArray(g)||0===g.length)return this.executeBackendSessionTool(b,kd,a,d,f);let h=g.map(a=>this.parseToolItem(a)),i=[],j=[];for(let a=0;a<h.length;a++){let b=j9(this.customToolsMap,h[a].tool_slug);b?i.push({index:a,entry:b}):(ka(this.customToolsMap,h[a].tool_slug),j.push(a))}if(0===i.length)return this.executeBackendSessionTool(b,kd,a,d,f);let k=this.sessionContext,l=i.map(async({index:a,entry:b})=>({index:a,result:await kb(b,h[a].arguments,k)}));if(j.length>0){let c=j.map(a=>g[a]),h={...a,tools:c};e=this.executeBackendSessionTool(b,kd,h,d,f)}let[m,n]=await Promise.all([Promise.all(l),e]);if(0===j.length&&1===m.length)return m[0].result;let o=n?.data&&"object"==typeof n.data&&!Array.isArray(n.data)?n.data:{},p=Array.isArray(o.results)?o.results:[],q=m.map(({index:a,result:b})=>({response:{successful:b.successful,data:b.data,...b.error?{error:b.error}:{}},tool_slug:h[a].tool_slug,...b.error?{error:b.error}:{}})),r=[...p,...q].map((a,b)=>({...a,index:b})),s=r.filter(a=>a.error).length,t={...o,results:r};q.length>0&&["total_count","success_count","error_count"].some(a=>a in o)&&(t.total_count=r.length,t.success_count=r.length-s,t.error_count=s);let u="string"==typeof n?.error?n.error:null,v=m.some(a=>a.result.error)||!!u;return{data:t,error:v?u&&0===s?u:`${s} out of ${r.length} tools failed`:null,successful:!v}}};function kf(a){return{preload:a.config.preload,configVersion:a.config_version,warnings:"warnings"in a?a.warnings??[]:[]}}function kg(a){return a?.tools==="all"}function kh(a){let{customTools:b,customToolkits:c,defaultPreload:d=!1,preloadTools:e}=a;!function(a,b){if(!a||"all"===a)return;let c=a.filter(a=>{let c=a.toUpperCase();return c.startsWith(df)||b?.byOriginalSlug.has(c)||b?.ambiguousOriginalSlugs?.has(c)||b?.byFinalSlug.has(c)});if(c.length)throw new c3(`Custom tool slugs are not supported in preload.tools: ${c.join(", ")}. Set preload: true on the SDK custom tool or custom toolkit definition instead.`)}(e,b?.length||c?.length?function(a,b){let c=new Map,d=new Map,e=new Map,f=new Set,g=(a,b,g)=>{let h=a.slug.toUpperCase(),i=b.toUpperCase();if(b.length>60)throw new c3(`Custom tool slug "${a.slug}" produces final slug "${b}" which exceeds 60 characters.`);if(c.has(i))throw new c3(`Custom tool slug collision: "${b}" is already registered.`);let j=dh(g,h);if(e.has(j))throw new c3(`Custom tool slug collision: original slug "${a.slug}" is already registered for toolkit "${g??"custom"}".`);let k={handle:a,finalSlug:b,toolkit:g};c.set(i,k),e.set(j,k),di({byOriginalSlug:d,ambiguousOriginalSlugs:f,originalSlug:h,entry:k})};for(let b of a)g(b,dg(b.slug,b.extendsToolkit),b.extendsToolkit);if(b)for(let a of b)for(let b of a.tools)g(b,dg(b.slug,a.slug),a.slug);return{byFinalSlug:c,byOriginalSlug:d,byToolkitAndOriginalSlug:e,...f.size?{ambiguousOriginalSlugs:f}:{},toolkits:b,tools:a.length?a:void 0}}(b??[],c):void 0);let f=b?.length?function(a,b={}){let c=b.defaultPreload??!1;return a.map(a=>({slug:a.slug,name:a.name,description:a.description,input_schema:a.inputSchema,...a.outputSchema?{output_schema:a.outputSchema}:{},...a.extendsToolkit?{extends_toolkit:a.extendsToolkit}:{},...dj(a.preload,void 0,c)}))}(b,{defaultPreload:d}):void 0,g=c?.length?function(a,b={}){let c=b.defaultPreload??!1;return a.map(a=>({slug:a.slug,name:a.name,description:a.description,...dj(a.preload,void 0,c),tools:a.tools.map(b=>({slug:b.slug,name:b.name,description:b.description,input_schema:b.inputSchema,...b.outputSchema?{output_schema:b.outputSchema}:{},...dj(b.preload,a.preload,c)}))}))}(c,{defaultPreload:d}):void 0;return f||g?{...f?{custom_tools:f}:{},...g?{custom_toolkits:g}:{}}:void 0}var ki=class{constructor(a,b){this.client=a,this.config=b,du.instrument(this,"ToolRouter")}createMCPServerConfig({type:a,url:b}){return{type:a,url:b,headers:{...this.config?.apiKey?{"x-api-key":this.config.apiKey}:{}}}}async create(a,b){let c,d=jF.parse(b??{}),e=d.sessionPreset===js.DIRECT_TOOLS,f=d.experimental?.customTools,g=d.experimental?.customToolkits,h=kg(d.preload),i=kh({customTools:f,customToolkits:g,defaultPreload:h,preloadTools:d.preload?.tools}),j={};d.experimental?.assistivePrompt?.userTimezone&&(j.assistive_prompt_config={user_timezone:d.experimental.assistivePrompt.userTimezone}),i?.custom_tools&&(j.custom_tools=i.custom_tools),i?.custom_toolkits&&(j.custom_toolkits=i.custom_toolkits);let k=(a=>{if(!a)return;let b={enable:a.enable,max_accounts_per_toolkit:a.maxAccountsPerToolkit,require_explicit_selection:a.requireExplicitSelection??(!!a.enable||void 0)};if(void 0!==b.enable||void 0!==b.max_accounts_per_toolkit||void 0!==b.require_explicit_selection)return b})(d.multiAccount),l=void 0===d.connectedAccounts?void 0:Object.fromEntries(Object.entries(d.connectedAccounts).map(([a,b])=>[a,"string"==typeof b?[b]:b])),m={user_id:a,auth_configs:d.authConfigs,connected_accounts:l,toolkits:jV(d.toolkits),tools:jT(d.tools),tags:jU(d.tags),manage_connections:(a=>{if(void 0===a)return{enable:!0};if("boolean"==typeof a)return{enable:a};let b=jv.safeParse(a);if(!b.success)throw new c3("Failed to parse manage connections config",{cause:b.error});let c=b.data;return{enable:c.enable??!0,callback_url:c.callbackUrl,enable_wait_for_connections:c.waitForConnections}})(d.manageConnections),workbench:(a=>{if(a)return{enable:a.enable??!0,enable_proxy_execution:a.enableProxyExecution,auto_offload_threshold:a.autoOffloadThreshold,sandbox_size:a.sandboxSize}})(d.workbench),multi_account:k,preload:d.preload,...e&&{search:{enable:!1},execute:{enable_multi_execute:!1}},experimental:Object.keys(j).length>0?j:void 0},n=await this.client.toolRouter.session.create(m);(f?.length||g?.length)&&(c=dk(f??[],g,n.experimental));let o={...kf(n),preloadedCustomToolSlugs:dl(c,h),inlineCustomToolsPayload:i},p=n.experimental?.assistive_prompt;return new ke(this.client,this.config,n.session_id,this.createMCPServerConfig(n.mcp),{assistivePrompt:p},c,a,o)}async use(a,b){let c,d,e,f=b?.customTools,g=b?.customToolkits,h=!!(f?.length||g?.length),i=kh({customTools:f,customToolkits:g}),j=i,k=kg((c=h?await this.client.toolRouter.session.attach(a,{experimental:i}):await this.client.toolRouter.session.retrieve(a)).config.preload);h&&k&&(j=kh({customTools:f,customToolkits:g,defaultPreload:!0})),h&&(d=dk(f??[],g,c.experimental),e=c.config.user_id);let l={...kf(c),preloadedCustomToolSlugs:dl(d,k),inlineCustomToolsPayload:j};return new ke(this.client,this.config,c.session_id,this.createMCPServerConfig(c.mcp),void 0,d,e,l)}},kj=class a{client;config;tools;toolkits;triggers;provider;files;authConfigs;connectedAccounts;mcp;toolRouter;create;use;constructor(a){let{baseURL:b,apiKey:c}=function(a,b){let{api_key:c,base_url:d}=(()=>{try{let a=(()=>{try{let a=dE.homedir();if(!a)return null;return dE.joinPath(a,b9,"user_data.json")}catch(a){return cf.debug("Environment","Unable to get user data path"),null}})();if(!a||!dE.supportsFileSystem)return{};let b=dE.readFileSync(a,"utf8");return JSON.parse(b)}catch(a){return cf.debug("Environment","No user data file found"),{}}})(),e=a||b8("COMPOSIO_BASE_URL")||d||"https://backend.composio.dev",f=b||b8("COMPOSIO_API_KEY")||c||"";return f||cg.handleAndThrow(new c5),cf.debug("Environment",`API Key: ${f}`),cf.debug("Environment",`Base URL: ${e}`),{baseURL:e,apiKey:f}}(a?.baseURL,a?.apiKey);cc&&cf.debug(`Initializing Composio w API Key: [REDACTED] and baseURL: ${b}`),this.provider=a?.provider??new jo,this.config={...a,baseURL:b,apiKey:c,toolkitVersions:function(a){if(a&&"string"==typeof a)return a;let b=Object.entries((a=>{try{if(process&&process.env)return Object.fromEntries(Object.entries(process.env).filter(([b])=>b.startsWith(a)));return{}}catch(a){return{}}})("COMPOSIO_TOOLKIT_VERSION_")).reduce((a,[b,c])=>(a[b.replace("COMPOSIO_TOOLKIT_VERSION_","").toLowerCase()]=c,a),{}),c={};a&&"object"==typeof a&&(c=Object.fromEntries(Object.entries(a).map(([a,b])=>[a.toLowerCase(),b])));let d={...b,...c};return 0===Object.keys(d).length?"latest":d}(a?.toolkitVersions),allowTracking:a?.allowTracking??d1.allowTracking,dangerouslyAllowAutoUploadDownloadFiles:a?.dangerouslyAllowAutoUploadDownloadFiles??d1.dangerouslyAllowAutoUploadDownloadFiles,sensitiveFileUploadProtection:a?.sensitiveFileUploadProtection,fileUploadPathDenySegments:a?.fileUploadPathDenySegments,fileUploadDirs:ix(a?.fileUploadDirs),fileDownloadDir:iw(a?.fileDownloadDir),provider:a?.provider??this.provider},this.client=new b5({apiKey:c,baseURL:b,defaultHeaders:jr(this.config.defaultHeaders,this.provider),logLevel:cb}),this.tools=new iy(this.client,this.config),this.mcp=new jk(this.client),this.toolkits=new iQ(this.client),this.triggers=new i9(this.client,this.config),this.authConfigs=new iL(this.client),this.files=new gU(this.client,{sensitiveFileUploadProtection:this.config.sensitiveFileUploadProtection,fileUploadPathDenySegments:this.config.fileUploadPathDenySegments,fileDownloadDir:this.config.fileDownloadDir}),this.connectedAccounts=new iP(this.client),this.toolRouter=new ki(this.client,this.config),this.create=this.toolRouter.create.bind(this.toolRouter),this.use=this.toolRouter.use.bind(this.toolRouter),this.config.allowTracking&&du.setup({apiKey:c??"",baseUrl:b??"",isAgentic:this.provider?._isAgentic||!1,version:jp,isBrowser:"undefined"!=typeof window,provider:this.provider?.name??"openai",host:this.config.host}),du.instrument(this,"Composio"),du.instrument(this.provider,this.provider.name??this.provider.constructor.name??"unknown"),this.config.disableVersionCheck||jl(jp)}getClient(){if(!this.client)throw Error("Composio client is not initialized. Please initialize it first.");return this.client}getConfig(){return Object.freeze({...this.config})}createSession(b){let c=jr(b?.headers,this.provider);return new a({...this.config,defaultHeaders:c})}async flush(){await du.flush()}};let kk=cn.Ik({id:cn.Yj(),auth_scheme:cn.fc(g1),is_composio_managed:cn.zM(),is_disabled:cn.zM(),deprecated:cn.Ik({uuid:cn.Yj()}).optional()}).passthrough(),kl=cn.Ik({authScheme:cn.fc(g1),val:cn.g1(cn.L5())}).passthrough(),km=cn.Ik({toolkit:cn.Ik({slug:cn.Yj().describe("The slug of the toolkit")}).passthrough(),auth_config:kk,id:cn.Yj(),user_id:cn.Yj(),status:cn.fc(hf),created_at:cn.Yj(),updated_at:cn.Yj(),state:kl,data:cn.g1(cn.L5()),params:cn.g1(cn.L5()),status_reason:cn.Yj().nullable(),is_disabled:cn.zM(),test_request_endpoint:cn.Yj().optional(),deprecated:cn.Ik({labels:cn.YO(cn.Yj()),uuid:cn.Yj()}).optional()}).passthrough(),kn=cn.Ik({project_id:cn.Yj(),org_id:cn.Yj()}).passthrough(),ko=cn.Ik({id:cn.Yj(),timestamp:cn.Yj(),type:cn.eu("composio.connected_account.expired"),data:km,metadata:kn}).passthrough();cn.gM("type",[ko]);let kp=cn.Ik({toolkit:cn.Yj().min(1,"Toolkit name cannot be empty"),authConfigId:cn.Yj().min(1,"Auth config ID cannot be empty"),allowedTools:cn.YO(cn.Yj().min(1,"Tool name cannot be empty")).min(1,"At least one tool must be specified")});cn.YO(kp).min(1,"At least one toolkit configuration is required").refine(a=>{let b=a.map(a=>a.toolkit);return new Set(b).size===b.length},"Duplicate toolkits are not allowed. Each toolkit must be unique."),cn.Ik({isChatAuth:cn.zM().optional()}),cn.Ik({userId:cn.Yj().min(1,"User ID cannot be empty").optional(),connectedAccountIds:cn.g1(cn.Yj(),cn.Yj().min(1,"Account ID cannot be empty")).optional()}).refine(a=>!!a.userId!=(!!a.connectedAccountIds&&Object.keys(a.connectedAccountIds).length>0),{message:"Must provide either userId or connectedAccountIds, but not both"}),cn.Ik({userIds:cn.YO(cn.Yj()).optional(),connectedAccountIds:cn.YO(cn.Yj()).optional(),isChatAuth:cn.zM().optional()}),cn.Ik({user_ids:cn.YO(cn.Yj()).optional(),connected_account_ids:cn.YO(cn.Yj()).optional(),mcp_server_id:cn.Yj(),managed_auth_by_composio:cn.zM().optional()}),cn.Ik({userIds:cn.YO(cn.Yj()).optional(),connectedAccountIds:cn.YO(cn.Yj()).optional(),mcpServerId:cn.Yj(),composioManagedAuth:cn.zM().optional()}),cn.Ik({connectedAccountUrls:cn.YO(cn.Yj()).optional(),userIdsUrl:cn.YO(cn.Yj()).optional(),mcpUrl:cn.Yj().min(1,"MCP URL cannot be empty")}),cn.Ik({connected_account_urls:cn.YO(cn.Yj()).optional(),user_ids_url:cn.YO(cn.Yj()).optional(),mcp_url:cn.Yj().min(1,"MCP URL cannot be empty")});let kq=cn.Ik({name:cn.Yj().describe("Name of the MCP server"),tools:cn.YO(cn.Yj()).describe("List of allowed tools"),authConfigId:cn.Yj().optional().describe("Auth config ID for the server")}),kr=cn.Ik({name:cn.Yj().describe("Name of the MCP server"),tools:cn.YO(cn.Yj()).describe("List of allowed tools across toolkits"),toolkits:cn.YO(cn.Yj()).describe("List of allowed toolkits")}),ks=cn.Ik({id:cn.Yj().describe("Unique identifier for the MCP server"),type:cn.k5(["single","multi"]).describe("Type of MCP server"),createdAt:cn.Yj().describe("Creation timestamp"),updatedAt:cn.Yj().describe("Last update timestamp"),status:cn.k5(["active","inactive","error"]).default("active"),config:cn.KC([kq,kr])});cn.Ik({items:cn.YO(ks),total:cn.ai(),page:cn.ai(),pageSize:cn.ai()}),cn.Ik({name:cn.Yj().optional().describe("New name for the server"),toolkits:cn.YO(cn.Yj()).optional().describe("Updated list of toolkits"),allowedTools:cn.YO(cn.Yj()).optional().describe("Updated list of allowed tools")}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),createdAt:cn.Yj().nullish(),updatedAt:cn.Yj().nullish(),status:cn.Yj().nullish()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),created_at:cn.Yj().nullish(),updated_at:cn.Yj().nullish(),status:cn.Yj().nullish()}),cn.Ik({items:cn.YO(cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),createdAt:cn.Yj().optional(),updatedAt:cn.Yj().optional(),status:cn.Yj().optional()})).optional()}),cn.Ik({items:cn.YO(cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),created_at:cn.Yj().optional(),updated_at:cn.Yj().optional(),status:cn.Yj().optional()})).optional()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),createdAt:cn.Yj().optional(),updatedAt:cn.Yj().optional(),status:cn.Yj().optional(),toolkits:cn.YO(cn.Yj()).optional(),tools:cn.YO(cn.Yj()).optional(),managedAuthViaComposio:cn.zM().optional(),authConfigIds:cn.YO(cn.Yj()).optional(),mcpUrl:cn.Yj(),commands:cn.Ik({claude:cn.Yj(),cursor:cn.Yj(),windsurf:cn.Yj()})}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),created_at:cn.Yj().optional(),updated_at:cn.Yj().optional(),status:cn.Yj().optional(),toolkits:cn.YO(cn.Yj()).optional(),tools:cn.YO(cn.Yj()).optional(),managed_auth_via_composio:cn.zM().optional()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),deleted:cn.zM().optional(),message:cn.Yj().optional()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),deleted:cn.zM().optional(),message:cn.Yj().optional()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),createdAt:cn.Yj().optional(),updatedAt:cn.Yj().optional(),status:cn.Yj().optional(),toolkits:cn.YO(cn.Yj()).optional(),tools:cn.YO(cn.Yj()).optional()}),cn.Ik({id:cn.Yj().min(1,"Server ID cannot be empty"),name:cn.Yj().min(1,"Server name cannot be empty"),created_at:cn.Yj().optional(),updated_at:cn.Yj().optional(),status:cn.Yj().optional(),toolkits:cn.YO(cn.Yj()).optional(),tools:cn.YO(cn.Yj()).optional()})},66191:a=>{"use strict";class b{constructor(){this.max=1e3,this.map=new Map}get(a){let b=this.map.get(a);if(void 0!==b)return this.map.delete(a),this.map.set(a,b),b}delete(a){return this.map.delete(a)}set(a,b){if(!this.delete(a)&&void 0!==b){if(this.map.size>=this.max){let a=this.map.keys().next().value;this.delete(a)}this.map.set(a,b)}return this}}a.exports=b},67026:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>0===d(a,b,c)},67388:a=>{"use strict";a.exports=(a,b=process.argv)=>{let c=a.startsWith("-")?"":1===a.length?"-":"--",d=b.indexOf(c+a),e=b.indexOf("--");return -1!==d&&(-1===e||d<e)}},67964:a=>{"use strict";let b=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,c=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,d=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,e=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,f=new Map([["n","\n"],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function g(a){let b="u"===a[0],c="{"===a[1];return b&&!c&&5===a.length||"x"===a[0]&&3===a.length?String.fromCharCode(parseInt(a.slice(1),16)):b&&c?String.fromCodePoint(parseInt(a.slice(2,-1),16)):f.get(a)||a}function h(a,b){let c={};for(let a of b)for(let b of a.styles)c[b[0]]=a.inverse?null:b.slice(1);let d=a;for(let[a,b]of Object.entries(c))if(Array.isArray(b)){if(!(a in d))throw Error(`Unknown Chalk style: ${a}`);d=b.length>0?d[a](...b):d[a]}return d}a.exports=(a,f)=>{let i=[],j=[],k=[];if(f.replace(b,(b,f,l,m,n,o)=>{if(f)k.push(g(f));else if(m){let b=k.join("");k=[],j.push(0===i.length?b:h(a,i)(b)),i.push({inverse:l,styles:function(a){let b;c.lastIndex=0;let f=[];for(;null!==(b=c.exec(a));){let a=b[1];if(b[2]){let c=function(a,b){let c,f=[];for(let h of b.trim().split(/\s*,\s*/g)){let b=Number(h);if(Number.isNaN(b))if(c=h.match(d))f.push(c[2].replace(e,(a,b,c)=>b?g(b):c));else throw Error(`Invalid Chalk template style argument: ${h} (in style '${a}')`);else f.push(b)}return f}(a,b[2]);f.push([a].concat(c))}else f.push([a])}return f}(m)})}else if(n){if(0===i.length)throw Error("Found extraneous } in Chalk template literal");j.push(h(a,i)(k.join(""))),k=[],i.pop()}else k.push(o)}),j.push(k.join("")),i.length>0)throw Error(`Chalk template literal is missing ${i.length} closing bracket${1===i.length?"":"s"} (\`}\`)`);return j.join("")}},71140:(a,b,c)=>{let d=c(3284);a.exports=function(a){let b=function(a){let b=function(){let a={},b=Object.keys(d);for(let c=b.length,d=0;d<c;d++)a[b[d]]={distance:-1,parent:null};return a}(),c=[a];for(b[a].distance=0;c.length;){let a=c.pop(),e=Object.keys(d[a]);for(let d=e.length,f=0;f<d;f++){let d=e[f],g=b[d];-1===g.distance&&(g.distance=b[a].distance+1,g.parent=a,c.unshift(d))}}return b}(a),c={},e=Object.keys(b);for(let a=e.length,f=0;f<a;f++){let a=e[f];null!==b[a].parent&&(c[a]=function(a,b){let c=[b[a].parent,a],e=d[b[a].parent][a],f=b[a].parent;for(;b[f].parent;)c.unshift(b[f].parent),e=function(a,b){return function(c){return b(a(c))}}(d[b[f].parent][f],e),f=b[f].parent;return e.conversion=c,e}(a,b))}return c}},71440:a=>{"use strict";let b=Object.freeze({loose:!0}),c=Object.freeze({});a.exports=a=>a?"object"!=typeof a?b:a:c},71644:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>0>d(a,b,c)},73528:(a,b,c)=>{"use strict";let d=c(92851),e=c(34561);a.exports=(a,b,c)=>{let f=[],g=null,h=null,i=a.sort((a,b)=>e(a,b,c));for(let a of i)d(a,b,c)?(h=a,g||(g=a)):(h&&f.push([g,h]),h=null,g=null);g&&f.push([g,null]);let j=[];for(let[a,b]of f)a===b?j.push(a):b||a!==i[0]?b?a===i[0]?j.push(`<=${b}`):j.push(`${a} - ${b}`):j.push(`>=${a}`):j.push("*");let k=j.join(" || "),l="string"==typeof b.raw?b.raw:String(b);return k.length<l.length?k:b}},74944:a=>{"use strict";let b=/^[0-9]+$/,c=(a,c)=>{if("number"==typeof a&&"number"==typeof c)return a===c?0:a<c?-1:1;let d=b.test(a),e=b.test(c);return d&&e&&(a*=1,c*=1),a===c?0:d&&!e?-1:e&&!d?1:a<c?-1:1};a.exports={compareIdentifiers:c,rcompareIdentifiers:(a,b)=>c(b,a)}},75106:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b)=>d(a,b,!0)},75431:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>d(a,b,c)>0},79039:(a,b,c)=>{"use strict";let d=c(64101);a.exports=(a,b)=>{let c=d(a,null,!0),e=d(b,null,!0),f=c.compare(e);if(0===f)return null;let g=f>0,h=g?c:e,i=g?e:c,j=!!h.prerelease.length;if(i.prerelease.length&&!j){if(!i.patch&&!i.minor)return"major";if(0===i.compareMain(h))return i.minor&&!i.patch?"minor":"patch"}let k=j?"pre":"";return c.major!==e.major?k+"major":c.minor!==e.minor?k+"minor":c.patch!==e.patch?k+"patch":"prerelease"}},80841:(a,b,c)=>{"use strict";let d=c(34561);a.exports=(a,b,c)=>0>=d(a,b,c)},83324:(a,b,c)=>{"use strict";let d=c(9900);a.exports=(a,b)=>a.sort((a,c)=>d(c,a,b))},87341:(a,b,c)=>{"use strict";let d=c(2518),e=c(36779),{ANY:f}=e,g=c(92851),h=c(34561),i=[new e(">=0.0.0-0")],j=[new e(">=0.0.0")],k=(a,b,c)=>{let d,e,k,n,o,p,q;if(a===b)return!0;if(1===a.length&&a[0].semver===f)if(1===b.length&&b[0].semver===f)return!0;else a=c.includePrerelease?i:j;if(1===b.length&&b[0].semver===f)if(c.includePrerelease)return!0;else b=j;let r=new Set;for(let b of a)">"===b.operator||">="===b.operator?d=l(d,b,c):"<"===b.operator||"<="===b.operator?e=m(e,b,c):r.add(b.semver);if(r.size>1)return null;if(d&&e&&((k=h(d.semver,e.semver,c))>0||0===k&&(">="!==d.operator||"<="!==e.operator)))return null;for(let a of r){if(d&&!g(a,String(d),c)||e&&!g(a,String(e),c))return null;for(let d of b)if(!g(a,String(d),c))return!1;return!0}let s=!!e&&!c.includePrerelease&&!!e.semver.prerelease.length&&e.semver,t=!!d&&!c.includePrerelease&&!!d.semver.prerelease.length&&d.semver;for(let a of(s&&1===s.prerelease.length&&"<"===e.operator&&0===s.prerelease[0]&&(s=!1),b)){if(q=q||">"===a.operator||">="===a.operator,p=p||"<"===a.operator||"<="===a.operator,d){if(t&&a.semver.prerelease&&a.semver.prerelease.length&&a.semver.major===t.major&&a.semver.minor===t.minor&&a.semver.patch===t.patch&&(t=!1),">"===a.operator||">="===a.operator){if((n=l(d,a,c))===a&&n!==d)return!1}else if(">="===d.operator&&!g(d.semver,String(a),c))return!1}if(e){if(s&&a.semver.prerelease&&a.semver.prerelease.length&&a.semver.major===s.major&&a.semver.minor===s.minor&&a.semver.patch===s.patch&&(s=!1),"<"===a.operator||"<="===a.operator){if((o=m(e,a,c))===a&&o!==e)return!1}else if("<="===e.operator&&!g(e.semver,String(a),c))return!1}if(!a.operator&&(e||d)&&0!==k)return!1}return(!d||!p||!!e||0===k)&&(!e||!q||!!d||0===k)&&!t&&!s&&!0},l=(a,b,c)=>{if(!a)return b;let d=h(a.semver,b.semver,c);return d>0?a:d<0||">"===b.operator&&">="===a.operator?b:a},m=(a,b,c)=>{if(!a)return b;let d=h(a.semver,b.semver,c);return d<0?a:d>0||"<"===b.operator&&"<="===a.operator?b:a};a.exports=(a,b,c={})=>{if(a===b)return!0;a=new d(a,c),b=new d(b,c);let e=!1;a:for(let d of a.set){for(let a of b.set){let b=k(d,a,c);if(e=e||null!==b,b)continue a}if(e)return!1}return!0}},88526:(a,b,c)=>{"use strict";let d=c(2518);a.exports=(a,b)=>new d(a,b).set.map(a=>a.map(a=>a.value).join(" ").trim().split(" "))},90259:(a,b,c)=>{"use strict";let d=c(27139);a.exports=(a,b)=>new d(a,b).minor},91012:(a,b,c)=>{"use strict";let d=c(27139),e=c(36779),{ANY:f}=e,g=c(2518),h=c(92851),i=c(75431),j=c(71644),k=c(80841),l=c(45992);a.exports=(a,b,c,m)=>{let n,o,p,q,r;switch(a=new d(a,m),b=new g(b,m),c){case">":n=i,o=k,p=j,q=">",r=">=";break;case"<":n=j,o=l,p=i,q="<",r="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(h(a,b,m))return!1;for(let c=0;c<b.set.length;++c){let d=b.set[c],g=null,h=null;if(d.forEach(a=>{a.semver===f&&(a=new e(">=0.0.0")),g=g||a,h=h||a,n(a.semver,g.semver,m)?g=a:p(a.semver,h.semver,m)&&(h=a)}),g.operator===q||g.operator===r||(!h.operator||h.operator===q)&&o(a,h.semver)||h.operator===r&&p(a,h.semver))return!1}return!0}},91441:(a,b,c)=>{"use strict";let d=c(91012);a.exports=(a,b,c)=>d(a,b,"<",c)},92003:(a,b,c)=>{"use strict";let d=c(27139),e=c(2518);a.exports=(a,b,c)=>{let f=null,g=null,h=null;try{h=new e(b,c)}catch(a){return null}return a.forEach(a=>{h.test(a)&&(!f||1===g.compare(a))&&(g=new d(f=a,c))}),f}},92044:(a,b,c)=>{"use strict";let d=c(46887),e=c(2393),f=c(27139),g=c(74944),h=c(64101),i=c(8832),j=c(5271),k=c(25746),l=c(79039),m=c(34663),n=c(90259),o=c(26008),p=c(29786),q=c(34561),r=c(28337),s=c(75106),t=c(9900),u=c(36620),v=c(83324),w=c(75431),x=c(71644),y=c(67026),A=c(29470),B=c(45992),C=c(80841),D=c(14910),E=c(17765),F=c(36779),G=c(2518),H=c(92851),I=c(88526),J=c(93885),K=c(92003),L=c(16730),M=c(19653),N=c(91012),O=c(20640),P=c(91441),Q=c(63109);a.exports={parse:h,valid:i,clean:j,inc:k,diff:l,major:m,minor:n,patch:o,prerelease:p,compare:q,rcompare:r,compareLoose:s,compareBuild:t,sort:u,rsort:v,gt:w,lt:x,eq:y,neq:A,gte:B,lte:C,cmp:D,coerce:E,Comparator:F,Range:G,satisfies:H,toComparators:I,maxSatisfying:J,minSatisfying:K,minVersion:L,validRange:M,outside:N,gtr:O,ltr:P,intersects:Q,simplifyRange:c(73528),subset:c(87341),SemVer:f,re:d.re,src:d.src,tokens:d.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:g.compareIdentifiers,rcompareIdentifiers:g.rcompareIdentifiers}},92851:(a,b,c)=>{"use strict";let d=c(2518);a.exports=(a,b,c)=>{try{b=new d(b,c)}catch(a){return!1}return b.test(a)}},93885:(a,b,c)=>{"use strict";let d=c(27139),e=c(2518);a.exports=(a,b,c)=>{let f=null,g=null,h=null;try{h=new e(b,c)}catch(a){return null}return a.forEach(a=>{h.test(a)&&(!f||-1===g.compare(a))&&(g=new d(f=a,c))}),f}}};