@vm0/cli 9.238.5 → 9.238.7

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 (1216) hide show
  1. package/{agent-KS3ULPSZ.js → agent-JH2NEPZR.js} +5 -5
  2. package/{banking-2B3GDOIE.js → banking-2NXK6J3W.js} +3 -3
  3. package/{chat-HP7XYF7H.js → chat-MN4IB7GD.js} +4 -4
  4. package/{chunk-GU4IPLKQ.js → chunk-6F7XCWTU.js} +23 -23
  5. package/{chunk-GU4IPLKQ.js.map → chunk-6F7XCWTU.js.map} +1 -1
  6. package/{chunk-GIACTMOF.js → chunk-6NTG5UZE.js} +506 -1757
  7. package/chunk-6NTG5UZE.js.map +1 -0
  8. package/{chunk-VUER2HGS.js → chunk-BTGJACXR.js} +2 -2
  9. package/{chunk-YQ5ZYQN3.js → chunk-FNQ62BY2.js} +2 -2
  10. package/{chunk-TEJZT6KB.js → chunk-FZT6ZD5Z.js} +4 -4
  11. package/{chunk-UHVWYX44.js → chunk-I564TTWT.js} +2 -2
  12. package/{chunk-VC7E6IA7.js → chunk-RD5IGGLO.js} +3 -3
  13. package/chunk-RD5IGGLO.js.map +1 -0
  14. package/{chunk-OCOHCUE3.js → chunk-SOHCGADW.js} +15273 -454
  15. package/chunk-SOHCGADW.js.map +1 -0
  16. package/{chunk-EJBHYDGP.js → chunk-UF3EQMOH.js} +4 -4
  17. package/{chunk-T3XOMNS6.js → chunk-VAXSHLMI.js} +3 -3
  18. package/{computer-use-6GZVM5S6.js → computer-use-XLD4LAIV.js} +3 -3
  19. package/{connector-SFMD6HBQ.js → connector-YDDOAHYS.js} +4 -4
  20. package/{credit-B465R4TF.js → credit-CEONTACE.js} +4 -4
  21. package/{developer-support-6GM2UW5P.js → developer-support-FHWKHJGW.js} +3 -3
  22. package/doctor-BF3SESXM.js +1194 -0
  23. package/doctor-BF3SESXM.js.map +1 -0
  24. package/{generate-37CJMAVG.js → generate-YDBYHQ4H.js} +5 -5
  25. package/{github-6CSR7332.js → github-XIJ2Y5PZ.js} +3 -3
  26. package/{goal-XURMW5OS.js → goal-6I3U2AER.js} +3 -3
  27. package/{host-EVFNV5BX.js → host-IPPGVU6F.js} +3 -3
  28. package/index.js +13 -14
  29. package/index.js.map +1 -1
  30. package/{logs-DR7ZTWBK.js → logs-VQGWXDS3.js} +6 -7
  31. package/{logs-DR7ZTWBK.js.map → logs-VQGWXDS3.js.map} +1 -1
  32. package/{maps-IAVJJMRT.js → maps-YR4X4XJE.js} +3 -3
  33. package/{memory-X765S3ZI.js → memory-PLFDXK3U.js} +3 -3
  34. package/{model-ZYVNUG47.js → model-IHQGI5SD.js} +4 -4
  35. package/{model-provider-SZIIRXS3.js → model-provider-KFJS22YT.js} +4 -4
  36. package/{org-GBDLJZSE.js → org-7DENHEEO.js} +3 -3
  37. package/package.json +1 -1
  38. package/{phone-KA4NZFQC.js → phone-GYNROKO5.js} +3 -3
  39. package/{preference-TEMJHA73.js → preference-NHBRBTHG.js} +3 -3
  40. package/{relationship-OXV2SPNL.js → relationship-TZ3AHEGI.js} +3 -3
  41. package/{resource-2WREU3GR.js → resource-X5ZTVDLF.js} +8 -5
  42. package/resource-X5ZTVDLF.js.map +1 -0
  43. package/{search-V5V5IHY7.js → search-BAAAYJAP.js} +6 -7
  44. package/{search-V5V5IHY7.js.map → search-BAAAYJAP.js.map} +1 -1
  45. package/{secret-LIAHG47P.js → secret-X3Y6E65Z.js} +3 -3
  46. package/{slack-BUOXO2HU.js → slack-35G46FJA.js} +3 -3
  47. package/{teams-G7TYHRJB.js → teams-IMSR3V3W.js} +3 -3
  48. package/{telegram-DEHNZSEN.js → telegram-D3EWKPVI.js} +3 -3
  49. package/{variable-RMYF6NVZ.js → variable-QUYQA7OA.js} +3 -3
  50. package/{video-XEYMVSIU.js → video-XOAQYGPA.js} +2 -2
  51. package/{web-4REDKON3.js → web-5ENALPKP.js} +3 -3
  52. package/{whoami-66W7DPQX.js → whoami-2Q2N7V3N.js} +5 -5
  53. package/{workflow-PBJVC6HV.js → workflow-OKSOZKGH.js} +3 -3
  54. package/zero.js +34 -34
  55. package/adzuna.generated-NY6BDYRS.js +0 -16
  56. package/adzuna.generated-NY6BDYRS.js.map +0 -1
  57. package/adzuna.generated-UYD26H6U.js +0 -16
  58. package/adzuna.generated-UYD26H6U.js.map +0 -1
  59. package/agentmail.generated-77KAUVC7.js +0 -16
  60. package/agentmail.generated-77KAUVC7.js.map +0 -1
  61. package/agentmail.generated-D5K3CI4D.js +0 -16
  62. package/agentmail.generated-D5K3CI4D.js.map +0 -1
  63. package/agora.generated-2XGFL5LA.js +0 -16
  64. package/agora.generated-2XGFL5LA.js.map +0 -1
  65. package/agora.generated-QAI4NT4L.js +0 -16
  66. package/agora.generated-QAI4NT4L.js.map +0 -1
  67. package/ahrefs.generated-IYB5FTIF.js +0 -16
  68. package/ahrefs.generated-IYB5FTIF.js.map +0 -1
  69. package/ahrefs.generated-N6XI6SZP.js +0 -16
  70. package/ahrefs.generated-N6XI6SZP.js.map +0 -1
  71. package/airtable.generated-4MSPGWSM.js +0 -16
  72. package/airtable.generated-4MSPGWSM.js.map +0 -1
  73. package/airtable.generated-CV3LK62W.js +0 -16
  74. package/airtable.generated-CV3LK62W.js.map +0 -1
  75. package/alchemy.generated-FXRD7HLX.js +0 -16
  76. package/alchemy.generated-FXRD7HLX.js.map +0 -1
  77. package/alchemy.generated-L5FRQKJL.js +0 -16
  78. package/alchemy.generated-L5FRQKJL.js.map +0 -1
  79. package/altium-365.generated-IZ353434.js +0 -16
  80. package/altium-365.generated-IZ353434.js.map +0 -1
  81. package/altium-365.generated-QDLMKJPS.js +0 -16
  82. package/altium-365.generated-QDLMKJPS.js.map +0 -1
  83. package/amadeus.generated-EB6AUY2W.js +0 -16
  84. package/amadeus.generated-EB6AUY2W.js.map +0 -1
  85. package/amadeus.generated-GT4FYKKP.js +0 -16
  86. package/amadeus.generated-GT4FYKKP.js.map +0 -1
  87. package/amplitude.generated-25YXZ7DS.js +0 -16
  88. package/amplitude.generated-25YXZ7DS.js.map +0 -1
  89. package/amplitude.generated-FBXLF3CF.js +0 -16
  90. package/amplitude.generated-FBXLF3CF.js.map +0 -1
  91. package/anthropic-managed-agents.generated-GGOL2DHS.js +0 -16
  92. package/anthropic-managed-agents.generated-GGOL2DHS.js.map +0 -1
  93. package/anthropic-managed-agents.generated-OV3XUSJW.js +0 -16
  94. package/anthropic-managed-agents.generated-OV3XUSJW.js.map +0 -1
  95. package/apify.generated-GDYJRE42.js +0 -16
  96. package/apify.generated-GDYJRE42.js.map +0 -1
  97. package/apify.generated-ZPU5PRK7.js +0 -16
  98. package/apify.generated-ZPU5PRK7.js.map +0 -1
  99. package/apollo.generated-2K42PO5U.js +0 -16
  100. package/apollo.generated-2K42PO5U.js.map +0 -1
  101. package/apollo.generated-Y4GJY36V.js +0 -16
  102. package/apollo.generated-Y4GJY36V.js.map +0 -1
  103. package/asana.generated-UQEJDGNN.js +0 -16
  104. package/asana.generated-UQEJDGNN.js.map +0 -1
  105. package/asana.generated-W7WM5RGV.js +0 -16
  106. package/asana.generated-W7WM5RGV.js.map +0 -1
  107. package/ashby.generated-F65MN25P.js +0 -16
  108. package/ashby.generated-F65MN25P.js.map +0 -1
  109. package/ashby.generated-FFGCPPDE.js +0 -16
  110. package/ashby.generated-FFGCPPDE.js.map +0 -1
  111. package/atlascloud.generated-OKU5H4JY.js +0 -16
  112. package/atlascloud.generated-OKU5H4JY.js.map +0 -1
  113. package/atlascloud.generated-ZVFC4NA6.js +0 -16
  114. package/atlascloud.generated-ZVFC4NA6.js.map +0 -1
  115. package/atlassian.generated-VHLFBNH6.js +0 -16
  116. package/atlassian.generated-VHLFBNH6.js.map +0 -1
  117. package/atlassian.generated-W4ILXBVF.js +0 -16
  118. package/atlassian.generated-W4ILXBVF.js.map +0 -1
  119. package/attio.generated-4L65LUMM.js +0 -16
  120. package/attio.generated-4L65LUMM.js.map +0 -1
  121. package/attio.generated-PWXTXJJ7.js +0 -16
  122. package/attio.generated-PWXTXJJ7.js.map +0 -1
  123. package/aviationstack.generated-KKNB55S7.js +0 -16
  124. package/aviationstack.generated-KKNB55S7.js.map +0 -1
  125. package/aviationstack.generated-WB2JLDN5.js +0 -16
  126. package/aviationstack.generated-WB2JLDN5.js.map +0 -1
  127. package/aws.generated-6ZS75EQE.js +0 -16
  128. package/aws.generated-6ZS75EQE.js.map +0 -1
  129. package/aws.generated-GBI2IANF.js +0 -16
  130. package/aws.generated-GBI2IANF.js.map +0 -1
  131. package/axiom.generated-IJ7MJL3K.js +0 -16
  132. package/axiom.generated-IJ7MJL3K.js.map +0 -1
  133. package/axiom.generated-PYNPK75B.js +0 -16
  134. package/axiom.generated-PYNPK75B.js.map +0 -1
  135. package/base44.generated-AJWZUK7K.js +0 -16
  136. package/base44.generated-AJWZUK7K.js.map +0 -1
  137. package/base44.generated-U5Y6426G.js +0 -16
  138. package/base44.generated-U5Y6426G.js.map +0 -1
  139. package/bentoml.generated-HI57PONV.js +0 -16
  140. package/bentoml.generated-HI57PONV.js.map +0 -1
  141. package/bentoml.generated-UZYPBUOS.js +0 -16
  142. package/bentoml.generated-UZYPBUOS.js.map +0 -1
  143. package/bfl.generated-G52LFYYD.js +0 -16
  144. package/bfl.generated-G52LFYYD.js.map +0 -1
  145. package/bfl.generated-XQZSSEDA.js +0 -16
  146. package/bfl.generated-XQZSSEDA.js.map +0 -1
  147. package/bill.generated-5FJHQPXY.js +0 -16
  148. package/bill.generated-5FJHQPXY.js.map +0 -1
  149. package/bill.generated-HYFQCA2Q.js +0 -16
  150. package/bill.generated-HYFQCA2Q.js.map +0 -1
  151. package/bitrefill.generated-GUVTJ23H.js +0 -16
  152. package/bitrefill.generated-GUVTJ23H.js.map +0 -1
  153. package/bitrefill.generated-NLFRI6LE.js +0 -16
  154. package/bitrefill.generated-NLFRI6LE.js.map +0 -1
  155. package/bitrix.generated-QGLVCTHC.js +0 -16
  156. package/bitrix.generated-QGLVCTHC.js.map +0 -1
  157. package/bitrix.generated-WBOBPY7B.js +0 -16
  158. package/bitrix.generated-WBOBPY7B.js.map +0 -1
  159. package/bland.generated-563BJLD7.js +0 -16
  160. package/bland.generated-563BJLD7.js.map +0 -1
  161. package/bland.generated-QFAOCGRV.js +0 -16
  162. package/bland.generated-QFAOCGRV.js.map +0 -1
  163. package/box.generated-GIUVTDKW.js +0 -16
  164. package/box.generated-GIUVTDKW.js.map +0 -1
  165. package/box.generated-NVWK7PUW.js +0 -16
  166. package/box.generated-NVWK7PUW.js.map +0 -1
  167. package/brave-search.generated-6G3FPSOI.js +0 -16
  168. package/brave-search.generated-6G3FPSOI.js.map +0 -1
  169. package/brave-search.generated-H7OPQC5L.js +0 -16
  170. package/brave-search.generated-H7OPQC5L.js.map +0 -1
  171. package/brevo.generated-IIYV244D.js +0 -16
  172. package/brevo.generated-IIYV244D.js.map +0 -1
  173. package/brevo.generated-WXFZ2QA3.js +0 -16
  174. package/brevo.generated-WXFZ2QA3.js.map +0 -1
  175. package/brex.generated-AFXJCCTP.js +0 -16
  176. package/brex.generated-AFXJCCTP.js.map +0 -1
  177. package/brex.generated-JB7Q5UHY.js +0 -16
  178. package/brex.generated-JB7Q5UHY.js.map +0 -1
  179. package/bright-data.generated-C3SGIKHN.js +0 -16
  180. package/bright-data.generated-C3SGIKHN.js.map +0 -1
  181. package/bright-data.generated-TDAWKLP2.js +0 -16
  182. package/bright-data.generated-TDAWKLP2.js.map +0 -1
  183. package/browser-use.generated-E5G7YL6Y.js +0 -16
  184. package/browser-use.generated-E5G7YL6Y.js.map +0 -1
  185. package/browser-use.generated-I2BIBOM4.js +0 -16
  186. package/browser-use.generated-I2BIBOM4.js.map +0 -1
  187. package/browserbase.generated-MPEQJRB2.js +0 -16
  188. package/browserbase.generated-MPEQJRB2.js.map +0 -1
  189. package/browserbase.generated-OULKTUBA.js +0 -16
  190. package/browserbase.generated-OULKTUBA.js.map +0 -1
  191. package/browserless.generated-6APMGIX6.js +0 -16
  192. package/browserless.generated-6APMGIX6.js.map +0 -1
  193. package/browserless.generated-OAZ7AVJK.js +0 -16
  194. package/browserless.generated-OAZ7AVJK.js.map +0 -1
  195. package/browserstack.generated-5JBA3BIA.js +0 -16
  196. package/browserstack.generated-5JBA3BIA.js.map +0 -1
  197. package/browserstack.generated-TUTDW7V5.js +0 -16
  198. package/browserstack.generated-TUTDW7V5.js.map +0 -1
  199. package/bubblemaps.generated-GCD4DIQT.js +0 -16
  200. package/bubblemaps.generated-GCD4DIQT.js.map +0 -1
  201. package/bubblemaps.generated-O5MAE2GL.js +0 -16
  202. package/bubblemaps.generated-O5MAE2GL.js.map +0 -1
  203. package/buffer.generated-CZ3PT3I5.js +0 -16
  204. package/buffer.generated-CZ3PT3I5.js.map +0 -1
  205. package/buffer.generated-WYAFG4MY.js +0 -16
  206. package/buffer.generated-WYAFG4MY.js.map +0 -1
  207. package/builtwith.generated-QZ5FLIIV.js +0 -16
  208. package/builtwith.generated-QZ5FLIIV.js.map +0 -1
  209. package/builtwith.generated-ULTM7PP5.js +0 -16
  210. package/builtwith.generated-ULTM7PP5.js.map +0 -1
  211. package/cal-com.generated-66LFMVPY.js +0 -16
  212. package/cal-com.generated-66LFMVPY.js.map +0 -1
  213. package/cal-com.generated-YPEDDD5J.js +0 -16
  214. package/cal-com.generated-YPEDDD5J.js.map +0 -1
  215. package/calendly.generated-CFKJKQV6.js +0 -16
  216. package/calendly.generated-CFKJKQV6.js.map +0 -1
  217. package/calendly.generated-PFJIZATI.js +0 -16
  218. package/calendly.generated-PFJIZATI.js.map +0 -1
  219. package/canva.generated-BOJJUGXF.js +0 -16
  220. package/canva.generated-BOJJUGXF.js.map +0 -1
  221. package/canva.generated-ZHJ35VU3.js +0 -16
  222. package/canva.generated-ZHJ35VU3.js.map +0 -1
  223. package/chatwoot.generated-DWKKDSPE.js +0 -16
  224. package/chatwoot.generated-DWKKDSPE.js.map +0 -1
  225. package/chatwoot.generated-S6YJHKG5.js +0 -16
  226. package/chatwoot.generated-S6YJHKG5.js.map +0 -1
  227. package/checkr.generated-NYTE4TTX.js +0 -16
  228. package/checkr.generated-NYTE4TTX.js.map +0 -1
  229. package/checkr.generated-VJCUTI6T.js +0 -16
  230. package/checkr.generated-VJCUTI6T.js.map +0 -1
  231. package/chunk-GIACTMOF.js.map +0 -1
  232. package/chunk-H4Y7JDZB.js +0 -16427
  233. package/chunk-H4Y7JDZB.js.map +0 -1
  234. package/chunk-OCOHCUE3.js.map +0 -1
  235. package/chunk-VC7E6IA7.js.map +0 -1
  236. package/clado.generated-M5SSL6PD.js +0 -16
  237. package/clado.generated-M5SSL6PD.js.map +0 -1
  238. package/clado.generated-PSBCEQRT.js +0 -16
  239. package/clado.generated-PSBCEQRT.js.map +0 -1
  240. package/clearbit.generated-53TOIKS2.js +0 -16
  241. package/clearbit.generated-53TOIKS2.js.map +0 -1
  242. package/clearbit.generated-U4BWJIBF.js +0 -16
  243. package/clearbit.generated-U4BWJIBF.js.map +0 -1
  244. package/clerk.generated-HRYIFEYG.js +0 -404
  245. package/clerk.generated-HRYIFEYG.js.map +0 -1
  246. package/clerk.generated-M5C4UFQQ.js +0 -16
  247. package/clerk.generated-M5C4UFQQ.js.map +0 -1
  248. package/clickup.generated-SKZ2NPN7.js +0 -16
  249. package/clickup.generated-SKZ2NPN7.js.map +0 -1
  250. package/clickup.generated-YVJKWZXT.js +0 -16
  251. package/clickup.generated-YVJKWZXT.js.map +0 -1
  252. package/close.generated-5WRX7CKY.js +0 -16
  253. package/close.generated-5WRX7CKY.js.map +0 -1
  254. package/close.generated-M3V7AAQR.js +0 -16
  255. package/close.generated-M3V7AAQR.js.map +0 -1
  256. package/cloudflare.generated-3VWLY47X.js +0 -16
  257. package/cloudflare.generated-3VWLY47X.js.map +0 -1
  258. package/cloudflare.generated-AJY4K6U2.js +0 -16
  259. package/cloudflare.generated-AJY4K6U2.js.map +0 -1
  260. package/coda.generated-NL63PYGH.js +0 -16
  261. package/coda.generated-NL63PYGH.js.map +0 -1
  262. package/coda.generated-WE3Z3UQN.js +0 -16
  263. package/coda.generated-WE3Z3UQN.js.map +0 -1
  264. package/coingecko.generated-Q66Y5MCV.js +0 -16
  265. package/coingecko.generated-Q66Y5MCV.js.map +0 -1
  266. package/coingecko.generated-YW5JBNK3.js +0 -16
  267. package/coingecko.generated-YW5JBNK3.js.map +0 -1
  268. package/copper.generated-PZRA3BV7.js +0 -16
  269. package/copper.generated-PZRA3BV7.js.map +0 -1
  270. package/copper.generated-UBWQDA5K.js +0 -16
  271. package/copper.generated-UBWQDA5K.js.map +0 -1
  272. package/coresignal.generated-QKDHJYVO.js +0 -16
  273. package/coresignal.generated-QKDHJYVO.js.map +0 -1
  274. package/coresignal.generated-U344Q2UM.js +0 -16
  275. package/coresignal.generated-U344Q2UM.js.map +0 -1
  276. package/cronlytic.generated-4LB2MI5Q.js +0 -16
  277. package/cronlytic.generated-4LB2MI5Q.js.map +0 -1
  278. package/cronlytic.generated-PWUPGGTS.js +0 -16
  279. package/cronlytic.generated-PWUPGGTS.js.map +0 -1
  280. package/crustdata.generated-BM256Z5G.js +0 -16
  281. package/crustdata.generated-BM256Z5G.js.map +0 -1
  282. package/crustdata.generated-U3SDU6PO.js +0 -16
  283. package/crustdata.generated-U3SDU6PO.js.map +0 -1
  284. package/cursor.generated-4RRYU2NY.js +0 -16
  285. package/cursor.generated-4RRYU2NY.js.map +0 -1
  286. package/cursor.generated-OSITR3ZU.js +0 -16
  287. package/cursor.generated-OSITR3ZU.js.map +0 -1
  288. package/customer-io.generated-52XITRCS.js +0 -16
  289. package/customer-io.generated-52XITRCS.js.map +0 -1
  290. package/customer-io.generated-PXSZUHIQ.js +0 -16
  291. package/customer-io.generated-PXSZUHIQ.js.map +0 -1
  292. package/datadog.generated-S4YB2V57.js +0 -16
  293. package/datadog.generated-S4YB2V57.js.map +0 -1
  294. package/datadog.generated-Z3O2DYLP.js +0 -16
  295. package/datadog.generated-Z3O2DYLP.js.map +0 -1
  296. package/daytona.generated-NMEVCK2C.js +0 -16
  297. package/daytona.generated-NMEVCK2C.js.map +0 -1
  298. package/daytona.generated-SQ4CHQAD.js +0 -16
  299. package/daytona.generated-SQ4CHQAD.js.map +0 -1
  300. package/db9.generated-QQVGBNAG.js +0 -16
  301. package/db9.generated-QQVGBNAG.js.map +0 -1
  302. package/db9.generated-TYNLLX2L.js +0 -16
  303. package/db9.generated-TYNLLX2L.js.map +0 -1
  304. package/deel.generated-V4NV7DNO.js +0 -16
  305. package/deel.generated-V4NV7DNO.js.map +0 -1
  306. package/deel.generated-WRQX7JK3.js +0 -16
  307. package/deel.generated-WRQX7JK3.js.map +0 -1
  308. package/deepseek.generated-GAWSLOVM.js +0 -16
  309. package/deepseek.generated-GAWSLOVM.js.map +0 -1
  310. package/deepseek.generated-RV25NG3W.js +0 -16
  311. package/deepseek.generated-RV25NG3W.js.map +0 -1
  312. package/defillama.generated-OIUIVCBL.js +0 -16
  313. package/defillama.generated-OIUIVCBL.js.map +0 -1
  314. package/defillama.generated-RUE4MEAQ.js +0 -16
  315. package/defillama.generated-RUE4MEAQ.js.map +0 -1
  316. package/devto.generated-5GWHDQ2J.js +0 -16
  317. package/devto.generated-5GWHDQ2J.js.map +0 -1
  318. package/devto.generated-C3OPR4KJ.js +0 -16
  319. package/devto.generated-C3OPR4KJ.js.map +0 -1
  320. package/diffbot.generated-OCF5VCVT.js +0 -16
  321. package/diffbot.generated-OCF5VCVT.js.map +0 -1
  322. package/diffbot.generated-TNUOC4IP.js +0 -16
  323. package/diffbot.generated-TNUOC4IP.js.map +0 -1
  324. package/dify.generated-AXDXZFXG.js +0 -16
  325. package/dify.generated-AXDXZFXG.js.map +0 -1
  326. package/dify.generated-MJXSKUH7.js +0 -16
  327. package/dify.generated-MJXSKUH7.js.map +0 -1
  328. package/discord-webhook.generated-2SJ3F2ID.js +0 -16
  329. package/discord-webhook.generated-2SJ3F2ID.js.map +0 -1
  330. package/discord-webhook.generated-BECYRCFR.js +0 -16
  331. package/discord-webhook.generated-BECYRCFR.js.map +0 -1
  332. package/discord.generated-62KV4SIG.js +0 -16
  333. package/discord.generated-62KV4SIG.js.map +0 -1
  334. package/discord.generated-VMZJJHBD.js +0 -16
  335. package/discord.generated-VMZJJHBD.js.map +0 -1
  336. package/doctor-Z3HFRIKJ.js +0 -4305
  337. package/doctor-Z3HFRIKJ.js.map +0 -1
  338. package/docusign.generated-AFFJRD76.js +0 -16
  339. package/docusign.generated-AFFJRD76.js.map +0 -1
  340. package/docusign.generated-HP77UTLV.js +0 -16
  341. package/docusign.generated-HP77UTLV.js.map +0 -1
  342. package/doppler.generated-MHGWEGZ7.js +0 -16
  343. package/doppler.generated-MHGWEGZ7.js.map +0 -1
  344. package/doppler.generated-VC4SP4JE.js +0 -16
  345. package/doppler.generated-VC4SP4JE.js.map +0 -1
  346. package/doubao.generated-FZRC2AEU.js +0 -16
  347. package/doubao.generated-FZRC2AEU.js.map +0 -1
  348. package/doubao.generated-HX2SITQ2.js +0 -16
  349. package/doubao.generated-HX2SITQ2.js.map +0 -1
  350. package/drive9.generated-2PITA5TU.js +0 -16
  351. package/drive9.generated-2PITA5TU.js.map +0 -1
  352. package/drive9.generated-VRSZGUHS.js +0 -16
  353. package/drive9.generated-VRSZGUHS.js.map +0 -1
  354. package/dropbox-sign.generated-EZ5Q2P3H.js +0 -16
  355. package/dropbox-sign.generated-EZ5Q2P3H.js.map +0 -1
  356. package/dropbox-sign.generated-YNR3MPMO.js +0 -16
  357. package/dropbox-sign.generated-YNR3MPMO.js.map +0 -1
  358. package/dropbox.generated-2FDAXOCO.js +0 -142
  359. package/dropbox.generated-2FDAXOCO.js.map +0 -1
  360. package/dropbox.generated-M2GTRFYO.js +0 -16
  361. package/dropbox.generated-M2GTRFYO.js.map +0 -1
  362. package/duffel.generated-3MN62WQ6.js +0 -16
  363. package/duffel.generated-3MN62WQ6.js.map +0 -1
  364. package/duffel.generated-OXRPP5HD.js +0 -16
  365. package/duffel.generated-OXRPP5HD.js.map +0 -1
  366. package/e2b.generated-O5LENHMP.js +0 -16
  367. package/e2b.generated-O5LENHMP.js.map +0 -1
  368. package/e2b.generated-OKFNQVBP.js +0 -16
  369. package/e2b.generated-OKFNQVBP.js.map +0 -1
  370. package/elevenlabs.generated-DGHUKPPA.js +0 -16
  371. package/elevenlabs.generated-DGHUKPPA.js.map +0 -1
  372. package/elevenlabs.generated-JRVJB7GO.js +0 -16
  373. package/elevenlabs.generated-JRVJB7GO.js.map +0 -1
  374. package/etherscan.generated-Q4SQ7XZ6.js +0 -16
  375. package/etherscan.generated-Q4SQ7XZ6.js.map +0 -1
  376. package/etherscan.generated-Y2UWWGRY.js +0 -16
  377. package/etherscan.generated-Y2UWWGRY.js.map +0 -1
  378. package/etsy.generated-24NNH3DR.js +0 -16
  379. package/etsy.generated-24NNH3DR.js.map +0 -1
  380. package/etsy.generated-TL335MSF.js +0 -16
  381. package/etsy.generated-TL335MSF.js.map +0 -1
  382. package/exa.generated-PWXG74Y7.js +0 -16
  383. package/exa.generated-PWXG74Y7.js.map +0 -1
  384. package/exa.generated-QNMLVVOP.js +0 -16
  385. package/exa.generated-QNMLVVOP.js.map +0 -1
  386. package/expensify.generated-G2ZGBKBQ.js +0 -16
  387. package/expensify.generated-G2ZGBKBQ.js.map +0 -1
  388. package/expensify.generated-OHAW3AHP.js +0 -16
  389. package/expensify.generated-OHAW3AHP.js.map +0 -1
  390. package/explorium.generated-7MKBQYVS.js +0 -16
  391. package/explorium.generated-7MKBQYVS.js.map +0 -1
  392. package/explorium.generated-NWLGZPLQ.js +0 -16
  393. package/explorium.generated-NWLGZPLQ.js.map +0 -1
  394. package/faire.generated-3J7ZYAFG.js +0 -16
  395. package/faire.generated-3J7ZYAFG.js.map +0 -1
  396. package/faire.generated-TMOWPVEH.js +0 -16
  397. package/faire.generated-TMOWPVEH.js.map +0 -1
  398. package/fal.generated-BMEFTIB2.js +0 -16
  399. package/fal.generated-BMEFTIB2.js.map +0 -1
  400. package/fal.generated-WKPLQELS.js +0 -16
  401. package/fal.generated-WKPLQELS.js.map +0 -1
  402. package/figma.generated-O3DAC4DF.js +0 -16
  403. package/figma.generated-O3DAC4DF.js.map +0 -1
  404. package/figma.generated-SIDCYFC2.js +0 -16
  405. package/figma.generated-SIDCYFC2.js.map +0 -1
  406. package/firecrawl.generated-EUOMMBRG.js +0 -16
  407. package/firecrawl.generated-EUOMMBRG.js.map +0 -1
  408. package/firecrawl.generated-HJIPXQLQ.js +0 -16
  409. package/firecrawl.generated-HJIPXQLQ.js.map +0 -1
  410. package/fireflies.generated-4UJXEVZ5.js +0 -16
  411. package/fireflies.generated-4UJXEVZ5.js.map +0 -1
  412. package/fireflies.generated-LDCTDIIH.js +0 -16
  413. package/fireflies.generated-LDCTDIIH.js.map +0 -1
  414. package/flightaware.generated-2KOEWR2B.js +0 -16
  415. package/flightaware.generated-2KOEWR2B.js.map +0 -1
  416. package/flightaware.generated-U3NCDOZY.js +0 -16
  417. package/flightaware.generated-U3NCDOZY.js.map +0 -1
  418. package/freshdesk.generated-4QAEEWUR.js +0 -16
  419. package/freshdesk.generated-4QAEEWUR.js.map +0 -1
  420. package/freshdesk.generated-AKKM6RNX.js +0 -16
  421. package/freshdesk.generated-AKKM6RNX.js.map +0 -1
  422. package/gamma.generated-I4YS2CF2.js +0 -16
  423. package/gamma.generated-I4YS2CF2.js.map +0 -1
  424. package/gamma.generated-WMSDL5XO.js +0 -16
  425. package/gamma.generated-WMSDL5XO.js.map +0 -1
  426. package/garmin-connect.generated-7CAXD2YK.js +0 -16
  427. package/garmin-connect.generated-7CAXD2YK.js.map +0 -1
  428. package/garmin-connect.generated-XPHMWKRW.js +0 -16
  429. package/garmin-connect.generated-XPHMWKRW.js.map +0 -1
  430. package/gemini.generated-JOB7ODR5.js +0 -16
  431. package/gemini.generated-JOB7ODR5.js.map +0 -1
  432. package/gemini.generated-OOSH7PPV.js +0 -16
  433. package/gemini.generated-OOSH7PPV.js.map +0 -1
  434. package/github.generated-JWDPQNED.js +0 -16
  435. package/github.generated-JWDPQNED.js.map +0 -1
  436. package/github.generated-XG4A3XLA.js +0 -16
  437. package/github.generated-XG4A3XLA.js.map +0 -1
  438. package/gitlab.generated-X4BLRWTS.js +0 -16
  439. package/gitlab.generated-X4BLRWTS.js.map +0 -1
  440. package/gitlab.generated-YNQLLSR7.js +0 -16
  441. package/gitlab.generated-YNQLLSR7.js.map +0 -1
  442. package/gmail.generated-DS3XZSJN.js +0 -16
  443. package/gmail.generated-DS3XZSJN.js.map +0 -1
  444. package/gmail.generated-EW36YIP4.js +0 -16
  445. package/gmail.generated-EW36YIP4.js.map +0 -1
  446. package/gong.generated-LT2RRE65.js +0 -16
  447. package/gong.generated-LT2RRE65.js.map +0 -1
  448. package/gong.generated-WKOS2N7D.js +0 -16
  449. package/gong.generated-WKOS2N7D.js.map +0 -1
  450. package/google-ads.generated-7U3PXTR2.js +0 -16
  451. package/google-ads.generated-7U3PXTR2.js.map +0 -1
  452. package/google-ads.generated-M4252SMF.js +0 -16
  453. package/google-ads.generated-M4252SMF.js.map +0 -1
  454. package/google-analytics.generated-R4LSYXWV.js +0 -16
  455. package/google-analytics.generated-R4LSYXWV.js.map +0 -1
  456. package/google-analytics.generated-VVSGX2SR.js +0 -16
  457. package/google-analytics.generated-VVSGX2SR.js.map +0 -1
  458. package/google-calendar.generated-CEL5QTMU.js +0 -16
  459. package/google-calendar.generated-CEL5QTMU.js.map +0 -1
  460. package/google-calendar.generated-SH7YZFEN.js +0 -134
  461. package/google-calendar.generated-SH7YZFEN.js.map +0 -1
  462. package/google-cloud.generated-M6FGSIDX.js +0 -16
  463. package/google-cloud.generated-M6FGSIDX.js.map +0 -1
  464. package/google-cloud.generated-QHFDZ2QP.js +0 -16
  465. package/google-cloud.generated-QHFDZ2QP.js.map +0 -1
  466. package/google-contacts.generated-FL6Z7MTD.js +0 -16
  467. package/google-contacts.generated-FL6Z7MTD.js.map +0 -1
  468. package/google-contacts.generated-Q67YBTPW.js +0 -16
  469. package/google-contacts.generated-Q67YBTPW.js.map +0 -1
  470. package/google-docs.generated-H5SPCVL7.js +0 -16
  471. package/google-docs.generated-H5SPCVL7.js.map +0 -1
  472. package/google-docs.generated-O5POGHJR.js +0 -16
  473. package/google-docs.generated-O5POGHJR.js.map +0 -1
  474. package/google-drive.generated-AFDEMMQF.js +0 -16
  475. package/google-drive.generated-AFDEMMQF.js.map +0 -1
  476. package/google-drive.generated-GA6UGN7J.js +0 -16
  477. package/google-drive.generated-GA6UGN7J.js.map +0 -1
  478. package/google-forms.generated-AOKO24AB.js +0 -16
  479. package/google-forms.generated-AOKO24AB.js.map +0 -1
  480. package/google-forms.generated-KDCHIV43.js +0 -16
  481. package/google-forms.generated-KDCHIV43.js.map +0 -1
  482. package/google-maps.generated-R4SWRZUA.js +0 -16
  483. package/google-maps.generated-R4SWRZUA.js.map +0 -1
  484. package/google-maps.generated-R5GWNF7Q.js +0 -16
  485. package/google-maps.generated-R5GWNF7Q.js.map +0 -1
  486. package/google-meet.generated-2VF7Z73A.js +0 -16
  487. package/google-meet.generated-2VF7Z73A.js.map +0 -1
  488. package/google-meet.generated-AMMQ2O3Y.js +0 -16
  489. package/google-meet.generated-AMMQ2O3Y.js.map +0 -1
  490. package/google-search-console.generated-BCDG3TVZ.js +0 -16
  491. package/google-search-console.generated-BCDG3TVZ.js.map +0 -1
  492. package/google-search-console.generated-PZKSK4HW.js +0 -16
  493. package/google-search-console.generated-PZKSK4HW.js.map +0 -1
  494. package/google-sheets.generated-LXJXNPJR.js +0 -16
  495. package/google-sheets.generated-LXJXNPJR.js.map +0 -1
  496. package/google-sheets.generated-SD7ME3SW.js +0 -16
  497. package/google-sheets.generated-SD7ME3SW.js.map +0 -1
  498. package/granola.generated-4KD22XPO.js +0 -16
  499. package/granola.generated-4KD22XPO.js.map +0 -1
  500. package/granola.generated-GQIDICRQ.js +0 -16
  501. package/granola.generated-GQIDICRQ.js.map +0 -1
  502. package/greenhouse.generated-IDVXJRBH.js +0 -16
  503. package/greenhouse.generated-IDVXJRBH.js.map +0 -1
  504. package/greenhouse.generated-YB6YOHTV.js +0 -16
  505. package/greenhouse.generated-YB6YOHTV.js.map +0 -1
  506. package/groq.generated-P7CXNTSN.js +0 -16
  507. package/groq.generated-P7CXNTSN.js.map +0 -1
  508. package/groq.generated-VHH4SIFZ.js +0 -16
  509. package/groq.generated-VHH4SIFZ.js.map +0 -1
  510. package/gumroad.generated-C2XIJBSU.js +0 -16
  511. package/gumroad.generated-C2XIJBSU.js.map +0 -1
  512. package/gumroad.generated-OPBGPDF4.js +0 -16
  513. package/gumroad.generated-OPBGPDF4.js.map +0 -1
  514. package/helicone.generated-F6X2XNYQ.js +0 -16
  515. package/helicone.generated-F6X2XNYQ.js.map +0 -1
  516. package/helicone.generated-ZOFMVL4C.js +0 -16
  517. package/helicone.generated-ZOFMVL4C.js.map +0 -1
  518. package/heygen.generated-JMKXHZFY.js +0 -16
  519. package/heygen.generated-JMKXHZFY.js.map +0 -1
  520. package/heygen.generated-TMU5IYPU.js +0 -16
  521. package/heygen.generated-TMU5IYPU.js.map +0 -1
  522. package/hitem3d.generated-B73OTDG5.js +0 -16
  523. package/hitem3d.generated-B73OTDG5.js.map +0 -1
  524. package/hitem3d.generated-KI44N32Y.js +0 -16
  525. package/hitem3d.generated-KI44N32Y.js.map +0 -1
  526. package/honcho.generated-Q52KK24D.js +0 -16
  527. package/honcho.generated-Q52KK24D.js.map +0 -1
  528. package/honcho.generated-YNWUDVXO.js +0 -16
  529. package/honcho.generated-YNWUDVXO.js.map +0 -1
  530. package/htmlcsstoimage.generated-JHIE6RA2.js +0 -16
  531. package/htmlcsstoimage.generated-JHIE6RA2.js.map +0 -1
  532. package/htmlcsstoimage.generated-R4ZCB2LL.js +0 -16
  533. package/htmlcsstoimage.generated-R4ZCB2LL.js.map +0 -1
  534. package/hubspot.generated-6LHX6BDN.js +0 -16
  535. package/hubspot.generated-6LHX6BDN.js.map +0 -1
  536. package/hubspot.generated-77GK6PT7.js +0 -16
  537. package/hubspot.generated-77GK6PT7.js.map +0 -1
  538. package/hugging-face.generated-546AKYVT.js +0 -16
  539. package/hugging-face.generated-546AKYVT.js.map +0 -1
  540. package/hugging-face.generated-ILQYRN7Q.js +0 -16
  541. package/hugging-face.generated-ILQYRN7Q.js.map +0 -1
  542. package/hume.generated-GMZXWN5V.js +0 -16
  543. package/hume.generated-GMZXWN5V.js.map +0 -1
  544. package/hume.generated-PH2WYG6V.js +0 -16
  545. package/hume.generated-PH2WYG6V.js.map +0 -1
  546. package/hunter.generated-24W3F2AB.js +0 -16
  547. package/hunter.generated-24W3F2AB.js.map +0 -1
  548. package/hunter.generated-D2I4PUM5.js +0 -16
  549. package/hunter.generated-D2I4PUM5.js.map +0 -1
  550. package/imgur.generated-ATYGUAPB.js +0 -16
  551. package/imgur.generated-ATYGUAPB.js.map +0 -1
  552. package/imgur.generated-BCT56H2T.js +0 -16
  553. package/imgur.generated-BCT56H2T.js.map +0 -1
  554. package/infisical.generated-NASVOFWQ.js +0 -16
  555. package/infisical.generated-NASVOFWQ.js.map +0 -1
  556. package/infisical.generated-W4JAVLHC.js +0 -16
  557. package/infisical.generated-W4JAVLHC.js.map +0 -1
  558. package/insforge.generated-3KEGLQDJ.js +0 -16
  559. package/insforge.generated-3KEGLQDJ.js.map +0 -1
  560. package/insforge.generated-VP23RSUH.js +0 -16
  561. package/insforge.generated-VP23RSUH.js.map +0 -1
  562. package/instagram.generated-JZYQO3HP.js +0 -16
  563. package/instagram.generated-JZYQO3HP.js.map +0 -1
  564. package/instagram.generated-YXHEDQCV.js +0 -16
  565. package/instagram.generated-YXHEDQCV.js.map +0 -1
  566. package/instantly.generated-LSU5NZMS.js +0 -16
  567. package/instantly.generated-LSU5NZMS.js.map +0 -1
  568. package/instantly.generated-N76J3BGQ.js +0 -16
  569. package/instantly.generated-N76J3BGQ.js.map +0 -1
  570. package/intercom.generated-QRCQM7RI.js +0 -16
  571. package/intercom.generated-QRCQM7RI.js.map +0 -1
  572. package/intercom.generated-RINBGNFM.js +0 -16
  573. package/intercom.generated-RINBGNFM.js.map +0 -1
  574. package/intervals-icu.generated-KJYR72MA.js +0 -16
  575. package/intervals-icu.generated-KJYR72MA.js.map +0 -1
  576. package/intervals-icu.generated-Q3CSM7NT.js +0 -16
  577. package/intervals-icu.generated-Q3CSM7NT.js.map +0 -1
  578. package/ironclad.generated-4GBX4E66.js +0 -16
  579. package/ironclad.generated-4GBX4E66.js.map +0 -1
  580. package/ironclad.generated-KSXTA4BI.js +0 -16
  581. package/ironclad.generated-KSXTA4BI.js.map +0 -1
  582. package/jam.generated-7NEKQ4SW.js +0 -16
  583. package/jam.generated-7NEKQ4SW.js.map +0 -1
  584. package/jam.generated-MJHTSETU.js +0 -16
  585. package/jam.generated-MJHTSETU.js.map +0 -1
  586. package/jira.generated-AWULGARK.js +0 -16
  587. package/jira.generated-AWULGARK.js.map +0 -1
  588. package/jira.generated-ZXHLDZDK.js +0 -16
  589. package/jira.generated-ZXHLDZDK.js.map +0 -1
  590. package/jotform.generated-BDLAH2AZ.js +0 -16
  591. package/jotform.generated-BDLAH2AZ.js.map +0 -1
  592. package/jotform.generated-BESF7Q4F.js +0 -16
  593. package/jotform.generated-BESF7Q4F.js.map +0 -1
  594. package/klaviyo.generated-VJR6576N.js +0 -16
  595. package/klaviyo.generated-VJR6576N.js.map +0 -1
  596. package/klaviyo.generated-ZPARMY2A.js +0 -16
  597. package/klaviyo.generated-ZPARMY2A.js.map +0 -1
  598. package/kommo.generated-NU5FQGFZ.js +0 -16
  599. package/kommo.generated-NU5FQGFZ.js.map +0 -1
  600. package/kommo.generated-RY5JIBVM.js +0 -16
  601. package/kommo.generated-RY5JIBVM.js.map +0 -1
  602. package/langfuse.generated-2TEZPEGI.js +0 -16
  603. package/langfuse.generated-2TEZPEGI.js.map +0 -1
  604. package/langfuse.generated-T3ASN6RU.js +0 -16
  605. package/langfuse.generated-T3ASN6RU.js.map +0 -1
  606. package/langsmith.generated-33VTXPTC.js +0 -16
  607. package/langsmith.generated-33VTXPTC.js.map +0 -1
  608. package/langsmith.generated-7VDIOSYU.js +0 -16
  609. package/langsmith.generated-7VDIOSYU.js.map +0 -1
  610. package/lark.generated-STIJYMKG.js +0 -16
  611. package/lark.generated-STIJYMKG.js.map +0 -1
  612. package/lark.generated-VK3DHNC4.js +0 -16
  613. package/lark.generated-VK3DHNC4.js.map +0 -1
  614. package/line.generated-V4PVO2AB.js +0 -16
  615. package/line.generated-V4PVO2AB.js.map +0 -1
  616. package/line.generated-XBL22L7B.js +0 -16
  617. package/line.generated-XBL22L7B.js.map +0 -1
  618. package/linear.generated-TCGXBP4E.js +0 -16
  619. package/linear.generated-TCGXBP4E.js.map +0 -1
  620. package/linear.generated-X5TGJC5I.js +0 -16
  621. package/linear.generated-X5TGJC5I.js.map +0 -1
  622. package/loops.generated-G55SCI4R.js +0 -16
  623. package/loops.generated-G55SCI4R.js.map +0 -1
  624. package/loops.generated-NJOC2NMK.js +0 -16
  625. package/loops.generated-NJOC2NMK.js.map +0 -1
  626. package/luma-ai.generated-RZFZ75FX.js +0 -16
  627. package/luma-ai.generated-RZFZ75FX.js.map +0 -1
  628. package/luma-ai.generated-S6Z3QGDW.js +0 -16
  629. package/luma-ai.generated-S6Z3QGDW.js.map +0 -1
  630. package/luma.generated-FJYSJIGM.js +0 -16
  631. package/luma.generated-FJYSJIGM.js.map +0 -1
  632. package/luma.generated-JKZXRF7R.js +0 -16
  633. package/luma.generated-JKZXRF7R.js.map +0 -1
  634. package/mailchimp.generated-7XSORFN5.js +0 -16
  635. package/mailchimp.generated-7XSORFN5.js.map +0 -1
  636. package/mailchimp.generated-LP6YPY36.js +0 -16
  637. package/mailchimp.generated-LP6YPY36.js.map +0 -1
  638. package/mailsac.generated-2K3FIGHH.js +0 -16
  639. package/mailsac.generated-2K3FIGHH.js.map +0 -1
  640. package/mailsac.generated-UD7X5TO7.js +0 -16
  641. package/mailsac.generated-UD7X5TO7.js.map +0 -1
  642. package/make.generated-3NL7DSRL.js +0 -16
  643. package/make.generated-3NL7DSRL.js.map +0 -1
  644. package/make.generated-66C3YY2M.js +0 -16
  645. package/make.generated-66C3YY2M.js.map +0 -1
  646. package/manus.generated-IWUQTBWM.js +0 -16
  647. package/manus.generated-IWUQTBWM.js.map +0 -1
  648. package/manus.generated-VRSJEPES.js +0 -16
  649. package/manus.generated-VRSJEPES.js.map +0 -1
  650. package/mapbox.generated-FWIAPHMS.js +0 -16
  651. package/mapbox.generated-FWIAPHMS.js.map +0 -1
  652. package/mapbox.generated-WKY7P7QO.js +0 -16
  653. package/mapbox.generated-WKY7P7QO.js.map +0 -1
  654. package/maskdb.generated-G7ZJSNRB.js +0 -16
  655. package/maskdb.generated-G7ZJSNRB.js.map +0 -1
  656. package/maskdb.generated-IZ3HKDOG.js +0 -65
  657. package/maskdb.generated-IZ3HKDOG.js.map +0 -1
  658. package/massive.generated-H52ZKQ3G.js +0 -16
  659. package/massive.generated-H52ZKQ3G.js.map +0 -1
  660. package/massive.generated-HS33B6JC.js +0 -16
  661. package/massive.generated-HS33B6JC.js.map +0 -1
  662. package/mathpix.generated-M7CZRVBY.js +0 -16
  663. package/mathpix.generated-M7CZRVBY.js.map +0 -1
  664. package/mathpix.generated-XEBEMSSG.js +0 -16
  665. package/mathpix.generated-XEBEMSSG.js.map +0 -1
  666. package/mem0.generated-F5QOASVA.js +0 -16
  667. package/mem0.generated-F5QOASVA.js.map +0 -1
  668. package/mem0.generated-SV4AQSTK.js +0 -16
  669. package/mem0.generated-SV4AQSTK.js.map +0 -1
  670. package/mercury.generated-7RXKRQ2E.js +0 -16
  671. package/mercury.generated-7RXKRQ2E.js.map +0 -1
  672. package/mercury.generated-JDW5IOTZ.js +0 -16
  673. package/mercury.generated-JDW5IOTZ.js.map +0 -1
  674. package/meshy.generated-U2YOW2KQ.js +0 -16
  675. package/meshy.generated-U2YOW2KQ.js.map +0 -1
  676. package/meshy.generated-XXWGLFRR.js +0 -16
  677. package/meshy.generated-XXWGLFRR.js.map +0 -1
  678. package/meta-ads.generated-BO4KSWTB.js +0 -16
  679. package/meta-ads.generated-BO4KSWTB.js.map +0 -1
  680. package/meta-ads.generated-MNGO4S6H.js +0 -16
  681. package/meta-ads.generated-MNGO4S6H.js.map +0 -1
  682. package/metabase.generated-I7BI2SCP.js +0 -16
  683. package/metabase.generated-I7BI2SCP.js.map +0 -1
  684. package/metabase.generated-VROE6QM4.js +0 -16
  685. package/metabase.generated-VROE6QM4.js.map +0 -1
  686. package/microsoft-365.generated-7SIBC7I5.js +0 -16
  687. package/microsoft-365.generated-7SIBC7I5.js.map +0 -1
  688. package/microsoft-365.generated-EY4W6XGM.js +0 -16
  689. package/microsoft-365.generated-EY4W6XGM.js.map +0 -1
  690. package/minimax.generated-2QOHIYJ7.js +0 -16
  691. package/minimax.generated-2QOHIYJ7.js.map +0 -1
  692. package/minimax.generated-TUZBVXP6.js +0 -16
  693. package/minimax.generated-TUZBVXP6.js.map +0 -1
  694. package/miro.generated-6RVCMIKF.js +0 -16
  695. package/miro.generated-6RVCMIKF.js.map +0 -1
  696. package/miro.generated-NI3L32HY.js +0 -16
  697. package/miro.generated-NI3L32HY.js.map +0 -1
  698. package/mixpanel.generated-GI2KRDBR.js +0 -16
  699. package/mixpanel.generated-GI2KRDBR.js.map +0 -1
  700. package/mixpanel.generated-XHI2GL4M.js +0 -16
  701. package/mixpanel.generated-XHI2GL4M.js.map +0 -1
  702. package/modal.generated-IOMB6JHM.js +0 -16
  703. package/modal.generated-IOMB6JHM.js.map +0 -1
  704. package/modal.generated-VT4LLGOY.js +0 -16
  705. package/modal.generated-VT4LLGOY.js.map +0 -1
  706. package/monday.generated-3GCO245A.js +0 -16
  707. package/monday.generated-3GCO245A.js.map +0 -1
  708. package/monday.generated-ICJN6SA3.js +0 -16
  709. package/monday.generated-ICJN6SA3.js.map +0 -1
  710. package/moss.generated-E3464JIJ.js +0 -16
  711. package/moss.generated-E3464JIJ.js.map +0 -1
  712. package/moss.generated-QL4VPRWK.js +0 -16
  713. package/moss.generated-QL4VPRWK.js.map +0 -1
  714. package/msg9.generated-SRQZAQKQ.js +0 -16
  715. package/msg9.generated-SRQZAQKQ.js.map +0 -1
  716. package/msg9.generated-UKFSS263.js +0 -16
  717. package/msg9.generated-UKFSS263.js.map +0 -1
  718. package/n8n.generated-2BBTLDXE.js +0 -16
  719. package/n8n.generated-2BBTLDXE.js.map +0 -1
  720. package/n8n.generated-MAM3IF7E.js +0 -16
  721. package/n8n.generated-MAM3IF7E.js.map +0 -1
  722. package/neon.generated-ASFFUR25.js +0 -16
  723. package/neon.generated-ASFFUR25.js.map +0 -1
  724. package/neon.generated-WICH623I.js +0 -16
  725. package/neon.generated-WICH623I.js.map +0 -1
  726. package/netdata.generated-65SJSGA2.js +0 -16
  727. package/netdata.generated-65SJSGA2.js.map +0 -1
  728. package/netdata.generated-ZMPYNQTY.js +0 -16
  729. package/netdata.generated-ZMPYNQTY.js.map +0 -1
  730. package/netsuite.generated-3NXSZOXT.js +0 -16
  731. package/netsuite.generated-3NXSZOXT.js.map +0 -1
  732. package/netsuite.generated-XV3WXA4I.js +0 -16
  733. package/netsuite.generated-XV3WXA4I.js.map +0 -1
  734. package/nintendo-store.generated-2NZUKBVJ.js +0 -16
  735. package/nintendo-store.generated-2NZUKBVJ.js.map +0 -1
  736. package/nintendo-store.generated-EPABCSLJ.js +0 -16
  737. package/nintendo-store.generated-EPABCSLJ.js.map +0 -1
  738. package/nintendo-switch-parental-controls.generated-35V4BZRI.js +0 -16
  739. package/nintendo-switch-parental-controls.generated-35V4BZRI.js.map +0 -1
  740. package/nintendo-switch-parental-controls.generated-BJ3HY3NH.js +0 -16
  741. package/nintendo-switch-parental-controls.generated-BJ3HY3NH.js.map +0 -1
  742. package/notion.generated-26PVMFZJ.js +0 -16
  743. package/notion.generated-26PVMFZJ.js.map +0 -1
  744. package/notion.generated-JVIPX54E.js +0 -16
  745. package/notion.generated-JVIPX54E.js.map +0 -1
  746. package/novita.generated-2FJJZF2S.js +0 -16
  747. package/novita.generated-2FJJZF2S.js.map +0 -1
  748. package/novita.generated-UIQ42IUL.js +0 -16
  749. package/novita.generated-UIQ42IUL.js.map +0 -1
  750. package/nyne.generated-PSZUG5QY.js +0 -16
  751. package/nyne.generated-PSZUG5QY.js.map +0 -1
  752. package/nyne.generated-R3VNG53M.js +0 -16
  753. package/nyne.generated-R3VNG53M.js.map +0 -1
  754. package/onyx.generated-3JJWSPBR.js +0 -16
  755. package/onyx.generated-3JJWSPBR.js.map +0 -1
  756. package/onyx.generated-KS4UKL7H.js +0 -16
  757. package/onyx.generated-KS4UKL7H.js.map +0 -1
  758. package/openai.generated-25H24BGJ.js +0 -16
  759. package/openai.generated-25H24BGJ.js.map +0 -1
  760. package/openai.generated-TPRYCRRV.js +0 -16
  761. package/openai.generated-TPRYCRRV.js.map +0 -1
  762. package/openrouter.generated-5XPMZOCP.js +0 -16
  763. package/openrouter.generated-5XPMZOCP.js.map +0 -1
  764. package/openrouter.generated-NBDHO6LW.js +0 -16
  765. package/openrouter.generated-NBDHO6LW.js.map +0 -1
  766. package/openweather.generated-7ZHVSI2Q.js +0 -16
  767. package/openweather.generated-7ZHVSI2Q.js.map +0 -1
  768. package/openweather.generated-ROMIRSUS.js +0 -16
  769. package/openweather.generated-ROMIRSUS.js.map +0 -1
  770. package/outlook-calendar.generated-2JDC2IYT.js +0 -16
  771. package/outlook-calendar.generated-2JDC2IYT.js.map +0 -1
  772. package/outlook-calendar.generated-JTTEECF3.js +0 -16
  773. package/outlook-calendar.generated-JTTEECF3.js.map +0 -1
  774. package/outlook-mail.generated-FW45O7RQ.js +0 -16
  775. package/outlook-mail.generated-FW45O7RQ.js.map +0 -1
  776. package/outlook-mail.generated-SQEH2MNU.js +0 -16
  777. package/outlook-mail.generated-SQEH2MNU.js.map +0 -1
  778. package/pandadoc.generated-7S5GCGXI.js +0 -16
  779. package/pandadoc.generated-7S5GCGXI.js.map +0 -1
  780. package/pandadoc.generated-BUPVIHD4.js +0 -16
  781. package/pandadoc.generated-BUPVIHD4.js.map +0 -1
  782. package/parallel.generated-T2QM2RQL.js +0 -16
  783. package/parallel.generated-T2QM2RQL.js.map +0 -1
  784. package/parallel.generated-XAGRZVYH.js +0 -16
  785. package/parallel.generated-XAGRZVYH.js.map +0 -1
  786. package/paypal.generated-MDKROCJG.js +0 -16
  787. package/paypal.generated-MDKROCJG.js.map +0 -1
  788. package/paypal.generated-YZYYL7HX.js +0 -16
  789. package/paypal.generated-YZYYL7HX.js.map +0 -1
  790. package/pdf4me.generated-2HAK664D.js +0 -16
  791. package/pdf4me.generated-2HAK664D.js.map +0 -1
  792. package/pdf4me.generated-B5GJCNOL.js +0 -16
  793. package/pdf4me.generated-B5GJCNOL.js.map +0 -1
  794. package/pdfco.generated-IJOLQ4OG.js +0 -16
  795. package/pdfco.generated-IJOLQ4OG.js.map +0 -1
  796. package/pdfco.generated-PWLZXEBR.js +0 -16
  797. package/pdfco.generated-PWLZXEBR.js.map +0 -1
  798. package/pdforge.generated-NEOKWH7H.js +0 -16
  799. package/pdforge.generated-NEOKWH7H.js.map +0 -1
  800. package/pdforge.generated-PAQH2WGV.js +0 -16
  801. package/pdforge.generated-PAQH2WGV.js.map +0 -1
  802. package/people-data-labs.generated-PTKJIK4D.js +0 -16
  803. package/people-data-labs.generated-PTKJIK4D.js.map +0 -1
  804. package/people-data-labs.generated-UJB75LNA.js +0 -16
  805. package/people-data-labs.generated-UJB75LNA.js.map +0 -1
  806. package/perplexity.generated-BGTCHWGF.js +0 -16
  807. package/perplexity.generated-BGTCHWGF.js.map +0 -1
  808. package/perplexity.generated-YBA7RZ7S.js +0 -16
  809. package/perplexity.generated-YBA7RZ7S.js.map +0 -1
  810. package/pexels.generated-MDI2MAKR.js +0 -16
  811. package/pexels.generated-MDI2MAKR.js.map +0 -1
  812. package/pexels.generated-YSXOXFRS.js +0 -16
  813. package/pexels.generated-YSXOXFRS.js.map +0 -1
  814. package/pika.generated-ELAYHKXU.js +0 -16
  815. package/pika.generated-ELAYHKXU.js.map +0 -1
  816. package/pika.generated-YU3W7HY6.js +0 -16
  817. package/pika.generated-YU3W7HY6.js.map +0 -1
  818. package/pinecone.generated-7XMAYCDM.js +0 -16
  819. package/pinecone.generated-7XMAYCDM.js.map +0 -1
  820. package/pinecone.generated-HA3L6WIX.js +0 -16
  821. package/pinecone.generated-HA3L6WIX.js.map +0 -1
  822. package/pipedream.generated-WDCAHL7H.js +0 -16
  823. package/pipedream.generated-WDCAHL7H.js.map +0 -1
  824. package/pipedream.generated-ZAF4A2F4.js +0 -16
  825. package/pipedream.generated-ZAF4A2F4.js.map +0 -1
  826. package/pipedrive.generated-NDA6AYZP.js +0 -16
  827. package/pipedrive.generated-NDA6AYZP.js.map +0 -1
  828. package/pipedrive.generated-VVXKZRU4.js +0 -16
  829. package/pipedrive.generated-VVXKZRU4.js.map +0 -1
  830. package/plain.generated-37QOE5LH.js +0 -16
  831. package/plain.generated-37QOE5LH.js.map +0 -1
  832. package/plain.generated-MHOVVMJY.js +0 -16
  833. package/plain.generated-MHOVVMJY.js.map +0 -1
  834. package/plausible.generated-O5JNHT2T.js +0 -16
  835. package/plausible.generated-O5JNHT2T.js.map +0 -1
  836. package/plausible.generated-Q57V3KFO.js +0 -16
  837. package/plausible.generated-Q57V3KFO.js.map +0 -1
  838. package/playstation.generated-5XSS5QPM.js +0 -16
  839. package/playstation.generated-5XSS5QPM.js.map +0 -1
  840. package/playstation.generated-GK3DIZEG.js +0 -16
  841. package/playstation.generated-GK3DIZEG.js.map +0 -1
  842. package/podchaser.generated-QUJGEYMJ.js +0 -16
  843. package/podchaser.generated-QUJGEYMJ.js.map +0 -1
  844. package/podchaser.generated-S6HTKMY2.js +0 -16
  845. package/podchaser.generated-S6HTKMY2.js.map +0 -1
  846. package/porkbun.generated-43VWHT5M.js +0 -16
  847. package/porkbun.generated-43VWHT5M.js.map +0 -1
  848. package/porkbun.generated-TLAPT422.js +0 -16
  849. package/porkbun.generated-TLAPT422.js.map +0 -1
  850. package/posthog.generated-A7DO447R.js +0 -16
  851. package/posthog.generated-A7DO447R.js.map +0 -1
  852. package/posthog.generated-NNGYQHNC.js +0 -16
  853. package/posthog.generated-NNGYQHNC.js.map +0 -1
  854. package/printful.generated-7T5CLGEJ.js +0 -16
  855. package/printful.generated-7T5CLGEJ.js.map +0 -1
  856. package/printful.generated-MDZ4FDEQ.js +0 -16
  857. package/printful.generated-MDZ4FDEQ.js.map +0 -1
  858. package/prisma-postgres.generated-MWPUK6L5.js +0 -16
  859. package/prisma-postgres.generated-MWPUK6L5.js.map +0 -1
  860. package/prisma-postgres.generated-RPR5BGGD.js +0 -16
  861. package/prisma-postgres.generated-RPR5BGGD.js.map +0 -1
  862. package/productlane.generated-BZH2M52E.js +0 -16
  863. package/productlane.generated-BZH2M52E.js.map +0 -1
  864. package/productlane.generated-EVDEW5OR.js +0 -16
  865. package/productlane.generated-EVDEW5OR.js.map +0 -1
  866. package/profound.generated-ITNYFF6E.js +0 -16
  867. package/profound.generated-ITNYFF6E.js.map +0 -1
  868. package/profound.generated-JOYJYP5X.js +0 -16
  869. package/profound.generated-JOYJYP5X.js.map +0 -1
  870. package/pushinator.generated-6HTDLNVJ.js +0 -16
  871. package/pushinator.generated-6HTDLNVJ.js.map +0 -1
  872. package/pushinator.generated-WT46YHCO.js +0 -16
  873. package/pushinator.generated-WT46YHCO.js.map +0 -1
  874. package/qdrant.generated-LQBRAMOK.js +0 -16
  875. package/qdrant.generated-LQBRAMOK.js.map +0 -1
  876. package/qdrant.generated-QGMEOAFO.js +0 -16
  877. package/qdrant.generated-QGMEOAFO.js.map +0 -1
  878. package/qiita.generated-CETQKI6U.js +0 -16
  879. package/qiita.generated-CETQKI6U.js.map +0 -1
  880. package/qiita.generated-PHTZ72JL.js +0 -16
  881. package/qiita.generated-PHTZ72JL.js.map +0 -1
  882. package/quickbooks.generated-5535LLZF.js +0 -16
  883. package/quickbooks.generated-5535LLZF.js.map +0 -1
  884. package/quickbooks.generated-ILTCAJRO.js +0 -16
  885. package/quickbooks.generated-ILTCAJRO.js.map +0 -1
  886. package/railway-project.generated-AFZKE36K.js +0 -16
  887. package/railway-project.generated-AFZKE36K.js.map +0 -1
  888. package/railway-project.generated-WMHWYEZ7.js +0 -16
  889. package/railway-project.generated-WMHWYEZ7.js.map +0 -1
  890. package/railway.generated-I6VCXM4F.js +0 -16
  891. package/railway.generated-I6VCXM4F.js.map +0 -1
  892. package/railway.generated-ZTDW2OVF.js +0 -16
  893. package/railway.generated-ZTDW2OVF.js.map +0 -1
  894. package/ramp.generated-GDRLFPGX.js +0 -16
  895. package/ramp.generated-GDRLFPGX.js.map +0 -1
  896. package/ramp.generated-RJKZQLIG.js +0 -16
  897. package/ramp.generated-RJKZQLIG.js.map +0 -1
  898. package/reap.generated-6B3G2OPC.js +0 -16
  899. package/reap.generated-6B3G2OPC.js.map +0 -1
  900. package/reap.generated-WAP7WY76.js +0 -16
  901. package/reap.generated-WAP7WY76.js.map +0 -1
  902. package/recraft.generated-JIRZPKOH.js +0 -16
  903. package/recraft.generated-JIRZPKOH.js.map +0 -1
  904. package/recraft.generated-S6LUCQ6Y.js +0 -16
  905. package/recraft.generated-S6LUCQ6Y.js.map +0 -1
  906. package/reddit.generated-X64MIQ7K.js +0 -16
  907. package/reddit.generated-X64MIQ7K.js.map +0 -1
  908. package/reddit.generated-XC5ZGYZS.js +0 -16
  909. package/reddit.generated-XC5ZGYZS.js.map +0 -1
  910. package/reducto.generated-A6EG7MKI.js +0 -16
  911. package/reducto.generated-A6EG7MKI.js.map +0 -1
  912. package/reducto.generated-HEQ36ZYP.js +0 -16
  913. package/reducto.generated-HEQ36ZYP.js.map +0 -1
  914. package/render.generated-KAN3ERCP.js +0 -16
  915. package/render.generated-KAN3ERCP.js.map +0 -1
  916. package/render.generated-ULLCX5I5.js +0 -16
  917. package/render.generated-ULLCX5I5.js.map +0 -1
  918. package/rentcast.generated-2LZTVFHF.js +0 -16
  919. package/rentcast.generated-2LZTVFHF.js.map +0 -1
  920. package/rentcast.generated-GBBZDYLS.js +0 -16
  921. package/rentcast.generated-GBBZDYLS.js.map +0 -1
  922. package/replicate.generated-OTF3BU6Q.js +0 -16
  923. package/replicate.generated-OTF3BU6Q.js.map +0 -1
  924. package/replicate.generated-PVWXEG2R.js +0 -16
  925. package/replicate.generated-PVWXEG2R.js.map +0 -1
  926. package/reportei.generated-3OMXGZLW.js +0 -16
  927. package/reportei.generated-3OMXGZLW.js.map +0 -1
  928. package/reportei.generated-OMZDRYF2.js +0 -16
  929. package/reportei.generated-OMZDRYF2.js.map +0 -1
  930. package/resend.generated-SNQKFCFU.js +0 -16
  931. package/resend.generated-SNQKFCFU.js.map +0 -1
  932. package/resend.generated-ZLELGIAA.js +0 -16
  933. package/resend.generated-ZLELGIAA.js.map +0 -1
  934. package/resource-2WREU3GR.js.map +0 -1
  935. package/revenuecat.generated-XMPGJ7BU.js +0 -16
  936. package/revenuecat.generated-XMPGJ7BU.js.map +0 -1
  937. package/revenuecat.generated-XQNHNP6K.js +0 -16
  938. package/revenuecat.generated-XQNHNP6K.js.map +0 -1
  939. package/runway.generated-6NJMUATX.js +0 -16
  940. package/runway.generated-6NJMUATX.js.map +0 -1
  941. package/runway.generated-YIMWKSK2.js +0 -16
  942. package/runway.generated-YIMWKSK2.js.map +0 -1
  943. package/salesforce.generated-5KLSM6C3.js +0 -16
  944. package/salesforce.generated-5KLSM6C3.js.map +0 -1
  945. package/salesforce.generated-WZUNVLKC.js +0 -16
  946. package/salesforce.generated-WZUNVLKC.js.map +0 -1
  947. package/scrapeninja.generated-77MTR2FT.js +0 -16
  948. package/scrapeninja.generated-77MTR2FT.js.map +0 -1
  949. package/scrapeninja.generated-HNT27RIK.js +0 -16
  950. package/scrapeninja.generated-HNT27RIK.js.map +0 -1
  951. package/segment.generated-PTNCAEPN.js +0 -16
  952. package/segment.generated-PTNCAEPN.js.map +0 -1
  953. package/segment.generated-ZQ5G35SN.js +0 -16
  954. package/segment.generated-ZQ5G35SN.js.map +0 -1
  955. package/semrush.generated-JSFLSUJH.js +0 -16
  956. package/semrush.generated-JSFLSUJH.js.map +0 -1
  957. package/semrush.generated-TZ6FLCLI.js +0 -16
  958. package/semrush.generated-TZ6FLCLI.js.map +0 -1
  959. package/sendgrid.generated-7ZIRLCBY.js +0 -16
  960. package/sendgrid.generated-7ZIRLCBY.js.map +0 -1
  961. package/sendgrid.generated-ZIISZJJV.js +0 -16
  962. package/sendgrid.generated-ZIISZJJV.js.map +0 -1
  963. package/sentry.generated-DLHCTOF4.js +0 -16
  964. package/sentry.generated-DLHCTOF4.js.map +0 -1
  965. package/sentry.generated-FQGBSZOW.js +0 -16
  966. package/sentry.generated-FQGBSZOW.js.map +0 -1
  967. package/serpapi.generated-D3XXB6PM.js +0 -16
  968. package/serpapi.generated-D3XXB6PM.js.map +0 -1
  969. package/serpapi.generated-T7TWC2EV.js +0 -16
  970. package/serpapi.generated-T7TWC2EV.js.map +0 -1
  971. package/servicenow.generated-6JAOXT2T.js +0 -16
  972. package/servicenow.generated-6JAOXT2T.js.map +0 -1
  973. package/servicenow.generated-SYD53QKL.js +0 -16
  974. package/servicenow.generated-SYD53QKL.js.map +0 -1
  975. package/shopify.generated-CBWJCWDO.js +0 -16
  976. package/shopify.generated-CBWJCWDO.js.map +0 -1
  977. package/shopify.generated-J5LJOTL2.js +0 -16
  978. package/shopify.generated-J5LJOTL2.js.map +0 -1
  979. package/shortio.generated-33OGHBXA.js +0 -16
  980. package/shortio.generated-33OGHBXA.js.map +0 -1
  981. package/shortio.generated-AK4HELH2.js +0 -16
  982. package/shortio.generated-AK4HELH2.js.map +0 -1
  983. package/similarweb.generated-LS5LWTS3.js +0 -16
  984. package/similarweb.generated-LS5LWTS3.js.map +0 -1
  985. package/similarweb.generated-U2WLW7PD.js +0 -16
  986. package/similarweb.generated-U2WLW7PD.js.map +0 -1
  987. package/slack-webhook.generated-CH6MAJDM.js +0 -16
  988. package/slack-webhook.generated-CH6MAJDM.js.map +0 -1
  989. package/slack-webhook.generated-WFSKREKT.js +0 -16
  990. package/slack-webhook.generated-WFSKREKT.js.map +0 -1
  991. package/slack.generated-K6CNNTWI.js +0 -16
  992. package/slack.generated-K6CNNTWI.js.map +0 -1
  993. package/slack.generated-OHDZZ2UW.js +0 -473
  994. package/slack.generated-OHDZZ2UW.js.map +0 -1
  995. package/slock.generated-GVG2UBIX.js +0 -16
  996. package/slock.generated-GVG2UBIX.js.map +0 -1
  997. package/slock.generated-UPM3H7WO.js +0 -16
  998. package/slock.generated-UPM3H7WO.js.map +0 -1
  999. package/snowflake.generated-776JFNOH.js +0 -16
  1000. package/snowflake.generated-776JFNOH.js.map +0 -1
  1001. package/snowflake.generated-ZIGWWUF7.js +0 -16
  1002. package/snowflake.generated-ZIGWWUF7.js.map +0 -1
  1003. package/sociavault.generated-VBPZFT3O.js +0 -16
  1004. package/sociavault.generated-VBPZFT3O.js.map +0 -1
  1005. package/sociavault.generated-ZYWACDCU.js +0 -16
  1006. package/sociavault.generated-ZYWACDCU.js.map +0 -1
  1007. package/sponge.generated-P7T47F43.js +0 -16
  1008. package/sponge.generated-P7T47F43.js.map +0 -1
  1009. package/sponge.generated-QTEUYJHA.js +0 -16
  1010. package/sponge.generated-QTEUYJHA.js.map +0 -1
  1011. package/spotify.generated-EJQTESOU.js +0 -16
  1012. package/spotify.generated-EJQTESOU.js.map +0 -1
  1013. package/spotify.generated-OXNISOTN.js +0 -16
  1014. package/spotify.generated-OXNISOTN.js.map +0 -1
  1015. package/sproutgigs.generated-3FP2NV5J.js +0 -16
  1016. package/sproutgigs.generated-3FP2NV5J.js.map +0 -1
  1017. package/sproutgigs.generated-CHKBYDBP.js +0 -16
  1018. package/sproutgigs.generated-CHKBYDBP.js.map +0 -1
  1019. package/square.generated-5PASNXED.js +0 -16
  1020. package/square.generated-5PASNXED.js.map +0 -1
  1021. package/square.generated-I6H75UKF.js +0 -16
  1022. package/square.generated-I6H75UKF.js.map +0 -1
  1023. package/stability-ai.generated-HSDGH6SM.js +0 -16
  1024. package/stability-ai.generated-HSDGH6SM.js.map +0 -1
  1025. package/stability-ai.generated-JGDK6GCK.js +0 -16
  1026. package/stability-ai.generated-JGDK6GCK.js.map +0 -1
  1027. package/steam.generated-JNN222NQ.js +0 -16
  1028. package/steam.generated-JNN222NQ.js.map +0 -1
  1029. package/steam.generated-MYOJ4S7Z.js +0 -16
  1030. package/steam.generated-MYOJ4S7Z.js.map +0 -1
  1031. package/strapi.generated-FOD5SNK7.js +0 -16
  1032. package/strapi.generated-FOD5SNK7.js.map +0 -1
  1033. package/strapi.generated-XW3OUKD3.js +0 -16
  1034. package/strapi.generated-XW3OUKD3.js.map +0 -1
  1035. package/strava.generated-SX6ODSWN.js +0 -16
  1036. package/strava.generated-SX6ODSWN.js.map +0 -1
  1037. package/strava.generated-ZPHTZOG5.js +0 -16
  1038. package/strava.generated-ZPHTZOG5.js.map +0 -1
  1039. package/streak.generated-2TY5VN46.js +0 -16
  1040. package/streak.generated-2TY5VN46.js.map +0 -1
  1041. package/streak.generated-AAR623MO.js +0 -16
  1042. package/streak.generated-AAR623MO.js.map +0 -1
  1043. package/stripe.generated-DHUQVNCR.js +0 -16
  1044. package/stripe.generated-DHUQVNCR.js.map +0 -1
  1045. package/stripe.generated-Z4UPVGVB.js +0 -16
  1046. package/stripe.generated-Z4UPVGVB.js.map +0 -1
  1047. package/supabase.generated-GIN56AML.js +0 -16
  1048. package/supabase.generated-GIN56AML.js.map +0 -1
  1049. package/supabase.generated-QDEGTI2K.js +0 -16
  1050. package/supabase.generated-QDEGTI2K.js.map +0 -1
  1051. package/supadata.generated-IS4ACMQV.js +0 -16
  1052. package/supadata.generated-IS4ACMQV.js.map +0 -1
  1053. package/supadata.generated-SWMZHLJD.js +0 -16
  1054. package/supadata.generated-SWMZHLJD.js.map +0 -1
  1055. package/supermemory.generated-7UE326A4.js +0 -16
  1056. package/supermemory.generated-7UE326A4.js.map +0 -1
  1057. package/supermemory.generated-GEN3T7GF.js +0 -16
  1058. package/supermemory.generated-GEN3T7GF.js.map +0 -1
  1059. package/tavily.generated-PP7CNTMD.js +0 -16
  1060. package/tavily.generated-PP7CNTMD.js.map +0 -1
  1061. package/tavily.generated-TLJZAXJ2.js +0 -16
  1062. package/tavily.generated-TLJZAXJ2.js.map +0 -1
  1063. package/test-oauth.generated-5CGAUTCY.js +0 -16
  1064. package/test-oauth.generated-5CGAUTCY.js.map +0 -1
  1065. package/test-oauth.generated-AS3FZUPO.js +0 -16
  1066. package/test-oauth.generated-AS3FZUPO.js.map +0 -1
  1067. package/testrail.generated-BPX45BM6.js +0 -16
  1068. package/testrail.generated-BPX45BM6.js.map +0 -1
  1069. package/testrail.generated-UTM7ARO2.js +0 -16
  1070. package/testrail.generated-UTM7ARO2.js.map +0 -1
  1071. package/ticketmaster.generated-57OJN3HK.js +0 -16
  1072. package/ticketmaster.generated-57OJN3HK.js.map +0 -1
  1073. package/ticketmaster.generated-AVL5TDW7.js +0 -16
  1074. package/ticketmaster.generated-AVL5TDW7.js.map +0 -1
  1075. package/tiktok-ads.generated-GPW4I5CI.js +0 -16
  1076. package/tiktok-ads.generated-GPW4I5CI.js.map +0 -1
  1077. package/tiktok-ads.generated-R3V3TMJ4.js +0 -16
  1078. package/tiktok-ads.generated-R3V3TMJ4.js.map +0 -1
  1079. package/tldv.generated-3KLPFNDD.js +0 -16
  1080. package/tldv.generated-3KLPFNDD.js.map +0 -1
  1081. package/tldv.generated-MVSWWDBM.js +0 -16
  1082. package/tldv.generated-MVSWWDBM.js.map +0 -1
  1083. package/todoist.generated-FFYZ4NIZ.js +0 -16
  1084. package/todoist.generated-FFYZ4NIZ.js.map +0 -1
  1085. package/todoist.generated-NM6Z3GCJ.js +0 -16
  1086. package/todoist.generated-NM6Z3GCJ.js.map +0 -1
  1087. package/together.generated-5YS3OEZE.js +0 -16
  1088. package/together.generated-5YS3OEZE.js.map +0 -1
  1089. package/together.generated-PSYZA3KN.js +0 -16
  1090. package/together.generated-PSYZA3KN.js.map +0 -1
  1091. package/tripo.generated-5F34VTF4.js +0 -16
  1092. package/tripo.generated-5F34VTF4.js.map +0 -1
  1093. package/tripo.generated-7S3ANJRS.js +0 -16
  1094. package/tripo.generated-7S3ANJRS.js.map +0 -1
  1095. package/twenty.generated-WF2SZFFB.js +0 -16
  1096. package/twenty.generated-WF2SZFFB.js.map +0 -1
  1097. package/twenty.generated-ZXGDLWVG.js +0 -16
  1098. package/twenty.generated-ZXGDLWVG.js.map +0 -1
  1099. package/twilio.generated-WZSOVEW3.js +0 -16
  1100. package/twilio.generated-WZSOVEW3.js.map +0 -1
  1101. package/twilio.generated-Z4JUDX4A.js +0 -16
  1102. package/twilio.generated-Z4JUDX4A.js.map +0 -1
  1103. package/typeform.generated-CCVF2SMJ.js +0 -16
  1104. package/typeform.generated-CCVF2SMJ.js.map +0 -1
  1105. package/typeform.generated-TSCH32VY.js +0 -16
  1106. package/typeform.generated-TSCH32VY.js.map +0 -1
  1107. package/v0.generated-AHDUZAKI.js +0 -16
  1108. package/v0.generated-AHDUZAKI.js.map +0 -1
  1109. package/v0.generated-TDUFN32G.js +0 -16
  1110. package/v0.generated-TDUFN32G.js.map +0 -1
  1111. package/vercel.generated-KUI7SG5R.js +0 -16
  1112. package/vercel.generated-KUI7SG5R.js.map +0 -1
  1113. package/vercel.generated-VMADVAUI.js +0 -16
  1114. package/vercel.generated-VMADVAUI.js.map +0 -1
  1115. package/wandb.generated-D746TCXQ.js +0 -16
  1116. package/wandb.generated-D746TCXQ.js.map +0 -1
  1117. package/wandb.generated-PCEJFRBT.js +0 -16
  1118. package/wandb.generated-PCEJFRBT.js.map +0 -1
  1119. package/webflow.generated-LSUHGBGF.js +0 -16
  1120. package/webflow.generated-LSUHGBGF.js.map +0 -1
  1121. package/webflow.generated-ZAJJMPSA.js +0 -16
  1122. package/webflow.generated-ZAJJMPSA.js.map +0 -1
  1123. package/weread.generated-5GFOIT5R.js +0 -16
  1124. package/weread.generated-5GFOIT5R.js.map +0 -1
  1125. package/weread.generated-Z7OERNZI.js +0 -16
  1126. package/weread.generated-Z7OERNZI.js.map +0 -1
  1127. package/whale-alert.generated-7W5MNRAU.js +0 -16
  1128. package/whale-alert.generated-7W5MNRAU.js.map +0 -1
  1129. package/whale-alert.generated-CKGEQMWK.js +0 -16
  1130. package/whale-alert.generated-CKGEQMWK.js.map +0 -1
  1131. package/wix.generated-EOVJX56S.js +0 -16
  1132. package/wix.generated-EOVJX56S.js.map +0 -1
  1133. package/wix.generated-RQZH5S25.js +0 -16
  1134. package/wix.generated-RQZH5S25.js.map +0 -1
  1135. package/workday.generated-4MPT7O3V.js +0 -16
  1136. package/workday.generated-4MPT7O3V.js.map +0 -1
  1137. package/workday.generated-AHL44LEE.js +0 -16
  1138. package/workday.generated-AHL44LEE.js.map +0 -1
  1139. package/workos.generated-3SFUXTKD.js +0 -16
  1140. package/workos.generated-3SFUXTKD.js.map +0 -1
  1141. package/workos.generated-OAHVH7Y4.js +0 -16
  1142. package/workos.generated-OAHVH7Y4.js.map +0 -1
  1143. package/wrike.generated-JEXQ6TSH.js +0 -16
  1144. package/wrike.generated-JEXQ6TSH.js.map +0 -1
  1145. package/wrike.generated-XT4EET44.js +0 -16
  1146. package/wrike.generated-XT4EET44.js.map +0 -1
  1147. package/x.generated-HPTC6XRL.js +0 -16
  1148. package/x.generated-HPTC6XRL.js.map +0 -1
  1149. package/x.generated-RM23ZNTB.js +0 -16
  1150. package/x.generated-RM23ZNTB.js.map +0 -1
  1151. package/xero.generated-SGWSZ354.js +0 -16
  1152. package/xero.generated-SGWSZ354.js.map +0 -1
  1153. package/xero.generated-VD7ONAU3.js +0 -16
  1154. package/xero.generated-VD7ONAU3.js.map +0 -1
  1155. package/youtube.generated-CVE5S3V4.js +0 -16
  1156. package/youtube.generated-CVE5S3V4.js.map +0 -1
  1157. package/youtube.generated-XGY5NA6Q.js +0 -16
  1158. package/youtube.generated-XGY5NA6Q.js.map +0 -1
  1159. package/zapier.generated-B64YWHJL.js +0 -16
  1160. package/zapier.generated-B64YWHJL.js.map +0 -1
  1161. package/zapier.generated-ED5AA3B4.js +0 -16
  1162. package/zapier.generated-ED5AA3B4.js.map +0 -1
  1163. package/zapsign.generated-KSU2XZZC.js +0 -16
  1164. package/zapsign.generated-KSU2XZZC.js.map +0 -1
  1165. package/zapsign.generated-OLLDYFW3.js +0 -16
  1166. package/zapsign.generated-OLLDYFW3.js.map +0 -1
  1167. package/zendesk.generated-UJ4H2RRU.js +0 -16
  1168. package/zendesk.generated-UJ4H2RRU.js.map +0 -1
  1169. package/zendesk.generated-VRW33ITJ.js +0 -16
  1170. package/zendesk.generated-VRW33ITJ.js.map +0 -1
  1171. package/zep.generated-JPKJY2NZ.js +0 -16
  1172. package/zep.generated-JPKJY2NZ.js.map +0 -1
  1173. package/zep.generated-ZCDQCNEA.js +0 -16
  1174. package/zep.generated-ZCDQCNEA.js.map +0 -1
  1175. package/zeptomail.generated-IFGEI2Q3.js +0 -16
  1176. package/zeptomail.generated-IFGEI2Q3.js.map +0 -1
  1177. package/zeptomail.generated-ZOEIF2KT.js +0 -16
  1178. package/zeptomail.generated-ZOEIF2KT.js.map +0 -1
  1179. package/zoom.generated-F2OK37WV.js +0 -16
  1180. package/zoom.generated-F2OK37WV.js.map +0 -1
  1181. package/zoom.generated-OP7OR6UF.js +0 -16
  1182. package/zoom.generated-OP7OR6UF.js.map +0 -1
  1183. /package/{agent-KS3ULPSZ.js.map → agent-JH2NEPZR.js.map} +0 -0
  1184. /package/{banking-2B3GDOIE.js.map → banking-2NXK6J3W.js.map} +0 -0
  1185. /package/{chat-HP7XYF7H.js.map → chat-MN4IB7GD.js.map} +0 -0
  1186. /package/{chunk-VUER2HGS.js.map → chunk-BTGJACXR.js.map} +0 -0
  1187. /package/{chunk-YQ5ZYQN3.js.map → chunk-FNQ62BY2.js.map} +0 -0
  1188. /package/{chunk-TEJZT6KB.js.map → chunk-FZT6ZD5Z.js.map} +0 -0
  1189. /package/{chunk-UHVWYX44.js.map → chunk-I564TTWT.js.map} +0 -0
  1190. /package/{chunk-EJBHYDGP.js.map → chunk-UF3EQMOH.js.map} +0 -0
  1191. /package/{chunk-T3XOMNS6.js.map → chunk-VAXSHLMI.js.map} +0 -0
  1192. /package/{computer-use-6GZVM5S6.js.map → computer-use-XLD4LAIV.js.map} +0 -0
  1193. /package/{connector-SFMD6HBQ.js.map → connector-YDDOAHYS.js.map} +0 -0
  1194. /package/{credit-B465R4TF.js.map → credit-CEONTACE.js.map} +0 -0
  1195. /package/{developer-support-6GM2UW5P.js.map → developer-support-FHWKHJGW.js.map} +0 -0
  1196. /package/{generate-37CJMAVG.js.map → generate-YDBYHQ4H.js.map} +0 -0
  1197. /package/{github-6CSR7332.js.map → github-XIJ2Y5PZ.js.map} +0 -0
  1198. /package/{goal-XURMW5OS.js.map → goal-6I3U2AER.js.map} +0 -0
  1199. /package/{host-EVFNV5BX.js.map → host-IPPGVU6F.js.map} +0 -0
  1200. /package/{maps-IAVJJMRT.js.map → maps-YR4X4XJE.js.map} +0 -0
  1201. /package/{memory-X765S3ZI.js.map → memory-PLFDXK3U.js.map} +0 -0
  1202. /package/{model-ZYVNUG47.js.map → model-IHQGI5SD.js.map} +0 -0
  1203. /package/{model-provider-SZIIRXS3.js.map → model-provider-KFJS22YT.js.map} +0 -0
  1204. /package/{org-GBDLJZSE.js.map → org-7DENHEEO.js.map} +0 -0
  1205. /package/{phone-KA4NZFQC.js.map → phone-GYNROKO5.js.map} +0 -0
  1206. /package/{preference-TEMJHA73.js.map → preference-NHBRBTHG.js.map} +0 -0
  1207. /package/{relationship-OXV2SPNL.js.map → relationship-TZ3AHEGI.js.map} +0 -0
  1208. /package/{secret-LIAHG47P.js.map → secret-X3Y6E65Z.js.map} +0 -0
  1209. /package/{slack-BUOXO2HU.js.map → slack-35G46FJA.js.map} +0 -0
  1210. /package/{teams-G7TYHRJB.js.map → teams-IMSR3V3W.js.map} +0 -0
  1211. /package/{telegram-DEHNZSEN.js.map → telegram-D3EWKPVI.js.map} +0 -0
  1212. /package/{variable-RMYF6NVZ.js.map → variable-QUYQA7OA.js.map} +0 -0
  1213. /package/{video-XEYMVSIU.js.map → video-XOAQYGPA.js.map} +0 -0
  1214. /package/{web-4REDKON3.js.map → web-5ENALPKP.js.map} +0 -0
  1215. /package/{whoami-66W7DPQX.js.map → whoami-2Q2N7V3N.js.map} +0 -0
  1216. /package/{workflow-PBJVC6HV.js.map → workflow-OKSOZKGH.js.map} +0 -0
@@ -22,7 +22,7 @@ import {
22
22
  updateOrgModelPoliciesRequestSchema,
23
23
  upsertModelProviderRequestSchema,
24
24
  upsertModelProviderResponseSchema
25
- } from "./chunk-VC7E6IA7.js";
25
+ } from "./chunk-RD5IGGLO.js";
26
26
  import {
27
27
  init_esm_shims
28
28
  } from "./chunk-DIRAZ3YX.js";
@@ -65,7 +65,8 @@ var registryResourceDownloadContract = c.router({
65
65
  path: "/api/registry/resources/download",
66
66
  headers: authHeadersSchema,
67
67
  query: external_exports.object({
68
- id: external_exports.string().min(1, "Resource id is required")
68
+ id: external_exports.string().min(1, "Resource id is required"),
69
+ expectedSha256: external_exports.string().regex(/^[a-f0-9]{64}$/).optional()
69
70
  }),
70
71
  responses: {
71
72
  200: external_exports.object({
@@ -1605,79 +1606,6 @@ function hasUnsafeUrlCodepoint(value) {
1605
1606
 
1606
1607
  // ../../packages/connectors/src/segment-parser.ts
1607
1608
  init_esm_shims();
1608
- var ERROR_HINT = 'use "{name}", "prefix{name}", "{name}suffix", or "prefix{name}suffix"';
1609
- function parseSegment(seg) {
1610
- const openCount = countChar(seg, "{");
1611
- const closeCount = countChar(seg, "}");
1612
- if (openCount === 0 && closeCount === 0) {
1613
- return { kind: "literal", value: seg };
1614
- }
1615
- if (openCount !== closeCount) {
1616
- return {
1617
- kind: "error",
1618
- reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
1619
- };
1620
- }
1621
- const open1 = seg.indexOf("{");
1622
- const close1 = seg.indexOf("}");
1623
- if (close1 < open1) {
1624
- return {
1625
- kind: "error",
1626
- reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
1627
- };
1628
- }
1629
- if (openCount >= 2) {
1630
- const open2 = seg.indexOf("{", close1 + 1);
1631
- if (close1 + 1 === open2) {
1632
- return {
1633
- kind: "error",
1634
- reason: `adjacent parameters in segment "${seg}" \u2014 only one parameter per segment is allowed; ${ERROR_HINT}`
1635
- };
1636
- }
1637
- return {
1638
- kind: "error",
1639
- reason: `literal-separated parameters in segment "${seg}" \u2014 only one parameter per segment is allowed; ${ERROR_HINT}`
1640
- };
1641
- }
1642
- const prefix = seg.slice(0, open1);
1643
- const content = seg.slice(open1 + 1, close1);
1644
- const suffix = seg.slice(close1 + 1);
1645
- if (prefix.includes("{") || prefix.includes("}") || suffix.includes("{") || suffix.includes("}")) {
1646
- return {
1647
- kind: "error",
1648
- reason: `unbalanced brace in segment "${seg}" \u2014 ${ERROR_HINT}`
1649
- };
1650
- }
1651
- let greedy = "";
1652
- let name = content;
1653
- if (content.length > 0) {
1654
- const last = content[content.length - 1];
1655
- if (last === "+" || last === "*") {
1656
- greedy = last;
1657
- name = content.slice(0, -1);
1658
- }
1659
- }
1660
- if (name.length === 0) {
1661
- return {
1662
- kind: "error",
1663
- reason: `empty parameter name in segment "${seg}" \u2014 ${ERROR_HINT}`
1664
- };
1665
- }
1666
- return { kind: "param", prefix, name, suffix, greedy };
1667
- }
1668
- function splitPathSegments(path) {
1669
- if (path === "" || path === "/") return [];
1670
- const pathWithoutLeadingSlash = path.startsWith("/") ? path.slice(1) : path;
1671
- if (pathWithoutLeadingSlash === "") return [];
1672
- return pathWithoutLeadingSlash.split("/");
1673
- }
1674
- function countChar(s, ch) {
1675
- let n = 0;
1676
- for (let i = 0; i < s.length; i++) {
1677
- if (s[i] === ch) n++;
1678
- }
1679
- return n;
1680
- }
1681
1609
 
1682
1610
  // ../../packages/connectors/src/firewall-types.ts
1683
1611
  var HOST_DOT_EQUIVALENT_PATTERN = /[\u3002\uff0e\uff61]/g;
@@ -1827,96 +1755,17 @@ var networkPolicySchema = external_exports.object({
1827
1755
  unknownPolicy: firewallPolicyValueSchema
1828
1756
  });
1829
1757
  var networkPoliciesSchema = external_exports.record(external_exports.string(), networkPolicySchema);
1830
- var FirewallBaseUrlResolutionError = class extends Error {
1831
- constructor(message) {
1832
- super(message);
1833
- this.name = "FirewallBaseUrlResolutionError";
1834
- }
1835
- };
1836
1758
  var AUTH_REFERENCE_PATTERN = /\$\{\{\s*(secrets|vars)\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/g;
1837
1759
  var AUTH_REFERENCE_PATTERN_G = new RegExp(AUTH_REFERENCE_PATTERN.source, "g");
1838
1760
  var AUTH_REFERENCE_PREFIX_PATTERN = new RegExp(
1839
1761
  `^${AUTH_REFERENCE_PATTERN.source}`
1840
1762
  );
1841
- var AUTH_TEMPLATE_START = "${{";
1842
- var AUTH_TEMPLATE_URL_PLACEHOLDER = "placeholder";
1843
1763
  var IPV4_MAX_OCTET = 255;
1844
1764
  var IPV4_OCTET_BASE = IPV4_MAX_OCTET + 1;
1845
- var IPV4_NON_PUBLIC_RANGES = [
1846
- [0, 16777215],
1847
- [167772160, 184549375],
1848
- [1681915904, 1686110207],
1849
- [2130706432, 2147483647],
1850
- [2851995648, 2852061183],
1851
- [2886729728, 2887778303],
1852
- [3221225472, 3221225480],
1853
- [3221225483, 3221225727],
1854
- [3221225984, 3221226239],
1855
- [3227017984, 3227018239],
1856
- [3232235520, 3232301055],
1857
- [3323068416, 3323199487],
1858
- [3325256704, 3325256959],
1859
- [3405803776, 3405804031],
1860
- [3758096384, 4294967295]
1861
- ];
1862
1765
  var BASE_URL_VARS_PATTERN = /\$\{\{\s*vars\.([a-zA-Z_][a-zA-Z0-9_]*)\s*\}\}/;
1863
1766
  var BASE_URL_VARS_PATTERN_G = new RegExp(BASE_URL_VARS_PATTERN.source, "g");
1864
- var URL_COMPONENT_DELIMITER_PATTERN = /[/?#]/;
1865
- var AUTHORITY_VAR_STRUCTURE_CHARS = /* @__PURE__ */ new Set(["/", "?", "#", "@", "\\"]);
1866
- var AUTHORITY_FRAGMENT_VAR_STRUCTURE_CHARS = /* @__PURE__ */ new Set([
1867
- "/",
1868
- ":",
1869
- "?",
1870
- "#",
1871
- "@",
1872
- "\\"
1873
- ]);
1874
- var PERCENT_DECODED_BOUNDARY_CHARS = /* @__PURE__ */ new Set(["/", ":", "?", "#", "@", "\\"]);
1875
- var BASE_URL_VAR_PARAMETER_CHARS = /* @__PURE__ */ new Set(["{", "}"]);
1876
1767
  var PATH_VAR_STRUCTURE_CHARS = /* @__PURE__ */ new Set(["/", "?", "#", "\\"]);
1877
- var PORT_VAR_PATTERN = /^[0-9]+$/;
1878
1768
  var MAX_PATH_PERCENT_DECODE_PASSES = 5;
1879
- function hasBaseUrlVars(base) {
1880
- return BASE_URL_VARS_PATTERN.test(base);
1881
- }
1882
- function baseUrlVariableError(base, serviceName, name, detail) {
1883
- return new Error(
1884
- errMsg(base, serviceName, `base URL variable "${name}" ${detail}`)
1885
- );
1886
- }
1887
- function validateBaseUrlVariableCommonSyntax({
1888
- base,
1889
- serviceName,
1890
- name,
1891
- value
1892
- }) {
1893
- if (WHITESPACE_PATTERN.test(value)) {
1894
- throw baseUrlVariableError(
1895
- base,
1896
- serviceName,
1897
- name,
1898
- "must not contain whitespace"
1899
- );
1900
- }
1901
- if (hasUnsafeUrlCodepoint(value)) {
1902
- throw baseUrlVariableError(
1903
- base,
1904
- serviceName,
1905
- name,
1906
- "must not contain control characters or invalid Unicode"
1907
- );
1908
- }
1909
- for (const char of value) {
1910
- if (BASE_URL_VAR_PARAMETER_CHARS.has(char)) {
1911
- throw baseUrlVariableError(
1912
- base,
1913
- serviceName,
1914
- name,
1915
- "must not contain firewall parameter syntax"
1916
- );
1917
- }
1918
- }
1919
- }
1920
1769
  function pathPartDotPrefix(part) {
1921
1770
  return part.split(";", 1)[0];
1922
1771
  }
@@ -1983,1454 +1832,126 @@ function pathSegmentHasUnsafeSyntax(segment, rejectPathStructure) {
1983
1832
  if (pathSegmentHasUnsafeSyntaxParts(current, rejectPathStructure) || normalizedPathSegmentHasUnsafeSyntax(current, rejectPathStructure)) {
1984
1833
  return true;
1985
1834
  }
1986
- const decoded = percentDecodePathSegment(current, rejectPathStructure);
1987
- return decoded === null || decoded !== current;
1988
- }
1989
- function hasUnsafeFirewallPath(path) {
1990
- return path.split("/").some((segment) => {
1991
- return pathSegmentHasUnsafeSyntax(segment, false);
1992
- });
1993
- }
1994
- function validateBaseUrlVariablePercentEncoding({
1995
- base,
1996
- serviceName,
1997
- name,
1998
- value,
1999
- structureChars
2000
- }) {
2001
- for (let i = 0; i < value.length; i += 1) {
2002
- if (value[i] !== "%") {
2003
- continue;
2004
- }
2005
- if (i + 2 >= value.length || !isHexDigit(value[i + 1]) || !isHexDigit(value[i + 2])) {
2006
- throw baseUrlVariableError(
2007
- base,
2008
- serviceName,
2009
- name,
2010
- "has invalid percent encoding"
2011
- );
2012
- }
2013
- let end = i;
2014
- while (end + 2 < value.length && value[end] === "%" && isHexDigit(value[end + 1]) && isHexDigit(value[end + 2])) {
2015
- end += 3;
2016
- }
2017
- let decoded;
2018
- try {
2019
- decoded = decodeURIComponent(value.slice(i, end));
2020
- } catch {
2021
- throw baseUrlVariableError(
2022
- base,
2023
- serviceName,
2024
- name,
2025
- "has invalid percent encoding"
2026
- );
2027
- }
2028
- for (const char of decoded) {
2029
- if (structureChars.has(char) || WHITESPACE_PATTERN.test(char) || UNICODE_CONTROL_PATTERN.test(char)) {
2030
- throw baseUrlVariableError(
2031
- base,
2032
- serviceName,
2033
- name,
2034
- "must not contain encoded URL structure"
2035
- );
2036
- }
2037
- }
2038
- i = end - 1;
2039
- }
2040
- if (!value.includes("%")) {
2041
- return value;
2042
- }
2043
- try {
2044
- return decodeURIComponent(value);
2045
- } catch {
2046
- throw baseUrlVariableError(
2047
- base,
2048
- serviceName,
2049
- name,
2050
- "has invalid percent encoding"
2051
- );
2052
- }
2053
- }
2054
- function validateBaseUrlPathSegment({
2055
- base,
2056
- serviceName,
2057
- name,
2058
- segment
2059
- }) {
2060
- if (pathSegmentHasUnsafeSyntax(segment, true)) {
2061
- throw baseUrlVariableError(
2062
- base,
2063
- serviceName,
2064
- name,
2065
- "must not contain unsafe path segments"
2066
- );
2067
- }
2068
- }
2069
- function rawPathFromBaseUrl(value) {
2070
- const schemeEnd = value.indexOf("://");
2071
- if (schemeEnd === -1) return "";
2072
- const afterScheme = value.slice(schemeEnd + 3);
2073
- const pathStart = afterScheme.search(/[/?#]/);
2074
- if (pathStart === -1 || afterScheme[pathStart] !== "/") return "";
2075
- const pathAndAfter = afterScheme.slice(pathStart);
2076
- const pathEnd = pathAndAfter.search(/[?#]/);
2077
- return pathEnd === -1 ? pathAndAfter : pathAndAfter.slice(0, pathEnd);
2078
- }
2079
- function validateBaseUrlPrefixVariable({
2080
- base,
2081
- serviceName,
2082
- name,
2083
- value
2084
- }) {
2085
- const rawPath = rawPathFromBaseUrl(value);
2086
- if (hasUnsafeFirewallPath(rawPath)) {
2087
- throw baseUrlVariableError(
2088
- base,
2089
- serviceName,
2090
- name,
2091
- "must not contain unsafe path segments before a fixed path suffix"
2092
- );
2093
- }
2094
- validateBaseUrl(value, serviceName);
2095
- const url = new URL(value);
2096
- if (url.search || url.hash) {
2097
- throw baseUrlVariableError(
2098
- base,
2099
- serviceName,
2100
- name,
2101
- "must not contain query or fragment before a fixed path suffix"
2102
- );
2103
- }
2104
- }
2105
- function validateResolvedBaseUrlPathSafety(templateBase, serviceName, resolved) {
2106
- const rawPath = rawPathFromBaseUrl(resolved);
2107
- for (const segment of rawPath.split("/")) {
2108
- if (pathSegmentHasUnsafeSyntax(segment, false)) {
2109
- throw new Error(
2110
- errMsg(
2111
- templateBase,
2112
- serviceName,
2113
- "resolved base URL must not contain unsafe path segments"
2114
- )
2115
- );
2116
- }
2117
- }
2118
- }
2119
- function validateBaseUrlAuthorityVariable({
2120
- base,
2121
- serviceName,
2122
- name,
2123
- value
2124
- }) {
2125
- for (const char of value) {
2126
- if (AUTHORITY_VAR_STRUCTURE_CHARS.has(char)) {
2127
- throw baseUrlVariableError(
2128
- base,
2129
- serviceName,
2130
- name,
2131
- "must not introduce URL structure"
2132
- );
2133
- }
2134
- }
2135
- validateBaseUrlVariablePercentEncoding({
2136
- base,
2137
- serviceName,
2138
- name,
2139
- value,
2140
- structureChars: PERCENT_DECODED_BOUNDARY_CHARS
2141
- });
2142
- validateBaseUrl(`https://${value}`, serviceName);
2143
- }
2144
- function validateBaseUrlAuthorityFragmentVariable({
2145
- base,
2146
- serviceName,
2147
- name,
2148
- value
2149
- }) {
2150
- for (const char of value) {
2151
- if (AUTHORITY_FRAGMENT_VAR_STRUCTURE_CHARS.has(char)) {
2152
- throw baseUrlVariableError(
2153
- base,
2154
- serviceName,
2155
- name,
2156
- "must not introduce URL structure"
2157
- );
2158
- }
2159
- }
2160
- validateBaseUrlVariablePercentEncoding({
2161
- base,
2162
- serviceName,
2163
- name,
2164
- value,
2165
- structureChars: PERCENT_DECODED_BOUNDARY_CHARS
2166
- });
2167
- }
2168
- function validateBaseUrlPortVariable({
2169
- base,
2170
- serviceName,
2171
- name,
2172
- value
2173
- }) {
2174
- if (!PORT_VAR_PATTERN.test(value)) {
2175
- throw baseUrlVariableError(
2176
- base,
2177
- serviceName,
2178
- name,
2179
- "must be a numeric URL port"
2180
- );
2181
- }
2182
- }
2183
- function validateBaseUrlPathVariable({
2184
- base,
2185
- serviceName,
2186
- name,
2187
- value,
2188
- prefix,
2189
- suffix
2190
- }) {
2191
- for (const char of value) {
2192
- if (PATH_VAR_STRUCTURE_CHARS.has(char)) {
2193
- throw baseUrlVariableError(
2194
- base,
2195
- serviceName,
2196
- name,
2197
- "must not introduce path structure"
2198
- );
2199
- }
2200
- }
2201
- const decoded = validateBaseUrlVariablePercentEncoding({
2202
- base,
2203
- serviceName,
2204
- name,
2205
- value,
2206
- structureChars: PATH_VAR_STRUCTURE_CHARS
2207
- });
2208
- const prefixSegment = prefix.slice(prefix.lastIndexOf("/") + 1);
2209
- const suffixSegmentEnd = suffix.search(URL_COMPONENT_DELIMITER_PATTERN);
2210
- const suffixSegment = suffixSegmentEnd === -1 ? suffix : suffix.slice(0, suffixSegmentEnd);
2211
- validateBaseUrlPathSegment({
2212
- base,
2213
- serviceName,
2214
- name,
2215
- segment: `${prefixSegment}${decoded}${suffixSegment}`
2216
- });
2217
- }
2218
- function prefixIsInsideAuthority(prefix) {
2219
- const schemeEnd = prefix.indexOf("://");
2220
- if (schemeEnd === -1) return false;
2221
- const afterScheme = prefix.slice(schemeEnd + 3);
2222
- return !URL_COMPONENT_DELIMITER_PATTERN.test(afterScheme);
2223
- }
2224
- function prefixIsInsidePath(prefix) {
2225
- const schemeEnd = prefix.indexOf("://");
2226
- if (schemeEnd === -1) return false;
2227
- const afterScheme = prefix.slice(schemeEnd + 3);
2228
- if (afterScheme.includes("?") || afterScheme.includes("#")) return false;
2229
- return afterScheme.includes("/");
2230
- }
2231
- function suffixAuthorityPrefix(suffix) {
2232
- const delimiterIndex = suffix.search(URL_COMPONENT_DELIMITER_PATTERN);
2233
- return delimiterIndex === -1 ? suffix : suffix.slice(0, delimiterIndex);
2234
- }
2235
- function validateBaseUrlTemplateVariable({
2236
- base,
2237
- serviceName,
2238
- name,
2239
- value,
2240
- prefix,
2241
- suffix
2242
- }) {
2243
- validateBaseUrlVariableCommonSyntax({ base, serviceName, name, value });
2244
- if (prefix === "" && suffix === "") {
2245
- return;
2246
- }
2247
- if (prefix === "" && suffix.startsWith("/")) {
2248
- validateBaseUrlPrefixVariable({ base, serviceName, name, value });
2249
- return;
2250
- }
2251
- if (prefix.endsWith("://") && (suffix === "" || suffix.startsWith("/"))) {
2252
- validateBaseUrlAuthorityVariable({ base, serviceName, name, value });
2253
- return;
2254
- }
2255
- if (prefixIsInsideAuthority(prefix) && prefix.endsWith(":") && (suffix === "" || suffix.startsWith("/"))) {
2256
- validateBaseUrlPortVariable({ base, serviceName, name, value });
2257
- return;
2258
- }
2259
- if (prefixIsInsideAuthority(prefix) && suffixAuthorityPrefix(suffix) !== "") {
2260
- validateBaseUrlAuthorityFragmentVariable({
2261
- base,
2262
- serviceName,
2263
- name,
2264
- value
2265
- });
2266
- return;
2267
- }
2268
- if (prefixIsInsidePath(prefix)) {
2269
- validateBaseUrlPathVariable({
2270
- base,
2271
- serviceName,
2272
- name,
2273
- value,
2274
- prefix,
2275
- suffix
2276
- });
2277
- return;
2278
- }
2279
- throw baseUrlVariableError(
2280
- base,
2281
- serviceName,
2282
- name,
2283
- "is used in an unsupported base URL template position"
2284
- );
2285
- }
2286
- function baseUrlScheme(base) {
2287
- const schemeEnd = base.indexOf("://");
2288
- if (schemeEnd === -1) return "";
2289
- return base.slice(0, schemeEnd).toLowerCase();
2290
- }
2291
- function validateCredentialedBaseUrlTransportValue(base, serviceName, credentialed) {
2292
- if (!credentialed) return;
2293
- if (baseUrlScheme(base) === REQUIRED_AUTH_BASE_URL_SCHEME) return;
2294
- throw new Error(
2295
- `Invalid base URL "${base}" in firewall "${serviceName}": credentialed base URL must use https`
2296
- );
2297
- }
2298
- function normalizeHostPolicyHostname(hostname) {
2299
- let normalized = hostname.replace(HOST_DOT_EQUIVALENT_PATTERN, ".").toLowerCase();
2300
- if (normalized.endsWith(".")) {
2301
- normalized = normalized.slice(0, -1);
2302
- }
2303
- return normalized;
2304
- }
2305
- function normalizeHostPolicySuffix(suffix) {
2306
- const withoutLeadingDot = suffix.startsWith(".") ? suffix.slice(1) : suffix;
2307
- return normalizeHostPolicyHostname(withoutLeadingDot);
2308
- }
2309
- function parseCanonicalIpv4Address(value) {
2310
- if (!isCanonicalIpv4Address(value)) {
2311
- return null;
2312
- }
2313
- return value.split(".").map((part) => {
2314
- return Number(part);
2315
- });
2316
- }
2317
- function ipv4PartsToNumber(parts) {
2318
- if (parts.length !== 4) {
2319
- return null;
2320
- }
2321
- return parts.reduce((acc, part) => {
2322
- return acc * IPV4_OCTET_BASE + part;
2323
- }, 0);
2324
- }
2325
- function isPublicIpv4Address(parts) {
2326
- const value = ipv4PartsToNumber(parts);
2327
- if (value === null) {
2328
- return false;
2329
- }
2330
- return !IPV4_NON_PUBLIC_RANGES.some(([start, end]) => {
2331
- return value >= start && value <= end;
2332
- });
2333
- }
2334
- function parseIpv6Word(value) {
2335
- if (value === "" || value.length > 4 || ![...value].every((char) => {
2336
- return isHexDigit(char);
2337
- })) {
2338
- return null;
2339
- }
2340
- return Number.parseInt(value, 16);
2341
- }
2342
- function parseIpv6WordList(value) {
2343
- if (value === "") {
2344
- return [];
2345
- }
2346
- const words = [];
2347
- for (const part of value.split(":")) {
2348
- const word = parseIpv6Word(part);
2349
- if (word === null) {
2350
- return null;
2351
- }
2352
- words.push(word);
2353
- }
2354
- return words;
2355
- }
2356
- function parseIpv6Address(value) {
2357
- if (value.includes("%")) {
2358
- return null;
2359
- }
2360
- let normalized = value.toLowerCase();
2361
- if (normalized.includes(".")) {
2362
- const lastColon = normalized.lastIndexOf(":");
2363
- if (lastColon === -1) {
2364
- return null;
2365
- }
2366
- const ipv4Parts = parseCanonicalIpv4Address(
2367
- normalized.slice(lastColon + 1)
2368
- );
2369
- if (!ipv4Parts) {
2370
- return null;
2371
- }
2372
- const highWord = (ipv4Parts[0] << 8) + ipv4Parts[1];
2373
- const lowWord = (ipv4Parts[2] << 8) + ipv4Parts[3];
2374
- normalized = `${normalized.slice(0, lastColon)}:${highWord.toString(16)}:${lowWord.toString(16)}`;
2375
- }
2376
- const compressed = normalized.split("::");
2377
- if (compressed.length > 2) {
2378
- return null;
2379
- }
2380
- const left = parseIpv6WordList(compressed[0]);
2381
- const right = compressed.length === 2 ? parseIpv6WordList(compressed[1]) : [];
2382
- if (!left || !right) {
2383
- return null;
2384
- }
2385
- if (compressed.length === 1) {
2386
- return left.length === 8 ? left : null;
2387
- }
2388
- const zeroCount = 8 - left.length - right.length;
2389
- if (zeroCount < 1) {
2390
- return null;
2391
- }
2392
- return [
2393
- ...left,
2394
- ...Array.from({ length: zeroCount }, () => {
2395
- return 0;
2396
- }),
2397
- ...right
2398
- ];
2399
- }
2400
- function isPublicIpv6SpecialRegistryException(words) {
2401
- const second = words[1];
2402
- if (second === 1 && words[2] === 0 && words[3] === 0 && words[4] === 0 && words[5] === 0 && words[6] === 0 && words[7] >= 1 && words[7] <= 3) {
2403
- return true;
2404
- }
2405
- if (second === 3) {
2406
- return true;
2407
- }
2408
- if (second === 4 && words[2] === 274) {
2409
- return true;
2410
- }
2411
- if (second >= 32 && second <= 47) {
2412
- return true;
2413
- }
2414
- return second >= 48 && second <= 63;
2415
- }
2416
- function isPublicIpv6Address(words) {
2417
- if (words.length !== 8) {
2418
- return false;
2419
- }
2420
- const first = words[0];
2421
- const second = words[1];
2422
- if ((first & 57344) !== 8192) {
2423
- return false;
2424
- }
2425
- if (first === 8193 && second <= 511) {
2426
- return isPublicIpv6SpecialRegistryException(words);
2427
- }
2428
- if (first === 8193 && second === 3512) {
2429
- return false;
2430
- }
2431
- if (first === 16383 && second <= 4095) {
2432
- return false;
2433
- }
2434
- if (first === 8194) {
2435
- return false;
2436
- }
2437
- return true;
2438
- }
2439
- function hostPolicyIpLiteralIsPublic(hostname) {
2440
- if (hostname.startsWith("[") && hostname.endsWith("]")) {
2441
- const words = parseIpv6Address(hostname.slice(1, -1));
2442
- return words ? isPublicIpv6Address(words) : false;
2443
- }
2444
- const ipv4Parts = parseCanonicalIpv4Address(hostname);
2445
- if (ipv4Parts) {
2446
- return isPublicIpv4Address(ipv4Parts);
2447
- }
2448
- const normalizedIpv4Host = normalizeHostForIpv4LiteralSyntax(hostname);
2449
- if (isIpv4LiteralLike(normalizedIpv4Host)) {
2450
- return false;
2451
- }
2452
- return null;
2453
- }
2454
- function providerOwnedHostMatches(hostname, hostPolicy, options = {}) {
2455
- if (options.allowExactHosts !== false) {
2456
- const exactHosts = hostPolicy.exactHosts ?? [];
2457
- for (const exactHost of exactHosts) {
2458
- if (hostname === normalizeHostPolicyHostname(exactHost)) {
2459
- return true;
2460
- }
2461
- }
2462
- }
2463
- const suffixes = hostPolicy.suffixes ?? [];
2464
- for (const suffix of suffixes) {
2465
- const normalizedSuffix = normalizeHostPolicySuffix(suffix);
2466
- if (normalizedSuffix !== "" && hostname.length > normalizedSuffix.length && hostname.endsWith(`.${normalizedSuffix}`)) {
2467
- return true;
2468
- }
2469
- }
2470
- return false;
2471
- }
2472
- function baseUrlAuthorityHasParams(base) {
2473
- const authority = rawAuthorityFromBaseUrl(base);
2474
- return authority !== null && hasBaseUrlParams(authority);
2475
- }
2476
- function validateHostPolicyShape(base, serviceName, hostPolicy) {
2477
- const result = firewallBaseHostPolicySchema.safeParse(hostPolicy);
2478
- if (result.success) return;
2479
- const message = result.error.issues.map((issue) => {
2480
- return issue.message;
2481
- }).join("; ");
2482
- throw new Error(
2483
- errMsg(base, serviceName, `hostPolicy is invalid: ${message}`)
2484
- );
2485
- }
2486
- function urlForHostPolicyValidation(base, serviceName) {
2487
- if (!baseUrlAuthorityHasParams(base)) return new URL(base);
2488
- const schemeEnd = base.indexOf("://");
2489
- const authority = rawAuthorityFromBaseUrl(base);
2490
- if (schemeEnd === -1 || authority === null) return new URL(base);
2491
- const authorityParts = splitParameterizedAuthority(
2492
- authority,
2493
- base,
2494
- serviceName
2495
- );
2496
- const host = splitAuthorityHostSegments(authorityParts.normalizedHost).map((segment) => {
2497
- return hostSegmentForSyntaxValidation(segment, base, serviceName);
2498
- }).join(".");
2499
- return new URL(
2500
- `${base.slice(0, schemeEnd)}://${host}${authorityParts.portSuffix}`
2501
- );
2502
- }
2503
- function validateBaseUrlHostPolicy({
2504
- base,
2505
- diagnosticBase = base,
2506
- serviceName,
2507
- hostPolicy
2508
- }) {
2509
- if (!hostPolicy) {
2510
- return;
2511
- }
2512
- validateHostPolicyShape(diagnosticBase, serviceName, hostPolicy);
2513
- if (hasBaseUrlVars(base)) {
2514
- return;
2515
- }
2516
- const authorityHasParams = baseUrlAuthorityHasParams(base);
2517
- const url = urlForHostPolicyValidation(base, serviceName);
2518
- const rawAuthority = rawAuthorityFromBaseUrl(base);
2519
- const hostname = normalizeHostPolicyHostname(url.hostname);
2520
- if (hostPolicy.kind === "providerOwned") {
2521
- if (!providerOwnedHostMatches(hostname, hostPolicy, {
2522
- allowExactHosts: !authorityHasParams
2523
- })) {
2524
- throw new Error(
2525
- errMsg(
2526
- diagnosticBase,
2527
- serviceName,
2528
- `host policy does not allow resolved host "${hostname}"`
2529
- )
2530
- );
2531
- }
2532
- if (!hostPolicy.allowNonDefaultPort && url.port !== "") {
2533
- throw new Error(
2534
- errMsg(
2535
- diagnosticBase,
2536
- serviceName,
2537
- "host policy does not allow non-default ports"
2538
- )
2539
- );
2540
- }
2541
- return;
2542
- }
2543
- const publicDestinationHost = rawAuthority === null ? url.hostname : rawHostFromAuthority(rawAuthority);
2544
- const publicIpLiteral = hostPolicyIpLiteralIsPublic(publicDestinationHost);
2545
- if (publicIpLiteral === false) {
2546
- throw new Error(
2547
- errMsg(
2548
- diagnosticBase,
2549
- serviceName,
2550
- `host policy does not allow non-public IP literal "${hostname}"`
2551
- )
2552
- );
2553
- }
2554
- }
2555
- function resolveFirewallBaseUrlTemplate({
2556
- serviceName,
2557
- base,
2558
- vars,
2559
- credentialed = false,
2560
- hostPolicy
2561
- }) {
2562
- if (!hasBaseUrlVars(base)) return base;
2563
- try {
2564
- let resolved = "";
2565
- let lastIndex = 0;
2566
- for (const match of base.matchAll(BASE_URL_VARS_PATTERN_G)) {
2567
- const fullMatch = match[0];
2568
- const name = match[1];
2569
- const matchIndex = match.index;
2570
- const value = vars?.[name];
2571
- if (!value) {
2572
- throw new FirewallBaseUrlResolutionError(
2573
- `Firewall "${serviceName}" base URL requires variable "${name}" but it was not provided`
2574
- );
2575
- }
2576
- validateBaseUrlTemplateVariable({
2577
- base,
2578
- serviceName,
2579
- name,
2580
- value,
2581
- prefix: base.slice(0, matchIndex),
2582
- suffix: base.slice(matchIndex + fullMatch.length)
2583
- });
2584
- resolved += base.slice(lastIndex, matchIndex) + value;
2585
- lastIndex = matchIndex + fullMatch.length;
2586
- }
2587
- resolved += base.slice(lastIndex);
2588
- validateResolvedBaseUrlPathSafety(base, serviceName, resolved);
2589
- validateBaseUrl(resolved, serviceName);
2590
- validateCredentialedBaseUrlTransportValue(
2591
- resolved,
2592
- serviceName,
2593
- credentialed
2594
- );
2595
- validateBaseUrlHostPolicy({
2596
- base: resolved,
2597
- diagnosticBase: base,
2598
- serviceName,
2599
- hostPolicy
2600
- });
2601
- return resolved;
2602
- } catch (error) {
2603
- if (error instanceof FirewallBaseUrlResolutionError) {
2604
- throw error;
2605
- }
2606
- if (error instanceof Error) {
2607
- throw new FirewallBaseUrlResolutionError(error.message);
2608
- }
2609
- throw error;
2610
- }
2611
- }
2612
- function hasBaseUrlParams(base) {
2613
- let stripped = base;
2614
- let start = stripped.indexOf("${{");
2615
- while (start !== -1) {
2616
- const end = stripped.indexOf("}}", start + 3);
2617
- if (end === -1) break;
2618
- stripped = stripped.slice(0, start) + stripped.slice(end + 2);
2619
- start = stripped.indexOf("${{");
2620
- }
2621
- return stripped.includes("{") && stripped.includes("}");
2622
- }
2623
- function errMsg(base, svc, detail) {
2624
- return `Invalid base URL "${base}" in firewall "${svc}": ${detail}`;
2625
- }
2626
- var HOST_DOT_EQUIVALENTS = /* @__PURE__ */ new Set([".", "\u3002", "\uFF0E", "\uFF61"]);
2627
- var FORBIDDEN_NORMALIZED_LABEL_CHARS = new Set("#%,/:<>?@[\\]^|[]".split(""));
2628
- var ALLOWED_BASE_URL_SCHEMES = /* @__PURE__ */ new Set(["http", "https"]);
2629
- var REQUIRED_AUTH_BASE_URL_SCHEME = "https";
2630
- var WHITESPACE_PATTERN = /\s/u;
2631
- var UNICODE_CONTROL_PATTERN = /\p{C}/u;
2632
- var UNICODE_DECIMAL_NUMBER_PATTERN = /^\p{Decimal_Number}+$/u;
2633
- var UNICODE_MARK_PATTERN = /\p{M}/u;
2634
- var UNICODE_LETTER_PATTERN = /\p{L}/u;
2635
- var GREEK_COMBINING_YPOGEGRAMMENI = "\u0345";
2636
- var GREEK_SMALL_IOTA = "\u03B9";
2637
- var IDNA_BIDI_RTL_LABEL_RANGES = [
2638
- [1565, 1565],
2639
- [2160, 2190],
2640
- [2229, 2229],
2641
- [2248, 2249],
2642
- [64450, 64450],
2643
- [69488, 69505],
2644
- [69510, 69513]
2645
- ];
2646
- var UNSAFE_UTS46_COLLISION_CHARS = /* @__PURE__ */ new Set([
2647
- "\u03F2",
2648
- "\u04C0",
2649
- "\u1E9E",
2650
- "\u1806",
2651
- "\u2132",
2652
- "\u2183",
2653
- "\u3164",
2654
- "\uFFA0",
2655
- "\uFFFC",
2656
- "\uFFFD",
2657
- "\u{2F868}",
2658
- "\u{2F874}",
2659
- "\u{2F91F}",
2660
- "\u{2F95F}",
2661
- "\u{2F9BF}"
2662
- ]);
2663
- var UNSAFE_UTS46_COLLISION_RANGES = [
2664
- [4256, 4293],
2665
- [4447, 4448],
2666
- [6068, 6069],
2667
- [12272, 12283]
2668
- ];
2669
- var UNSAFE_UTS46_IGNORABLE_RANGES = [
2670
- [847, 847],
2671
- [6155, 6157],
2672
- [6159, 6159],
2673
- [65024, 65039],
2674
- [917760, 917999]
2675
- ];
2676
- function isHexDigit(char) {
2677
- return char >= "0" && char <= "9" || char >= "a" && char <= "f" || char >= "A" && char <= "F";
2678
- }
2679
- function validateBaseUrlScheme(scheme, base, serviceName) {
2680
- if (!ALLOWED_BASE_URL_SCHEMES.has(scheme.toLowerCase())) {
2681
- throw new Error(errMsg(base, serviceName, "scheme must be http or https"));
2682
- }
2683
- }
2684
- function validateUrlSchemeDelimiter(value, serviceName, label, displayValue = value) {
2685
- if (value.includes("://")) return;
2686
- const colonIndex = value.indexOf(":");
2687
- if (colonIndex !== -1) {
2688
- const scheme = value.slice(0, colonIndex);
2689
- const schemeDetail = label === "auth.base URL" ? "scheme must be https" : "scheme must be http or https";
2690
- const allowedScheme = label === "auth.base URL" ? scheme.toLowerCase() === REQUIRED_AUTH_BASE_URL_SCHEME : ALLOWED_BASE_URL_SCHEMES.has(scheme.toLowerCase());
2691
- if (!allowedScheme) {
2692
- throw new Error(
2693
- `Invalid ${label} "${displayValue}" in firewall "${serviceName}": ${schemeDetail}`
2694
- );
2695
- }
2696
- throw new Error(
2697
- `Invalid ${label} "${displayValue}" in firewall "${serviceName}": URL must include "://" after the scheme`
2698
- );
2699
- }
2700
- throw new Error(
2701
- `Invalid ${label} "${displayValue}" in firewall "${serviceName}": URL must include a scheme (e.g. "https://${displayValue}")`
2702
- );
2703
- }
2704
- function isAscii(value) {
2705
- for (let i = 0; i < value.length; i += 1) {
2706
- if (value.charCodeAt(i) > 127) return false;
2707
- }
2708
- return true;
2709
- }
2710
- function isIpv4NumberComponent(value) {
2711
- if (value === "") return false;
2712
- if (value.toLowerCase().startsWith("0x")) {
2713
- return value.length > 2 && [...value.slice(2)].every((char) => {
2714
- return isHexDigit(char);
2715
- });
2716
- }
2717
- return UNICODE_DECIMAL_NUMBER_PATTERN.test(value);
2718
- }
2719
- function isIpv4LiteralLike(value) {
2720
- const parts = value.split(".");
2721
- return parts.length >= 1 && parts.length <= 4 && parts.every(isIpv4NumberComponent);
2722
- }
2723
- function isCanonicalIpv4Address(value) {
2724
- const parts = value.split(".");
2725
- if (parts.length !== 4) return false;
2726
- return parts.every((part) => {
2727
- if (part === "" || ![...part].every((char) => {
2728
- return char >= "0" && char <= "9";
2729
- })) {
2730
- return false;
2731
- }
2732
- if (part.length > 1 && part.startsWith("0")) return false;
2733
- return Number(part) <= IPV4_MAX_OCTET;
2734
- });
2735
- }
2736
- function codePointInRanges(codePoint, ranges) {
2737
- return ranges.some(([start, end]) => {
2738
- return start <= codePoint && codePoint <= end;
2739
- });
2740
- }
2741
- function hasUnsafeUts46MappingChar(value) {
2742
- for (const char of value) {
2743
- const codePoint = char.codePointAt(0);
2744
- if (UNSAFE_UTS46_COLLISION_CHARS.has(char) || codePoint !== void 0 && (codePointInRanges(codePoint, UNSAFE_UTS46_COLLISION_RANGES) || codePointInRanges(codePoint, UNSAFE_UTS46_IGNORABLE_RANGES))) {
2745
- return true;
2746
- }
2747
- }
2748
- return false;
2749
- }
2750
- function normalizesToAscii(value) {
2751
- return isAscii(normalizeLabelTextForIdnaValidation(value));
2752
- }
2753
- function normalizeLabelTextForIdnaValidation(value) {
2754
- return value.replaceAll(GREEK_COMBINING_YPOGEGRAMMENI, GREEK_SMALL_IOTA).normalize("NFKD").normalize("NFC").toLowerCase();
2755
- }
2756
- function hasForbiddenNormalizedLabelChar(value) {
2757
- for (const char of normalizeLabelTextForIdnaValidation(value)) {
2758
- if (FORBIDDEN_NORMALIZED_LABEL_CHARS.has(char) || HOST_DOT_EQUIVALENTS.has(char) || WHITESPACE_PATTERN.test(char) || UNICODE_CONTROL_PATTERN.test(char)) {
2759
- return true;
2760
- }
2761
- }
2762
- return false;
2763
- }
2764
- function normalizedLabelStartsWithMark(value) {
2765
- const [firstChar] = normalizeLabelTextForIdnaValidation(value);
2766
- return firstChar !== void 0 && UNICODE_MARK_PATTERN.test(firstChar);
2767
- }
2768
- function isIdnaBidiRtlLabelChar(char) {
2769
- const codePoint = char.codePointAt(0);
2770
- return codePoint !== void 0 && codePointInRanges(codePoint, IDNA_BIDI_RTL_LABEL_RANGES);
2771
- }
2772
- function isLtrLetterForBidiCheck(char) {
2773
- return UNICODE_LETTER_PATTERN.test(char) && !isIdnaBidiRtlLabelChar(char);
2774
- }
2775
- function isAsciiDigit(char) {
2776
- return char >= "0" && char <= "9";
2777
- }
2778
- function isArabicNumberForBidiCheck(char) {
2779
- const codePoint = char.codePointAt(0);
2780
- return codePoint !== void 0 && 1632 <= codePoint && codePoint <= 1641;
2781
- }
2782
- function effectiveBidiEndChar(chars) {
2783
- for (let index = chars.length - 1; index >= 0; index -= 1) {
2784
- const char = chars[index];
2785
- if (!UNICODE_MARK_PATTERN.test(char)) return char;
2786
- }
2787
- return chars.at(-1);
2788
- }
2789
- function firstEffectiveBidiChar(chars) {
2790
- return chars.find((char) => {
2791
- return !UNICODE_MARK_PATTERN.test(char);
2792
- });
2793
- }
2794
- function isRtlEndCharForBidiCheck(char) {
2795
- return isIdnaBidiRtlLabelChar(char) || isAsciiDigit(char) || isArabicNumberForBidiCheck(char);
2796
- }
2797
- function hasInvalidMixedBidiLabelText(value) {
2798
- const chars = Array.from(normalizeLabelTextForIdnaValidation(value));
2799
- const firstRtlIndex = chars.findIndex((char) => {
2800
- return isIdnaBidiRtlLabelChar(char);
2801
- });
2802
- if (firstRtlIndex === -1) return false;
2803
- const suffix = chars.slice(firstRtlIndex + 1);
2804
- if (firstRtlIndex === 0) {
2805
- const suffixHasLtrLetter2 = suffix.some((char) => {
2806
- return isLtrLetterForBidiCheck(char);
2807
- });
2808
- if (suffixHasLtrLetter2) return true;
2809
- const endChar2 = effectiveBidiEndChar(chars);
2810
- return endChar2 !== void 0 && !isRtlEndCharForBidiCheck(endChar2);
2811
- }
2812
- const suffixHasLtrLetter = suffix.some((char) => {
2813
- return isLtrLetterForBidiCheck(char);
2814
- });
2815
- if (suffixHasLtrLetter) return true;
2816
- const prefix = chars.slice(0, firstRtlIndex);
2817
- const prefixHasLtrLetter = prefix.some((char) => {
2818
- return isLtrLetterForBidiCheck(char);
2819
- });
2820
- if (prefixHasLtrLetter) {
2821
- if (prefix.some(isArabicNumberForBidiCheck)) return true;
2822
- const firstPrefixChar = firstEffectiveBidiChar(prefix);
2823
- if (firstPrefixChar === void 0 || !isLtrLetterForBidiCheck(firstPrefixChar)) {
2824
- return true;
2825
- }
2826
- return suffix.some((char) => {
2827
- return !UNICODE_MARK_PATTERN.test(char);
2828
- });
2829
- }
2830
- const endChar = effectiveBidiEndChar(chars);
2831
- return endChar !== void 0 && !isRtlEndCharForBidiCheck(endChar);
2832
- }
2833
- function baseUrlRawSyntaxTarget(base) {
2834
- return base.replace(BASE_URL_VARS_PATTERN_G, AUTH_TEMPLATE_URL_PLACEHOLDER);
2835
- }
2836
- function validateHostPercentEncoding(host, base, serviceName) {
2837
- if (host.includes(",")) {
2838
- throw new Error(errMsg(base, serviceName, "host must not contain commas"));
2839
- }
2840
- for (let i = 0; i < host.length; i += 1) {
2841
- if (host[i] !== "%") continue;
2842
- if (i + 2 >= host.length || !isHexDigit(host[i + 1]) || !isHexDigit(host[i + 2])) {
2843
- throw new Error(
2844
- errMsg(base, serviceName, "host has invalid percent encoding")
2845
- );
2846
- }
2847
- let end = i;
2848
- while (end + 2 < host.length && host[end] === "%" && isHexDigit(host[end + 1]) && isHexDigit(host[end + 2])) {
2849
- end += 3;
2850
- }
2851
- let decoded;
2852
- try {
2853
- decoded = decodeURIComponent(host.slice(i, end));
2854
- } catch {
2855
- throw new Error(
2856
- errMsg(base, serviceName, "host has invalid percent encoding")
2857
- );
2858
- }
2859
- for (const char of decoded) {
2860
- if (char === "{" || char === "}") {
2861
- throw new Error(
2862
- errMsg(
2863
- base,
2864
- serviceName,
2865
- "host must not contain percent-encoded braces"
2866
- )
2867
- );
2868
- }
2869
- if (HOST_DOT_EQUIVALENTS.has(char)) {
2870
- throw new Error(
2871
- errMsg(
2872
- base,
2873
- serviceName,
2874
- "host must not contain percent-encoded dots"
2875
- )
2876
- );
2877
- }
2878
- if (char === ",") {
2879
- throw new Error(
2880
- errMsg(base, serviceName, "host must not contain commas")
2881
- );
2882
- }
2883
- if (char === "*") {
2884
- throw new Error(
2885
- errMsg(
2886
- base,
2887
- serviceName,
2888
- "host must not contain wildcard characters"
2889
- )
2890
- );
2891
- }
2892
- }
2893
- i = end - 1;
2894
- }
2895
- if (host.includes("%")) {
2896
- let decoded;
2897
- try {
2898
- decoded = decodeURIComponent(host);
2899
- } catch {
2900
- throw new Error(
2901
- errMsg(base, serviceName, "host has invalid percent encoding")
2902
- );
2903
- }
2904
- validateHostHasNoUnsafeIdnaMappings(decoded, base, serviceName);
2905
- }
2906
- }
2907
- function rawAuthorityFromBaseUrl(base) {
2908
- const schemeEnd = base.indexOf("://");
2909
- if (schemeEnd === -1) return null;
2910
- const rest = base.slice(schemeEnd + 3);
2911
- const delimiterIndexes = [
2912
- rest.indexOf("/"),
2913
- rest.indexOf("?"),
2914
- rest.indexOf("#")
2915
- ].filter((index) => {
2916
- return index !== -1;
2917
- });
2918
- const authorityEnd = delimiterIndexes.length === 0 ? -1 : Math.min(...delimiterIndexes);
2919
- return authorityEnd === -1 ? rest : rest.slice(0, authorityEnd);
2920
- }
2921
- function authorityHasEmptyPort(authority) {
2922
- if (authority.startsWith("[")) {
2923
- const closeBracket = authority.indexOf("]");
2924
- if (closeBracket === -1) return false;
2925
- return authority.slice(closeBracket + 1) === ":";
2926
- }
2927
- const portSeparator = authority.lastIndexOf(":");
2928
- if (portSeparator === -1) return false;
2929
- return authority.indexOf(":") === portSeparator && portSeparator === authority.length - 1;
2930
- }
2931
- function validateNoUserinfo(authority, base, serviceName) {
2932
- if (authority.includes("@")) {
2933
- throw new Error(errMsg(base, serviceName, "must not contain userinfo"));
2934
- }
2935
- }
2936
- function validateHostHasNoEmptyLabels(host, base, serviceName) {
2937
- let normalizedHost = host.replace(HOST_DOT_EQUIVALENT_PATTERN, ".");
2938
- if (normalizedHost.endsWith(".")) {
2939
- normalizedHost = normalizedHost.slice(0, -1);
2940
- }
2941
- if (normalizedHost === "" || normalizedHost.endsWith(".") || normalizedHost.split(".").some((label) => {
2942
- return label === "";
2943
- })) {
2944
- throw new Error(
2945
- errMsg(base, serviceName, "host must not contain empty labels")
2946
- );
2947
- }
2948
- return normalizedHost;
2949
- }
2950
- function normalizeHostForIpv4LiteralSyntax(host) {
2951
- let normalized = host.replace(HOST_DOT_EQUIVALENT_PATTERN, ".").toLowerCase();
2952
- if (normalized.endsWith(".")) {
2953
- normalized = normalized.slice(0, -1);
2954
- }
2955
- return normalized;
2956
- }
2957
- function rawHostForCanonicalIpv4Syntax(host) {
2958
- const normalized = host.toLowerCase();
2959
- return normalized.endsWith(".") ? normalized.slice(0, -1) : normalized;
2960
- }
2961
- function splitAuthorityHostSegments(host) {
2962
- if (host.startsWith("[") && host.endsWith("]")) {
2963
- return [host];
2964
- }
2965
- return host.split(".");
2966
- }
2967
- function rawHostFromAuthority(authority) {
2968
- const withoutUserinfo = authority.slice(authority.lastIndexOf("@") + 1);
2969
- if (withoutUserinfo.startsWith("[")) {
2970
- const closeBracket = withoutUserinfo.indexOf("]");
2971
- return closeBracket === -1 ? withoutUserinfo : withoutUserinfo.slice(0, closeBracket + 1);
2972
- }
2973
- const portSeparator = withoutUserinfo.lastIndexOf(":");
2974
- return portSeparator === -1 ? withoutUserinfo : withoutUserinfo.slice(0, portSeparator);
2975
- }
2976
- function validateLabelHasNoUnsafeIdnaMappings(label, base, serviceName) {
2977
- const parsed = parseSegment(label);
2978
- const value = parsed.kind === "param" ? `${parsed.prefix}${parsed.suffix}` : label;
2979
- if (value === "" || isAscii(value)) return;
2980
- if (hasForbiddenNormalizedLabelChar(value)) {
2981
- throw new Error(
2982
- errMsg(
2983
- base,
2984
- serviceName,
2985
- "host must not contain characters that normalize to forbidden host syntax"
2986
- )
2987
- );
2988
- }
2989
- if (normalizedLabelStartsWithMark(value)) {
2990
- throw new Error(
2991
- errMsg(
2992
- base,
2993
- serviceName,
2994
- "host label must not start with a combining mark"
2995
- )
2996
- );
2997
- }
2998
- if (hasInvalidMixedBidiLabelText(value)) {
2999
- throw new Error(
3000
- errMsg(
3001
- base,
3002
- serviceName,
3003
- "host must not contain invalid bidirectional label text"
3004
- )
3005
- );
3006
- }
3007
- if (hasUnsafeUts46MappingChar(value) || normalizesToAscii(value)) {
3008
- throw new Error(
3009
- errMsg(
3010
- base,
3011
- serviceName,
3012
- "host must not contain unsafe IDNA compatibility mappings"
3013
- )
3014
- );
3015
- }
3016
- }
3017
- function validateHostHasNoUnsafeIdnaMappings(authorityOrHost, base, serviceName) {
3018
- const host = rawHostFromAuthority(authorityOrHost);
3019
- if (host.startsWith("[") && host.endsWith("]")) return;
3020
- for (const label of host.replace(HOST_DOT_EQUIVALENT_PATTERN, ".").split(".")) {
3021
- validateLabelHasNoUnsafeIdnaMappings(label, base, serviceName);
3022
- }
3023
- }
3024
- function validateHostHasCanonicalIpv4Syntax(authorityOrHost, base, serviceName) {
3025
- const host = rawHostFromAuthority(authorityOrHost);
3026
- if (host.startsWith("[") && host.endsWith("]")) return;
3027
- const normalizedHost = normalizeHostForIpv4LiteralSyntax(host);
3028
- if (isIpv4LiteralLike(normalizedHost) && (rawHostForCanonicalIpv4Syntax(host) !== normalizedHost || !isCanonicalIpv4Address(normalizedHost))) {
3029
- throw new Error(
3030
- errMsg(base, serviceName, "host must use canonical IPv4 address syntax")
3031
- );
3032
- }
3033
- }
3034
- function splitParameterizedAuthority(authority, base, serviceName) {
3035
- let host = authority;
3036
- let portSuffix = "";
3037
- if (authority.startsWith("[")) {
3038
- const closeBracket = authority.indexOf("]");
3039
- if (closeBracket === -1) {
3040
- throw new Error(errMsg(base, serviceName, "not a valid URL authority"));
3041
- }
3042
- host = authority.slice(0, closeBracket + 1);
3043
- portSuffix = authority.slice(closeBracket + 1);
3044
- if (portSuffix !== "" && !portSuffix.startsWith(":")) {
3045
- throw new Error(errMsg(base, serviceName, "not a valid URL authority"));
3046
- }
3047
- } else {
3048
- const portSeparator = authority.lastIndexOf(":");
3049
- if (portSeparator !== -1) {
3050
- host = authority.slice(0, portSeparator);
3051
- portSuffix = authority.slice(portSeparator);
3052
- }
3053
- }
3054
- const normalizedHost = validateHostHasNoEmptyLabels(host, base, serviceName);
3055
- return { normalizedHost, portSuffix };
3056
- }
3057
- function validateStaticHostLabels(hostname, base, serviceName) {
3058
- if (hostname.startsWith("[") && hostname.endsWith("]")) return;
3059
- validateHostHasNoEmptyLabels(hostname, base, serviceName);
3060
- validateHostHasNoRawWildcards(hostname, base, serviceName);
3061
- }
3062
- function hostSegmentHasRawWildcard(segment) {
3063
- const parsed = parseSegment(segment);
3064
- if (parsed.kind === "literal") return parsed.value.includes("*");
3065
- if (parsed.kind === "param") {
3066
- return parsed.prefix.includes("*") || parsed.suffix.includes("*");
3067
- }
3068
- return false;
3069
- }
3070
- function validateHostHasNoRawWildcards(host, base, serviceName) {
3071
- if (host.startsWith("[") && host.endsWith("]")) return;
3072
- for (const segment of host.replace(HOST_DOT_EQUIVALENT_PATTERN, ".").split(".")) {
3073
- if (hostSegmentHasRawWildcard(segment)) {
3074
- throw new Error(
3075
- errMsg(base, serviceName, "host must not contain wildcard characters")
3076
- );
3077
- }
3078
- }
3079
- }
3080
- function hostSegmentForSyntaxValidation(seg, base, svc) {
3081
- const parsed = parseSegment(seg);
3082
- if (parsed.kind === "literal") return seg;
3083
- if (parsed.kind === "error") {
3084
- throw new Error(errMsg(base, svc, parsed.reason));
3085
- }
3086
- if (!isAscii(parsed.prefix) || !isAscii(parsed.suffix)) {
3087
- throw new Error(
3088
- errMsg(
3089
- base,
3090
- svc,
3091
- `host parameter segment "${seg}" must use ASCII literal prefix and suffix`
3092
- )
3093
- );
3094
- }
3095
- return `${parsed.prefix}x${parsed.suffix}`;
3096
- }
3097
- function validateParameterizedHostUrlSyntax(scheme, authority, base, serviceName) {
3098
- const syntaxHost = splitAuthorityHostSegments(authority.normalizedHost).map((seg) => {
3099
- return hostSegmentForSyntaxValidation(seg, base, serviceName);
3100
- }).join(".");
3101
- try {
3102
- new URL(`${scheme}://${syntaxHost}${authority.portSuffix}`);
3103
- } catch {
3104
- throw new Error(errMsg(base, serviceName, "not a valid URL authority"));
3105
- }
3106
- }
3107
- function validateHostParams(segments, paramNames, base, svc) {
3108
- if (segments.length < 2) {
3109
- throw new Error(errMsg(base, svc, "host must have at least two segments"));
3110
- }
3111
- let hasStatic = false;
3112
- for (let i = 0; i < segments.length; i++) {
3113
- const seg = segments[i];
3114
- const parsed = parseSegment(seg);
3115
- if (parsed.kind === "error") {
3116
- throw new Error(errMsg(base, svc, parsed.reason));
3117
- }
3118
- if (parsed.kind === "literal") {
3119
- hasStatic = true;
3120
- continue;
3121
- }
3122
- const { name, greedy, prefix, suffix } = parsed;
3123
- if (paramNames.has(name)) {
3124
- throw new Error(
3125
- errMsg(base, svc, `duplicate parameter name "{${name}}" in host`)
3126
- );
3127
- }
3128
- paramNames.add(name);
3129
- if (greedy && i !== 0) {
3130
- throw new Error(
3131
- errMsg(base, svc, `{${name}${greedy}} must be the first host segment`)
3132
- );
3133
- }
3134
- if (greedy && (prefix !== "" || suffix !== "")) {
3135
- throw new Error(
3136
- errMsg(
3137
- base,
3138
- svc,
3139
- `greedy parameter {${name}${greedy}} cannot be combined with a literal prefix or suffix in host segment "${seg}"`
3140
- )
3141
- );
3142
- }
3143
- }
3144
- if (!hasStatic) {
3145
- throw new Error(
3146
- errMsg(base, svc, "host must have at least one static segment")
3147
- );
3148
- }
3149
- }
3150
- function validatePathParams(segments, paramNames, base, svc) {
3151
- for (const seg of segments) {
3152
- const parsed = parseSegment(seg);
3153
- if (parsed.kind === "error") {
3154
- throw new Error(errMsg(base, svc, parsed.reason));
3155
- }
3156
- if (parsed.kind === "literal") continue;
3157
- const { name, greedy } = parsed;
3158
- if (greedy) {
3159
- throw new Error(
3160
- errMsg(
3161
- base,
3162
- svc,
3163
- `greedy parameter {${name}${greedy}} is not allowed in base URL path`
3164
- )
3165
- );
3166
- }
3167
- if (paramNames.has(name)) {
3168
- throw new Error(
3169
- errMsg(base, svc, `duplicate parameter name "{${name}}"`)
3170
- );
3171
- }
3172
- paramNames.add(name);
3173
- }
3174
- }
3175
- function validateBaseUrlParams(base, serviceName) {
3176
- const schemeEnd = base.indexOf("://");
3177
- if (schemeEnd === -1) {
3178
- throw new Error(errMsg(base, serviceName, "missing scheme"));
3179
- }
3180
- const scheme = base.slice(0, schemeEnd);
3181
- if (scheme.includes("{")) {
3182
- throw new Error(
3183
- errMsg(base, serviceName, "scheme must not contain parameters")
3184
- );
3185
- }
3186
- validateBaseUrlScheme(scheme, base, serviceName);
3187
- if (base.includes("?")) {
3188
- throw new Error(errMsg(base, serviceName, "must not contain query string"));
3189
- }
3190
- if (base.includes("#")) {
3191
- throw new Error(errMsg(base, serviceName, "must not contain fragment"));
3192
- }
3193
- const rest = base.slice(schemeEnd + 3);
3194
- const slashIdx = rest.indexOf("/");
3195
- const host = slashIdx === -1 ? rest : rest.slice(0, slashIdx);
3196
- const path = slashIdx === -1 ? "" : rest.slice(slashIdx);
3197
- if (authorityHasEmptyPort(host)) {
3198
- throw new Error(errMsg(base, serviceName, "not a valid URL authority"));
3199
- }
3200
- validateNoUserinfo(host, base, serviceName);
3201
- validateHostPercentEncoding(host, base, serviceName);
3202
- const authority = splitParameterizedAuthority(host, base, serviceName);
3203
- validateHostHasCanonicalIpv4Syntax(
3204
- authority.normalizedHost,
3205
- base,
3206
- serviceName
3207
- );
3208
- validateHostHasNoUnsafeIdnaMappings(
3209
- authority.normalizedHost,
3210
- base,
3211
- serviceName
3212
- );
3213
- validateHostHasNoRawWildcards(authority.normalizedHost, base, serviceName);
3214
- validateParameterizedHostUrlSyntax(
3215
- base.slice(0, schemeEnd),
3216
- authority,
3217
- base,
3218
- serviceName
3219
- );
3220
- const paramNames = /* @__PURE__ */ new Set();
3221
- validateHostParams(
3222
- splitAuthorityHostSegments(authority.normalizedHost),
3223
- paramNames,
3224
- base,
3225
- serviceName
3226
- );
3227
- if (path) {
3228
- validatePathParams(splitPathSegments(path), paramNames, base, serviceName);
3229
- }
3230
- }
3231
- function validateBaseUrl(base, serviceName) {
3232
- if (base.includes("\\")) {
3233
- throw new Error(
3234
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain backslash`
3235
- );
3236
- }
3237
- const hasTemplateVars = hasBaseUrlVars(base);
3238
- const rawSyntaxTarget = baseUrlRawSyntaxTarget(base);
3239
- if (hasRawWhitespace(rawSyntaxTarget)) {
3240
- throw new Error(
3241
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain whitespace`
3242
- );
3243
- }
3244
- if (hasUnsafeUrlCodepoint(rawSyntaxTarget)) {
3245
- throw new Error(
3246
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain control characters or invalid Unicode`
3247
- );
3248
- }
3249
- let knownRawPath = rawPathFromBaseUrl(rawSyntaxTarget);
3250
- if (knownRawPath === "" && hasTemplateVars && rawSyntaxTarget.startsWith(`${AUTH_TEMPLATE_URL_PLACEHOLDER}/`)) {
3251
- knownRawPath = rawSyntaxTarget.slice(AUTH_TEMPLATE_URL_PLACEHOLDER.length);
3252
- }
3253
- if (hasUnsafeFirewallPath(knownRawPath)) {
3254
- throw new Error(
3255
- errMsg(base, serviceName, "must not contain unsafe path segments")
3256
- );
3257
- }
3258
- if (hasTemplateVars) return;
3259
- validateUrlSchemeDelimiter(base, serviceName, "base URL");
3260
- if (hasBaseUrlParams(base)) {
3261
- validateBaseUrlParams(base, serviceName);
3262
- return;
3263
- }
3264
- let url;
3265
- try {
3266
- url = new URL(base);
3267
- } catch {
3268
- if (!base.includes("://")) {
3269
- throw new Error(
3270
- `Invalid base URL "${base}" in firewall "${serviceName}": URL must include a scheme (e.g. "https://${base}")`
3271
- );
3272
- }
3273
- throw new Error(
3274
- `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL`
3275
- );
3276
- }
3277
- validateBaseUrlScheme(url.protocol.slice(0, -1), base, serviceName);
3278
- if (url.search) {
3279
- throw new Error(
3280
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain query string`
3281
- );
3282
- }
3283
- if (url.hash) {
3284
- throw new Error(
3285
- `Invalid base URL "${base}" in firewall "${serviceName}": must not contain fragment`
3286
- );
3287
- }
3288
- const authority = rawAuthorityFromBaseUrl(base);
3289
- if (authority !== null) {
3290
- if (authority === "") {
3291
- throw new Error(
3292
- `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL authority`
3293
- );
3294
- }
3295
- if (authorityHasEmptyPort(authority)) {
3296
- throw new Error(
3297
- `Invalid base URL "${base}" in firewall "${serviceName}": not a valid URL authority`
3298
- );
3299
- }
3300
- validateNoUserinfo(authority, base, serviceName);
3301
- validateHostPercentEncoding(authority, base, serviceName);
3302
- validateHostHasCanonicalIpv4Syntax(authority, base, serviceName);
3303
- validateHostHasNoUnsafeIdnaMappings(authority, base, serviceName);
3304
- }
3305
- validateStaticHostLabels(url.hostname, base, serviceName);
3306
- if (url.hostname.includes("{") || url.hostname.includes("}")) {
3307
- throw new Error(
3308
- `Invalid base URL "${base}" in firewall "${serviceName}": host must not contain braces`
3309
- );
3310
- }
3311
- }
3312
- function authBaseForStaticUrlValidation(authBase) {
3313
- if (!authBase.includes(AUTH_TEMPLATE_START)) {
3314
- return { url: authBase, dynamicPrefixSuffix: "" };
3315
- }
3316
- const replaced = authBase.replace(
3317
- AUTH_REFERENCE_PATTERN_G,
3318
- AUTH_TEMPLATE_URL_PLACEHOLDER
3319
- );
3320
- if (replaced.includes(AUTH_TEMPLATE_START)) {
3321
- return { url: authBase, dynamicPrefixSuffix: "" };
3322
- }
3323
- const prefixMatch = AUTH_REFERENCE_PREFIX_PATTERN.exec(authBase);
3324
- if (prefixMatch) {
3325
- return {
3326
- url: null,
3327
- dynamicPrefixSuffix: authBase.slice(prefixMatch[0].length).replace(AUTH_REFERENCE_PATTERN_G, AUTH_TEMPLATE_URL_PLACEHOLDER)
3328
- };
3329
- }
3330
- return { url: replaced, dynamicPrefixSuffix: "" };
1835
+ const decoded = percentDecodePathSegment(current, rejectPathStructure);
1836
+ return decoded === null || decoded !== current;
3331
1837
  }
3332
- function validateDynamicAuthBaseSuffix(authBase, suffix, serviceName) {
3333
- if (suffix.includes(AUTH_TEMPLATE_START)) {
3334
- throw new Error(
3335
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": contains unsupported template reference`
3336
- );
3337
- }
3338
- if (hasRawWhitespace(suffix)) {
3339
- throw new Error(
3340
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain whitespace`
3341
- );
1838
+ function hasUnsafeFirewallPath(path) {
1839
+ return path.split("/").some((segment) => {
1840
+ return pathSegmentHasUnsafeSyntax(segment, false);
1841
+ });
1842
+ }
1843
+ function parseCanonicalIpv4Address(value) {
1844
+ if (!isCanonicalIpv4Address(value)) {
1845
+ return null;
3342
1846
  }
3343
- if (hasUnsafeUrlCodepoint(suffix)) {
3344
- throw new Error(
3345
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain control characters or invalid Unicode`
3346
- );
1847
+ return value.split(".").map((part) => {
1848
+ return Number(part);
1849
+ });
1850
+ }
1851
+ function parseIpv6Word(value) {
1852
+ if (value === "" || value.length > 4 || ![...value].every((char) => {
1853
+ return isHexDigit(char);
1854
+ })) {
1855
+ return null;
3347
1856
  }
3348
- if (suffix.includes("#")) {
3349
- throw new Error(
3350
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain fragment`
3351
- );
1857
+ return Number.parseInt(value, 16);
1858
+ }
1859
+ function parseIpv6WordList(value) {
1860
+ if (value === "") {
1861
+ return [];
3352
1862
  }
3353
- if (suffix !== "" && !suffix.startsWith("/") && !suffix.startsWith("?")) {
3354
- throw new Error(
3355
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": dynamic URL suffix must start with "/" or "?"`
3356
- );
1863
+ const words = [];
1864
+ for (const part of value.split(":")) {
1865
+ const word = parseIpv6Word(part);
1866
+ if (word === null) {
1867
+ return null;
1868
+ }
1869
+ words.push(word);
3357
1870
  }
1871
+ return words;
3358
1872
  }
3359
- function validateAuthBaseUrl(authBase, serviceName) {
3360
- if (authBase.includes("\\")) {
3361
- throw new Error(
3362
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain backslash`
3363
- );
1873
+ function parseIpv6Address(value) {
1874
+ if (value.includes("%")) {
1875
+ return null;
3364
1876
  }
3365
- const target = authBaseForStaticUrlValidation(authBase);
3366
- validateDynamicAuthBaseSuffix(
3367
- authBase,
3368
- target.dynamicPrefixSuffix,
3369
- serviceName
3370
- );
3371
- const validationUrl = target.url;
3372
- if (validationUrl === null) return;
3373
- if (validationUrl.includes(AUTH_TEMPLATE_START)) {
3374
- throw new Error(
3375
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": contains unsupported template reference`
1877
+ let normalized = value.toLowerCase();
1878
+ if (normalized.includes(".")) {
1879
+ const lastColon = normalized.lastIndexOf(":");
1880
+ if (lastColon === -1) {
1881
+ return null;
1882
+ }
1883
+ const ipv4Parts = parseCanonicalIpv4Address(
1884
+ normalized.slice(lastColon + 1)
3376
1885
  );
1886
+ if (!ipv4Parts) {
1887
+ return null;
1888
+ }
1889
+ const highWord = (ipv4Parts[0] << 8) + ipv4Parts[1];
1890
+ const lowWord = (ipv4Parts[2] << 8) + ipv4Parts[3];
1891
+ normalized = `${normalized.slice(0, lastColon)}:${highWord.toString(16)}:${lowWord.toString(16)}`;
3377
1892
  }
3378
- if (hasRawWhitespace(validationUrl)) {
3379
- throw new Error(
3380
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain whitespace`
3381
- );
1893
+ const compressed = normalized.split("::");
1894
+ if (compressed.length > 2) {
1895
+ return null;
3382
1896
  }
3383
- if (hasUnsafeUrlCodepoint(validationUrl)) {
3384
- throw new Error(
3385
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain control characters or invalid Unicode`
3386
- );
1897
+ const left = parseIpv6WordList(compressed[0]);
1898
+ const right = compressed.length === 2 ? parseIpv6WordList(compressed[1]) : [];
1899
+ if (!left || !right) {
1900
+ return null;
3387
1901
  }
3388
- validateUrlSchemeDelimiter(
3389
- validationUrl,
3390
- serviceName,
3391
- "auth.base URL",
3392
- authBase
3393
- );
3394
- let url;
3395
- try {
3396
- url = new URL(validationUrl);
3397
- } catch {
3398
- throw new Error(
3399
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": not a valid URL`
3400
- );
1902
+ if (compressed.length === 1) {
1903
+ return left.length === 8 ? left : null;
3401
1904
  }
3402
- if (url.protocol.slice(0, -1).toLowerCase() !== REQUIRED_AUTH_BASE_URL_SCHEME) {
3403
- throw new Error(
3404
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": scheme must be https`
3405
- );
1905
+ const zeroCount = 8 - left.length - right.length;
1906
+ if (zeroCount < 1) {
1907
+ return null;
3406
1908
  }
3407
- if (url.hash) {
3408
- throw new Error(
3409
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain fragment`
3410
- );
1909
+ return [
1910
+ ...left,
1911
+ ...Array.from({ length: zeroCount }, () => {
1912
+ return 0;
1913
+ }),
1914
+ ...right
1915
+ ];
1916
+ }
1917
+ var FORBIDDEN_NORMALIZED_LABEL_CHARS = new Set("#%,/:<>?@[\\]^|[]".split(""));
1918
+ var WHITESPACE_PATTERN = /\s/u;
1919
+ var UNICODE_CONTROL_PATTERN = /\p{C}/u;
1920
+ var UNICODE_DECIMAL_NUMBER_PATTERN = /^\p{Decimal_Number}+$/u;
1921
+ function isHexDigit(char) {
1922
+ return char >= "0" && char <= "9" || char >= "a" && char <= "f" || char >= "A" && char <= "F";
1923
+ }
1924
+ function isAscii(value) {
1925
+ for (let i = 0; i < value.length; i += 1) {
1926
+ if (value.charCodeAt(i) > 127) return false;
3411
1927
  }
3412
- const authority = rawAuthorityFromBaseUrl(validationUrl);
3413
- if (authority !== null) {
3414
- if (authority === "") {
3415
- throw new Error(
3416
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": not a valid URL authority`
3417
- );
3418
- }
3419
- if (authorityHasEmptyPort(authority)) {
3420
- throw new Error(
3421
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": not a valid URL authority`
3422
- );
3423
- }
3424
- if (authority.includes("@")) {
3425
- throw new Error(
3426
- `Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain userinfo`
3427
- );
3428
- }
3429
- validateHostPercentEncoding(authority, validationUrl, serviceName);
3430
- validateHostHasCanonicalIpv4Syntax(authority, validationUrl, serviceName);
3431
- validateHostHasNoUnsafeIdnaMappings(authority, validationUrl, serviceName);
1928
+ return true;
1929
+ }
1930
+ function isIpv4NumberComponent(value) {
1931
+ if (value === "") return false;
1932
+ if (value.toLowerCase().startsWith("0x")) {
1933
+ return value.length > 2 && [...value.slice(2)].every((char) => {
1934
+ return isHexDigit(char);
1935
+ });
3432
1936
  }
3433
- validateStaticHostLabels(url.hostname, validationUrl, serviceName);
1937
+ return UNICODE_DECIMAL_NUMBER_PATTERN.test(value);
1938
+ }
1939
+ function isIpv4LiteralLike(value) {
1940
+ const parts = value.split(".");
1941
+ return parts.length >= 1 && parts.length <= 4 && parts.every(isIpv4NumberComponent);
1942
+ }
1943
+ function isCanonicalIpv4Address(value) {
1944
+ const parts = value.split(".");
1945
+ if (parts.length !== 4) return false;
1946
+ return parts.every((part) => {
1947
+ if (part === "" || ![...part].every((char) => {
1948
+ return char >= "0" && char <= "9";
1949
+ })) {
1950
+ return false;
1951
+ }
1952
+ if (part.length > 1 && part.startsWith("0")) return false;
1953
+ return Number(part) <= IPV4_MAX_OCTET;
1954
+ });
3434
1955
  }
3435
1956
 
3436
1957
  // ../../packages/api-contracts/src/contracts/logs.ts
@@ -6536,9 +5057,234 @@ var zeroConnectorCatalogContract = c21.router({
6536
5057
  }
6537
5058
  });
6538
5059
 
6539
- // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
5060
+ // ../../packages/api-contracts/src/contracts/zero-connector-check.ts
6540
5061
  init_esm_shims();
6541
5062
  var c22 = initContract();
5063
+ var boundedNameSchema = external_exports.string().min(1).max(255);
5064
+ var connectorCheckUrlRequestSchema = external_exports.object({
5065
+ mode: external_exports.literal("url"),
5066
+ method: external_exports.string().min(1).max(16),
5067
+ url: external_exports.string().min(1).max(8192),
5068
+ connectorRef: connectorCatalogRefSchema.optional(),
5069
+ environmentName: boundedNameSchema.optional()
5070
+ }).strict();
5071
+ var connectorCheckEnvironmentRequestSchema = external_exports.object({
5072
+ mode: external_exports.literal("environment"),
5073
+ environmentName: boundedNameSchema,
5074
+ permission: boundedNameSchema.optional()
5075
+ }).strict();
5076
+ var connectorCheckRequestSchema = external_exports.discriminatedUnion("mode", [
5077
+ connectorCheckUrlRequestSchema,
5078
+ connectorCheckEnvironmentRequestSchema
5079
+ ]);
5080
+ var connectorCheckIdentitySchema = external_exports.object({
5081
+ connectorRef: connectorCatalogRefSchema,
5082
+ label: external_exports.string().min(1),
5083
+ visibility: external_exports.enum(["available", "unavailable"]),
5084
+ credentialResolution: external_exports.enum(["network-boundary", "none"])
5085
+ }).strict();
5086
+ var connectorCheckCandidateSchema = external_exports.object({
5087
+ connectorRef: connectorCatalogRefSchema,
5088
+ label: external_exports.string().min(1)
5089
+ }).strict();
5090
+ var connectorCheckNotScopedRunSchema = external_exports.object({ status: external_exports.literal("not-scoped") }).strict();
5091
+ var connectorCheckConfiguredRunSchema = external_exports.object({
5092
+ status: external_exports.literal("configured"),
5093
+ bases: external_exports.array(external_exports.string().min(1))
5094
+ }).strict();
5095
+ var connectorCheckNotConfiguredRunSchema = external_exports.object({ status: external_exports.literal("not-configured") }).strict();
5096
+ var connectorCheckRunSchema = external_exports.discriminatedUnion("status", [
5097
+ connectorCheckNotScopedRunSchema,
5098
+ connectorCheckConfiguredRunSchema,
5099
+ connectorCheckNotConfiguredRunSchema
5100
+ ]);
5101
+ var connectorCheckAllowPolicySchema = external_exports.object({
5102
+ outcome: external_exports.literal("allow"),
5103
+ basis: external_exports.enum(["allow-list", "not-blocked", "no-policy", "unknown-policy"])
5104
+ }).strict();
5105
+ var connectorCheckDenyPolicySchema = external_exports.object({
5106
+ outcome: external_exports.literal("deny"),
5107
+ basis: external_exports.enum(["deny-list", "unknown-policy"])
5108
+ }).strict();
5109
+ var connectorCheckAskPolicySchema = external_exports.object({
5110
+ outcome: external_exports.literal("ask"),
5111
+ basis: external_exports.enum(["ask-list", "unknown-policy"])
5112
+ }).strict();
5113
+ var connectorCheckUnavailablePolicySchema = external_exports.object({
5114
+ outcome: external_exports.literal("unavailable"),
5115
+ basis: external_exports.enum([
5116
+ "not-run-scoped",
5117
+ "policies-unavailable",
5118
+ "connector-not-configured"
5119
+ ])
5120
+ }).strict();
5121
+ var connectorCheckPolicySchema = external_exports.discriminatedUnion("outcome", [
5122
+ connectorCheckAllowPolicySchema,
5123
+ connectorCheckDenyPolicySchema,
5124
+ connectorCheckAskPolicySchema,
5125
+ connectorCheckUnavailablePolicySchema
5126
+ ]);
5127
+ var connectorCheckMatchedPermissionSchema = external_exports.object({
5128
+ name: external_exports.string().min(1),
5129
+ policy: connectorCheckPolicySchema
5130
+ }).strict();
5131
+ var connectorCheckMatchedPermissionsSchema = external_exports.object({
5132
+ kind: external_exports.literal("matched"),
5133
+ permissions: external_exports.array(connectorCheckMatchedPermissionSchema).min(1)
5134
+ }).strict();
5135
+ var connectorCheckUnknownEndpointSchema = external_exports.object({
5136
+ kind: external_exports.literal("unknown-endpoint"),
5137
+ policy: connectorCheckPolicySchema
5138
+ }).strict();
5139
+ var connectorCheckPermissionResultSchema = external_exports.discriminatedUnion("kind", [
5140
+ connectorCheckMatchedPermissionsSchema,
5141
+ connectorCheckUnknownEndpointSchema
5142
+ ]);
5143
+ var connectorCheckResolvedUrlSchema = external_exports.object({
5144
+ outcome: external_exports.literal("resolved"),
5145
+ mode: external_exports.literal("url"),
5146
+ connector: connectorCheckIdentitySchema,
5147
+ environmentNames: external_exports.array(boundedNameSchema).nullable(),
5148
+ run: connectorCheckRunSchema,
5149
+ method: external_exports.string().min(1).max(16),
5150
+ base: external_exports.string().min(1),
5151
+ relativePath: external_exports.string().min(1),
5152
+ permission: connectorCheckPermissionResultSchema
5153
+ }).strict();
5154
+ var connectorCheckResolvedEnvironmentSchema = external_exports.object({
5155
+ outcome: external_exports.literal("resolved"),
5156
+ mode: external_exports.literal("environment"),
5157
+ connector: connectorCheckIdentitySchema,
5158
+ environmentName: boundedNameSchema,
5159
+ run: connectorCheckRunSchema,
5160
+ permission: connectorCheckPolicySchema.nullable()
5161
+ }).strict();
5162
+ var connectorCheckUnsafeInputSchema = external_exports.object({
5163
+ outcome: external_exports.literal("unsafe-input"),
5164
+ reason: external_exports.enum(["invalid-method", "invalid-url", "unsafe-path"])
5165
+ }).strict();
5166
+ var connectorCheckUnknownConnectorSchema = external_exports.object({ outcome: external_exports.literal("unknown-connector") }).strict();
5167
+ var connectorCheckUnknownEnvironmentSchema = external_exports.object({ outcome: external_exports.literal("unknown-environment") }).strict();
5168
+ var connectorCheckNoMatchSchema = external_exports.object({
5169
+ outcome: external_exports.literal("no-match"),
5170
+ scope: external_exports.enum(["run", "catalog"])
5171
+ }).strict();
5172
+ var connectorCheckAmbiguousSchema = external_exports.object({
5173
+ outcome: external_exports.literal("ambiguous"),
5174
+ candidates: external_exports.array(connectorCheckCandidateSchema).min(2)
5175
+ }).strict();
5176
+ var connectorCheckMismatchSchema = external_exports.object({
5177
+ outcome: external_exports.literal("connector-mismatch"),
5178
+ connector: connectorCheckIdentitySchema
5179
+ }).strict();
5180
+ var connectorCheckEnvironmentNotOwnedSchema = external_exports.object({
5181
+ outcome: external_exports.literal("environment-not-owned"),
5182
+ connector: connectorCheckIdentitySchema
5183
+ }).strict();
5184
+ var connectorCheckEnvironmentNotUsedSchema = external_exports.object({
5185
+ outcome: external_exports.literal("environment-not-used"),
5186
+ connector: connectorCheckIdentitySchema,
5187
+ environmentNames: external_exports.array(boundedNameSchema)
5188
+ }).strict();
5189
+ var connectorCheckUnresolvedDynamicBaseSchema = external_exports.object({
5190
+ outcome: external_exports.literal("unresolved-dynamic-base"),
5191
+ connector: connectorCheckIdentitySchema
5192
+ }).strict();
5193
+ var connectorCheckRunContextUnavailableSchema = external_exports.object({ outcome: external_exports.literal("run-context-unavailable") }).strict();
5194
+ var connectorCheckDiagnosticResultSchema = external_exports.union([
5195
+ connectorCheckResolvedUrlSchema,
5196
+ connectorCheckResolvedEnvironmentSchema,
5197
+ connectorCheckUnsafeInputSchema,
5198
+ connectorCheckUnknownConnectorSchema,
5199
+ connectorCheckUnknownEnvironmentSchema,
5200
+ connectorCheckNoMatchSchema,
5201
+ connectorCheckAmbiguousSchema,
5202
+ connectorCheckMismatchSchema,
5203
+ connectorCheckEnvironmentNotOwnedSchema,
5204
+ connectorCheckEnvironmentNotUsedSchema,
5205
+ connectorCheckUnresolvedDynamicBaseSchema,
5206
+ connectorCheckRunContextUnavailableSchema
5207
+ ]);
5208
+ var zeroConnectorCheckContract = c22.router({
5209
+ check: {
5210
+ method: "POST",
5211
+ path: "/api/zero/connectors/diagnostics/check",
5212
+ headers: authHeadersSchema,
5213
+ body: connectorCheckRequestSchema,
5214
+ responses: {
5215
+ 200: connectorCheckDiagnosticResultSchema,
5216
+ 400: apiErrorSchema,
5217
+ 401: apiErrorSchema,
5218
+ 403: apiErrorSchema,
5219
+ 404: apiErrorSchema,
5220
+ 500: apiErrorSchema
5221
+ },
5222
+ summary: "Resolve connector runtime diagnostics"
5223
+ }
5224
+ });
5225
+
5226
+ // ../../packages/api-contracts/src/contracts/zero-connector-permission-deny.ts
5227
+ init_esm_shims();
5228
+ var c23 = initContract();
5229
+ var connectorPermissionDenyRequestSchema = external_exports.object({
5230
+ method: external_exports.string().min(1).max(16),
5231
+ url: external_exports.string().min(1).max(8192)
5232
+ }).strict();
5233
+ var connectorPermissionDenyMatchedSchema = external_exports.object({
5234
+ outcome: external_exports.literal("matched"),
5235
+ label: external_exports.string().min(1),
5236
+ base: external_exports.string().min(1),
5237
+ relativePath: external_exports.string().min(1),
5238
+ permissions: external_exports.array(external_exports.string().min(1)).min(1)
5239
+ }).strict();
5240
+ var connectorPermissionDenyUnknownEndpointSchema = external_exports.object({
5241
+ outcome: external_exports.literal("unknown-endpoint"),
5242
+ label: external_exports.string().min(1),
5243
+ base: external_exports.string().min(1),
5244
+ relativePath: external_exports.string().min(1)
5245
+ }).strict();
5246
+ var connectorPermissionDenyUnknownConnectorSchema = external_exports.object({ outcome: external_exports.literal("unknown-connector") }).strict();
5247
+ var connectorPermissionDenyNoMatchingBaseSchema = external_exports.object({
5248
+ outcome: external_exports.literal("no-matching-base"),
5249
+ label: external_exports.string().min(1)
5250
+ }).strict();
5251
+ var connectorPermissionDenyUnresolvedDynamicBaseSchema = external_exports.object({
5252
+ outcome: external_exports.literal("unresolved-dynamic-base"),
5253
+ label: external_exports.string().min(1)
5254
+ }).strict();
5255
+ var connectorPermissionDenyUnsafeInputSchema = external_exports.object({
5256
+ outcome: external_exports.literal("unsafe-input"),
5257
+ reason: external_exports.enum(["invalid-method", "invalid-url", "unsafe-path"])
5258
+ }).strict();
5259
+ var connectorPermissionDenyDiagnosticResultSchema = external_exports.discriminatedUnion("outcome", [
5260
+ connectorPermissionDenyMatchedSchema,
5261
+ connectorPermissionDenyUnknownEndpointSchema,
5262
+ connectorPermissionDenyUnknownConnectorSchema,
5263
+ connectorPermissionDenyNoMatchingBaseSchema,
5264
+ connectorPermissionDenyUnresolvedDynamicBaseSchema,
5265
+ connectorPermissionDenyUnsafeInputSchema
5266
+ ]);
5267
+ var zeroConnectorPermissionDenyContract = c23.router({
5268
+ diagnose: {
5269
+ method: "POST",
5270
+ path: "/api/zero/connectors/:connectorRef/diagnostics/permission-deny",
5271
+ headers: authHeadersSchema,
5272
+ pathParams: external_exports.object({ connectorRef: connectorCatalogRefSchema }),
5273
+ body: connectorPermissionDenyRequestSchema,
5274
+ responses: {
5275
+ 200: connectorPermissionDenyDiagnosticResultSchema,
5276
+ 400: apiErrorSchema,
5277
+ 401: apiErrorSchema,
5278
+ 403: apiErrorSchema,
5279
+ 500: apiErrorSchema
5280
+ },
5281
+ summary: "Diagnose a connector permission denial"
5282
+ }
5283
+ });
5284
+
5285
+ // ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
5286
+ init_esm_shims();
5287
+ var c24 = initContract();
6542
5288
  var customConnectorFieldKindSchema = external_exports.enum(["secret", "variable"]);
6543
5289
  var customConnectorFieldSchema = external_exports.object({
6544
5290
  key: external_exports.string().min(1).max(64),
@@ -6635,7 +5381,7 @@ var saveCustomConnectorProposalResponseSchema = external_exports.object({
6635
5381
  connector: customConnectorResponseSchema,
6636
5382
  authorizedAgentId: external_exports.string().uuid().optional()
6637
5383
  });
6638
- var zeroCustomConnectorsContract = c22.router({
5384
+ var zeroCustomConnectorsContract = c24.router({
6639
5385
  list: {
6640
5386
  method: "GET",
6641
5387
  path: "/api/zero/custom-connectors",
@@ -6662,7 +5408,7 @@ var zeroCustomConnectorsContract = c22.router({
6662
5408
  summary: "Create an org custom connector"
6663
5409
  }
6664
5410
  });
6665
- var zeroCustomConnectorByIdContract = c22.router({
5411
+ var zeroCustomConnectorByIdContract = c24.router({
6666
5412
  get: {
6667
5413
  method: "GET",
6668
5414
  path: "/api/zero/custom-connectors/:id",
@@ -6683,7 +5429,7 @@ var zeroCustomConnectorByIdContract = c22.router({
6683
5429
  headers: authHeadersSchema,
6684
5430
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
6685
5431
  responses: {
6686
- 204: c22.noBody(),
5432
+ 204: c24.noBody(),
6687
5433
  401: apiErrorSchema,
6688
5434
  403: apiErrorSchema,
6689
5435
  404: apiErrorSchema,
@@ -6708,7 +5454,7 @@ var zeroCustomConnectorByIdContract = c22.router({
6708
5454
  summary: "Rename an org custom connector"
6709
5455
  }
6710
5456
  });
6711
- var zeroCustomConnectorSecretContract = c22.router({
5457
+ var zeroCustomConnectorSecretContract = c24.router({
6712
5458
  set: {
6713
5459
  method: "PUT",
6714
5460
  path: "/api/zero/custom-connectors/:id/secret",
@@ -6716,7 +5462,7 @@ var zeroCustomConnectorSecretContract = c22.router({
6716
5462
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
6717
5463
  body: setCustomConnectorSecretBodySchema,
6718
5464
  responses: {
6719
- 204: c22.noBody(),
5465
+ 204: c24.noBody(),
6720
5466
  400: apiErrorSchema,
6721
5467
  401: apiErrorSchema,
6722
5468
  404: apiErrorSchema,
@@ -6730,7 +5476,7 @@ var zeroCustomConnectorSecretContract = c22.router({
6730
5476
  headers: authHeadersSchema,
6731
5477
  pathParams: external_exports.object({ id: external_exports.string().uuid() }),
6732
5478
  responses: {
6733
- 204: c22.noBody(),
5479
+ 204: c24.noBody(),
6734
5480
  401: apiErrorSchema,
6735
5481
  404: apiErrorSchema,
6736
5482
  500: apiErrorSchema
@@ -6738,7 +5484,7 @@ var zeroCustomConnectorSecretContract = c22.router({
6738
5484
  summary: "Clear the calling user's secret for a custom connector"
6739
5485
  }
6740
5486
  });
6741
- var zeroCustomConnectorProposalContract = c22.router({
5487
+ var zeroCustomConnectorProposalContract = c24.router({
6742
5488
  save: {
6743
5489
  method: "POST",
6744
5490
  path: "/api/zero/custom-connectors/proposals/save",
@@ -6766,18 +5512,6 @@ async function listZeroConnectors() {
6766
5512
  }
6767
5513
  handleError(result, "Failed to list connectors");
6768
5514
  }
6769
- async function searchZeroConnectors(keyword) {
6770
- const config = await getClientConfig();
6771
- const client = initClient(zeroConnectorsSearchContract, config);
6772
- const result = await client.search({
6773
- headers: {},
6774
- query: keyword ? { keyword } : {}
6775
- });
6776
- if (result.status === 200) {
6777
- return result.body;
6778
- }
6779
- handleError(result, "Failed to search connectors");
6780
- }
6781
5515
  async function listZeroConnectorCatalog() {
6782
5516
  const config = await getClientConfig();
6783
5517
  const client = initClient(zeroConnectorCatalogContract, config);
@@ -6818,6 +5552,36 @@ async function getZeroConnectorCatalogPermissions(connectorRef) {
6818
5552
  `Failed to get connector permission metadata for "${connectorRef}"`
6819
5553
  );
6820
5554
  }
5555
+ async function diagnoseZeroConnectorCheck(request) {
5556
+ const config = await getClientConfig();
5557
+ const client = initClient(zeroConnectorCheckContract, {
5558
+ ...config,
5559
+ validateResponse: true
5560
+ });
5561
+ const result = await client.check({ body: request });
5562
+ if (result.status === 200) {
5563
+ return result.body;
5564
+ }
5565
+ handleError(result, "Failed to diagnose connector");
5566
+ }
5567
+ async function diagnoseZeroConnectorPermissionDeny(connectorRef, method, url) {
5568
+ const config = await getClientConfig();
5569
+ const client = initClient(zeroConnectorPermissionDenyContract, {
5570
+ ...config,
5571
+ validateResponse: true
5572
+ });
5573
+ const result = await client.diagnose({
5574
+ params: { connectorRef },
5575
+ body: { method, url }
5576
+ });
5577
+ if (result.status === 200) {
5578
+ return result.body;
5579
+ }
5580
+ handleError(
5581
+ result,
5582
+ `Failed to diagnose permission denial for "${connectorRef}"`
5583
+ );
5584
+ }
6821
5585
  async function getZeroConnector(type) {
6822
5586
  const config = await getClientConfig();
6823
5587
  const client = initClient(zeroConnectorsByTypeContract, config);
@@ -6877,7 +5641,7 @@ init_esm_shims();
6877
5641
 
6878
5642
  // ../../packages/api-contracts/src/contracts/runners.ts
6879
5643
  init_esm_shims();
6880
- var c23 = initContract();
5644
+ var c25 = initContract();
6881
5645
  var MIN_EPOCH_MS_TIMESTAMP = 1e12;
6882
5646
  var apiStartTimeSchema = external_exports.number().int().min(MIN_EPOCH_MS_TIMESTAMP);
6883
5647
  var CANONICAL_GUEST_HOME_DIR = "/home/user";
@@ -6983,7 +5747,7 @@ var heldSessionStateSchema = external_exports.object({
6983
5747
  profile: external_exports.string()
6984
5748
  }).optional()
6985
5749
  });
6986
- var runnersPollContract = c23.router({
5750
+ var runnersPollContract = c25.router({
6987
5751
  poll: {
6988
5752
  method: "POST",
6989
5753
  path: "/api/runners/poll",
@@ -7221,7 +5985,7 @@ var executionContextSchema = external_exports.object({
7221
5985
  // API-owned Codex provider/runtime metadata forwarded through the runner.
7222
5986
  codexRuntimeConfig: modelProviderCodexRuntimeConfigSchema.nullable().optional()
7223
5987
  });
7224
- var runnersJobClaimContract = c23.router({
5988
+ var runnersJobClaimContract = c25.router({
7225
5989
  claim: {
7226
5990
  method: "POST",
7227
5991
  path: "/api/runners/jobs/:id/claim",
@@ -7245,7 +6009,7 @@ var runnersJobClaimContract = c23.router({
7245
6009
  summary: "Claim a pending job for execution"
7246
6010
  }
7247
6011
  });
7248
- var runnersNetworkPolicyRefreshContract = c23.router({
6012
+ var runnersNetworkPolicyRefreshContract = c25.router({
7249
6013
  refresh: {
7250
6014
  method: "POST",
7251
6015
  path: "/api/runners/runs/:runId/network-policy-refresh",
@@ -7275,7 +6039,7 @@ var runnersNetworkPolicyRefreshContract = c23.router({
7275
6039
  summary: "Refresh active run network policies"
7276
6040
  }
7277
6041
  });
7278
- var runnersBuiltinFirewallsResolveContract = c23.router({
6042
+ var runnersBuiltinFirewallsResolveContract = c25.router({
7279
6043
  resolve: {
7280
6044
  method: "POST",
7281
6045
  path: "/api/runners/builtin-firewalls/resolve",
@@ -7304,7 +6068,7 @@ var heartbeatBodySchema = external_exports.object({
7304
6068
  heldSessionStates: external_exports.array(heldSessionStateSchema).max(1024),
7305
6069
  mode: external_exports.enum(["starting", "running", "draining", "stopping"])
7306
6070
  });
7307
- var runnersHeartbeatContract = c23.router({
6071
+ var runnersHeartbeatContract = c25.router({
7308
6072
  heartbeat: {
7309
6073
  method: "POST",
7310
6074
  path: "/api/runners/heartbeat",
@@ -7322,7 +6086,7 @@ var runnersHeartbeatContract = c23.router({
7322
6086
 
7323
6087
  // ../../packages/api-contracts/src/contracts/storages.ts
7324
6088
  init_esm_shims();
7325
- var c24 = initContract();
6089
+ var c26 = initContract();
7326
6090
  var storageTypeSchema = external_exports.enum(["volume", "artifact"]);
7327
6091
  var versionQuerySchema = external_exports.string().regex(/^[a-f0-9]{8,64}$/i, "Version must be 8-64 hex characters").optional();
7328
6092
  var uploadStorageResponseSchema = external_exports.object({
@@ -7333,7 +6097,7 @@ var uploadStorageResponseSchema = external_exports.object({
7333
6097
  type: storageTypeSchema,
7334
6098
  deduplicated: external_exports.boolean()
7335
6099
  });
7336
- var storagesContract = c24.router({
6100
+ var storagesContract = c26.router({
7337
6101
  /**
7338
6102
  * POST /api/storages
7339
6103
  * Upload a storage (tar.gz file)
@@ -7350,7 +6114,7 @@ var storagesContract = c24.router({
7350
6114
  path: "/api/storages",
7351
6115
  headers: authHeadersSchema,
7352
6116
  contentType: "multipart/form-data",
7353
- body: c24.type(),
6117
+ body: c26.type(),
7354
6118
  responses: {
7355
6119
  200: uploadStorageResponseSchema,
7356
6120
  400: apiErrorSchema,
@@ -7379,9 +6143,9 @@ var storagesContract = c24.router({
7379
6143
  }),
7380
6144
  responses: {
7381
6145
  // Binary response - actual handling done at route level
7382
- 200: c24.otherResponse({
6146
+ 200: c26.otherResponse({
7383
6147
  contentType: "application/gzip",
7384
- body: c24.type()
6148
+ body: c26.type()
7385
6149
  }),
7386
6150
  400: apiErrorSchema,
7387
6151
  401: apiErrorSchema,
@@ -7406,7 +6170,7 @@ var presignedUploadSchema = external_exports.object({
7406
6170
  key: external_exports.string(),
7407
6171
  presignedUrl: external_exports.url()
7408
6172
  });
7409
- var storagesPrepareContract = c24.router({
6173
+ var storagesPrepareContract = c26.router({
7410
6174
  prepare: {
7411
6175
  method: "POST",
7412
6176
  path: "/api/storages/prepare",
@@ -7441,7 +6205,7 @@ var storagesPrepareContract = c24.router({
7441
6205
  summary: "Prepare for direct S3 upload"
7442
6206
  }
7443
6207
  });
7444
- var storagesCommitContract = c24.router({
6208
+ var storagesCommitContract = c26.router({
7445
6209
  commit: {
7446
6210
  method: "POST",
7447
6211
  path: "/api/storages/commit",
@@ -7475,7 +6239,7 @@ var storagesCommitContract = c24.router({
7475
6239
  summary: "Commit uploaded storage"
7476
6240
  }
7477
6241
  });
7478
- var storagesDownloadContract = c24.router({
6242
+ var storagesDownloadContract = c26.router({
7479
6243
  download: {
7480
6244
  method: "GET",
7481
6245
  path: "/api/storages/download",
@@ -7511,7 +6275,7 @@ var storagesDownloadContract = c24.router({
7511
6275
  summary: "Get presigned download URL"
7512
6276
  }
7513
6277
  });
7514
- var storagesListContract = c24.router({
6278
+ var storagesListContract = c26.router({
7515
6279
  list: {
7516
6280
  method: "GET",
7517
6281
  path: "/api/storages/list",
@@ -7539,7 +6303,7 @@ var storagesListContract = c24.router({
7539
6303
  });
7540
6304
 
7541
6305
  // ../../packages/api-contracts/src/contracts/webhooks.ts
7542
- var c25 = initContract();
6306
+ var c27 = initContract();
7543
6307
  var sha256HexSchema = external_exports.string().regex(
7544
6308
  /^[a-f0-9]{64}$/,
7545
6309
  "hash must be a lowercase 64-character SHA-256 hex string"
@@ -7549,11 +6313,11 @@ var thirdPartyWebhookOkSchema = external_exports.union([
7549
6313
  external_exports.string(),
7550
6314
  external_exports.object({ message: external_exports.literal("pong") })
7551
6315
  ]);
7552
- var webhookClerkContract = c25.router({
6316
+ var webhookClerkContract = c27.router({
7553
6317
  post: {
7554
6318
  method: "POST",
7555
6319
  path: "/api/webhooks/clerk",
7556
- body: c25.type(),
6320
+ body: c27.type(),
7557
6321
  responses: {
7558
6322
  200: thirdPartyWebhookOkSchema,
7559
6323
  401: thirdPartyWebhookErrorSchema
@@ -7561,11 +6325,11 @@ var webhookClerkContract = c25.router({
7561
6325
  summary: "Handle Clerk organization and user webhooks"
7562
6326
  }
7563
6327
  });
7564
- var webhookGithubContract = c25.router({
6328
+ var webhookGithubContract = c27.router({
7565
6329
  post: {
7566
6330
  method: "POST",
7567
6331
  path: "/api/webhooks/github",
7568
- body: c25.type(),
6332
+ body: c27.type(),
7569
6333
  responses: {
7570
6334
  200: thirdPartyWebhookOkSchema,
7571
6335
  400: thirdPartyWebhookErrorSchema,
@@ -7575,11 +6339,11 @@ var webhookGithubContract = c25.router({
7575
6339
  summary: "Handle GitHub App webhooks"
7576
6340
  }
7577
6341
  });
7578
- var webhookStripeContract = c25.router({
6342
+ var webhookStripeContract = c27.router({
7579
6343
  post: {
7580
6344
  method: "POST",
7581
6345
  path: "/api/webhooks/stripe",
7582
- body: c25.type(),
6346
+ body: c27.type(),
7583
6347
  responses: {
7584
6348
  200: thirdPartyWebhookOkSchema,
7585
6349
  401: thirdPartyWebhookErrorSchema,
@@ -7618,11 +6382,11 @@ var workflowTriggerWebhookResponseSchema = external_exports.object({
7618
6382
  duplicate: external_exports.boolean(),
7619
6383
  runId: external_exports.string().uuid().optional()
7620
6384
  });
7621
- var webhookGmailContract = c25.router({
6385
+ var webhookGmailContract = c27.router({
7622
6386
  post: {
7623
6387
  method: "POST",
7624
6388
  path: "/api/webhooks/gmail",
7625
- body: c25.type(),
6389
+ body: c27.type(),
7626
6390
  responses: {
7627
6391
  200: gmailWebhookResponseSchema,
7628
6392
  400: thirdPartyWebhookErrorSchema,
@@ -7633,11 +6397,11 @@ var webhookGmailContract = c25.router({
7633
6397
  summary: "Handle Gmail Pub/Sub push notifications"
7634
6398
  }
7635
6399
  });
7636
- var webhookGoogleCalendarContract = c25.router({
6400
+ var webhookGoogleCalendarContract = c27.router({
7637
6401
  post: {
7638
6402
  method: "POST",
7639
6403
  path: "/api/webhooks/google-calendar",
7640
- body: c25.type(),
6404
+ body: c27.type(),
7641
6405
  responses: {
7642
6406
  200: googleCalendarWebhookResponseSchema,
7643
6407
  400: thirdPartyWebhookErrorSchema,
@@ -7648,11 +6412,11 @@ var webhookGoogleCalendarContract = c25.router({
7648
6412
  summary: "Handle Google Calendar push notifications"
7649
6413
  }
7650
6414
  });
7651
- var webhookGoogleWorkspaceEventsContract = c25.router({
6415
+ var webhookGoogleWorkspaceEventsContract = c27.router({
7652
6416
  post: {
7653
6417
  method: "POST",
7654
6418
  path: "/api/webhooks/google-workspace-events",
7655
- body: c25.type(),
6419
+ body: c27.type(),
7656
6420
  responses: {
7657
6421
  200: googleWorkspaceEventsWebhookResponseSchema,
7658
6422
  400: thirdPartyWebhookErrorSchema,
@@ -7663,11 +6427,11 @@ var webhookGoogleWorkspaceEventsContract = c25.router({
7663
6427
  summary: "Handle Google Workspace Events Pub/Sub push notifications"
7664
6428
  }
7665
6429
  });
7666
- var webhookNotionContract = c25.router({
6430
+ var webhookNotionContract = c27.router({
7667
6431
  post: {
7668
6432
  method: "POST",
7669
6433
  path: "/api/webhooks/notion",
7670
- body: c25.type(),
6434
+ body: c27.type(),
7671
6435
  responses: {
7672
6436
  200: notionWebhookResponseSchema,
7673
6437
  400: thirdPartyWebhookErrorSchema,
@@ -7677,14 +6441,14 @@ var webhookNotionContract = c25.router({
7677
6441
  summary: "Handle Notion webhook events"
7678
6442
  }
7679
6443
  });
7680
- var webhookWorkflowTriggerContract = c25.router({
6444
+ var webhookWorkflowTriggerContract = c27.router({
7681
6445
  post: {
7682
6446
  method: "POST",
7683
6447
  path: "/api/webhooks/workflow-triggers/:token",
7684
6448
  pathParams: external_exports.object({
7685
6449
  token: external_exports.string().min(1)
7686
6450
  }),
7687
- body: c25.type(),
6451
+ body: c27.type(),
7688
6452
  responses: {
7689
6453
  200: workflowTriggerWebhookResponseSchema,
7690
6454
  400: thirdPartyWebhookErrorSchema,
@@ -7697,7 +6461,7 @@ var webhookWorkflowTriggerContract = c25.router({
7697
6461
  summary: "Handle inbound workflow trigger webhooks"
7698
6462
  }
7699
6463
  });
7700
- var webhookBuiltInGenerationFalContract = c25.router({
6464
+ var webhookBuiltInGenerationFalContract = c27.router({
7701
6465
  post: {
7702
6466
  method: "POST",
7703
6467
  path: "/api/webhooks/built-in-generations/fal/:generationId",
@@ -7708,7 +6472,7 @@ var webhookBuiltInGenerationFalContract = c25.router({
7708
6472
  token: external_exports.string().min(1),
7709
6473
  visualKey: external_exports.string().min(1).optional()
7710
6474
  }),
7711
- body: c25.type(),
6475
+ body: c27.type(),
7712
6476
  responses: {
7713
6477
  200: thirdPartyWebhookOkSchema,
7714
6478
  400: thirdPartyWebhookErrorSchema,
@@ -7718,7 +6482,7 @@ var webhookBuiltInGenerationFalContract = c25.router({
7718
6482
  summary: "Handle fal built-in generation webhooks"
7719
6483
  }
7720
6484
  });
7721
- var webhookBuiltInGenerationBytePlusContract = c25.router({
6485
+ var webhookBuiltInGenerationBytePlusContract = c27.router({
7722
6486
  post: {
7723
6487
  method: "POST",
7724
6488
  path: "/api/webhooks/built-in-generations/byteplus/:generationId",
@@ -7729,7 +6493,7 @@ var webhookBuiltInGenerationBytePlusContract = c25.router({
7729
6493
  token: external_exports.string().min(1),
7730
6494
  visualKey: external_exports.string().min(1).optional()
7731
6495
  }),
7732
- body: c25.type(),
6496
+ body: c27.type(),
7733
6497
  responses: {
7734
6498
  200: thirdPartyWebhookOkSchema,
7735
6499
  400: thirdPartyWebhookErrorSchema,
@@ -7789,7 +6553,7 @@ var firewallAuthResponseSchema = external_exports.object({
7789
6553
  refreshedConnectors: external_exports.array(external_exports.string()),
7790
6554
  refreshedSecrets: external_exports.array(external_exports.string())
7791
6555
  });
7792
- var webhookFirewallAuthContract = c25.router({
6556
+ var webhookFirewallAuthContract = c27.router({
7793
6557
  /**
7794
6558
  * POST /api/webhooks/agent/firewall/auth
7795
6559
  * Resolve firewall auth templates and refresh access tokens on demand.
@@ -7831,7 +6595,7 @@ var webhookFirewallAuthContract = c25.router({
7831
6595
  summary: "Resolve firewall auth templates"
7832
6596
  }
7833
6597
  });
7834
- var webhookEventsContract = c25.router({
6598
+ var webhookEventsContract = c27.router({
7835
6599
  /**
7836
6600
  * POST /api/webhooks/agent/events
7837
6601
  * Receive agent events from sandbox
@@ -7858,7 +6622,7 @@ var webhookEventsContract = c25.router({
7858
6622
  summary: "Receive agent events from sandbox"
7859
6623
  }
7860
6624
  });
7861
- var webhookCompleteContract = c25.router({
6625
+ var webhookCompleteContract = c27.router({
7862
6626
  /**
7863
6627
  * POST /api/webhooks/agent/complete
7864
6628
  * Handle agent run completion (success or failure)
@@ -7895,7 +6659,7 @@ var webhookCompleteContract = c25.router({
7895
6659
  summary: "Handle agent run completion"
7896
6660
  }
7897
6661
  });
7898
- var webhookCheckpointsContract = c25.router({
6662
+ var webhookCheckpointsContract = c27.router({
7899
6663
  /**
7900
6664
  * POST /api/webhooks/agent/checkpoints
7901
6665
  * Create a recoverable checkpoint for an agent run.
@@ -7931,7 +6695,7 @@ var webhookCheckpointsContract = c25.router({
7931
6695
  summary: "Create checkpoint for agent run"
7932
6696
  }
7933
6697
  });
7934
- var webhookCheckpointsPrepareHistoryContract = c25.router({
6698
+ var webhookCheckpointsPrepareHistoryContract = c27.router({
7935
6699
  prepare: {
7936
6700
  method: "POST",
7937
6701
  path: "/api/webhooks/agent/checkpoints/prepare-history",
@@ -7957,7 +6721,7 @@ var webhookCheckpointsPrepareHistoryContract = c25.router({
7957
6721
  summary: "Get presigned URL for uploading session history to S3"
7958
6722
  }
7959
6723
  });
7960
- var webhookHeartbeatContract = c25.router({
6724
+ var webhookHeartbeatContract = c27.router({
7961
6725
  /**
7962
6726
  * POST /api/webhooks/agent/heartbeat
7963
6727
  * Receive heartbeat signals from sandbox
@@ -7981,7 +6745,7 @@ var webhookHeartbeatContract = c25.router({
7981
6745
  summary: "Receive heartbeat from sandbox"
7982
6746
  }
7983
6747
  });
7984
- var webhookStoragesContract = c25.router({
6748
+ var webhookStoragesContract = c27.router({
7985
6749
  /**
7986
6750
  * POST /api/webhooks/agent/storages
7987
6751
  * Create a new version of a storage from sandbox
@@ -7997,7 +6761,7 @@ var webhookStoragesContract = c25.router({
7997
6761
  path: "/api/webhooks/agent/storages",
7998
6762
  headers: authHeadersSchema,
7999
6763
  contentType: "multipart/form-data",
8000
- body: c25.type(),
6764
+ body: c27.type(),
8001
6765
  responses: {
8002
6766
  200: external_exports.object({
8003
6767
  versionId: external_exports.string(),
@@ -8013,7 +6777,7 @@ var webhookStoragesContract = c25.router({
8013
6777
  summary: "Upload storage version from sandbox"
8014
6778
  }
8015
6779
  });
8016
- var webhookStoragesIncrementalContract = c25.router({
6780
+ var webhookStoragesIncrementalContract = c27.router({
8017
6781
  /**
8018
6782
  * POST /api/webhooks/agent/storages/incremental
8019
6783
  * Create a new version using incremental upload
@@ -8031,7 +6795,7 @@ var webhookStoragesIncrementalContract = c25.router({
8031
6795
  path: "/api/webhooks/agent/storages/incremental",
8032
6796
  headers: authHeadersSchema,
8033
6797
  contentType: "multipart/form-data",
8034
- body: c25.type(),
6798
+ body: c27.type(),
8035
6799
  responses: {
8036
6800
  200: external_exports.object({
8037
6801
  versionId: external_exports.string(),
@@ -8125,7 +6889,7 @@ var sandboxOperationSchema = external_exports.object({
8125
6889
  session_history_transfer_encoding_state: sessionHistoryTransferEncodingStateSchema.optional(),
8126
6890
  session_history_download_source: sandboxOperationDownloadSourceSchema
8127
6891
  });
8128
- var webhookTelemetryContract = c25.router({
6892
+ var webhookTelemetryContract = c27.router({
8129
6893
  /**
8130
6894
  * POST /api/webhooks/agent/telemetry
8131
6895
  * Receive telemetry data (system log, metrics, network logs, and sandbox operations) from sandbox
@@ -8154,7 +6918,7 @@ var webhookTelemetryContract = c25.router({
8154
6918
  summary: "Receive telemetry data from sandbox"
8155
6919
  }
8156
6920
  });
8157
- var webhookStoragesPrepareContract = c25.router({
6921
+ var webhookStoragesPrepareContract = c27.router({
8158
6922
  prepare: {
8159
6923
  method: "POST",
8160
6924
  path: "/api/webhooks/agent/storages/prepare",
@@ -8188,7 +6952,7 @@ var webhookStoragesPrepareContract = c25.router({
8188
6952
  summary: "Prepare for direct S3 upload from sandbox"
8189
6953
  }
8190
6954
  });
8191
- var webhookStoragesCommitContract = c25.router({
6955
+ var webhookStoragesCommitContract = c27.router({
8192
6956
  commit: {
8193
6957
  method: "POST",
8194
6958
  path: "/api/webhooks/agent/storages/commit",
@@ -8230,7 +6994,7 @@ var webhookUsageEventItemSchema = external_exports.object({
8230
6994
  category: external_exports.string().min(1).max(100),
8231
6995
  quantity: external_exports.number().int().min(0)
8232
6996
  }).strict();
8233
- var webhookUsageEventContract = c25.router({
6997
+ var webhookUsageEventContract = c27.router({
8234
6998
  send: {
8235
6999
  method: "POST",
8236
7000
  path: "/api/webhooks/agent/usage-event",
@@ -8263,7 +7027,7 @@ var webhookModelUsageObservationItemSchema = external_exports.object({
8263
7027
  category: modelUsageObservationCategorySchema,
8264
7028
  quantity: external_exports.number().int().min(1)
8265
7029
  }).strict();
8266
- var webhookModelUsageObservationContract = c25.router({
7030
+ var webhookModelUsageObservationContract = c27.router({
8267
7031
  send: {
8268
7032
  method: "POST",
8269
7033
  path: "/api/webhooks/agent/model-usage-observation",
@@ -8301,7 +7065,7 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
8301
7065
  agentId: external_exports.string().optional(),
8302
7066
  modelProvider: external_exports.string().optional()
8303
7067
  });
8304
- var c26 = initContract();
7068
+ var c28 = initContract();
8305
7069
  var zeroLogPaginationQuerySchema = createLogPaginationQuerySchema({
8306
7070
  cursorKind: "sequence"
8307
7071
  });
@@ -8311,7 +7075,7 @@ var zeroNetworkLogPaginationQuerySchema = createLogPaginationQuerySchema({
8311
7075
  defaultLimit: 500,
8312
7076
  defaultOrder: "asc"
8313
7077
  });
8314
- var zeroRunsMainContract = c26.router({
7078
+ var zeroRunsMainContract = c28.router({
8315
7079
  create: {
8316
7080
  method: "POST",
8317
7081
  path: "/api/zero/runs",
@@ -8330,7 +7094,7 @@ var zeroRunsMainContract = c26.router({
8330
7094
  summary: "Create and execute agent run (zero proxy)"
8331
7095
  }
8332
7096
  });
8333
- var zeroRunsByIdContract = c26.router({
7097
+ var zeroRunsByIdContract = c28.router({
8334
7098
  getById: {
8335
7099
  method: "GET",
8336
7100
  path: "/api/zero/runs/:id",
@@ -8348,7 +7112,7 @@ var zeroRunsByIdContract = c26.router({
8348
7112
  summary: "Get agent run by ID (zero proxy)"
8349
7113
  }
8350
7114
  });
8351
- var zeroRunsCancelContract = c26.router({
7115
+ var zeroRunsCancelContract = c28.router({
8352
7116
  cancel: {
8353
7117
  method: "POST",
8354
7118
  path: "/api/zero/runs/:id/cancel",
@@ -8367,7 +7131,7 @@ var zeroRunsCancelContract = c26.router({
8367
7131
  summary: "Cancel a pending or running run (zero proxy)"
8368
7132
  }
8369
7133
  });
8370
- var zeroRunsQueueContract = c26.router({
7134
+ var zeroRunsQueueContract = c28.router({
8371
7135
  getQueue: {
8372
7136
  method: "GET",
8373
7137
  path: "/api/zero/runs/queue",
@@ -8380,7 +7144,7 @@ var zeroRunsQueueContract = c26.router({
8380
7144
  summary: "Get org run queue status (zero proxy)"
8381
7145
  }
8382
7146
  });
8383
- var zeroRunAgentEventsContract = c26.router({
7147
+ var zeroRunAgentEventsContract = c28.router({
8384
7148
  getAgentEvents: {
8385
7149
  method: "GET",
8386
7150
  path: "/api/zero/runs/:id/telemetry/agent",
@@ -8444,7 +7208,7 @@ var runContextResponseSchema = external_exports.object({
8444
7208
  artifact: runContextArtifactSchema.nullable(),
8445
7209
  featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).nullable()
8446
7210
  });
8447
- var zeroRunContextContract = c26.router({
7211
+ var zeroRunContextContract = c28.router({
8448
7212
  getContext: {
8449
7213
  method: "GET",
8450
7214
  path: "/api/zero/runs/:id/context",
@@ -8462,7 +7226,7 @@ var zeroRunContextContract = c26.router({
8462
7226
  summary: "Get run execution context snapshot for debugging"
8463
7227
  }
8464
7228
  });
8465
- var zeroRunNetworkLogsContract = c26.router({
7229
+ var zeroRunNetworkLogsContract = c28.router({
8466
7230
  getNetworkLogs: {
8467
7231
  method: "GET",
8468
7232
  path: "/api/zero/runs/:id/network",
@@ -8484,7 +7248,7 @@ var zeroRunNetworkLogsContract = c26.router({
8484
7248
  var runRunnerResponseSchema = external_exports.object({
8485
7249
  sandboxReuseResult: sandboxReuseResultSchema.nullable()
8486
7250
  });
8487
- var zeroRunRunnerContract = c26.router({
7251
+ var zeroRunRunnerContract = c28.router({
8488
7252
  getRunner: {
8489
7253
  method: "GET",
8490
7254
  path: "/api/zero/runs/:id/runner",
@@ -8502,7 +7266,7 @@ var zeroRunRunnerContract = c26.router({
8502
7266
  summary: "Get runner-level metadata for a run"
8503
7267
  }
8504
7268
  });
8505
- var zeroLogsSearchContract = c26.router({
7269
+ var zeroLogsSearchContract = c28.router({
8506
7270
  searchLogs: {
8507
7271
  method: "GET",
8508
7272
  path: "/api/zero/logs/search",
@@ -8535,13 +7299,6 @@ async function getZeroRunAgentEvents(id, options) {
8535
7299
  if (result.status === 200) return result.body;
8536
7300
  handleError(result, `Failed to get zero run events for "${id}"`);
8537
7301
  }
8538
- async function getZeroRunContext(id) {
8539
- const config = await getClientConfig();
8540
- const client = initClient(zeroRunContextContract, config);
8541
- const result = await client.getContext({ params: { id } });
8542
- if (result.status === 200) return result.body;
8543
- handleError(result, `Failed to get zero run context for "${id}"`);
8544
- }
8545
7302
 
8546
7303
  // src/lib/api/domains/zero-chat.ts
8547
7304
  init_esm_shims();
@@ -8605,7 +7362,7 @@ init_esm_shims();
8605
7362
 
8606
7363
  // ../../packages/api-contracts/src/contracts/zero-developer-support.ts
8607
7364
  init_esm_shims();
8608
- var c27 = initContract();
7365
+ var c29 = initContract();
8609
7366
  var developerSupportBodySchema = external_exports.object({
8610
7367
  title: external_exports.string().min(1, "Title is required"),
8611
7368
  description: external_exports.string().min(1, "Description is required"),
@@ -8617,7 +7374,7 @@ var consentCodeResponseSchema = external_exports.object({
8617
7374
  var submitResponseSchema = external_exports.object({
8618
7375
  reference: external_exports.string()
8619
7376
  });
8620
- var zeroDeveloperSupportContract = c27.router({
7377
+ var zeroDeveloperSupportContract = c29.router({
8621
7378
  submit: {
8622
7379
  method: "POST",
8623
7380
  path: "/api/zero/developer-support",
@@ -8813,7 +7570,7 @@ init_esm_shims();
8813
7570
 
8814
7571
  // ../../packages/api-contracts/src/contracts/zero-computer-use.ts
8815
7572
  init_esm_shims();
8816
- var c28 = initContract();
7573
+ var c30 = initContract();
8817
7574
  var computerUseHostStatusSchema = external_exports.enum(["online", "offline"]);
8818
7575
  var computerUseReadCommandKindSchema = external_exports.enum([
8819
7576
  "apps.list",
@@ -9188,7 +7945,7 @@ var computerUseAuditEventSchema = external_exports.object({
9188
7945
  var computerUseAuditEventListResponseSchema = external_exports.object({
9189
7946
  auditEvents: external_exports.array(computerUseAuditEventSchema)
9190
7947
  });
9191
- var zeroComputerUseHostsContract = c28.router({
7948
+ var zeroComputerUseHostsContract = c30.router({
9192
7949
  start: {
9193
7950
  method: "POST",
9194
7951
  path: "/api/zero/computer-use/hosts/start",
@@ -9227,7 +7984,7 @@ var zeroComputerUseHostsContract = c28.router({
9227
7984
  summary: "Delete a desktop computer-use host"
9228
7985
  }
9229
7986
  });
9230
- var zeroComputerUseHeartbeatContract = c28.router({
7987
+ var zeroComputerUseHeartbeatContract = c30.router({
9231
7988
  heartbeat: {
9232
7989
  method: "POST",
9233
7990
  path: "/api/zero/computer-use/heartbeat",
@@ -9252,7 +8009,7 @@ var zeroComputerUseHeartbeatContract = c28.router({
9252
8009
  summary: "Stop a desktop computer-use host"
9253
8010
  }
9254
8011
  });
9255
- var zeroComputerUseAuthorizationRequestsContract = c28.router({
8012
+ var zeroComputerUseAuthorizationRequestsContract = c30.router({
9256
8013
  create: {
9257
8014
  method: "POST",
9258
8015
  path: "/api/zero/computer-use/authorization-requests",
@@ -9299,7 +8056,7 @@ var zeroComputerUseAuthorizationRequestsContract = c28.router({
9299
8056
  summary: "Bind a Computer Use host for a delegated authorization request"
9300
8057
  }
9301
8058
  });
9302
- var zeroComputerUseCommandContract = c28.router({
8059
+ var zeroComputerUseCommandContract = c30.router({
9303
8060
  create: {
9304
8061
  method: "POST",
9305
8062
  path: "/api/zero/computer-use/commands",
@@ -9334,7 +8091,7 @@ var zeroComputerUseCommandContract = c28.router({
9334
8091
  headers: authHeadersSchema,
9335
8092
  pathParams: commandIdPathParamsSchema,
9336
8093
  responses: {
9337
- 200: c28.type(),
8094
+ 200: c30.type(),
9338
8095
  401: apiErrorSchema,
9339
8096
  403: apiErrorSchema,
9340
8097
  404: apiErrorSchema
@@ -9347,7 +8104,7 @@ var zeroComputerUseCommandContract = c28.router({
9347
8104
  headers: authHeadersSchema,
9348
8105
  pathParams: commandIdPathParamsSchema,
9349
8106
  responses: {
9350
- 200: c28.type(),
8107
+ 200: c30.type(),
9351
8108
  401: apiErrorSchema,
9352
8109
  403: apiErrorSchema,
9353
8110
  404: apiErrorSchema
@@ -9355,7 +8112,7 @@ var zeroComputerUseCommandContract = c28.router({
9355
8112
  summary: "Download offloaded desktop computer-use plugin content"
9356
8113
  }
9357
8114
  });
9358
- var zeroComputerUseWriteCommandContract = c28.router({
8115
+ var zeroComputerUseWriteCommandContract = c30.router({
9359
8116
  create: {
9360
8117
  method: "POST",
9361
8118
  path: "/api/zero/computer-use/write-commands",
@@ -9372,7 +8129,7 @@ var zeroComputerUseWriteCommandContract = c28.router({
9372
8129
  summary: "Create a desktop computer-use write command"
9373
8130
  }
9374
8131
  });
9375
- var zeroComputerUsePluginCommandContract = c28.router({
8132
+ var zeroComputerUsePluginCommandContract = c30.router({
9376
8133
  create: {
9377
8134
  method: "POST",
9378
8135
  path: "/api/zero/computer-use/plugin-commands",
@@ -9389,7 +8146,7 @@ var zeroComputerUsePluginCommandContract = c28.router({
9389
8146
  summary: "Create a desktop computer-use plugin command"
9390
8147
  }
9391
8148
  });
9392
- var zeroComputerUseHostCommandsContract = c28.router({
8149
+ var zeroComputerUseHostCommandsContract = c30.router({
9393
8150
  next: {
9394
8151
  method: "POST",
9395
8152
  path: "/api/zero/computer-use/host/commands/next",
@@ -9417,7 +8174,7 @@ var zeroComputerUseHostCommandsContract = c28.router({
9417
8174
  summary: "Complete a desktop computer-use command"
9418
8175
  }
9419
8176
  });
9420
- var zeroComputerUseAuditEventsContract = c28.router({
8177
+ var zeroComputerUseAuditEventsContract = c30.router({
9421
8178
  list: {
9422
8179
  method: "GET",
9423
8180
  path: "/api/zero/computer-use/audit-events",
@@ -9716,7 +8473,7 @@ init_esm_shims();
9716
8473
 
9717
8474
  // ../../packages/api-contracts/src/contracts/composes.ts
9718
8475
  init_esm_shims();
9719
- var c29 = initContract();
8476
+ var c31 = initContract();
9720
8477
  var MOUNT_PATH_TEMPLATE = "${{ working_dir }}";
9721
8478
  var composeVersionQuerySchema = external_exports.string().min(1, "Missing version query parameter").regex(
9722
8479
  /^[a-f0-9]{8,64}$|^latest$/i,
@@ -9836,7 +8593,7 @@ var createComposeResponseSchema = external_exports.object({
9836
8593
  action: external_exports.enum(["created", "existing"]),
9837
8594
  updatedAt: external_exports.string()
9838
8595
  });
9839
- var composesMainContract = c29.router({
8596
+ var composesMainContract = c31.router({
9840
8597
  /**
9841
8598
  * GET /api/agent/composes?name={name}&org={org}
9842
8599
  * Get agent compose by name with HEAD version content
@@ -9882,7 +8639,7 @@ var composesMainContract = c29.router({
9882
8639
  summary: "Create or update agent compose version"
9883
8640
  }
9884
8641
  });
9885
- var composesByIdContract = c29.router({
8642
+ var composesByIdContract = c31.router({
9886
8643
  /**
9887
8644
  * GET /api/agent/composes/:id
9888
8645
  * Get agent compose by ID with HEAD version content
@@ -9904,7 +8661,7 @@ var composesByIdContract = c29.router({
9904
8661
  summary: "Get agent compose by ID"
9905
8662
  }
9906
8663
  });
9907
- var composesVersionsContract = c29.router({
8664
+ var composesVersionsContract = c31.router({
9908
8665
  /**
9909
8666
  * GET /api/agent/composes/versions?composeId={id}&version={hash|tag}
9910
8667
  * Resolve a version specifier to a full version ID
@@ -10058,7 +8815,7 @@ init_esm_shims();
10058
8815
 
10059
8816
  // ../../packages/api-contracts/src/contracts/sessions.ts
10060
8817
  init_esm_shims();
10061
- var c30 = initContract();
8818
+ var c32 = initContract();
10062
8819
  var sessionResponseSchema = external_exports.object({
10063
8820
  id: external_exports.string(),
10064
8821
  agentComposeId: external_exports.string(),
@@ -10099,7 +8856,7 @@ var checkpointResponseSchema = external_exports.object({
10099
8856
  volumeVersionsSnapshot: volumeVersionsSnapshotSchema2.nullable(),
10100
8857
  createdAt: external_exports.string()
10101
8858
  });
10102
- var sessionsByIdContract = c30.router({
8859
+ var sessionsByIdContract = c32.router({
10103
8860
  /**
10104
8861
  * GET /api/agent/sessions/:id
10105
8862
  * Get session by ID
@@ -10120,7 +8877,7 @@ var sessionsByIdContract = c30.router({
10120
8877
  summary: "Get session by ID"
10121
8878
  }
10122
8879
  });
10123
- var checkpointsByIdContract = c30.router({
8880
+ var checkpointsByIdContract = c32.router({
10124
8881
  /**
10125
8882
  * GET /api/agent/checkpoints/:id
10126
8883
  * Get checkpoint by ID
@@ -10273,8 +9030,8 @@ var setVariableRequestSchema = external_exports.object({
10273
9030
  });
10274
9031
 
10275
9032
  // ../../packages/api-contracts/src/contracts/zero-secrets.ts
10276
- var c31 = initContract();
10277
- var zeroSecretsContract = c31.router({
9033
+ var c33 = initContract();
9034
+ var zeroSecretsContract = c33.router({
10278
9035
  list: {
10279
9036
  method: "GET",
10280
9037
  path: "/api/zero/secrets",
@@ -10301,7 +9058,7 @@ var zeroSecretsContract = c31.router({
10301
9058
  summary: "Create or update a secret"
10302
9059
  }
10303
9060
  });
10304
- var zeroSecretsByNameContract = c31.router({
9061
+ var zeroSecretsByNameContract = c33.router({
10305
9062
  delete: {
10306
9063
  method: "DELETE",
10307
9064
  path: "/api/zero/secrets/:name",
@@ -10310,7 +9067,7 @@ var zeroSecretsByNameContract = c31.router({
10310
9067
  name: secretNameSchema
10311
9068
  }),
10312
9069
  responses: {
10313
- 204: c31.noBody(),
9070
+ 204: c33.noBody(),
10314
9071
  401: apiErrorSchema,
10315
9072
  404: apiErrorSchema,
10316
9073
  500: apiErrorSchema
@@ -10318,7 +9075,7 @@ var zeroSecretsByNameContract = c31.router({
10318
9075
  summary: "Delete a secret by name"
10319
9076
  }
10320
9077
  });
10321
- var zeroVariablesContract = c31.router({
9078
+ var zeroVariablesContract = c33.router({
10322
9079
  list: {
10323
9080
  method: "GET",
10324
9081
  path: "/api/zero/variables",
@@ -10345,7 +9102,7 @@ var zeroVariablesContract = c31.router({
10345
9102
  summary: "Create or update a variable"
10346
9103
  }
10347
9104
  });
10348
- var zeroVariablesByNameContract = c31.router({
9105
+ var zeroVariablesByNameContract = c33.router({
10349
9106
  delete: {
10350
9107
  method: "DELETE",
10351
9108
  path: "/api/zero/variables/:name",
@@ -10354,7 +9111,7 @@ var zeroVariablesByNameContract = c31.router({
10354
9111
  name: variableNameSchema
10355
9112
  }),
10356
9113
  responses: {
10357
- 204: c31.noBody(),
9114
+ 204: c33.noBody(),
10358
9115
  401: apiErrorSchema,
10359
9116
  404: apiErrorSchema,
10360
9117
  500: apiErrorSchema
@@ -10495,9 +9252,9 @@ init_esm_shims();
10495
9252
 
10496
9253
  // ../../packages/api-contracts/src/contracts/zero-model-providers.ts
10497
9254
  init_esm_shims();
10498
- var c32 = initContract();
9255
+ var c34 = initContract();
10499
9256
  var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
10500
- var zeroModelProvidersMainContract = c32.router({
9257
+ var zeroModelProvidersMainContract = c34.router({
10501
9258
  list: {
10502
9259
  method: "GET",
10503
9260
  path: "/api/zero/model-providers",
@@ -10526,7 +9283,7 @@ var zeroModelProvidersMainContract = c32.router({
10526
9283
  summary: "Create or update an org-level model provider (admin only)"
10527
9284
  }
10528
9285
  });
10529
- var zeroModelProvidersByTypeContract = c32.router({
9286
+ var zeroModelProvidersByTypeContract = c34.router({
10530
9287
  delete: {
10531
9288
  method: "DELETE",
10532
9289
  path: "/api/zero/model-providers/:type",
@@ -10535,7 +9292,7 @@ var zeroModelProvidersByTypeContract = c32.router({
10535
9292
  type: modelProviderTypeSchema
10536
9293
  }),
10537
9294
  responses: {
10538
- 204: c32.noBody(),
9295
+ 204: c34.noBody(),
10539
9296
  401: apiErrorSchema,
10540
9297
  403: apiErrorSchema,
10541
9298
  404: apiErrorSchema,
@@ -10581,7 +9338,7 @@ init_esm_shims();
10581
9338
 
10582
9339
  // ../../packages/api-contracts/src/contracts/zero-workflows.ts
10583
9340
  init_esm_shims();
10584
- var c33 = initContract();
9341
+ var c35 = initContract();
10585
9342
  var zeroWorkflowVisibilitySchema = external_exports.enum(["public", "private"]);
10586
9343
  var zeroWorkflowNameSchema = external_exports.string().min(2).max(64).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/);
10587
9344
  var RESERVED_SKILL_FILE = "SKILL.md";
@@ -11226,7 +9983,7 @@ var zeroWorkflowConnectorReadinessResponseSchema = external_exports.object({
11226
9983
  connectors: external_exports.array(zeroWorkflowConnectorReadinessEntrySchema)
11227
9984
  }).strict();
11228
9985
  var workflowIdParams = external_exports.object({ workflowId: external_exports.string().uuid() });
11229
- var zeroWorkflowsCollectionContract = c33.router({
9986
+ var zeroWorkflowsCollectionContract = c35.router({
11230
9987
  list: {
11231
9988
  method: "GET",
11232
9989
  path: "/api/zero/workflows",
@@ -11255,7 +10012,7 @@ var zeroWorkflowsCollectionContract = c33.router({
11255
10012
  summary: "Create a workflow under an agent"
11256
10013
  }
11257
10014
  });
11258
- var zeroWorkflowsDetailContract = c33.router({
10015
+ var zeroWorkflowsDetailContract = c35.router({
11259
10016
  get: {
11260
10017
  method: "GET",
11261
10018
  path: "/api/zero/workflows/:workflowId",
@@ -11290,9 +10047,9 @@ var zeroWorkflowsDetailContract = c33.router({
11290
10047
  path: "/api/zero/workflows/:workflowId",
11291
10048
  headers: authHeadersSchema,
11292
10049
  pathParams: workflowIdParams,
11293
- body: c33.noBody(),
10050
+ body: c35.noBody(),
11294
10051
  responses: {
11295
- 204: c33.noBody(),
10052
+ 204: c35.noBody(),
11296
10053
  401: apiErrorSchema,
11297
10054
  403: apiErrorSchema,
11298
10055
  404: apiErrorSchema
@@ -11320,7 +10077,7 @@ var zeroWorkflowsDetailContract = c33.router({
11320
10077
  path: "/api/zero/workflows/:workflowId/chat-thread",
11321
10078
  headers: authHeadersSchema,
11322
10079
  pathParams: workflowIdParams,
11323
- body: c33.noBody(),
10080
+ body: c35.noBody(),
11324
10081
  responses: {
11325
10082
  200: zeroWorkflowChatThreadResponseSchema,
11326
10083
  401: apiErrorSchema,
@@ -11334,7 +10091,7 @@ var zeroWorkflowsDetailContract = c33.router({
11334
10091
  path: "/api/zero/workflows/:workflowId/run",
11335
10092
  headers: authHeadersSchema,
11336
10093
  pathParams: workflowIdParams,
11337
- body: c33.noBody(),
10094
+ body: c35.noBody(),
11338
10095
  responses: {
11339
10096
  200: zeroWorkflowRunResponseSchema,
11340
10097
  401: apiErrorSchema,
@@ -11349,7 +10106,7 @@ var zeroWorkflowsDetailContract = c33.router({
11349
10106
  path: "/api/zero/workflows/:workflowId/connector-readiness",
11350
10107
  headers: authHeadersSchema,
11351
10108
  pathParams: workflowIdParams,
11352
- body: c33.noBody(),
10109
+ body: c35.noBody(),
11353
10110
  responses: {
11354
10111
  200: zeroWorkflowConnectorReadinessResponseSchema,
11355
10112
  400: apiErrorSchema,
@@ -11362,13 +10119,13 @@ var zeroWorkflowsDetailContract = c33.router({
11362
10119
  summary: "Detect the built-in connectors a workflow may need and report their readiness"
11363
10120
  }
11364
10121
  });
11365
- var zeroWorkflowVisibilityContract = c33.router({
10122
+ var zeroWorkflowVisibilityContract = c35.router({
11366
10123
  publish: {
11367
10124
  method: "POST",
11368
10125
  path: "/api/zero/workflows/:workflowId/publish",
11369
10126
  headers: authHeadersSchema,
11370
10127
  pathParams: workflowIdParams,
11371
- body: c33.noBody(),
10128
+ body: c35.noBody(),
11372
10129
  responses: {
11373
10130
  200: zeroWorkflowSummarySchema,
11374
10131
  400: apiErrorSchema,
@@ -11384,7 +10141,7 @@ var zeroWorkflowVisibilityContract = c33.router({
11384
10141
  path: "/api/zero/workflows/:workflowId/demote",
11385
10142
  headers: authHeadersSchema,
11386
10143
  pathParams: workflowIdParams,
11387
- body: c33.noBody(),
10144
+ body: c35.noBody(),
11388
10145
  responses: {
11389
10146
  200: zeroWorkflowSummarySchema,
11390
10147
  400: apiErrorSchema,
@@ -11402,7 +10159,7 @@ var zeroWorkflowWebhookSecretResponseSchema = external_exports.object({
11402
10159
  webhookUrl: external_exports.url(),
11403
10160
  webhookSecret: external_exports.string().min(1)
11404
10161
  });
11405
- var zeroWorkflowTriggersContract = c33.router({
10162
+ var zeroWorkflowTriggersContract = c35.router({
11406
10163
  listWorkspace: {
11407
10164
  method: "GET",
11408
10165
  path: "/api/zero/workflow-triggers",
@@ -11491,9 +10248,9 @@ var zeroWorkflowTriggersContract = c33.router({
11491
10248
  path: "/api/zero/workflow-triggers/:id",
11492
10249
  headers: authHeadersSchema,
11493
10250
  pathParams: triggerIdParams,
11494
- body: c33.noBody(),
10251
+ body: c35.noBody(),
11495
10252
  responses: {
11496
- 204: c33.noBody(),
10253
+ 204: c35.noBody(),
11497
10254
  401: apiErrorSchema,
11498
10255
  403: apiErrorSchema,
11499
10256
  404: apiErrorSchema
@@ -11505,7 +10262,7 @@ var zeroWorkflowTriggersContract = c33.router({
11505
10262
  path: "/api/zero/workflow-triggers/:id/enable",
11506
10263
  headers: authHeadersSchema,
11507
10264
  pathParams: triggerIdParams,
11508
- body: c33.noBody(),
10265
+ body: c35.noBody(),
11509
10266
  responses: {
11510
10267
  200: zeroWorkflowTriggerSummarySchema,
11511
10268
  400: apiErrorSchema,
@@ -11522,7 +10279,7 @@ var zeroWorkflowTriggersContract = c33.router({
11522
10279
  path: "/api/zero/workflow-triggers/:id/disable",
11523
10280
  headers: authHeadersSchema,
11524
10281
  pathParams: triggerIdParams,
11525
- body: c33.noBody(),
10282
+ body: c35.noBody(),
11526
10283
  responses: {
11527
10284
  200: zeroWorkflowTriggerSummarySchema,
11528
10285
  401: apiErrorSchema,
@@ -11536,7 +10293,7 @@ var zeroWorkflowTriggersContract = c33.router({
11536
10293
  path: "/api/zero/workflow-triggers/:id/run",
11537
10294
  headers: authHeadersSchema,
11538
10295
  pathParams: triggerIdParams,
11539
- body: c33.noBody(),
10296
+ body: c35.noBody(),
11540
10297
  responses: {
11541
10298
  201: zeroWorkflowRunResponseSchema,
11542
10299
  400: apiErrorSchema,
@@ -11552,7 +10309,7 @@ var zeroWorkflowTriggersContract = c33.router({
11552
10309
  path: "/api/zero/workflow-triggers/:id/webhook-secret",
11553
10310
  headers: authHeadersSchema,
11554
10311
  pathParams: triggerIdParams,
11555
- body: c33.noBody(),
10312
+ body: c35.noBody(),
11556
10313
  responses: {
11557
10314
  200: zeroWorkflowWebhookSecretResponseSchema,
11558
10315
  401: apiErrorSchema,
@@ -11667,7 +10424,7 @@ import { pipeline } from "stream/promises";
11667
10424
 
11668
10425
  // ../../packages/api-contracts/src/contracts/integrations.ts
11669
10426
  init_esm_shims();
11670
- var c34 = initContract();
10427
+ var c36 = initContract();
11671
10428
  var sendSlackMessageBodySchema = external_exports.object({
11672
10429
  channel: external_exports.string().min(1, "Channel ID is required").optional(),
11673
10430
  user: external_exports.string().min(1, "User ID is required").optional(),
@@ -11685,7 +10442,7 @@ var sendSlackMessageResponseSchema = external_exports.object({
11685
10442
  ts: external_exports.string().optional(),
11686
10443
  channel: external_exports.string().optional()
11687
10444
  });
11688
- var integrationsSlackMessageContract = c34.router({
10445
+ var integrationsSlackMessageContract = c36.router({
11689
10446
  sendMessage: {
11690
10447
  method: "POST",
11691
10448
  path: "/api/zero/integrations/slack/message",
@@ -11713,7 +10470,7 @@ var sendTelegramMessageResponseSchema = external_exports.object({
11713
10470
  messageId: external_exports.number().int(),
11714
10471
  chatId: external_exports.string()
11715
10472
  });
11716
- var integrationsTelegramMessageContract = c34.router({
10473
+ var integrationsTelegramMessageContract = c36.router({
11717
10474
  sendMessage: {
11718
10475
  method: "POST",
11719
10476
  path: "/api/zero/integrations/telegram/message",
@@ -11772,7 +10529,7 @@ var sendTeamsMessageResponseSchema = external_exports.object({
11772
10529
  activityId: external_exports.string().optional(),
11773
10530
  conversationId: external_exports.string()
11774
10531
  });
11775
- var integrationsTeamsMessageContract = c34.router({
10532
+ var integrationsTeamsMessageContract = c36.router({
11776
10533
  sendMessage: {
11777
10534
  method: "POST",
11778
10535
  path: "/api/zero/integrations/teams/message",
@@ -11800,7 +10557,7 @@ var sendPhoneMessageResponseSchema = external_exports.object({
11800
10557
  channel: external_exports.string().nullable(),
11801
10558
  toNumber: external_exports.string()
11802
10559
  });
11803
- var integrationsPhoneMessageContract = c34.router({
10560
+ var integrationsPhoneMessageContract = c36.router({
11804
10561
  sendMessage: {
11805
10562
  method: "POST",
11806
10563
  path: "/api/zero/integrations/phone/message",
@@ -11820,14 +10577,14 @@ var integrationsPhoneMessageContract = c34.router({
11820
10577
  var phoneDownloadFileQuerySchema = external_exports.object({
11821
10578
  file_id: external_exports.string().min(1, "file_id query parameter is required")
11822
10579
  });
11823
- var integrationsPhoneDownloadFileContract = c34.router({
10580
+ var integrationsPhoneDownloadFileContract = c36.router({
11824
10581
  download: {
11825
10582
  method: "GET",
11826
10583
  path: "/api/zero/integrations/phone/download-file",
11827
10584
  headers: authHeadersSchema,
11828
10585
  query: phoneDownloadFileQuerySchema,
11829
10586
  responses: {
11830
- 200: c34.type(),
10587
+ 200: c36.type(),
11831
10588
  400: apiErrorSchema,
11832
10589
  401: apiErrorSchema,
11833
10590
  403: apiErrorSchema,
@@ -11862,7 +10619,7 @@ var telegramBotListItemSchema = external_exports.object({
11862
10619
  var listTelegramBotsResponseSchema = external_exports.object({
11863
10620
  bots: external_exports.array(telegramBotListItemSchema)
11864
10621
  });
11865
- var integrationsTelegramBotListContract = c34.router({
10622
+ var integrationsTelegramBotListContract = c36.router({
11866
10623
  listBots: {
11867
10624
  method: "GET",
11868
10625
  path: "/api/zero/integrations/telegram/bots",
@@ -11883,7 +10640,7 @@ var slackUploadInitResponseSchema = external_exports.object({
11883
10640
  uploadUrl: external_exports.string(),
11884
10641
  fileId: external_exports.string()
11885
10642
  });
11886
- var integrationsSlackUploadInitContract = c34.router({
10643
+ var integrationsSlackUploadInitContract = c36.router({
11887
10644
  init: {
11888
10645
  method: "POST",
11889
10646
  path: "/api/zero/integrations/slack/upload-file/init",
@@ -11912,7 +10669,7 @@ var telegramUploadInitResponseSchema = external_exports.object({
11912
10669
  contentType: external_exports.string(),
11913
10670
  size: external_exports.number().int().nonnegative()
11914
10671
  });
11915
- var integrationsTelegramUploadInitContract = c34.router({
10672
+ var integrationsTelegramUploadInitContract = c36.router({
11916
10673
  init: {
11917
10674
  method: "POST",
11918
10675
  path: "/api/zero/integrations/telegram/upload-file/init",
@@ -11940,7 +10697,7 @@ var teamsUploadInitResponseSchema = external_exports.object({
11940
10697
  contentType: external_exports.string(),
11941
10698
  size: external_exports.number().int().nonnegative()
11942
10699
  });
11943
- var integrationsTeamsUploadInitContract = c34.router({
10700
+ var integrationsTeamsUploadInitContract = c36.router({
11944
10701
  init: {
11945
10702
  method: "POST",
11946
10703
  path: "/api/zero/integrations/teams/upload-file/init",
@@ -11972,7 +10729,7 @@ var telegramUploadCompleteResponseSchema = external_exports.object({
11972
10729
  size: external_exports.number().int().nonnegative(),
11973
10730
  url: external_exports.string()
11974
10731
  });
11975
- var integrationsTelegramUploadCompleteContract = c34.router({
10732
+ var integrationsTelegramUploadCompleteContract = c36.router({
11976
10733
  complete: {
11977
10734
  method: "POST",
11978
10735
  path: "/api/zero/integrations/telegram/upload-file/complete",
@@ -12004,7 +10761,7 @@ var teamsUploadCompleteResponseSchema = external_exports.object({
12004
10761
  size: external_exports.number().int().nonnegative(),
12005
10762
  url: external_exports.string()
12006
10763
  });
12007
- var integrationsTeamsUploadCompleteContract = c34.router({
10764
+ var integrationsTeamsUploadCompleteContract = c36.router({
12008
10765
  complete: {
12009
10766
  method: "POST",
12010
10767
  path: "/api/zero/integrations/teams/upload-file/complete",
@@ -12034,7 +10791,7 @@ var githubUploadInitResponseSchema = external_exports.object({
12034
10791
  contentType: external_exports.string(),
12035
10792
  size: external_exports.number().int().nonnegative()
12036
10793
  });
12037
- var integrationsGithubUploadInitContract = c34.router({
10794
+ var integrationsGithubUploadInitContract = c36.router({
12038
10795
  init: {
12039
10796
  method: "POST",
12040
10797
  path: "/api/zero/integrations/github/upload-file/init",
@@ -12068,7 +10825,7 @@ var githubUploadCompleteResponseSchema = external_exports.object({
12068
10825
  size: external_exports.number().int().nonnegative(),
12069
10826
  url: external_exports.string()
12070
10827
  });
12071
- var integrationsGithubUploadCompleteContract = c34.router({
10828
+ var integrationsGithubUploadCompleteContract = c36.router({
12072
10829
  complete: {
12073
10830
  method: "POST",
12074
10831
  path: "/api/zero/integrations/github/upload-file/complete",
@@ -12099,7 +10856,7 @@ var phoneUploadInitResponseSchema = external_exports.object({
12099
10856
  contentType: external_exports.string(),
12100
10857
  size: external_exports.number().int().nonnegative()
12101
10858
  });
12102
- var integrationsPhoneUploadInitContract = c34.router({
10859
+ var integrationsPhoneUploadInitContract = c36.router({
12103
10860
  init: {
12104
10861
  method: "POST",
12105
10862
  path: "/api/zero/integrations/phone/upload-file/init",
@@ -12130,7 +10887,7 @@ var phoneUploadCompleteResponseSchema = external_exports.object({
12130
10887
  size: external_exports.number().int().nonnegative(),
12131
10888
  url: external_exports.string()
12132
10889
  });
12133
- var integrationsPhoneUploadCompleteContract = c34.router({
10890
+ var integrationsPhoneUploadCompleteContract = c36.router({
12134
10891
  complete: {
12135
10892
  method: "POST",
12136
10893
  path: "/api/zero/integrations/phone/upload-file/complete",
@@ -12158,7 +10915,7 @@ var slackUploadCompleteResponseSchema = external_exports.object({
12158
10915
  fileId: external_exports.string(),
12159
10916
  permalink: external_exports.string()
12160
10917
  });
12161
- var integrationsSlackUploadCompleteContract = c34.router({
10918
+ var integrationsSlackUploadCompleteContract = c36.router({
12162
10919
  complete: {
12163
10920
  method: "POST",
12164
10921
  path: "/api/zero/integrations/slack/upload-file/complete",
@@ -12605,7 +11362,7 @@ init_esm_shims();
12605
11362
 
12606
11363
  // ../../packages/api-contracts/src/contracts/zero-relationships.ts
12607
11364
  init_esm_shims();
12608
- var c35 = initContract();
11365
+ var c37 = initContract();
12609
11366
  var RELATIONSHIP_SEARCH_DEFAULT_LIMIT = 100;
12610
11367
  var RELATIONSHIP_SEARCH_MAX_LIMIT = 100;
12611
11368
  var relationshipEntityTypeSchema = external_exports.enum(["person", "organization"]);
@@ -12720,7 +11477,7 @@ var resolveQuerySchema = external_exports.object({
12720
11477
  message: "Provide exactly one of id, email, or domain"
12721
11478
  }
12722
11479
  );
12723
- var zeroRelationshipsContract = c35.router({
11480
+ var zeroRelationshipsContract = c37.router({
12724
11481
  gmailStatus: {
12725
11482
  method: "GET",
12726
11483
  path: "/api/zero/relationships/gmail/status",
@@ -12847,7 +11604,7 @@ init_esm_shims();
12847
11604
 
12848
11605
  // ../../packages/api-contracts/src/contracts/zero-memory.ts
12849
11606
  init_esm_shims();
12850
- var c36 = initContract();
11607
+ var c38 = initContract();
12851
11608
  var memoryFileSchema = external_exports.object({
12852
11609
  path: external_exports.string(),
12853
11610
  size: external_exports.number()
@@ -13395,7 +12152,7 @@ var memoryDetailResponseSchema = external_exports.object({
13395
12152
  files: external_exports.array(memoryFileSchema),
13396
12153
  fileContents: external_exports.array(memoryFileContentSchema)
13397
12154
  });
13398
- var zeroMemoryContract = c36.router({
12155
+ var zeroMemoryContract = c38.router({
13399
12156
  get: {
13400
12157
  method: "GET",
13401
12158
  path: "/api/zero/memory",
@@ -14185,17 +12942,9 @@ async function getHostedSiteFiles(publicSlug) {
14185
12942
  export {
14186
12943
  connectorCatalogRefSchema,
14187
12944
  guaranteedConnectorProvidedBindingNames,
14188
- hasRawWhitespace,
14189
- hasUnsafeUrlCodepoint,
14190
- parseSegment,
14191
- splitPathSegments,
14192
12945
  UNKNOWN_PERMISSION_GRANT,
14193
12946
  firewallPoliciesSchema,
14194
12947
  hasUnsafeFirewallPath,
14195
- resolveFirewallBaseUrlTemplate,
14196
- hasBaseUrlParams,
14197
- validateBaseUrl,
14198
- validateAuthBaseUrl,
14199
12948
  authHeadersSchema,
14200
12949
  runnerGroupSchema,
14201
12950
  volumeConfigSchema,
@@ -14283,10 +13032,11 @@ export {
14283
13032
  clearGoal,
14284
13033
  customConnectorProposalSchema,
14285
13034
  listZeroConnectors,
14286
- searchZeroConnectors,
14287
13035
  listZeroConnectorCatalog,
14288
13036
  listZeroConnectorCatalogStatus,
14289
13037
  getZeroConnectorCatalogPermissions,
13038
+ diagnoseZeroConnectorCheck,
13039
+ diagnoseZeroConnectorPermissionDeny,
14290
13040
  getZeroConnector,
14291
13041
  connectZeroConnectorManualGrant,
14292
13042
  listZeroCustomConnectors,
@@ -14312,7 +13062,6 @@ export {
14312
13062
  completePhoneFileUpload,
14313
13063
  downloadPhoneFile,
14314
13064
  getZeroRunAgentEvents,
14315
- getZeroRunContext,
14316
13065
  listZeroLogs,
14317
13066
  searchZeroLogs,
14318
13067
  searchZeroChat,
@@ -14356,4 +13105,4 @@ export {
14356
13105
  completeHostedSite,
14357
13106
  getHostedSiteFiles
14358
13107
  };
14359
- //# sourceMappingURL=chunk-GIACTMOF.js.map
13108
+ //# sourceMappingURL=chunk-6NTG5UZE.js.map