@vm0/cli 9.238.6 → 9.238.8
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.
- package/{agent-RI5TB3MT.js → agent-ZQYDTKH3.js} +5 -5
- package/{banking-ZZTY42QD.js → banking-2VCIOL6P.js} +3 -3
- package/{chat-VBEB2LIU.js → chat-HIW3FYTT.js} +4 -4
- package/{chunk-2YG67KBB.js → chunk-2QGSFMHS.js} +2 -2
- package/{chunk-GE2LI4MS.js → chunk-53PEJLO7.js} +2 -2
- package/{chunk-GU4IPLKQ.js → chunk-6F7XCWTU.js} +23 -23
- package/{chunk-GU4IPLKQ.js.map → chunk-6F7XCWTU.js.map} +1 -1
- package/{chunk-MM5ESLJI.js → chunk-7DD4DWU3.js} +4 -4
- package/{chunk-MSZRROJT.js → chunk-IXT6G7VE.js} +466 -1730
- package/chunk-IXT6G7VE.js.map +1 -0
- package/{chunk-ZOTQGSKT.js → chunk-JC32CBUO.js} +2 -2
- package/{chunk-VWG7JMMA.js → chunk-RNODSGZS.js} +2 -2
- package/{chunk-3PWT6JIH.js → chunk-UPL74K7M.js} +4 -4
- package/{chunk-CEKLUICQ.js → chunk-URGJQOI7.js} +3 -3
- package/{chunk-W7KBXNOK.js → chunk-YH32H2MG.js} +15270 -386
- package/chunk-YH32H2MG.js.map +1 -0
- package/{computer-use-2GWQELMK.js → computer-use-5I7T65AQ.js} +3 -3
- package/{connector-HVF5LTLS.js → connector-GT3XTJZF.js} +4 -4
- package/{credit-DR3ZW2FG.js → credit-XSHQMFLB.js} +4 -4
- package/{developer-support-LUUIXIXG.js → developer-support-E22KJ6IN.js} +3 -3
- package/doctor-RGD5Z6QS.js +1194 -0
- package/doctor-RGD5Z6QS.js.map +1 -0
- package/{generate-EEWDZMO7.js → generate-3FIZGPD4.js} +5 -5
- package/{github-WSCP6BCL.js → github-HD6VKV4O.js} +3 -3
- package/{goal-TBQ73X4G.js → goal-CZKBZCSN.js} +3 -3
- package/{host-FF62XPMH.js → host-SLF6TPYG.js} +3 -3
- package/index.js +13 -14
- package/index.js.map +1 -1
- package/{logs-PKOHZJ5X.js → logs-2LXBYSJJ.js} +6 -7
- package/{logs-PKOHZJ5X.js.map → logs-2LXBYSJJ.js.map} +1 -1
- package/{maps-LC4V32L6.js → maps-45HJEND2.js} +3 -3
- package/{memory-IQO5L4DF.js → memory-47D3IPQ7.js} +3 -3
- package/{model-NJ3PEGDV.js → model-TVT4ELTC.js} +4 -4
- package/{model-provider-MPBVWSUT.js → model-provider-D3K3YUOF.js} +4 -4
- package/{org-FFCTROTZ.js → org-JGRFZFX4.js} +3 -3
- package/package.json +1 -1
- package/{phone-35G4MSU4.js → phone-QWCKVFHK.js} +3 -3
- package/{preference-7LX3CJUT.js → preference-CUJP35LN.js} +3 -3
- package/{relationship-PKU2B5BP.js → relationship-LMGCWEUM.js} +3 -3
- package/{resource-ENHLW46D.js → resource-XCVHZPMU.js} +8 -5
- package/resource-XCVHZPMU.js.map +1 -0
- package/{search-ZKKMK4PS.js → search-3RMFBMEZ.js} +6 -7
- package/{search-ZKKMK4PS.js.map → search-3RMFBMEZ.js.map} +1 -1
- package/{secret-7K6ED3SD.js → secret-LO2KLI5Q.js} +3 -3
- package/{slack-VTGS2LE7.js → slack-FIQUPYHT.js} +3 -3
- package/{teams-SOYUSM2G.js → teams-KTHKFCBK.js} +3 -3
- package/{telegram-F2GYSKWJ.js → telegram-TS2I2GSO.js} +3 -3
- package/{variable-6NWZSJVI.js → variable-AFCKEFT6.js} +3 -3
- package/{video-VHL2UFS7.js → video-J6JAVM3V.js} +2 -2
- package/{web-6A35VLL5.js → web-2GWKIYLR.js} +3 -3
- package/{whoami-6SU2NDI3.js → whoami-IJT7JTAH.js} +5 -5
- package/{workflow-W23JY7HR.js → workflow-OWSG5JJK.js} +3 -3
- package/zero.js +34 -34
- package/adzuna.generated-NY6BDYRS.js +0 -16
- package/adzuna.generated-NY6BDYRS.js.map +0 -1
- package/adzuna.generated-UYD26H6U.js +0 -16
- package/adzuna.generated-UYD26H6U.js.map +0 -1
- package/agentmail.generated-77KAUVC7.js +0 -16
- package/agentmail.generated-77KAUVC7.js.map +0 -1
- package/agentmail.generated-D5K3CI4D.js +0 -16
- package/agentmail.generated-D5K3CI4D.js.map +0 -1
- package/agora.generated-2XGFL5LA.js +0 -16
- package/agora.generated-2XGFL5LA.js.map +0 -1
- package/agora.generated-QAI4NT4L.js +0 -16
- package/agora.generated-QAI4NT4L.js.map +0 -1
- package/ahrefs.generated-IYB5FTIF.js +0 -16
- package/ahrefs.generated-IYB5FTIF.js.map +0 -1
- package/ahrefs.generated-N6XI6SZP.js +0 -16
- package/ahrefs.generated-N6XI6SZP.js.map +0 -1
- package/airtable.generated-4MSPGWSM.js +0 -16
- package/airtable.generated-4MSPGWSM.js.map +0 -1
- package/airtable.generated-CV3LK62W.js +0 -16
- package/airtable.generated-CV3LK62W.js.map +0 -1
- package/alchemy.generated-FXRD7HLX.js +0 -16
- package/alchemy.generated-FXRD7HLX.js.map +0 -1
- package/alchemy.generated-L5FRQKJL.js +0 -16
- package/alchemy.generated-L5FRQKJL.js.map +0 -1
- package/altium-365.generated-IZ353434.js +0 -16
- package/altium-365.generated-IZ353434.js.map +0 -1
- package/altium-365.generated-QDLMKJPS.js +0 -16
- package/altium-365.generated-QDLMKJPS.js.map +0 -1
- package/amadeus.generated-EB6AUY2W.js +0 -16
- package/amadeus.generated-EB6AUY2W.js.map +0 -1
- package/amadeus.generated-GT4FYKKP.js +0 -16
- package/amadeus.generated-GT4FYKKP.js.map +0 -1
- package/amplitude.generated-25YXZ7DS.js +0 -16
- package/amplitude.generated-25YXZ7DS.js.map +0 -1
- package/amplitude.generated-FBXLF3CF.js +0 -16
- package/amplitude.generated-FBXLF3CF.js.map +0 -1
- package/anthropic-managed-agents.generated-GGOL2DHS.js +0 -16
- package/anthropic-managed-agents.generated-GGOL2DHS.js.map +0 -1
- package/anthropic-managed-agents.generated-OV3XUSJW.js +0 -16
- package/anthropic-managed-agents.generated-OV3XUSJW.js.map +0 -1
- package/apify.generated-GDYJRE42.js +0 -16
- package/apify.generated-GDYJRE42.js.map +0 -1
- package/apify.generated-ZPU5PRK7.js +0 -16
- package/apify.generated-ZPU5PRK7.js.map +0 -1
- package/apollo.generated-2K42PO5U.js +0 -16
- package/apollo.generated-2K42PO5U.js.map +0 -1
- package/apollo.generated-Y4GJY36V.js +0 -16
- package/apollo.generated-Y4GJY36V.js.map +0 -1
- package/asana.generated-UQEJDGNN.js +0 -16
- package/asana.generated-UQEJDGNN.js.map +0 -1
- package/asana.generated-W7WM5RGV.js +0 -16
- package/asana.generated-W7WM5RGV.js.map +0 -1
- package/ashby.generated-F65MN25P.js +0 -16
- package/ashby.generated-F65MN25P.js.map +0 -1
- package/ashby.generated-FFGCPPDE.js +0 -16
- package/ashby.generated-FFGCPPDE.js.map +0 -1
- package/atlascloud.generated-OKU5H4JY.js +0 -16
- package/atlascloud.generated-OKU5H4JY.js.map +0 -1
- package/atlascloud.generated-ZVFC4NA6.js +0 -16
- package/atlascloud.generated-ZVFC4NA6.js.map +0 -1
- package/atlassian.generated-VHLFBNH6.js +0 -16
- package/atlassian.generated-VHLFBNH6.js.map +0 -1
- package/atlassian.generated-W4ILXBVF.js +0 -16
- package/atlassian.generated-W4ILXBVF.js.map +0 -1
- package/attio.generated-4L65LUMM.js +0 -16
- package/attio.generated-4L65LUMM.js.map +0 -1
- package/attio.generated-PWXTXJJ7.js +0 -16
- package/attio.generated-PWXTXJJ7.js.map +0 -1
- package/aviationstack.generated-KKNB55S7.js +0 -16
- package/aviationstack.generated-KKNB55S7.js.map +0 -1
- package/aviationstack.generated-WB2JLDN5.js +0 -16
- package/aviationstack.generated-WB2JLDN5.js.map +0 -1
- package/aws.generated-6ZS75EQE.js +0 -16
- package/aws.generated-6ZS75EQE.js.map +0 -1
- package/aws.generated-GBI2IANF.js +0 -16
- package/aws.generated-GBI2IANF.js.map +0 -1
- package/axiom.generated-IJ7MJL3K.js +0 -16
- package/axiom.generated-IJ7MJL3K.js.map +0 -1
- package/axiom.generated-PYNPK75B.js +0 -16
- package/axiom.generated-PYNPK75B.js.map +0 -1
- package/base44.generated-AJWZUK7K.js +0 -16
- package/base44.generated-AJWZUK7K.js.map +0 -1
- package/base44.generated-U5Y6426G.js +0 -16
- package/base44.generated-U5Y6426G.js.map +0 -1
- package/bentoml.generated-HI57PONV.js +0 -16
- package/bentoml.generated-HI57PONV.js.map +0 -1
- package/bentoml.generated-UZYPBUOS.js +0 -16
- package/bentoml.generated-UZYPBUOS.js.map +0 -1
- package/bfl.generated-G52LFYYD.js +0 -16
- package/bfl.generated-G52LFYYD.js.map +0 -1
- package/bfl.generated-XQZSSEDA.js +0 -16
- package/bfl.generated-XQZSSEDA.js.map +0 -1
- package/bill.generated-5FJHQPXY.js +0 -16
- package/bill.generated-5FJHQPXY.js.map +0 -1
- package/bill.generated-HYFQCA2Q.js +0 -16
- package/bill.generated-HYFQCA2Q.js.map +0 -1
- package/bitrefill.generated-GUVTJ23H.js +0 -16
- package/bitrefill.generated-GUVTJ23H.js.map +0 -1
- package/bitrefill.generated-NLFRI6LE.js +0 -16
- package/bitrefill.generated-NLFRI6LE.js.map +0 -1
- package/bitrix.generated-QGLVCTHC.js +0 -16
- package/bitrix.generated-QGLVCTHC.js.map +0 -1
- package/bitrix.generated-WBOBPY7B.js +0 -16
- package/bitrix.generated-WBOBPY7B.js.map +0 -1
- package/bland.generated-563BJLD7.js +0 -16
- package/bland.generated-563BJLD7.js.map +0 -1
- package/bland.generated-QFAOCGRV.js +0 -16
- package/bland.generated-QFAOCGRV.js.map +0 -1
- package/box.generated-GIUVTDKW.js +0 -16
- package/box.generated-GIUVTDKW.js.map +0 -1
- package/box.generated-NVWK7PUW.js +0 -16
- package/box.generated-NVWK7PUW.js.map +0 -1
- package/brave-search.generated-6G3FPSOI.js +0 -16
- package/brave-search.generated-6G3FPSOI.js.map +0 -1
- package/brave-search.generated-H7OPQC5L.js +0 -16
- package/brave-search.generated-H7OPQC5L.js.map +0 -1
- package/brevo.generated-IIYV244D.js +0 -16
- package/brevo.generated-IIYV244D.js.map +0 -1
- package/brevo.generated-WXFZ2QA3.js +0 -16
- package/brevo.generated-WXFZ2QA3.js.map +0 -1
- package/brex.generated-AFXJCCTP.js +0 -16
- package/brex.generated-AFXJCCTP.js.map +0 -1
- package/brex.generated-JB7Q5UHY.js +0 -16
- package/brex.generated-JB7Q5UHY.js.map +0 -1
- package/bright-data.generated-C3SGIKHN.js +0 -16
- package/bright-data.generated-C3SGIKHN.js.map +0 -1
- package/bright-data.generated-TDAWKLP2.js +0 -16
- package/bright-data.generated-TDAWKLP2.js.map +0 -1
- package/browser-use.generated-E5G7YL6Y.js +0 -16
- package/browser-use.generated-E5G7YL6Y.js.map +0 -1
- package/browser-use.generated-I2BIBOM4.js +0 -16
- package/browser-use.generated-I2BIBOM4.js.map +0 -1
- package/browserbase.generated-MPEQJRB2.js +0 -16
- package/browserbase.generated-MPEQJRB2.js.map +0 -1
- package/browserbase.generated-OULKTUBA.js +0 -16
- package/browserbase.generated-OULKTUBA.js.map +0 -1
- package/browserless.generated-6APMGIX6.js +0 -16
- package/browserless.generated-6APMGIX6.js.map +0 -1
- package/browserless.generated-OAZ7AVJK.js +0 -16
- package/browserless.generated-OAZ7AVJK.js.map +0 -1
- package/browserstack.generated-5JBA3BIA.js +0 -16
- package/browserstack.generated-5JBA3BIA.js.map +0 -1
- package/browserstack.generated-TUTDW7V5.js +0 -16
- package/browserstack.generated-TUTDW7V5.js.map +0 -1
- package/bubblemaps.generated-GCD4DIQT.js +0 -16
- package/bubblemaps.generated-GCD4DIQT.js.map +0 -1
- package/bubblemaps.generated-O5MAE2GL.js +0 -16
- package/bubblemaps.generated-O5MAE2GL.js.map +0 -1
- package/buffer.generated-CZ3PT3I5.js +0 -16
- package/buffer.generated-CZ3PT3I5.js.map +0 -1
- package/buffer.generated-WYAFG4MY.js +0 -16
- package/buffer.generated-WYAFG4MY.js.map +0 -1
- package/builtwith.generated-QZ5FLIIV.js +0 -16
- package/builtwith.generated-QZ5FLIIV.js.map +0 -1
- package/builtwith.generated-ULTM7PP5.js +0 -16
- package/builtwith.generated-ULTM7PP5.js.map +0 -1
- package/cal-com.generated-66LFMVPY.js +0 -16
- package/cal-com.generated-66LFMVPY.js.map +0 -1
- package/cal-com.generated-YPEDDD5J.js +0 -16
- package/cal-com.generated-YPEDDD5J.js.map +0 -1
- package/calendly.generated-CFKJKQV6.js +0 -16
- package/calendly.generated-CFKJKQV6.js.map +0 -1
- package/calendly.generated-PFJIZATI.js +0 -16
- package/calendly.generated-PFJIZATI.js.map +0 -1
- package/canva.generated-BOJJUGXF.js +0 -16
- package/canva.generated-BOJJUGXF.js.map +0 -1
- package/canva.generated-ZHJ35VU3.js +0 -16
- package/canva.generated-ZHJ35VU3.js.map +0 -1
- package/chatwoot.generated-DWKKDSPE.js +0 -16
- package/chatwoot.generated-DWKKDSPE.js.map +0 -1
- package/chatwoot.generated-S6YJHKG5.js +0 -16
- package/chatwoot.generated-S6YJHKG5.js.map +0 -1
- package/checkr.generated-NYTE4TTX.js +0 -16
- package/checkr.generated-NYTE4TTX.js.map +0 -1
- package/checkr.generated-VJCUTI6T.js +0 -16
- package/checkr.generated-VJCUTI6T.js.map +0 -1
- package/chunk-DUOJIVWA.js +0 -16427
- package/chunk-DUOJIVWA.js.map +0 -1
- package/chunk-MSZRROJT.js.map +0 -1
- package/chunk-W7KBXNOK.js.map +0 -1
- package/clado.generated-M5SSL6PD.js +0 -16
- package/clado.generated-M5SSL6PD.js.map +0 -1
- package/clado.generated-PSBCEQRT.js +0 -16
- package/clado.generated-PSBCEQRT.js.map +0 -1
- package/clearbit.generated-53TOIKS2.js +0 -16
- package/clearbit.generated-53TOIKS2.js.map +0 -1
- package/clearbit.generated-U4BWJIBF.js +0 -16
- package/clearbit.generated-U4BWJIBF.js.map +0 -1
- package/clerk.generated-HRYIFEYG.js +0 -404
- package/clerk.generated-HRYIFEYG.js.map +0 -1
- package/clerk.generated-M5C4UFQQ.js +0 -16
- package/clerk.generated-M5C4UFQQ.js.map +0 -1
- package/clickup.generated-SKZ2NPN7.js +0 -16
- package/clickup.generated-SKZ2NPN7.js.map +0 -1
- package/clickup.generated-YVJKWZXT.js +0 -16
- package/clickup.generated-YVJKWZXT.js.map +0 -1
- package/close.generated-5WRX7CKY.js +0 -16
- package/close.generated-5WRX7CKY.js.map +0 -1
- package/close.generated-M3V7AAQR.js +0 -16
- package/close.generated-M3V7AAQR.js.map +0 -1
- package/cloudflare.generated-3VWLY47X.js +0 -16
- package/cloudflare.generated-3VWLY47X.js.map +0 -1
- package/cloudflare.generated-AJY4K6U2.js +0 -16
- package/cloudflare.generated-AJY4K6U2.js.map +0 -1
- package/coda.generated-NL63PYGH.js +0 -16
- package/coda.generated-NL63PYGH.js.map +0 -1
- package/coda.generated-WE3Z3UQN.js +0 -16
- package/coda.generated-WE3Z3UQN.js.map +0 -1
- package/coingecko.generated-Q66Y5MCV.js +0 -16
- package/coingecko.generated-Q66Y5MCV.js.map +0 -1
- package/coingecko.generated-YW5JBNK3.js +0 -16
- package/coingecko.generated-YW5JBNK3.js.map +0 -1
- package/copper.generated-PZRA3BV7.js +0 -16
- package/copper.generated-PZRA3BV7.js.map +0 -1
- package/copper.generated-UBWQDA5K.js +0 -16
- package/copper.generated-UBWQDA5K.js.map +0 -1
- package/coresignal.generated-QKDHJYVO.js +0 -16
- package/coresignal.generated-QKDHJYVO.js.map +0 -1
- package/coresignal.generated-U344Q2UM.js +0 -16
- package/coresignal.generated-U344Q2UM.js.map +0 -1
- package/cronlytic.generated-4LB2MI5Q.js +0 -16
- package/cronlytic.generated-4LB2MI5Q.js.map +0 -1
- package/cronlytic.generated-PWUPGGTS.js +0 -16
- package/cronlytic.generated-PWUPGGTS.js.map +0 -1
- package/crustdata.generated-BM256Z5G.js +0 -16
- package/crustdata.generated-BM256Z5G.js.map +0 -1
- package/crustdata.generated-U3SDU6PO.js +0 -16
- package/crustdata.generated-U3SDU6PO.js.map +0 -1
- package/cursor.generated-4RRYU2NY.js +0 -16
- package/cursor.generated-4RRYU2NY.js.map +0 -1
- package/cursor.generated-OSITR3ZU.js +0 -16
- package/cursor.generated-OSITR3ZU.js.map +0 -1
- package/customer-io.generated-52XITRCS.js +0 -16
- package/customer-io.generated-52XITRCS.js.map +0 -1
- package/customer-io.generated-PXSZUHIQ.js +0 -16
- package/customer-io.generated-PXSZUHIQ.js.map +0 -1
- package/datadog.generated-S4YB2V57.js +0 -16
- package/datadog.generated-S4YB2V57.js.map +0 -1
- package/datadog.generated-Z3O2DYLP.js +0 -16
- package/datadog.generated-Z3O2DYLP.js.map +0 -1
- package/daytona.generated-NMEVCK2C.js +0 -16
- package/daytona.generated-NMEVCK2C.js.map +0 -1
- package/daytona.generated-SQ4CHQAD.js +0 -16
- package/daytona.generated-SQ4CHQAD.js.map +0 -1
- package/db9.generated-QQVGBNAG.js +0 -16
- package/db9.generated-QQVGBNAG.js.map +0 -1
- package/db9.generated-TYNLLX2L.js +0 -16
- package/db9.generated-TYNLLX2L.js.map +0 -1
- package/deel.generated-V4NV7DNO.js +0 -16
- package/deel.generated-V4NV7DNO.js.map +0 -1
- package/deel.generated-WRQX7JK3.js +0 -16
- package/deel.generated-WRQX7JK3.js.map +0 -1
- package/deepseek.generated-GAWSLOVM.js +0 -16
- package/deepseek.generated-GAWSLOVM.js.map +0 -1
- package/deepseek.generated-RV25NG3W.js +0 -16
- package/deepseek.generated-RV25NG3W.js.map +0 -1
- package/defillama.generated-OIUIVCBL.js +0 -16
- package/defillama.generated-OIUIVCBL.js.map +0 -1
- package/defillama.generated-RUE4MEAQ.js +0 -16
- package/defillama.generated-RUE4MEAQ.js.map +0 -1
- package/devto.generated-5GWHDQ2J.js +0 -16
- package/devto.generated-5GWHDQ2J.js.map +0 -1
- package/devto.generated-C3OPR4KJ.js +0 -16
- package/devto.generated-C3OPR4KJ.js.map +0 -1
- package/diffbot.generated-OCF5VCVT.js +0 -16
- package/diffbot.generated-OCF5VCVT.js.map +0 -1
- package/diffbot.generated-TNUOC4IP.js +0 -16
- package/diffbot.generated-TNUOC4IP.js.map +0 -1
- package/dify.generated-AXDXZFXG.js +0 -16
- package/dify.generated-AXDXZFXG.js.map +0 -1
- package/dify.generated-MJXSKUH7.js +0 -16
- package/dify.generated-MJXSKUH7.js.map +0 -1
- package/discord-webhook.generated-2SJ3F2ID.js +0 -16
- package/discord-webhook.generated-2SJ3F2ID.js.map +0 -1
- package/discord-webhook.generated-BECYRCFR.js +0 -16
- package/discord-webhook.generated-BECYRCFR.js.map +0 -1
- package/discord.generated-62KV4SIG.js +0 -16
- package/discord.generated-62KV4SIG.js.map +0 -1
- package/discord.generated-VMZJJHBD.js +0 -16
- package/discord.generated-VMZJJHBD.js.map +0 -1
- package/doctor-XNJOG3LG.js +0 -4127
- package/doctor-XNJOG3LG.js.map +0 -1
- package/docusign.generated-AFFJRD76.js +0 -16
- package/docusign.generated-AFFJRD76.js.map +0 -1
- package/docusign.generated-HP77UTLV.js +0 -16
- package/docusign.generated-HP77UTLV.js.map +0 -1
- package/doppler.generated-MHGWEGZ7.js +0 -16
- package/doppler.generated-MHGWEGZ7.js.map +0 -1
- package/doppler.generated-VC4SP4JE.js +0 -16
- package/doppler.generated-VC4SP4JE.js.map +0 -1
- package/doubao.generated-FZRC2AEU.js +0 -16
- package/doubao.generated-FZRC2AEU.js.map +0 -1
- package/doubao.generated-HX2SITQ2.js +0 -16
- package/doubao.generated-HX2SITQ2.js.map +0 -1
- package/drive9.generated-2PITA5TU.js +0 -16
- package/drive9.generated-2PITA5TU.js.map +0 -1
- package/drive9.generated-VRSZGUHS.js +0 -16
- package/drive9.generated-VRSZGUHS.js.map +0 -1
- package/dropbox-sign.generated-EZ5Q2P3H.js +0 -16
- package/dropbox-sign.generated-EZ5Q2P3H.js.map +0 -1
- package/dropbox-sign.generated-YNR3MPMO.js +0 -16
- package/dropbox-sign.generated-YNR3MPMO.js.map +0 -1
- package/dropbox.generated-2FDAXOCO.js +0 -142
- package/dropbox.generated-2FDAXOCO.js.map +0 -1
- package/dropbox.generated-M2GTRFYO.js +0 -16
- package/dropbox.generated-M2GTRFYO.js.map +0 -1
- package/duffel.generated-3MN62WQ6.js +0 -16
- package/duffel.generated-3MN62WQ6.js.map +0 -1
- package/duffel.generated-OXRPP5HD.js +0 -16
- package/duffel.generated-OXRPP5HD.js.map +0 -1
- package/e2b.generated-O5LENHMP.js +0 -16
- package/e2b.generated-O5LENHMP.js.map +0 -1
- package/e2b.generated-OKFNQVBP.js +0 -16
- package/e2b.generated-OKFNQVBP.js.map +0 -1
- package/elevenlabs.generated-DGHUKPPA.js +0 -16
- package/elevenlabs.generated-DGHUKPPA.js.map +0 -1
- package/elevenlabs.generated-JRVJB7GO.js +0 -16
- package/elevenlabs.generated-JRVJB7GO.js.map +0 -1
- package/etherscan.generated-Q4SQ7XZ6.js +0 -16
- package/etherscan.generated-Q4SQ7XZ6.js.map +0 -1
- package/etherscan.generated-Y2UWWGRY.js +0 -16
- package/etherscan.generated-Y2UWWGRY.js.map +0 -1
- package/etsy.generated-24NNH3DR.js +0 -16
- package/etsy.generated-24NNH3DR.js.map +0 -1
- package/etsy.generated-TL335MSF.js +0 -16
- package/etsy.generated-TL335MSF.js.map +0 -1
- package/exa.generated-PWXG74Y7.js +0 -16
- package/exa.generated-PWXG74Y7.js.map +0 -1
- package/exa.generated-QNMLVVOP.js +0 -16
- package/exa.generated-QNMLVVOP.js.map +0 -1
- package/expensify.generated-G2ZGBKBQ.js +0 -16
- package/expensify.generated-G2ZGBKBQ.js.map +0 -1
- package/expensify.generated-OHAW3AHP.js +0 -16
- package/expensify.generated-OHAW3AHP.js.map +0 -1
- package/explorium.generated-7MKBQYVS.js +0 -16
- package/explorium.generated-7MKBQYVS.js.map +0 -1
- package/explorium.generated-NWLGZPLQ.js +0 -16
- package/explorium.generated-NWLGZPLQ.js.map +0 -1
- package/faire.generated-3J7ZYAFG.js +0 -16
- package/faire.generated-3J7ZYAFG.js.map +0 -1
- package/faire.generated-TMOWPVEH.js +0 -16
- package/faire.generated-TMOWPVEH.js.map +0 -1
- package/fal.generated-BMEFTIB2.js +0 -16
- package/fal.generated-BMEFTIB2.js.map +0 -1
- package/fal.generated-WKPLQELS.js +0 -16
- package/fal.generated-WKPLQELS.js.map +0 -1
- package/figma.generated-O3DAC4DF.js +0 -16
- package/figma.generated-O3DAC4DF.js.map +0 -1
- package/figma.generated-SIDCYFC2.js +0 -16
- package/figma.generated-SIDCYFC2.js.map +0 -1
- package/firecrawl.generated-EUOMMBRG.js +0 -16
- package/firecrawl.generated-EUOMMBRG.js.map +0 -1
- package/firecrawl.generated-HJIPXQLQ.js +0 -16
- package/firecrawl.generated-HJIPXQLQ.js.map +0 -1
- package/fireflies.generated-4UJXEVZ5.js +0 -16
- package/fireflies.generated-4UJXEVZ5.js.map +0 -1
- package/fireflies.generated-LDCTDIIH.js +0 -16
- package/fireflies.generated-LDCTDIIH.js.map +0 -1
- package/flightaware.generated-2KOEWR2B.js +0 -16
- package/flightaware.generated-2KOEWR2B.js.map +0 -1
- package/flightaware.generated-U3NCDOZY.js +0 -16
- package/flightaware.generated-U3NCDOZY.js.map +0 -1
- package/freshdesk.generated-4QAEEWUR.js +0 -16
- package/freshdesk.generated-4QAEEWUR.js.map +0 -1
- package/freshdesk.generated-AKKM6RNX.js +0 -16
- package/freshdesk.generated-AKKM6RNX.js.map +0 -1
- package/gamma.generated-I4YS2CF2.js +0 -16
- package/gamma.generated-I4YS2CF2.js.map +0 -1
- package/gamma.generated-WMSDL5XO.js +0 -16
- package/gamma.generated-WMSDL5XO.js.map +0 -1
- package/garmin-connect.generated-7CAXD2YK.js +0 -16
- package/garmin-connect.generated-7CAXD2YK.js.map +0 -1
- package/garmin-connect.generated-XPHMWKRW.js +0 -16
- package/garmin-connect.generated-XPHMWKRW.js.map +0 -1
- package/gemini.generated-JOB7ODR5.js +0 -16
- package/gemini.generated-JOB7ODR5.js.map +0 -1
- package/gemini.generated-OOSH7PPV.js +0 -16
- package/gemini.generated-OOSH7PPV.js.map +0 -1
- package/github.generated-JWDPQNED.js +0 -16
- package/github.generated-JWDPQNED.js.map +0 -1
- package/github.generated-XG4A3XLA.js +0 -16
- package/github.generated-XG4A3XLA.js.map +0 -1
- package/gitlab.generated-X4BLRWTS.js +0 -16
- package/gitlab.generated-X4BLRWTS.js.map +0 -1
- package/gitlab.generated-YNQLLSR7.js +0 -16
- package/gitlab.generated-YNQLLSR7.js.map +0 -1
- package/gmail.generated-DS3XZSJN.js +0 -16
- package/gmail.generated-DS3XZSJN.js.map +0 -1
- package/gmail.generated-EW36YIP4.js +0 -16
- package/gmail.generated-EW36YIP4.js.map +0 -1
- package/gong.generated-LT2RRE65.js +0 -16
- package/gong.generated-LT2RRE65.js.map +0 -1
- package/gong.generated-WKOS2N7D.js +0 -16
- package/gong.generated-WKOS2N7D.js.map +0 -1
- package/google-ads.generated-7U3PXTR2.js +0 -16
- package/google-ads.generated-7U3PXTR2.js.map +0 -1
- package/google-ads.generated-M4252SMF.js +0 -16
- package/google-ads.generated-M4252SMF.js.map +0 -1
- package/google-analytics.generated-R4LSYXWV.js +0 -16
- package/google-analytics.generated-R4LSYXWV.js.map +0 -1
- package/google-analytics.generated-VVSGX2SR.js +0 -16
- package/google-analytics.generated-VVSGX2SR.js.map +0 -1
- package/google-calendar.generated-CEL5QTMU.js +0 -16
- package/google-calendar.generated-CEL5QTMU.js.map +0 -1
- package/google-calendar.generated-SH7YZFEN.js +0 -134
- package/google-calendar.generated-SH7YZFEN.js.map +0 -1
- package/google-cloud.generated-M6FGSIDX.js +0 -16
- package/google-cloud.generated-M6FGSIDX.js.map +0 -1
- package/google-cloud.generated-QHFDZ2QP.js +0 -16
- package/google-cloud.generated-QHFDZ2QP.js.map +0 -1
- package/google-contacts.generated-FL6Z7MTD.js +0 -16
- package/google-contacts.generated-FL6Z7MTD.js.map +0 -1
- package/google-contacts.generated-Q67YBTPW.js +0 -16
- package/google-contacts.generated-Q67YBTPW.js.map +0 -1
- package/google-docs.generated-H5SPCVL7.js +0 -16
- package/google-docs.generated-H5SPCVL7.js.map +0 -1
- package/google-docs.generated-O5POGHJR.js +0 -16
- package/google-docs.generated-O5POGHJR.js.map +0 -1
- package/google-drive.generated-AFDEMMQF.js +0 -16
- package/google-drive.generated-AFDEMMQF.js.map +0 -1
- package/google-drive.generated-GA6UGN7J.js +0 -16
- package/google-drive.generated-GA6UGN7J.js.map +0 -1
- package/google-forms.generated-AOKO24AB.js +0 -16
- package/google-forms.generated-AOKO24AB.js.map +0 -1
- package/google-forms.generated-KDCHIV43.js +0 -16
- package/google-forms.generated-KDCHIV43.js.map +0 -1
- package/google-maps.generated-R4SWRZUA.js +0 -16
- package/google-maps.generated-R4SWRZUA.js.map +0 -1
- package/google-maps.generated-R5GWNF7Q.js +0 -16
- package/google-maps.generated-R5GWNF7Q.js.map +0 -1
- package/google-meet.generated-2VF7Z73A.js +0 -16
- package/google-meet.generated-2VF7Z73A.js.map +0 -1
- package/google-meet.generated-AMMQ2O3Y.js +0 -16
- package/google-meet.generated-AMMQ2O3Y.js.map +0 -1
- package/google-search-console.generated-BCDG3TVZ.js +0 -16
- package/google-search-console.generated-BCDG3TVZ.js.map +0 -1
- package/google-search-console.generated-PZKSK4HW.js +0 -16
- package/google-search-console.generated-PZKSK4HW.js.map +0 -1
- package/google-sheets.generated-LXJXNPJR.js +0 -16
- package/google-sheets.generated-LXJXNPJR.js.map +0 -1
- package/google-sheets.generated-SD7ME3SW.js +0 -16
- package/google-sheets.generated-SD7ME3SW.js.map +0 -1
- package/granola.generated-4KD22XPO.js +0 -16
- package/granola.generated-4KD22XPO.js.map +0 -1
- package/granola.generated-GQIDICRQ.js +0 -16
- package/granola.generated-GQIDICRQ.js.map +0 -1
- package/greenhouse.generated-IDVXJRBH.js +0 -16
- package/greenhouse.generated-IDVXJRBH.js.map +0 -1
- package/greenhouse.generated-YB6YOHTV.js +0 -16
- package/greenhouse.generated-YB6YOHTV.js.map +0 -1
- package/groq.generated-P7CXNTSN.js +0 -16
- package/groq.generated-P7CXNTSN.js.map +0 -1
- package/groq.generated-VHH4SIFZ.js +0 -16
- package/groq.generated-VHH4SIFZ.js.map +0 -1
- package/gumroad.generated-C2XIJBSU.js +0 -16
- package/gumroad.generated-C2XIJBSU.js.map +0 -1
- package/gumroad.generated-OPBGPDF4.js +0 -16
- package/gumroad.generated-OPBGPDF4.js.map +0 -1
- package/helicone.generated-F6X2XNYQ.js +0 -16
- package/helicone.generated-F6X2XNYQ.js.map +0 -1
- package/helicone.generated-ZOFMVL4C.js +0 -16
- package/helicone.generated-ZOFMVL4C.js.map +0 -1
- package/heygen.generated-JMKXHZFY.js +0 -16
- package/heygen.generated-JMKXHZFY.js.map +0 -1
- package/heygen.generated-TMU5IYPU.js +0 -16
- package/heygen.generated-TMU5IYPU.js.map +0 -1
- package/hitem3d.generated-B73OTDG5.js +0 -16
- package/hitem3d.generated-B73OTDG5.js.map +0 -1
- package/hitem3d.generated-KI44N32Y.js +0 -16
- package/hitem3d.generated-KI44N32Y.js.map +0 -1
- package/honcho.generated-Q52KK24D.js +0 -16
- package/honcho.generated-Q52KK24D.js.map +0 -1
- package/honcho.generated-YNWUDVXO.js +0 -16
- package/honcho.generated-YNWUDVXO.js.map +0 -1
- package/htmlcsstoimage.generated-JHIE6RA2.js +0 -16
- package/htmlcsstoimage.generated-JHIE6RA2.js.map +0 -1
- package/htmlcsstoimage.generated-R4ZCB2LL.js +0 -16
- package/htmlcsstoimage.generated-R4ZCB2LL.js.map +0 -1
- package/hubspot.generated-6LHX6BDN.js +0 -16
- package/hubspot.generated-6LHX6BDN.js.map +0 -1
- package/hubspot.generated-77GK6PT7.js +0 -16
- package/hubspot.generated-77GK6PT7.js.map +0 -1
- package/hugging-face.generated-546AKYVT.js +0 -16
- package/hugging-face.generated-546AKYVT.js.map +0 -1
- package/hugging-face.generated-ILQYRN7Q.js +0 -16
- package/hugging-face.generated-ILQYRN7Q.js.map +0 -1
- package/hume.generated-GMZXWN5V.js +0 -16
- package/hume.generated-GMZXWN5V.js.map +0 -1
- package/hume.generated-PH2WYG6V.js +0 -16
- package/hume.generated-PH2WYG6V.js.map +0 -1
- package/hunter.generated-24W3F2AB.js +0 -16
- package/hunter.generated-24W3F2AB.js.map +0 -1
- package/hunter.generated-D2I4PUM5.js +0 -16
- package/hunter.generated-D2I4PUM5.js.map +0 -1
- package/imgur.generated-ATYGUAPB.js +0 -16
- package/imgur.generated-ATYGUAPB.js.map +0 -1
- package/imgur.generated-BCT56H2T.js +0 -16
- package/imgur.generated-BCT56H2T.js.map +0 -1
- package/infisical.generated-NASVOFWQ.js +0 -16
- package/infisical.generated-NASVOFWQ.js.map +0 -1
- package/infisical.generated-W4JAVLHC.js +0 -16
- package/infisical.generated-W4JAVLHC.js.map +0 -1
- package/insforge.generated-3KEGLQDJ.js +0 -16
- package/insforge.generated-3KEGLQDJ.js.map +0 -1
- package/insforge.generated-VP23RSUH.js +0 -16
- package/insforge.generated-VP23RSUH.js.map +0 -1
- package/instagram.generated-JZYQO3HP.js +0 -16
- package/instagram.generated-JZYQO3HP.js.map +0 -1
- package/instagram.generated-YXHEDQCV.js +0 -16
- package/instagram.generated-YXHEDQCV.js.map +0 -1
- package/instantly.generated-LSU5NZMS.js +0 -16
- package/instantly.generated-LSU5NZMS.js.map +0 -1
- package/instantly.generated-N76J3BGQ.js +0 -16
- package/instantly.generated-N76J3BGQ.js.map +0 -1
- package/intercom.generated-QRCQM7RI.js +0 -16
- package/intercom.generated-QRCQM7RI.js.map +0 -1
- package/intercom.generated-RINBGNFM.js +0 -16
- package/intercom.generated-RINBGNFM.js.map +0 -1
- package/intervals-icu.generated-KJYR72MA.js +0 -16
- package/intervals-icu.generated-KJYR72MA.js.map +0 -1
- package/intervals-icu.generated-Q3CSM7NT.js +0 -16
- package/intervals-icu.generated-Q3CSM7NT.js.map +0 -1
- package/ironclad.generated-4GBX4E66.js +0 -16
- package/ironclad.generated-4GBX4E66.js.map +0 -1
- package/ironclad.generated-KSXTA4BI.js +0 -16
- package/ironclad.generated-KSXTA4BI.js.map +0 -1
- package/jam.generated-7NEKQ4SW.js +0 -16
- package/jam.generated-7NEKQ4SW.js.map +0 -1
- package/jam.generated-MJHTSETU.js +0 -16
- package/jam.generated-MJHTSETU.js.map +0 -1
- package/jira.generated-AWULGARK.js +0 -16
- package/jira.generated-AWULGARK.js.map +0 -1
- package/jira.generated-ZXHLDZDK.js +0 -16
- package/jira.generated-ZXHLDZDK.js.map +0 -1
- package/jotform.generated-BDLAH2AZ.js +0 -16
- package/jotform.generated-BDLAH2AZ.js.map +0 -1
- package/jotform.generated-BESF7Q4F.js +0 -16
- package/jotform.generated-BESF7Q4F.js.map +0 -1
- package/klaviyo.generated-VJR6576N.js +0 -16
- package/klaviyo.generated-VJR6576N.js.map +0 -1
- package/klaviyo.generated-ZPARMY2A.js +0 -16
- package/klaviyo.generated-ZPARMY2A.js.map +0 -1
- package/kommo.generated-NU5FQGFZ.js +0 -16
- package/kommo.generated-NU5FQGFZ.js.map +0 -1
- package/kommo.generated-RY5JIBVM.js +0 -16
- package/kommo.generated-RY5JIBVM.js.map +0 -1
- package/langfuse.generated-2TEZPEGI.js +0 -16
- package/langfuse.generated-2TEZPEGI.js.map +0 -1
- package/langfuse.generated-T3ASN6RU.js +0 -16
- package/langfuse.generated-T3ASN6RU.js.map +0 -1
- package/langsmith.generated-33VTXPTC.js +0 -16
- package/langsmith.generated-33VTXPTC.js.map +0 -1
- package/langsmith.generated-7VDIOSYU.js +0 -16
- package/langsmith.generated-7VDIOSYU.js.map +0 -1
- package/lark.generated-STIJYMKG.js +0 -16
- package/lark.generated-STIJYMKG.js.map +0 -1
- package/lark.generated-VK3DHNC4.js +0 -16
- package/lark.generated-VK3DHNC4.js.map +0 -1
- package/line.generated-V4PVO2AB.js +0 -16
- package/line.generated-V4PVO2AB.js.map +0 -1
- package/line.generated-XBL22L7B.js +0 -16
- package/line.generated-XBL22L7B.js.map +0 -1
- package/linear.generated-TCGXBP4E.js +0 -16
- package/linear.generated-TCGXBP4E.js.map +0 -1
- package/linear.generated-X5TGJC5I.js +0 -16
- package/linear.generated-X5TGJC5I.js.map +0 -1
- package/loops.generated-G55SCI4R.js +0 -16
- package/loops.generated-G55SCI4R.js.map +0 -1
- package/loops.generated-NJOC2NMK.js +0 -16
- package/loops.generated-NJOC2NMK.js.map +0 -1
- package/luma-ai.generated-RZFZ75FX.js +0 -16
- package/luma-ai.generated-RZFZ75FX.js.map +0 -1
- package/luma-ai.generated-S6Z3QGDW.js +0 -16
- package/luma-ai.generated-S6Z3QGDW.js.map +0 -1
- package/luma.generated-FJYSJIGM.js +0 -16
- package/luma.generated-FJYSJIGM.js.map +0 -1
- package/luma.generated-JKZXRF7R.js +0 -16
- package/luma.generated-JKZXRF7R.js.map +0 -1
- package/mailchimp.generated-7XSORFN5.js +0 -16
- package/mailchimp.generated-7XSORFN5.js.map +0 -1
- package/mailchimp.generated-LP6YPY36.js +0 -16
- package/mailchimp.generated-LP6YPY36.js.map +0 -1
- package/mailsac.generated-2K3FIGHH.js +0 -16
- package/mailsac.generated-2K3FIGHH.js.map +0 -1
- package/mailsac.generated-UD7X5TO7.js +0 -16
- package/mailsac.generated-UD7X5TO7.js.map +0 -1
- package/make.generated-3NL7DSRL.js +0 -16
- package/make.generated-3NL7DSRL.js.map +0 -1
- package/make.generated-66C3YY2M.js +0 -16
- package/make.generated-66C3YY2M.js.map +0 -1
- package/manus.generated-IWUQTBWM.js +0 -16
- package/manus.generated-IWUQTBWM.js.map +0 -1
- package/manus.generated-VRSJEPES.js +0 -16
- package/manus.generated-VRSJEPES.js.map +0 -1
- package/mapbox.generated-FWIAPHMS.js +0 -16
- package/mapbox.generated-FWIAPHMS.js.map +0 -1
- package/mapbox.generated-WKY7P7QO.js +0 -16
- package/mapbox.generated-WKY7P7QO.js.map +0 -1
- package/maskdb.generated-G7ZJSNRB.js +0 -16
- package/maskdb.generated-G7ZJSNRB.js.map +0 -1
- package/maskdb.generated-IZ3HKDOG.js +0 -65
- package/maskdb.generated-IZ3HKDOG.js.map +0 -1
- package/massive.generated-H52ZKQ3G.js +0 -16
- package/massive.generated-H52ZKQ3G.js.map +0 -1
- package/massive.generated-HS33B6JC.js +0 -16
- package/massive.generated-HS33B6JC.js.map +0 -1
- package/mathpix.generated-M7CZRVBY.js +0 -16
- package/mathpix.generated-M7CZRVBY.js.map +0 -1
- package/mathpix.generated-XEBEMSSG.js +0 -16
- package/mathpix.generated-XEBEMSSG.js.map +0 -1
- package/mem0.generated-F5QOASVA.js +0 -16
- package/mem0.generated-F5QOASVA.js.map +0 -1
- package/mem0.generated-SV4AQSTK.js +0 -16
- package/mem0.generated-SV4AQSTK.js.map +0 -1
- package/mercury.generated-7RXKRQ2E.js +0 -16
- package/mercury.generated-7RXKRQ2E.js.map +0 -1
- package/mercury.generated-JDW5IOTZ.js +0 -16
- package/mercury.generated-JDW5IOTZ.js.map +0 -1
- package/meshy.generated-U2YOW2KQ.js +0 -16
- package/meshy.generated-U2YOW2KQ.js.map +0 -1
- package/meshy.generated-XXWGLFRR.js +0 -16
- package/meshy.generated-XXWGLFRR.js.map +0 -1
- package/meta-ads.generated-BO4KSWTB.js +0 -16
- package/meta-ads.generated-BO4KSWTB.js.map +0 -1
- package/meta-ads.generated-MNGO4S6H.js +0 -16
- package/meta-ads.generated-MNGO4S6H.js.map +0 -1
- package/metabase.generated-I7BI2SCP.js +0 -16
- package/metabase.generated-I7BI2SCP.js.map +0 -1
- package/metabase.generated-VROE6QM4.js +0 -16
- package/metabase.generated-VROE6QM4.js.map +0 -1
- package/microsoft-365.generated-7SIBC7I5.js +0 -16
- package/microsoft-365.generated-7SIBC7I5.js.map +0 -1
- package/microsoft-365.generated-EY4W6XGM.js +0 -16
- package/microsoft-365.generated-EY4W6XGM.js.map +0 -1
- package/minimax.generated-2QOHIYJ7.js +0 -16
- package/minimax.generated-2QOHIYJ7.js.map +0 -1
- package/minimax.generated-TUZBVXP6.js +0 -16
- package/minimax.generated-TUZBVXP6.js.map +0 -1
- package/miro.generated-6RVCMIKF.js +0 -16
- package/miro.generated-6RVCMIKF.js.map +0 -1
- package/miro.generated-NI3L32HY.js +0 -16
- package/miro.generated-NI3L32HY.js.map +0 -1
- package/mixpanel.generated-GI2KRDBR.js +0 -16
- package/mixpanel.generated-GI2KRDBR.js.map +0 -1
- package/mixpanel.generated-XHI2GL4M.js +0 -16
- package/mixpanel.generated-XHI2GL4M.js.map +0 -1
- package/modal.generated-IOMB6JHM.js +0 -16
- package/modal.generated-IOMB6JHM.js.map +0 -1
- package/modal.generated-VT4LLGOY.js +0 -16
- package/modal.generated-VT4LLGOY.js.map +0 -1
- package/monday.generated-3GCO245A.js +0 -16
- package/monday.generated-3GCO245A.js.map +0 -1
- package/monday.generated-ICJN6SA3.js +0 -16
- package/monday.generated-ICJN6SA3.js.map +0 -1
- package/moss.generated-E3464JIJ.js +0 -16
- package/moss.generated-E3464JIJ.js.map +0 -1
- package/moss.generated-QL4VPRWK.js +0 -16
- package/moss.generated-QL4VPRWK.js.map +0 -1
- package/msg9.generated-SRQZAQKQ.js +0 -16
- package/msg9.generated-SRQZAQKQ.js.map +0 -1
- package/msg9.generated-UKFSS263.js +0 -16
- package/msg9.generated-UKFSS263.js.map +0 -1
- package/n8n.generated-2BBTLDXE.js +0 -16
- package/n8n.generated-2BBTLDXE.js.map +0 -1
- package/n8n.generated-MAM3IF7E.js +0 -16
- package/n8n.generated-MAM3IF7E.js.map +0 -1
- package/neon.generated-ASFFUR25.js +0 -16
- package/neon.generated-ASFFUR25.js.map +0 -1
- package/neon.generated-WICH623I.js +0 -16
- package/neon.generated-WICH623I.js.map +0 -1
- package/netdata.generated-65SJSGA2.js +0 -16
- package/netdata.generated-65SJSGA2.js.map +0 -1
- package/netdata.generated-ZMPYNQTY.js +0 -16
- package/netdata.generated-ZMPYNQTY.js.map +0 -1
- package/netsuite.generated-3NXSZOXT.js +0 -16
- package/netsuite.generated-3NXSZOXT.js.map +0 -1
- package/netsuite.generated-XV3WXA4I.js +0 -16
- package/netsuite.generated-XV3WXA4I.js.map +0 -1
- package/nintendo-store.generated-2NZUKBVJ.js +0 -16
- package/nintendo-store.generated-2NZUKBVJ.js.map +0 -1
- package/nintendo-store.generated-EPABCSLJ.js +0 -16
- package/nintendo-store.generated-EPABCSLJ.js.map +0 -1
- package/nintendo-switch-parental-controls.generated-35V4BZRI.js +0 -16
- package/nintendo-switch-parental-controls.generated-35V4BZRI.js.map +0 -1
- package/nintendo-switch-parental-controls.generated-BJ3HY3NH.js +0 -16
- package/nintendo-switch-parental-controls.generated-BJ3HY3NH.js.map +0 -1
- package/notion.generated-26PVMFZJ.js +0 -16
- package/notion.generated-26PVMFZJ.js.map +0 -1
- package/notion.generated-JVIPX54E.js +0 -16
- package/notion.generated-JVIPX54E.js.map +0 -1
- package/novita.generated-2FJJZF2S.js +0 -16
- package/novita.generated-2FJJZF2S.js.map +0 -1
- package/novita.generated-UIQ42IUL.js +0 -16
- package/novita.generated-UIQ42IUL.js.map +0 -1
- package/nyne.generated-PSZUG5QY.js +0 -16
- package/nyne.generated-PSZUG5QY.js.map +0 -1
- package/nyne.generated-R3VNG53M.js +0 -16
- package/nyne.generated-R3VNG53M.js.map +0 -1
- package/onyx.generated-3JJWSPBR.js +0 -16
- package/onyx.generated-3JJWSPBR.js.map +0 -1
- package/onyx.generated-KS4UKL7H.js +0 -16
- package/onyx.generated-KS4UKL7H.js.map +0 -1
- package/openai.generated-25H24BGJ.js +0 -16
- package/openai.generated-25H24BGJ.js.map +0 -1
- package/openai.generated-TPRYCRRV.js +0 -16
- package/openai.generated-TPRYCRRV.js.map +0 -1
- package/openrouter.generated-5XPMZOCP.js +0 -16
- package/openrouter.generated-5XPMZOCP.js.map +0 -1
- package/openrouter.generated-NBDHO6LW.js +0 -16
- package/openrouter.generated-NBDHO6LW.js.map +0 -1
- package/openweather.generated-7ZHVSI2Q.js +0 -16
- package/openweather.generated-7ZHVSI2Q.js.map +0 -1
- package/openweather.generated-ROMIRSUS.js +0 -16
- package/openweather.generated-ROMIRSUS.js.map +0 -1
- package/outlook-calendar.generated-2JDC2IYT.js +0 -16
- package/outlook-calendar.generated-2JDC2IYT.js.map +0 -1
- package/outlook-calendar.generated-JTTEECF3.js +0 -16
- package/outlook-calendar.generated-JTTEECF3.js.map +0 -1
- package/outlook-mail.generated-FW45O7RQ.js +0 -16
- package/outlook-mail.generated-FW45O7RQ.js.map +0 -1
- package/outlook-mail.generated-SQEH2MNU.js +0 -16
- package/outlook-mail.generated-SQEH2MNU.js.map +0 -1
- package/pandadoc.generated-7S5GCGXI.js +0 -16
- package/pandadoc.generated-7S5GCGXI.js.map +0 -1
- package/pandadoc.generated-BUPVIHD4.js +0 -16
- package/pandadoc.generated-BUPVIHD4.js.map +0 -1
- package/parallel.generated-T2QM2RQL.js +0 -16
- package/parallel.generated-T2QM2RQL.js.map +0 -1
- package/parallel.generated-XAGRZVYH.js +0 -16
- package/parallel.generated-XAGRZVYH.js.map +0 -1
- package/paypal.generated-MDKROCJG.js +0 -16
- package/paypal.generated-MDKROCJG.js.map +0 -1
- package/paypal.generated-YZYYL7HX.js +0 -16
- package/paypal.generated-YZYYL7HX.js.map +0 -1
- package/pdf4me.generated-2HAK664D.js +0 -16
- package/pdf4me.generated-2HAK664D.js.map +0 -1
- package/pdf4me.generated-B5GJCNOL.js +0 -16
- package/pdf4me.generated-B5GJCNOL.js.map +0 -1
- package/pdfco.generated-IJOLQ4OG.js +0 -16
- package/pdfco.generated-IJOLQ4OG.js.map +0 -1
- package/pdfco.generated-PWLZXEBR.js +0 -16
- package/pdfco.generated-PWLZXEBR.js.map +0 -1
- package/pdforge.generated-NEOKWH7H.js +0 -16
- package/pdforge.generated-NEOKWH7H.js.map +0 -1
- package/pdforge.generated-PAQH2WGV.js +0 -16
- package/pdforge.generated-PAQH2WGV.js.map +0 -1
- package/people-data-labs.generated-PTKJIK4D.js +0 -16
- package/people-data-labs.generated-PTKJIK4D.js.map +0 -1
- package/people-data-labs.generated-UJB75LNA.js +0 -16
- package/people-data-labs.generated-UJB75LNA.js.map +0 -1
- package/perplexity.generated-BGTCHWGF.js +0 -16
- package/perplexity.generated-BGTCHWGF.js.map +0 -1
- package/perplexity.generated-YBA7RZ7S.js +0 -16
- package/perplexity.generated-YBA7RZ7S.js.map +0 -1
- package/pexels.generated-MDI2MAKR.js +0 -16
- package/pexels.generated-MDI2MAKR.js.map +0 -1
- package/pexels.generated-YSXOXFRS.js +0 -16
- package/pexels.generated-YSXOXFRS.js.map +0 -1
- package/pika.generated-ELAYHKXU.js +0 -16
- package/pika.generated-ELAYHKXU.js.map +0 -1
- package/pika.generated-YU3W7HY6.js +0 -16
- package/pika.generated-YU3W7HY6.js.map +0 -1
- package/pinecone.generated-7XMAYCDM.js +0 -16
- package/pinecone.generated-7XMAYCDM.js.map +0 -1
- package/pinecone.generated-HA3L6WIX.js +0 -16
- package/pinecone.generated-HA3L6WIX.js.map +0 -1
- package/pipedream.generated-WDCAHL7H.js +0 -16
- package/pipedream.generated-WDCAHL7H.js.map +0 -1
- package/pipedream.generated-ZAF4A2F4.js +0 -16
- package/pipedream.generated-ZAF4A2F4.js.map +0 -1
- package/pipedrive.generated-NDA6AYZP.js +0 -16
- package/pipedrive.generated-NDA6AYZP.js.map +0 -1
- package/pipedrive.generated-VVXKZRU4.js +0 -16
- package/pipedrive.generated-VVXKZRU4.js.map +0 -1
- package/plain.generated-37QOE5LH.js +0 -16
- package/plain.generated-37QOE5LH.js.map +0 -1
- package/plain.generated-MHOVVMJY.js +0 -16
- package/plain.generated-MHOVVMJY.js.map +0 -1
- package/plausible.generated-O5JNHT2T.js +0 -16
- package/plausible.generated-O5JNHT2T.js.map +0 -1
- package/plausible.generated-Q57V3KFO.js +0 -16
- package/plausible.generated-Q57V3KFO.js.map +0 -1
- package/playstation.generated-5XSS5QPM.js +0 -16
- package/playstation.generated-5XSS5QPM.js.map +0 -1
- package/playstation.generated-GK3DIZEG.js +0 -16
- package/playstation.generated-GK3DIZEG.js.map +0 -1
- package/podchaser.generated-QUJGEYMJ.js +0 -16
- package/podchaser.generated-QUJGEYMJ.js.map +0 -1
- package/podchaser.generated-S6HTKMY2.js +0 -16
- package/podchaser.generated-S6HTKMY2.js.map +0 -1
- package/porkbun.generated-43VWHT5M.js +0 -16
- package/porkbun.generated-43VWHT5M.js.map +0 -1
- package/porkbun.generated-TLAPT422.js +0 -16
- package/porkbun.generated-TLAPT422.js.map +0 -1
- package/posthog.generated-A7DO447R.js +0 -16
- package/posthog.generated-A7DO447R.js.map +0 -1
- package/posthog.generated-NNGYQHNC.js +0 -16
- package/posthog.generated-NNGYQHNC.js.map +0 -1
- package/printful.generated-7T5CLGEJ.js +0 -16
- package/printful.generated-7T5CLGEJ.js.map +0 -1
- package/printful.generated-MDZ4FDEQ.js +0 -16
- package/printful.generated-MDZ4FDEQ.js.map +0 -1
- package/prisma-postgres.generated-MWPUK6L5.js +0 -16
- package/prisma-postgres.generated-MWPUK6L5.js.map +0 -1
- package/prisma-postgres.generated-RPR5BGGD.js +0 -16
- package/prisma-postgres.generated-RPR5BGGD.js.map +0 -1
- package/productlane.generated-BZH2M52E.js +0 -16
- package/productlane.generated-BZH2M52E.js.map +0 -1
- package/productlane.generated-EVDEW5OR.js +0 -16
- package/productlane.generated-EVDEW5OR.js.map +0 -1
- package/profound.generated-ITNYFF6E.js +0 -16
- package/profound.generated-ITNYFF6E.js.map +0 -1
- package/profound.generated-JOYJYP5X.js +0 -16
- package/profound.generated-JOYJYP5X.js.map +0 -1
- package/pushinator.generated-6HTDLNVJ.js +0 -16
- package/pushinator.generated-6HTDLNVJ.js.map +0 -1
- package/pushinator.generated-WT46YHCO.js +0 -16
- package/pushinator.generated-WT46YHCO.js.map +0 -1
- package/qdrant.generated-LQBRAMOK.js +0 -16
- package/qdrant.generated-LQBRAMOK.js.map +0 -1
- package/qdrant.generated-QGMEOAFO.js +0 -16
- package/qdrant.generated-QGMEOAFO.js.map +0 -1
- package/qiita.generated-CETQKI6U.js +0 -16
- package/qiita.generated-CETQKI6U.js.map +0 -1
- package/qiita.generated-PHTZ72JL.js +0 -16
- package/qiita.generated-PHTZ72JL.js.map +0 -1
- package/quickbooks.generated-5535LLZF.js +0 -16
- package/quickbooks.generated-5535LLZF.js.map +0 -1
- package/quickbooks.generated-ILTCAJRO.js +0 -16
- package/quickbooks.generated-ILTCAJRO.js.map +0 -1
- package/railway-project.generated-AFZKE36K.js +0 -16
- package/railway-project.generated-AFZKE36K.js.map +0 -1
- package/railway-project.generated-WMHWYEZ7.js +0 -16
- package/railway-project.generated-WMHWYEZ7.js.map +0 -1
- package/railway.generated-I6VCXM4F.js +0 -16
- package/railway.generated-I6VCXM4F.js.map +0 -1
- package/railway.generated-ZTDW2OVF.js +0 -16
- package/railway.generated-ZTDW2OVF.js.map +0 -1
- package/ramp.generated-GDRLFPGX.js +0 -16
- package/ramp.generated-GDRLFPGX.js.map +0 -1
- package/ramp.generated-RJKZQLIG.js +0 -16
- package/ramp.generated-RJKZQLIG.js.map +0 -1
- package/reap.generated-6B3G2OPC.js +0 -16
- package/reap.generated-6B3G2OPC.js.map +0 -1
- package/reap.generated-WAP7WY76.js +0 -16
- package/reap.generated-WAP7WY76.js.map +0 -1
- package/recraft.generated-JIRZPKOH.js +0 -16
- package/recraft.generated-JIRZPKOH.js.map +0 -1
- package/recraft.generated-S6LUCQ6Y.js +0 -16
- package/recraft.generated-S6LUCQ6Y.js.map +0 -1
- package/reddit.generated-X64MIQ7K.js +0 -16
- package/reddit.generated-X64MIQ7K.js.map +0 -1
- package/reddit.generated-XC5ZGYZS.js +0 -16
- package/reddit.generated-XC5ZGYZS.js.map +0 -1
- package/reducto.generated-A6EG7MKI.js +0 -16
- package/reducto.generated-A6EG7MKI.js.map +0 -1
- package/reducto.generated-HEQ36ZYP.js +0 -16
- package/reducto.generated-HEQ36ZYP.js.map +0 -1
- package/render.generated-KAN3ERCP.js +0 -16
- package/render.generated-KAN3ERCP.js.map +0 -1
- package/render.generated-ULLCX5I5.js +0 -16
- package/render.generated-ULLCX5I5.js.map +0 -1
- package/rentcast.generated-2LZTVFHF.js +0 -16
- package/rentcast.generated-2LZTVFHF.js.map +0 -1
- package/rentcast.generated-GBBZDYLS.js +0 -16
- package/rentcast.generated-GBBZDYLS.js.map +0 -1
- package/replicate.generated-OTF3BU6Q.js +0 -16
- package/replicate.generated-OTF3BU6Q.js.map +0 -1
- package/replicate.generated-PVWXEG2R.js +0 -16
- package/replicate.generated-PVWXEG2R.js.map +0 -1
- package/reportei.generated-3OMXGZLW.js +0 -16
- package/reportei.generated-3OMXGZLW.js.map +0 -1
- package/reportei.generated-OMZDRYF2.js +0 -16
- package/reportei.generated-OMZDRYF2.js.map +0 -1
- package/resend.generated-SNQKFCFU.js +0 -16
- package/resend.generated-SNQKFCFU.js.map +0 -1
- package/resend.generated-ZLELGIAA.js +0 -16
- package/resend.generated-ZLELGIAA.js.map +0 -1
- package/resource-ENHLW46D.js.map +0 -1
- package/revenuecat.generated-XMPGJ7BU.js +0 -16
- package/revenuecat.generated-XMPGJ7BU.js.map +0 -1
- package/revenuecat.generated-XQNHNP6K.js +0 -16
- package/revenuecat.generated-XQNHNP6K.js.map +0 -1
- package/runway.generated-6NJMUATX.js +0 -16
- package/runway.generated-6NJMUATX.js.map +0 -1
- package/runway.generated-YIMWKSK2.js +0 -16
- package/runway.generated-YIMWKSK2.js.map +0 -1
- package/salesforce.generated-5KLSM6C3.js +0 -16
- package/salesforce.generated-5KLSM6C3.js.map +0 -1
- package/salesforce.generated-WZUNVLKC.js +0 -16
- package/salesforce.generated-WZUNVLKC.js.map +0 -1
- package/scrapeninja.generated-77MTR2FT.js +0 -16
- package/scrapeninja.generated-77MTR2FT.js.map +0 -1
- package/scrapeninja.generated-HNT27RIK.js +0 -16
- package/scrapeninja.generated-HNT27RIK.js.map +0 -1
- package/segment.generated-PTNCAEPN.js +0 -16
- package/segment.generated-PTNCAEPN.js.map +0 -1
- package/segment.generated-ZQ5G35SN.js +0 -16
- package/segment.generated-ZQ5G35SN.js.map +0 -1
- package/semrush.generated-JSFLSUJH.js +0 -16
- package/semrush.generated-JSFLSUJH.js.map +0 -1
- package/semrush.generated-TZ6FLCLI.js +0 -16
- package/semrush.generated-TZ6FLCLI.js.map +0 -1
- package/sendgrid.generated-7ZIRLCBY.js +0 -16
- package/sendgrid.generated-7ZIRLCBY.js.map +0 -1
- package/sendgrid.generated-ZIISZJJV.js +0 -16
- package/sendgrid.generated-ZIISZJJV.js.map +0 -1
- package/sentry.generated-DLHCTOF4.js +0 -16
- package/sentry.generated-DLHCTOF4.js.map +0 -1
- package/sentry.generated-FQGBSZOW.js +0 -16
- package/sentry.generated-FQGBSZOW.js.map +0 -1
- package/serpapi.generated-D3XXB6PM.js +0 -16
- package/serpapi.generated-D3XXB6PM.js.map +0 -1
- package/serpapi.generated-T7TWC2EV.js +0 -16
- package/serpapi.generated-T7TWC2EV.js.map +0 -1
- package/servicenow.generated-6JAOXT2T.js +0 -16
- package/servicenow.generated-6JAOXT2T.js.map +0 -1
- package/servicenow.generated-SYD53QKL.js +0 -16
- package/servicenow.generated-SYD53QKL.js.map +0 -1
- package/shopify.generated-CBWJCWDO.js +0 -16
- package/shopify.generated-CBWJCWDO.js.map +0 -1
- package/shopify.generated-J5LJOTL2.js +0 -16
- package/shopify.generated-J5LJOTL2.js.map +0 -1
- package/shortio.generated-33OGHBXA.js +0 -16
- package/shortio.generated-33OGHBXA.js.map +0 -1
- package/shortio.generated-AK4HELH2.js +0 -16
- package/shortio.generated-AK4HELH2.js.map +0 -1
- package/similarweb.generated-LS5LWTS3.js +0 -16
- package/similarweb.generated-LS5LWTS3.js.map +0 -1
- package/similarweb.generated-U2WLW7PD.js +0 -16
- package/similarweb.generated-U2WLW7PD.js.map +0 -1
- package/slack-webhook.generated-CH6MAJDM.js +0 -16
- package/slack-webhook.generated-CH6MAJDM.js.map +0 -1
- package/slack-webhook.generated-WFSKREKT.js +0 -16
- package/slack-webhook.generated-WFSKREKT.js.map +0 -1
- package/slack.generated-K6CNNTWI.js +0 -16
- package/slack.generated-K6CNNTWI.js.map +0 -1
- package/slack.generated-OHDZZ2UW.js +0 -473
- package/slack.generated-OHDZZ2UW.js.map +0 -1
- package/slock.generated-GVG2UBIX.js +0 -16
- package/slock.generated-GVG2UBIX.js.map +0 -1
- package/slock.generated-UPM3H7WO.js +0 -16
- package/slock.generated-UPM3H7WO.js.map +0 -1
- package/snowflake.generated-776JFNOH.js +0 -16
- package/snowflake.generated-776JFNOH.js.map +0 -1
- package/snowflake.generated-ZIGWWUF7.js +0 -16
- package/snowflake.generated-ZIGWWUF7.js.map +0 -1
- package/sociavault.generated-VBPZFT3O.js +0 -16
- package/sociavault.generated-VBPZFT3O.js.map +0 -1
- package/sociavault.generated-ZYWACDCU.js +0 -16
- package/sociavault.generated-ZYWACDCU.js.map +0 -1
- package/sponge.generated-P7T47F43.js +0 -16
- package/sponge.generated-P7T47F43.js.map +0 -1
- package/sponge.generated-QTEUYJHA.js +0 -16
- package/sponge.generated-QTEUYJHA.js.map +0 -1
- package/spotify.generated-EJQTESOU.js +0 -16
- package/spotify.generated-EJQTESOU.js.map +0 -1
- package/spotify.generated-OXNISOTN.js +0 -16
- package/spotify.generated-OXNISOTN.js.map +0 -1
- package/sproutgigs.generated-3FP2NV5J.js +0 -16
- package/sproutgigs.generated-3FP2NV5J.js.map +0 -1
- package/sproutgigs.generated-CHKBYDBP.js +0 -16
- package/sproutgigs.generated-CHKBYDBP.js.map +0 -1
- package/square.generated-5PASNXED.js +0 -16
- package/square.generated-5PASNXED.js.map +0 -1
- package/square.generated-I6H75UKF.js +0 -16
- package/square.generated-I6H75UKF.js.map +0 -1
- package/stability-ai.generated-HSDGH6SM.js +0 -16
- package/stability-ai.generated-HSDGH6SM.js.map +0 -1
- package/stability-ai.generated-JGDK6GCK.js +0 -16
- package/stability-ai.generated-JGDK6GCK.js.map +0 -1
- package/steam.generated-JNN222NQ.js +0 -16
- package/steam.generated-JNN222NQ.js.map +0 -1
- package/steam.generated-MYOJ4S7Z.js +0 -16
- package/steam.generated-MYOJ4S7Z.js.map +0 -1
- package/strapi.generated-FOD5SNK7.js +0 -16
- package/strapi.generated-FOD5SNK7.js.map +0 -1
- package/strapi.generated-XW3OUKD3.js +0 -16
- package/strapi.generated-XW3OUKD3.js.map +0 -1
- package/strava.generated-SX6ODSWN.js +0 -16
- package/strava.generated-SX6ODSWN.js.map +0 -1
- package/strava.generated-ZPHTZOG5.js +0 -16
- package/strava.generated-ZPHTZOG5.js.map +0 -1
- package/streak.generated-2TY5VN46.js +0 -16
- package/streak.generated-2TY5VN46.js.map +0 -1
- package/streak.generated-AAR623MO.js +0 -16
- package/streak.generated-AAR623MO.js.map +0 -1
- package/stripe.generated-DHUQVNCR.js +0 -16
- package/stripe.generated-DHUQVNCR.js.map +0 -1
- package/stripe.generated-Z4UPVGVB.js +0 -16
- package/stripe.generated-Z4UPVGVB.js.map +0 -1
- package/supabase.generated-GIN56AML.js +0 -16
- package/supabase.generated-GIN56AML.js.map +0 -1
- package/supabase.generated-QDEGTI2K.js +0 -16
- package/supabase.generated-QDEGTI2K.js.map +0 -1
- package/supadata.generated-IS4ACMQV.js +0 -16
- package/supadata.generated-IS4ACMQV.js.map +0 -1
- package/supadata.generated-SWMZHLJD.js +0 -16
- package/supadata.generated-SWMZHLJD.js.map +0 -1
- package/supermemory.generated-7UE326A4.js +0 -16
- package/supermemory.generated-7UE326A4.js.map +0 -1
- package/supermemory.generated-GEN3T7GF.js +0 -16
- package/supermemory.generated-GEN3T7GF.js.map +0 -1
- package/tavily.generated-PP7CNTMD.js +0 -16
- package/tavily.generated-PP7CNTMD.js.map +0 -1
- package/tavily.generated-TLJZAXJ2.js +0 -16
- package/tavily.generated-TLJZAXJ2.js.map +0 -1
- package/test-oauth.generated-5CGAUTCY.js +0 -16
- package/test-oauth.generated-5CGAUTCY.js.map +0 -1
- package/test-oauth.generated-AS3FZUPO.js +0 -16
- package/test-oauth.generated-AS3FZUPO.js.map +0 -1
- package/testrail.generated-BPX45BM6.js +0 -16
- package/testrail.generated-BPX45BM6.js.map +0 -1
- package/testrail.generated-UTM7ARO2.js +0 -16
- package/testrail.generated-UTM7ARO2.js.map +0 -1
- package/ticketmaster.generated-57OJN3HK.js +0 -16
- package/ticketmaster.generated-57OJN3HK.js.map +0 -1
- package/ticketmaster.generated-AVL5TDW7.js +0 -16
- package/ticketmaster.generated-AVL5TDW7.js.map +0 -1
- package/tiktok-ads.generated-GPW4I5CI.js +0 -16
- package/tiktok-ads.generated-GPW4I5CI.js.map +0 -1
- package/tiktok-ads.generated-R3V3TMJ4.js +0 -16
- package/tiktok-ads.generated-R3V3TMJ4.js.map +0 -1
- package/tldv.generated-3KLPFNDD.js +0 -16
- package/tldv.generated-3KLPFNDD.js.map +0 -1
- package/tldv.generated-MVSWWDBM.js +0 -16
- package/tldv.generated-MVSWWDBM.js.map +0 -1
- package/todoist.generated-FFYZ4NIZ.js +0 -16
- package/todoist.generated-FFYZ4NIZ.js.map +0 -1
- package/todoist.generated-NM6Z3GCJ.js +0 -16
- package/todoist.generated-NM6Z3GCJ.js.map +0 -1
- package/together.generated-5YS3OEZE.js +0 -16
- package/together.generated-5YS3OEZE.js.map +0 -1
- package/together.generated-PSYZA3KN.js +0 -16
- package/together.generated-PSYZA3KN.js.map +0 -1
- package/tripo.generated-5F34VTF4.js +0 -16
- package/tripo.generated-5F34VTF4.js.map +0 -1
- package/tripo.generated-7S3ANJRS.js +0 -16
- package/tripo.generated-7S3ANJRS.js.map +0 -1
- package/twenty.generated-WF2SZFFB.js +0 -16
- package/twenty.generated-WF2SZFFB.js.map +0 -1
- package/twenty.generated-ZXGDLWVG.js +0 -16
- package/twenty.generated-ZXGDLWVG.js.map +0 -1
- package/twilio.generated-WZSOVEW3.js +0 -16
- package/twilio.generated-WZSOVEW3.js.map +0 -1
- package/twilio.generated-Z4JUDX4A.js +0 -16
- package/twilio.generated-Z4JUDX4A.js.map +0 -1
- package/typeform.generated-CCVF2SMJ.js +0 -16
- package/typeform.generated-CCVF2SMJ.js.map +0 -1
- package/typeform.generated-TSCH32VY.js +0 -16
- package/typeform.generated-TSCH32VY.js.map +0 -1
- package/v0.generated-AHDUZAKI.js +0 -16
- package/v0.generated-AHDUZAKI.js.map +0 -1
- package/v0.generated-TDUFN32G.js +0 -16
- package/v0.generated-TDUFN32G.js.map +0 -1
- package/vercel.generated-KUI7SG5R.js +0 -16
- package/vercel.generated-KUI7SG5R.js.map +0 -1
- package/vercel.generated-VMADVAUI.js +0 -16
- package/vercel.generated-VMADVAUI.js.map +0 -1
- package/wandb.generated-D746TCXQ.js +0 -16
- package/wandb.generated-D746TCXQ.js.map +0 -1
- package/wandb.generated-PCEJFRBT.js +0 -16
- package/wandb.generated-PCEJFRBT.js.map +0 -1
- package/webflow.generated-LSUHGBGF.js +0 -16
- package/webflow.generated-LSUHGBGF.js.map +0 -1
- package/webflow.generated-ZAJJMPSA.js +0 -16
- package/webflow.generated-ZAJJMPSA.js.map +0 -1
- package/weread.generated-5GFOIT5R.js +0 -16
- package/weread.generated-5GFOIT5R.js.map +0 -1
- package/weread.generated-Z7OERNZI.js +0 -16
- package/weread.generated-Z7OERNZI.js.map +0 -1
- package/whale-alert.generated-7W5MNRAU.js +0 -16
- package/whale-alert.generated-7W5MNRAU.js.map +0 -1
- package/whale-alert.generated-CKGEQMWK.js +0 -16
- package/whale-alert.generated-CKGEQMWK.js.map +0 -1
- package/wix.generated-EOVJX56S.js +0 -16
- package/wix.generated-EOVJX56S.js.map +0 -1
- package/wix.generated-RQZH5S25.js +0 -16
- package/wix.generated-RQZH5S25.js.map +0 -1
- package/workday.generated-4MPT7O3V.js +0 -16
- package/workday.generated-4MPT7O3V.js.map +0 -1
- package/workday.generated-AHL44LEE.js +0 -16
- package/workday.generated-AHL44LEE.js.map +0 -1
- package/workos.generated-3SFUXTKD.js +0 -16
- package/workos.generated-3SFUXTKD.js.map +0 -1
- package/workos.generated-OAHVH7Y4.js +0 -16
- package/workos.generated-OAHVH7Y4.js.map +0 -1
- package/wrike.generated-JEXQ6TSH.js +0 -16
- package/wrike.generated-JEXQ6TSH.js.map +0 -1
- package/wrike.generated-XT4EET44.js +0 -16
- package/wrike.generated-XT4EET44.js.map +0 -1
- package/x.generated-HPTC6XRL.js +0 -16
- package/x.generated-HPTC6XRL.js.map +0 -1
- package/x.generated-RM23ZNTB.js +0 -16
- package/x.generated-RM23ZNTB.js.map +0 -1
- package/xero.generated-SGWSZ354.js +0 -16
- package/xero.generated-SGWSZ354.js.map +0 -1
- package/xero.generated-VD7ONAU3.js +0 -16
- package/xero.generated-VD7ONAU3.js.map +0 -1
- package/youtube.generated-CVE5S3V4.js +0 -16
- package/youtube.generated-CVE5S3V4.js.map +0 -1
- package/youtube.generated-XGY5NA6Q.js +0 -16
- package/youtube.generated-XGY5NA6Q.js.map +0 -1
- package/zapier.generated-B64YWHJL.js +0 -16
- package/zapier.generated-B64YWHJL.js.map +0 -1
- package/zapier.generated-ED5AA3B4.js +0 -16
- package/zapier.generated-ED5AA3B4.js.map +0 -1
- package/zapsign.generated-KSU2XZZC.js +0 -16
- package/zapsign.generated-KSU2XZZC.js.map +0 -1
- package/zapsign.generated-OLLDYFW3.js +0 -16
- package/zapsign.generated-OLLDYFW3.js.map +0 -1
- package/zendesk.generated-UJ4H2RRU.js +0 -16
- package/zendesk.generated-UJ4H2RRU.js.map +0 -1
- package/zendesk.generated-VRW33ITJ.js +0 -16
- package/zendesk.generated-VRW33ITJ.js.map +0 -1
- package/zep.generated-JPKJY2NZ.js +0 -16
- package/zep.generated-JPKJY2NZ.js.map +0 -1
- package/zep.generated-ZCDQCNEA.js +0 -16
- package/zep.generated-ZCDQCNEA.js.map +0 -1
- package/zeptomail.generated-IFGEI2Q3.js +0 -16
- package/zeptomail.generated-IFGEI2Q3.js.map +0 -1
- package/zeptomail.generated-ZOEIF2KT.js +0 -16
- package/zeptomail.generated-ZOEIF2KT.js.map +0 -1
- package/zoom.generated-F2OK37WV.js +0 -16
- package/zoom.generated-F2OK37WV.js.map +0 -1
- package/zoom.generated-OP7OR6UF.js +0 -16
- package/zoom.generated-OP7OR6UF.js.map +0 -1
- /package/{agent-RI5TB3MT.js.map → agent-ZQYDTKH3.js.map} +0 -0
- /package/{banking-ZZTY42QD.js.map → banking-2VCIOL6P.js.map} +0 -0
- /package/{chat-VBEB2LIU.js.map → chat-HIW3FYTT.js.map} +0 -0
- /package/{chunk-2YG67KBB.js.map → chunk-2QGSFMHS.js.map} +0 -0
- /package/{chunk-GE2LI4MS.js.map → chunk-53PEJLO7.js.map} +0 -0
- /package/{chunk-MM5ESLJI.js.map → chunk-7DD4DWU3.js.map} +0 -0
- /package/{chunk-ZOTQGSKT.js.map → chunk-JC32CBUO.js.map} +0 -0
- /package/{chunk-VWG7JMMA.js.map → chunk-RNODSGZS.js.map} +0 -0
- /package/{chunk-3PWT6JIH.js.map → chunk-UPL74K7M.js.map} +0 -0
- /package/{chunk-CEKLUICQ.js.map → chunk-URGJQOI7.js.map} +0 -0
- /package/{computer-use-2GWQELMK.js.map → computer-use-5I7T65AQ.js.map} +0 -0
- /package/{connector-HVF5LTLS.js.map → connector-GT3XTJZF.js.map} +0 -0
- /package/{credit-DR3ZW2FG.js.map → credit-XSHQMFLB.js.map} +0 -0
- /package/{developer-support-LUUIXIXG.js.map → developer-support-E22KJ6IN.js.map} +0 -0
- /package/{generate-EEWDZMO7.js.map → generate-3FIZGPD4.js.map} +0 -0
- /package/{github-WSCP6BCL.js.map → github-HD6VKV4O.js.map} +0 -0
- /package/{goal-TBQ73X4G.js.map → goal-CZKBZCSN.js.map} +0 -0
- /package/{host-FF62XPMH.js.map → host-SLF6TPYG.js.map} +0 -0
- /package/{maps-LC4V32L6.js.map → maps-45HJEND2.js.map} +0 -0
- /package/{memory-IQO5L4DF.js.map → memory-47D3IPQ7.js.map} +0 -0
- /package/{model-NJ3PEGDV.js.map → model-TVT4ELTC.js.map} +0 -0
- /package/{model-provider-MPBVWSUT.js.map → model-provider-D3K3YUOF.js.map} +0 -0
- /package/{org-FFCTROTZ.js.map → org-JGRFZFX4.js.map} +0 -0
- /package/{phone-35G4MSU4.js.map → phone-QWCKVFHK.js.map} +0 -0
- /package/{preference-7LX3CJUT.js.map → preference-CUJP35LN.js.map} +0 -0
- /package/{relationship-PKU2B5BP.js.map → relationship-LMGCWEUM.js.map} +0 -0
- /package/{secret-7K6ED3SD.js.map → secret-LO2KLI5Q.js.map} +0 -0
- /package/{slack-VTGS2LE7.js.map → slack-FIQUPYHT.js.map} +0 -0
- /package/{teams-SOYUSM2G.js.map → teams-KTHKFCBK.js.map} +0 -0
- /package/{telegram-F2GYSKWJ.js.map → telegram-TS2I2GSO.js.map} +0 -0
- /package/{variable-6NWZSJVI.js.map → variable-AFCKEFT6.js.map} +0 -0
- /package/{video-VHL2UFS7.js.map → video-J6JAVM3V.js.map} +0 -0
- /package/{web-6A35VLL5.js.map → web-2GWKIYLR.js.map} +0 -0
- /package/{whoami-6SU2NDI3.js.map → whoami-IJT7JTAH.js.map} +0 -0
- /package/{workflow-W23JY7HR.js.map → workflow-OWSG5JJK.js.map} +0 -0
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
updateOrgModelPoliciesRequestSchema,
|
|
23
23
|
upsertModelProviderRequestSchema,
|
|
24
24
|
upsertModelProviderResponseSchema
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-53PEJLO7.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
|
}
|
|
@@ -1991,321 +1840,6 @@ function hasUnsafeFirewallPath(path) {
|
|
|
1991
1840
|
return pathSegmentHasUnsafeSyntax(segment, false);
|
|
1992
1841
|
});
|
|
1993
1842
|
}
|
|
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
1843
|
function parseCanonicalIpv4Address(value) {
|
|
2310
1844
|
if (!isCanonicalIpv4Address(value)) {
|
|
2311
1845
|
return null;
|
|
@@ -2314,23 +1848,6 @@ function parseCanonicalIpv4Address(value) {
|
|
|
2314
1848
|
return Number(part);
|
|
2315
1849
|
});
|
|
2316
1850
|
}
|
|
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
1851
|
function parseIpv6Word(value) {
|
|
2335
1852
|
if (value === "" || value.length > 4 || ![...value].every((char) => {
|
|
2336
1853
|
return isHexDigit(char);
|
|
@@ -2348,1089 +1865,93 @@ function parseIpv6WordList(value) {
|
|
|
2348
1865
|
const word = parseIpv6Word(part);
|
|
2349
1866
|
if (word === null) {
|
|
2350
1867
|
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: "" };
|
|
3331
|
-
}
|
|
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
|
-
);
|
|
3342
|
-
}
|
|
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
|
-
);
|
|
3347
|
-
}
|
|
3348
|
-
if (suffix.includes("#")) {
|
|
3349
|
-
throw new Error(
|
|
3350
|
-
`Invalid auth.base URL "${authBase}" in firewall "${serviceName}": must not contain fragment`
|
|
3351
|
-
);
|
|
3352
|
-
}
|
|
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
|
-
);
|
|
1868
|
+
}
|
|
1869
|
+
words.push(word);
|
|
3357
1870
|
}
|
|
1871
|
+
return words;
|
|
3358
1872
|
}
|
|
3359
|
-
function
|
|
3360
|
-
if (
|
|
3361
|
-
|
|
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
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
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
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
);
|
|
1893
|
+
const compressed = normalized.split("::");
|
|
1894
|
+
if (compressed.length > 2) {
|
|
1895
|
+
return null;
|
|
3382
1896
|
}
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
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
|
-
|
|
3389
|
-
|
|
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
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
);
|
|
1905
|
+
const zeroCount = 8 - left.length - right.length;
|
|
1906
|
+
if (zeroCount < 1) {
|
|
1907
|
+
return null;
|
|
3406
1908
|
}
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
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
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
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
|
-
|
|
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
|
|
@@ -4537,6 +3058,28 @@ var artifactsListResponseSchema = external_exports.object({
|
|
|
4537
3058
|
var artifactFavoriteBodySchema = external_exports.object({
|
|
4538
3059
|
artifactUrl: external_exports.string().min(1)
|
|
4539
3060
|
});
|
|
3061
|
+
var imageArtifactEditSnapshotItemSchema = external_exports.object({
|
|
3062
|
+
url: external_exports.string().url(),
|
|
3063
|
+
x: external_exports.number(),
|
|
3064
|
+
y: external_exports.number(),
|
|
3065
|
+
zIndex: external_exports.number().int()
|
|
3066
|
+
});
|
|
3067
|
+
var imageArtifactEditSnapshotStateSchema = external_exports.object({
|
|
3068
|
+
items: external_exports.array(imageArtifactEditSnapshotItemSchema),
|
|
3069
|
+
version: external_exports.literal(1)
|
|
3070
|
+
});
|
|
3071
|
+
var imageArtifactEditSnapshotQuerySchema = external_exports.object({
|
|
3072
|
+
url: external_exports.string().url()
|
|
3073
|
+
});
|
|
3074
|
+
var imageArtifactEditSnapshotUpsertSchema = external_exports.object({
|
|
3075
|
+
snapshot: imageArtifactEditSnapshotStateSchema,
|
|
3076
|
+
url: external_exports.string().url()
|
|
3077
|
+
});
|
|
3078
|
+
var imageArtifactEditSnapshotSchema = external_exports.object({
|
|
3079
|
+
artifactUrl: external_exports.string().url(),
|
|
3080
|
+
snapshot: imageArtifactEditSnapshotStateSchema,
|
|
3081
|
+
updatedAt: external_exports.string()
|
|
3082
|
+
});
|
|
4540
3083
|
var htmlArtifactEditSnapshotQuerySchema = external_exports.object({
|
|
4541
3084
|
url: external_exports.string().url()
|
|
4542
3085
|
});
|
|
@@ -5445,6 +3988,49 @@ var artifactsContract = c15.router({
|
|
|
5445
3988
|
404: apiErrorSchema
|
|
5446
3989
|
},
|
|
5447
3990
|
summary: "Remove an artifact favorite for the caller"
|
|
3991
|
+
},
|
|
3992
|
+
getImageEditSnapshot: {
|
|
3993
|
+
method: "GET",
|
|
3994
|
+
path: "/api/zero/artifacts/image-edit-snapshot",
|
|
3995
|
+
headers: authHeadersSchema,
|
|
3996
|
+
query: imageArtifactEditSnapshotQuerySchema,
|
|
3997
|
+
responses: {
|
|
3998
|
+
200: external_exports.object({ snapshot: imageArtifactEditSnapshotSchema.nullable() }),
|
|
3999
|
+
400: apiErrorSchema,
|
|
4000
|
+
401: apiErrorSchema,
|
|
4001
|
+
403: apiErrorSchema,
|
|
4002
|
+
404: apiErrorSchema
|
|
4003
|
+
},
|
|
4004
|
+
summary: "Get a resumable image artifact edit snapshot for the caller"
|
|
4005
|
+
},
|
|
4006
|
+
upsertImageEditSnapshot: {
|
|
4007
|
+
method: "PUT",
|
|
4008
|
+
path: "/api/zero/artifacts/image-edit-snapshot",
|
|
4009
|
+
headers: authHeadersSchema,
|
|
4010
|
+
body: imageArtifactEditSnapshotUpsertSchema,
|
|
4011
|
+
responses: {
|
|
4012
|
+
200: imageArtifactEditSnapshotSchema,
|
|
4013
|
+
204: c15.noBody(),
|
|
4014
|
+
400: apiErrorSchema,
|
|
4015
|
+
401: apiErrorSchema,
|
|
4016
|
+
403: apiErrorSchema,
|
|
4017
|
+
404: apiErrorSchema
|
|
4018
|
+
},
|
|
4019
|
+
summary: "Upsert a resumable image artifact edit snapshot for the caller"
|
|
4020
|
+
},
|
|
4021
|
+
deleteImageEditSnapshot: {
|
|
4022
|
+
method: "DELETE",
|
|
4023
|
+
path: "/api/zero/artifacts/image-edit-snapshot",
|
|
4024
|
+
headers: authHeadersSchema,
|
|
4025
|
+
query: imageArtifactEditSnapshotQuerySchema,
|
|
4026
|
+
responses: {
|
|
4027
|
+
204: c15.noBody(),
|
|
4028
|
+
400: apiErrorSchema,
|
|
4029
|
+
401: apiErrorSchema,
|
|
4030
|
+
403: apiErrorSchema,
|
|
4031
|
+
404: apiErrorSchema
|
|
4032
|
+
},
|
|
4033
|
+
summary: "Delete a resumable image artifact edit snapshot for the caller"
|
|
5448
4034
|
}
|
|
5449
4035
|
});
|
|
5450
4036
|
|
|
@@ -6536,9 +5122,175 @@ var zeroConnectorCatalogContract = c21.router({
|
|
|
6536
5122
|
}
|
|
6537
5123
|
});
|
|
6538
5124
|
|
|
6539
|
-
// ../../packages/api-contracts/src/contracts/zero-connector-
|
|
5125
|
+
// ../../packages/api-contracts/src/contracts/zero-connector-check.ts
|
|
6540
5126
|
init_esm_shims();
|
|
6541
5127
|
var c22 = initContract();
|
|
5128
|
+
var boundedNameSchema = external_exports.string().min(1).max(255);
|
|
5129
|
+
var connectorCheckUrlRequestSchema = external_exports.object({
|
|
5130
|
+
mode: external_exports.literal("url"),
|
|
5131
|
+
method: external_exports.string().min(1).max(16),
|
|
5132
|
+
url: external_exports.string().min(1).max(8192),
|
|
5133
|
+
connectorRef: connectorCatalogRefSchema.optional(),
|
|
5134
|
+
environmentName: boundedNameSchema.optional()
|
|
5135
|
+
}).strict();
|
|
5136
|
+
var connectorCheckEnvironmentRequestSchema = external_exports.object({
|
|
5137
|
+
mode: external_exports.literal("environment"),
|
|
5138
|
+
environmentName: boundedNameSchema,
|
|
5139
|
+
permission: boundedNameSchema.optional()
|
|
5140
|
+
}).strict();
|
|
5141
|
+
var connectorCheckRequestSchema = external_exports.discriminatedUnion("mode", [
|
|
5142
|
+
connectorCheckUrlRequestSchema,
|
|
5143
|
+
connectorCheckEnvironmentRequestSchema
|
|
5144
|
+
]);
|
|
5145
|
+
var connectorCheckIdentitySchema = external_exports.object({
|
|
5146
|
+
connectorRef: connectorCatalogRefSchema,
|
|
5147
|
+
label: external_exports.string().min(1),
|
|
5148
|
+
visibility: external_exports.enum(["available", "unavailable"]),
|
|
5149
|
+
credentialResolution: external_exports.enum(["network-boundary", "none"])
|
|
5150
|
+
}).strict();
|
|
5151
|
+
var connectorCheckCandidateSchema = external_exports.object({
|
|
5152
|
+
connectorRef: connectorCatalogRefSchema,
|
|
5153
|
+
label: external_exports.string().min(1)
|
|
5154
|
+
}).strict();
|
|
5155
|
+
var connectorCheckNotScopedRunSchema = external_exports.object({ status: external_exports.literal("not-scoped") }).strict();
|
|
5156
|
+
var connectorCheckConfiguredRunSchema = external_exports.object({
|
|
5157
|
+
status: external_exports.literal("configured"),
|
|
5158
|
+
bases: external_exports.array(external_exports.string().min(1))
|
|
5159
|
+
}).strict();
|
|
5160
|
+
var connectorCheckNotConfiguredRunSchema = external_exports.object({ status: external_exports.literal("not-configured") }).strict();
|
|
5161
|
+
var connectorCheckRunSchema = external_exports.discriminatedUnion("status", [
|
|
5162
|
+
connectorCheckNotScopedRunSchema,
|
|
5163
|
+
connectorCheckConfiguredRunSchema,
|
|
5164
|
+
connectorCheckNotConfiguredRunSchema
|
|
5165
|
+
]);
|
|
5166
|
+
var connectorCheckAllowPolicySchema = external_exports.object({
|
|
5167
|
+
outcome: external_exports.literal("allow"),
|
|
5168
|
+
basis: external_exports.enum(["allow-list", "not-blocked", "no-policy", "unknown-policy"])
|
|
5169
|
+
}).strict();
|
|
5170
|
+
var connectorCheckDenyPolicySchema = external_exports.object({
|
|
5171
|
+
outcome: external_exports.literal("deny"),
|
|
5172
|
+
basis: external_exports.enum(["deny-list", "unknown-policy"])
|
|
5173
|
+
}).strict();
|
|
5174
|
+
var connectorCheckAskPolicySchema = external_exports.object({
|
|
5175
|
+
outcome: external_exports.literal("ask"),
|
|
5176
|
+
basis: external_exports.enum(["ask-list", "unknown-policy"])
|
|
5177
|
+
}).strict();
|
|
5178
|
+
var connectorCheckUnavailablePolicySchema = external_exports.object({
|
|
5179
|
+
outcome: external_exports.literal("unavailable"),
|
|
5180
|
+
basis: external_exports.enum([
|
|
5181
|
+
"not-run-scoped",
|
|
5182
|
+
"policies-unavailable",
|
|
5183
|
+
"connector-not-configured"
|
|
5184
|
+
])
|
|
5185
|
+
}).strict();
|
|
5186
|
+
var connectorCheckPolicySchema = external_exports.discriminatedUnion("outcome", [
|
|
5187
|
+
connectorCheckAllowPolicySchema,
|
|
5188
|
+
connectorCheckDenyPolicySchema,
|
|
5189
|
+
connectorCheckAskPolicySchema,
|
|
5190
|
+
connectorCheckUnavailablePolicySchema
|
|
5191
|
+
]);
|
|
5192
|
+
var connectorCheckMatchedPermissionSchema = external_exports.object({
|
|
5193
|
+
name: external_exports.string().min(1),
|
|
5194
|
+
policy: connectorCheckPolicySchema
|
|
5195
|
+
}).strict();
|
|
5196
|
+
var connectorCheckMatchedPermissionsSchema = external_exports.object({
|
|
5197
|
+
kind: external_exports.literal("matched"),
|
|
5198
|
+
permissions: external_exports.array(connectorCheckMatchedPermissionSchema).min(1)
|
|
5199
|
+
}).strict();
|
|
5200
|
+
var connectorCheckUnknownEndpointSchema = external_exports.object({
|
|
5201
|
+
kind: external_exports.literal("unknown-endpoint"),
|
|
5202
|
+
policy: connectorCheckPolicySchema
|
|
5203
|
+
}).strict();
|
|
5204
|
+
var connectorCheckPermissionResultSchema = external_exports.discriminatedUnion("kind", [
|
|
5205
|
+
connectorCheckMatchedPermissionsSchema,
|
|
5206
|
+
connectorCheckUnknownEndpointSchema
|
|
5207
|
+
]);
|
|
5208
|
+
var connectorCheckResolvedUrlSchema = external_exports.object({
|
|
5209
|
+
outcome: external_exports.literal("resolved"),
|
|
5210
|
+
mode: external_exports.literal("url"),
|
|
5211
|
+
connector: connectorCheckIdentitySchema,
|
|
5212
|
+
environmentNames: external_exports.array(boundedNameSchema).nullable(),
|
|
5213
|
+
run: connectorCheckRunSchema,
|
|
5214
|
+
method: external_exports.string().min(1).max(16),
|
|
5215
|
+
base: external_exports.string().min(1),
|
|
5216
|
+
relativePath: external_exports.string().min(1),
|
|
5217
|
+
permission: connectorCheckPermissionResultSchema
|
|
5218
|
+
}).strict();
|
|
5219
|
+
var connectorCheckResolvedEnvironmentSchema = external_exports.object({
|
|
5220
|
+
outcome: external_exports.literal("resolved"),
|
|
5221
|
+
mode: external_exports.literal("environment"),
|
|
5222
|
+
connector: connectorCheckIdentitySchema,
|
|
5223
|
+
environmentName: boundedNameSchema,
|
|
5224
|
+
run: connectorCheckRunSchema,
|
|
5225
|
+
permission: connectorCheckPolicySchema.nullable()
|
|
5226
|
+
}).strict();
|
|
5227
|
+
var connectorCheckUnsafeInputSchema = external_exports.object({
|
|
5228
|
+
outcome: external_exports.literal("unsafe-input"),
|
|
5229
|
+
reason: external_exports.enum(["invalid-method", "invalid-url", "unsafe-path"])
|
|
5230
|
+
}).strict();
|
|
5231
|
+
var connectorCheckUnknownConnectorSchema = external_exports.object({ outcome: external_exports.literal("unknown-connector") }).strict();
|
|
5232
|
+
var connectorCheckUnknownEnvironmentSchema = external_exports.object({ outcome: external_exports.literal("unknown-environment") }).strict();
|
|
5233
|
+
var connectorCheckNoMatchSchema = external_exports.object({
|
|
5234
|
+
outcome: external_exports.literal("no-match"),
|
|
5235
|
+
scope: external_exports.enum(["run", "catalog"])
|
|
5236
|
+
}).strict();
|
|
5237
|
+
var connectorCheckAmbiguousSchema = external_exports.object({
|
|
5238
|
+
outcome: external_exports.literal("ambiguous"),
|
|
5239
|
+
candidates: external_exports.array(connectorCheckCandidateSchema).min(2)
|
|
5240
|
+
}).strict();
|
|
5241
|
+
var connectorCheckMismatchSchema = external_exports.object({
|
|
5242
|
+
outcome: external_exports.literal("connector-mismatch"),
|
|
5243
|
+
connector: connectorCheckIdentitySchema
|
|
5244
|
+
}).strict();
|
|
5245
|
+
var connectorCheckEnvironmentNotOwnedSchema = external_exports.object({
|
|
5246
|
+
outcome: external_exports.literal("environment-not-owned"),
|
|
5247
|
+
connector: connectorCheckIdentitySchema
|
|
5248
|
+
}).strict();
|
|
5249
|
+
var connectorCheckEnvironmentNotUsedSchema = external_exports.object({
|
|
5250
|
+
outcome: external_exports.literal("environment-not-used"),
|
|
5251
|
+
connector: connectorCheckIdentitySchema,
|
|
5252
|
+
environmentNames: external_exports.array(boundedNameSchema)
|
|
5253
|
+
}).strict();
|
|
5254
|
+
var connectorCheckUnresolvedDynamicBaseSchema = external_exports.object({
|
|
5255
|
+
outcome: external_exports.literal("unresolved-dynamic-base"),
|
|
5256
|
+
connector: connectorCheckIdentitySchema
|
|
5257
|
+
}).strict();
|
|
5258
|
+
var connectorCheckRunContextUnavailableSchema = external_exports.object({ outcome: external_exports.literal("run-context-unavailable") }).strict();
|
|
5259
|
+
var connectorCheckDiagnosticResultSchema = external_exports.union([
|
|
5260
|
+
connectorCheckResolvedUrlSchema,
|
|
5261
|
+
connectorCheckResolvedEnvironmentSchema,
|
|
5262
|
+
connectorCheckUnsafeInputSchema,
|
|
5263
|
+
connectorCheckUnknownConnectorSchema,
|
|
5264
|
+
connectorCheckUnknownEnvironmentSchema,
|
|
5265
|
+
connectorCheckNoMatchSchema,
|
|
5266
|
+
connectorCheckAmbiguousSchema,
|
|
5267
|
+
connectorCheckMismatchSchema,
|
|
5268
|
+
connectorCheckEnvironmentNotOwnedSchema,
|
|
5269
|
+
connectorCheckEnvironmentNotUsedSchema,
|
|
5270
|
+
connectorCheckUnresolvedDynamicBaseSchema,
|
|
5271
|
+
connectorCheckRunContextUnavailableSchema
|
|
5272
|
+
]);
|
|
5273
|
+
var zeroConnectorCheckContract = c22.router({
|
|
5274
|
+
check: {
|
|
5275
|
+
method: "POST",
|
|
5276
|
+
path: "/api/zero/connectors/diagnostics/check",
|
|
5277
|
+
headers: authHeadersSchema,
|
|
5278
|
+
body: connectorCheckRequestSchema,
|
|
5279
|
+
responses: {
|
|
5280
|
+
200: connectorCheckDiagnosticResultSchema,
|
|
5281
|
+
400: apiErrorSchema,
|
|
5282
|
+
401: apiErrorSchema,
|
|
5283
|
+
403: apiErrorSchema,
|
|
5284
|
+
404: apiErrorSchema,
|
|
5285
|
+
500: apiErrorSchema
|
|
5286
|
+
},
|
|
5287
|
+
summary: "Resolve connector runtime diagnostics"
|
|
5288
|
+
}
|
|
5289
|
+
});
|
|
5290
|
+
|
|
5291
|
+
// ../../packages/api-contracts/src/contracts/zero-connector-permission-deny.ts
|
|
5292
|
+
init_esm_shims();
|
|
5293
|
+
var c23 = initContract();
|
|
6542
5294
|
var connectorPermissionDenyRequestSchema = external_exports.object({
|
|
6543
5295
|
method: external_exports.string().min(1).max(16),
|
|
6544
5296
|
url: external_exports.string().min(1).max(8192)
|
|
@@ -6577,7 +5329,7 @@ var connectorPermissionDenyDiagnosticResultSchema = external_exports.discriminat
|
|
|
6577
5329
|
connectorPermissionDenyUnresolvedDynamicBaseSchema,
|
|
6578
5330
|
connectorPermissionDenyUnsafeInputSchema
|
|
6579
5331
|
]);
|
|
6580
|
-
var zeroConnectorPermissionDenyContract =
|
|
5332
|
+
var zeroConnectorPermissionDenyContract = c23.router({
|
|
6581
5333
|
diagnose: {
|
|
6582
5334
|
method: "POST",
|
|
6583
5335
|
path: "/api/zero/connectors/:connectorRef/diagnostics/permission-deny",
|
|
@@ -6597,7 +5349,7 @@ var zeroConnectorPermissionDenyContract = c22.router({
|
|
|
6597
5349
|
|
|
6598
5350
|
// ../../packages/api-contracts/src/contracts/zero-custom-connectors.ts
|
|
6599
5351
|
init_esm_shims();
|
|
6600
|
-
var
|
|
5352
|
+
var c24 = initContract();
|
|
6601
5353
|
var customConnectorFieldKindSchema = external_exports.enum(["secret", "variable"]);
|
|
6602
5354
|
var customConnectorFieldSchema = external_exports.object({
|
|
6603
5355
|
key: external_exports.string().min(1).max(64),
|
|
@@ -6694,7 +5446,7 @@ var saveCustomConnectorProposalResponseSchema = external_exports.object({
|
|
|
6694
5446
|
connector: customConnectorResponseSchema,
|
|
6695
5447
|
authorizedAgentId: external_exports.string().uuid().optional()
|
|
6696
5448
|
});
|
|
6697
|
-
var zeroCustomConnectorsContract =
|
|
5449
|
+
var zeroCustomConnectorsContract = c24.router({
|
|
6698
5450
|
list: {
|
|
6699
5451
|
method: "GET",
|
|
6700
5452
|
path: "/api/zero/custom-connectors",
|
|
@@ -6721,7 +5473,7 @@ var zeroCustomConnectorsContract = c23.router({
|
|
|
6721
5473
|
summary: "Create an org custom connector"
|
|
6722
5474
|
}
|
|
6723
5475
|
});
|
|
6724
|
-
var zeroCustomConnectorByIdContract =
|
|
5476
|
+
var zeroCustomConnectorByIdContract = c24.router({
|
|
6725
5477
|
get: {
|
|
6726
5478
|
method: "GET",
|
|
6727
5479
|
path: "/api/zero/custom-connectors/:id",
|
|
@@ -6742,7 +5494,7 @@ var zeroCustomConnectorByIdContract = c23.router({
|
|
|
6742
5494
|
headers: authHeadersSchema,
|
|
6743
5495
|
pathParams: external_exports.object({ id: external_exports.string().uuid() }),
|
|
6744
5496
|
responses: {
|
|
6745
|
-
204:
|
|
5497
|
+
204: c24.noBody(),
|
|
6746
5498
|
401: apiErrorSchema,
|
|
6747
5499
|
403: apiErrorSchema,
|
|
6748
5500
|
404: apiErrorSchema,
|
|
@@ -6767,7 +5519,7 @@ var zeroCustomConnectorByIdContract = c23.router({
|
|
|
6767
5519
|
summary: "Rename an org custom connector"
|
|
6768
5520
|
}
|
|
6769
5521
|
});
|
|
6770
|
-
var zeroCustomConnectorSecretContract =
|
|
5522
|
+
var zeroCustomConnectorSecretContract = c24.router({
|
|
6771
5523
|
set: {
|
|
6772
5524
|
method: "PUT",
|
|
6773
5525
|
path: "/api/zero/custom-connectors/:id/secret",
|
|
@@ -6775,7 +5527,7 @@ var zeroCustomConnectorSecretContract = c23.router({
|
|
|
6775
5527
|
pathParams: external_exports.object({ id: external_exports.string().uuid() }),
|
|
6776
5528
|
body: setCustomConnectorSecretBodySchema,
|
|
6777
5529
|
responses: {
|
|
6778
|
-
204:
|
|
5530
|
+
204: c24.noBody(),
|
|
6779
5531
|
400: apiErrorSchema,
|
|
6780
5532
|
401: apiErrorSchema,
|
|
6781
5533
|
404: apiErrorSchema,
|
|
@@ -6789,7 +5541,7 @@ var zeroCustomConnectorSecretContract = c23.router({
|
|
|
6789
5541
|
headers: authHeadersSchema,
|
|
6790
5542
|
pathParams: external_exports.object({ id: external_exports.string().uuid() }),
|
|
6791
5543
|
responses: {
|
|
6792
|
-
204:
|
|
5544
|
+
204: c24.noBody(),
|
|
6793
5545
|
401: apiErrorSchema,
|
|
6794
5546
|
404: apiErrorSchema,
|
|
6795
5547
|
500: apiErrorSchema
|
|
@@ -6797,7 +5549,7 @@ var zeroCustomConnectorSecretContract = c23.router({
|
|
|
6797
5549
|
summary: "Clear the calling user's secret for a custom connector"
|
|
6798
5550
|
}
|
|
6799
5551
|
});
|
|
6800
|
-
var zeroCustomConnectorProposalContract =
|
|
5552
|
+
var zeroCustomConnectorProposalContract = c24.router({
|
|
6801
5553
|
save: {
|
|
6802
5554
|
method: "POST",
|
|
6803
5555
|
path: "/api/zero/custom-connectors/proposals/save",
|
|
@@ -6825,18 +5577,6 @@ async function listZeroConnectors() {
|
|
|
6825
5577
|
}
|
|
6826
5578
|
handleError(result, "Failed to list connectors");
|
|
6827
5579
|
}
|
|
6828
|
-
async function searchZeroConnectors(keyword) {
|
|
6829
|
-
const config = await getClientConfig();
|
|
6830
|
-
const client = initClient(zeroConnectorsSearchContract, config);
|
|
6831
|
-
const result = await client.search({
|
|
6832
|
-
headers: {},
|
|
6833
|
-
query: keyword ? { keyword } : {}
|
|
6834
|
-
});
|
|
6835
|
-
if (result.status === 200) {
|
|
6836
|
-
return result.body;
|
|
6837
|
-
}
|
|
6838
|
-
handleError(result, "Failed to search connectors");
|
|
6839
|
-
}
|
|
6840
5580
|
async function listZeroConnectorCatalog() {
|
|
6841
5581
|
const config = await getClientConfig();
|
|
6842
5582
|
const client = initClient(zeroConnectorCatalogContract, config);
|
|
@@ -6877,6 +5617,18 @@ async function getZeroConnectorCatalogPermissions(connectorRef) {
|
|
|
6877
5617
|
`Failed to get connector permission metadata for "${connectorRef}"`
|
|
6878
5618
|
);
|
|
6879
5619
|
}
|
|
5620
|
+
async function diagnoseZeroConnectorCheck(request) {
|
|
5621
|
+
const config = await getClientConfig();
|
|
5622
|
+
const client = initClient(zeroConnectorCheckContract, {
|
|
5623
|
+
...config,
|
|
5624
|
+
validateResponse: true
|
|
5625
|
+
});
|
|
5626
|
+
const result = await client.check({ body: request });
|
|
5627
|
+
if (result.status === 200) {
|
|
5628
|
+
return result.body;
|
|
5629
|
+
}
|
|
5630
|
+
handleError(result, "Failed to diagnose connector");
|
|
5631
|
+
}
|
|
6880
5632
|
async function diagnoseZeroConnectorPermissionDeny(connectorRef, method, url) {
|
|
6881
5633
|
const config = await getClientConfig();
|
|
6882
5634
|
const client = initClient(zeroConnectorPermissionDenyContract, {
|
|
@@ -6954,7 +5706,7 @@ init_esm_shims();
|
|
|
6954
5706
|
|
|
6955
5707
|
// ../../packages/api-contracts/src/contracts/runners.ts
|
|
6956
5708
|
init_esm_shims();
|
|
6957
|
-
var
|
|
5709
|
+
var c25 = initContract();
|
|
6958
5710
|
var MIN_EPOCH_MS_TIMESTAMP = 1e12;
|
|
6959
5711
|
var apiStartTimeSchema = external_exports.number().int().min(MIN_EPOCH_MS_TIMESTAMP);
|
|
6960
5712
|
var CANONICAL_GUEST_HOME_DIR = "/home/user";
|
|
@@ -7060,7 +5812,7 @@ var heldSessionStateSchema = external_exports.object({
|
|
|
7060
5812
|
profile: external_exports.string()
|
|
7061
5813
|
}).optional()
|
|
7062
5814
|
});
|
|
7063
|
-
var runnersPollContract =
|
|
5815
|
+
var runnersPollContract = c25.router({
|
|
7064
5816
|
poll: {
|
|
7065
5817
|
method: "POST",
|
|
7066
5818
|
path: "/api/runners/poll",
|
|
@@ -7298,7 +6050,7 @@ var executionContextSchema = external_exports.object({
|
|
|
7298
6050
|
// API-owned Codex provider/runtime metadata forwarded through the runner.
|
|
7299
6051
|
codexRuntimeConfig: modelProviderCodexRuntimeConfigSchema.nullable().optional()
|
|
7300
6052
|
});
|
|
7301
|
-
var runnersJobClaimContract =
|
|
6053
|
+
var runnersJobClaimContract = c25.router({
|
|
7302
6054
|
claim: {
|
|
7303
6055
|
method: "POST",
|
|
7304
6056
|
path: "/api/runners/jobs/:id/claim",
|
|
@@ -7322,7 +6074,7 @@ var runnersJobClaimContract = c24.router({
|
|
|
7322
6074
|
summary: "Claim a pending job for execution"
|
|
7323
6075
|
}
|
|
7324
6076
|
});
|
|
7325
|
-
var runnersNetworkPolicyRefreshContract =
|
|
6077
|
+
var runnersNetworkPolicyRefreshContract = c25.router({
|
|
7326
6078
|
refresh: {
|
|
7327
6079
|
method: "POST",
|
|
7328
6080
|
path: "/api/runners/runs/:runId/network-policy-refresh",
|
|
@@ -7352,7 +6104,7 @@ var runnersNetworkPolicyRefreshContract = c24.router({
|
|
|
7352
6104
|
summary: "Refresh active run network policies"
|
|
7353
6105
|
}
|
|
7354
6106
|
});
|
|
7355
|
-
var runnersBuiltinFirewallsResolveContract =
|
|
6107
|
+
var runnersBuiltinFirewallsResolveContract = c25.router({
|
|
7356
6108
|
resolve: {
|
|
7357
6109
|
method: "POST",
|
|
7358
6110
|
path: "/api/runners/builtin-firewalls/resolve",
|
|
@@ -7381,7 +6133,7 @@ var heartbeatBodySchema = external_exports.object({
|
|
|
7381
6133
|
heldSessionStates: external_exports.array(heldSessionStateSchema).max(1024),
|
|
7382
6134
|
mode: external_exports.enum(["starting", "running", "draining", "stopping"])
|
|
7383
6135
|
});
|
|
7384
|
-
var runnersHeartbeatContract =
|
|
6136
|
+
var runnersHeartbeatContract = c25.router({
|
|
7385
6137
|
heartbeat: {
|
|
7386
6138
|
method: "POST",
|
|
7387
6139
|
path: "/api/runners/heartbeat",
|
|
@@ -7399,7 +6151,7 @@ var runnersHeartbeatContract = c24.router({
|
|
|
7399
6151
|
|
|
7400
6152
|
// ../../packages/api-contracts/src/contracts/storages.ts
|
|
7401
6153
|
init_esm_shims();
|
|
7402
|
-
var
|
|
6154
|
+
var c26 = initContract();
|
|
7403
6155
|
var storageTypeSchema = external_exports.enum(["volume", "artifact"]);
|
|
7404
6156
|
var versionQuerySchema = external_exports.string().regex(/^[a-f0-9]{8,64}$/i, "Version must be 8-64 hex characters").optional();
|
|
7405
6157
|
var uploadStorageResponseSchema = external_exports.object({
|
|
@@ -7410,7 +6162,7 @@ var uploadStorageResponseSchema = external_exports.object({
|
|
|
7410
6162
|
type: storageTypeSchema,
|
|
7411
6163
|
deduplicated: external_exports.boolean()
|
|
7412
6164
|
});
|
|
7413
|
-
var storagesContract =
|
|
6165
|
+
var storagesContract = c26.router({
|
|
7414
6166
|
/**
|
|
7415
6167
|
* POST /api/storages
|
|
7416
6168
|
* Upload a storage (tar.gz file)
|
|
@@ -7427,7 +6179,7 @@ var storagesContract = c25.router({
|
|
|
7427
6179
|
path: "/api/storages",
|
|
7428
6180
|
headers: authHeadersSchema,
|
|
7429
6181
|
contentType: "multipart/form-data",
|
|
7430
|
-
body:
|
|
6182
|
+
body: c26.type(),
|
|
7431
6183
|
responses: {
|
|
7432
6184
|
200: uploadStorageResponseSchema,
|
|
7433
6185
|
400: apiErrorSchema,
|
|
@@ -7456,9 +6208,9 @@ var storagesContract = c25.router({
|
|
|
7456
6208
|
}),
|
|
7457
6209
|
responses: {
|
|
7458
6210
|
// Binary response - actual handling done at route level
|
|
7459
|
-
200:
|
|
6211
|
+
200: c26.otherResponse({
|
|
7460
6212
|
contentType: "application/gzip",
|
|
7461
|
-
body:
|
|
6213
|
+
body: c26.type()
|
|
7462
6214
|
}),
|
|
7463
6215
|
400: apiErrorSchema,
|
|
7464
6216
|
401: apiErrorSchema,
|
|
@@ -7483,7 +6235,7 @@ var presignedUploadSchema = external_exports.object({
|
|
|
7483
6235
|
key: external_exports.string(),
|
|
7484
6236
|
presignedUrl: external_exports.url()
|
|
7485
6237
|
});
|
|
7486
|
-
var storagesPrepareContract =
|
|
6238
|
+
var storagesPrepareContract = c26.router({
|
|
7487
6239
|
prepare: {
|
|
7488
6240
|
method: "POST",
|
|
7489
6241
|
path: "/api/storages/prepare",
|
|
@@ -7518,7 +6270,7 @@ var storagesPrepareContract = c25.router({
|
|
|
7518
6270
|
summary: "Prepare for direct S3 upload"
|
|
7519
6271
|
}
|
|
7520
6272
|
});
|
|
7521
|
-
var storagesCommitContract =
|
|
6273
|
+
var storagesCommitContract = c26.router({
|
|
7522
6274
|
commit: {
|
|
7523
6275
|
method: "POST",
|
|
7524
6276
|
path: "/api/storages/commit",
|
|
@@ -7552,7 +6304,7 @@ var storagesCommitContract = c25.router({
|
|
|
7552
6304
|
summary: "Commit uploaded storage"
|
|
7553
6305
|
}
|
|
7554
6306
|
});
|
|
7555
|
-
var storagesDownloadContract =
|
|
6307
|
+
var storagesDownloadContract = c26.router({
|
|
7556
6308
|
download: {
|
|
7557
6309
|
method: "GET",
|
|
7558
6310
|
path: "/api/storages/download",
|
|
@@ -7588,7 +6340,7 @@ var storagesDownloadContract = c25.router({
|
|
|
7588
6340
|
summary: "Get presigned download URL"
|
|
7589
6341
|
}
|
|
7590
6342
|
});
|
|
7591
|
-
var storagesListContract =
|
|
6343
|
+
var storagesListContract = c26.router({
|
|
7592
6344
|
list: {
|
|
7593
6345
|
method: "GET",
|
|
7594
6346
|
path: "/api/storages/list",
|
|
@@ -7616,7 +6368,7 @@ var storagesListContract = c25.router({
|
|
|
7616
6368
|
});
|
|
7617
6369
|
|
|
7618
6370
|
// ../../packages/api-contracts/src/contracts/webhooks.ts
|
|
7619
|
-
var
|
|
6371
|
+
var c27 = initContract();
|
|
7620
6372
|
var sha256HexSchema = external_exports.string().regex(
|
|
7621
6373
|
/^[a-f0-9]{64}$/,
|
|
7622
6374
|
"hash must be a lowercase 64-character SHA-256 hex string"
|
|
@@ -7626,11 +6378,11 @@ var thirdPartyWebhookOkSchema = external_exports.union([
|
|
|
7626
6378
|
external_exports.string(),
|
|
7627
6379
|
external_exports.object({ message: external_exports.literal("pong") })
|
|
7628
6380
|
]);
|
|
7629
|
-
var webhookClerkContract =
|
|
6381
|
+
var webhookClerkContract = c27.router({
|
|
7630
6382
|
post: {
|
|
7631
6383
|
method: "POST",
|
|
7632
6384
|
path: "/api/webhooks/clerk",
|
|
7633
|
-
body:
|
|
6385
|
+
body: c27.type(),
|
|
7634
6386
|
responses: {
|
|
7635
6387
|
200: thirdPartyWebhookOkSchema,
|
|
7636
6388
|
401: thirdPartyWebhookErrorSchema
|
|
@@ -7638,11 +6390,11 @@ var webhookClerkContract = c26.router({
|
|
|
7638
6390
|
summary: "Handle Clerk organization and user webhooks"
|
|
7639
6391
|
}
|
|
7640
6392
|
});
|
|
7641
|
-
var webhookGithubContract =
|
|
6393
|
+
var webhookGithubContract = c27.router({
|
|
7642
6394
|
post: {
|
|
7643
6395
|
method: "POST",
|
|
7644
6396
|
path: "/api/webhooks/github",
|
|
7645
|
-
body:
|
|
6397
|
+
body: c27.type(),
|
|
7646
6398
|
responses: {
|
|
7647
6399
|
200: thirdPartyWebhookOkSchema,
|
|
7648
6400
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7652,11 +6404,11 @@ var webhookGithubContract = c26.router({
|
|
|
7652
6404
|
summary: "Handle GitHub App webhooks"
|
|
7653
6405
|
}
|
|
7654
6406
|
});
|
|
7655
|
-
var webhookStripeContract =
|
|
6407
|
+
var webhookStripeContract = c27.router({
|
|
7656
6408
|
post: {
|
|
7657
6409
|
method: "POST",
|
|
7658
6410
|
path: "/api/webhooks/stripe",
|
|
7659
|
-
body:
|
|
6411
|
+
body: c27.type(),
|
|
7660
6412
|
responses: {
|
|
7661
6413
|
200: thirdPartyWebhookOkSchema,
|
|
7662
6414
|
401: thirdPartyWebhookErrorSchema,
|
|
@@ -7695,11 +6447,11 @@ var workflowTriggerWebhookResponseSchema = external_exports.object({
|
|
|
7695
6447
|
duplicate: external_exports.boolean(),
|
|
7696
6448
|
runId: external_exports.string().uuid().optional()
|
|
7697
6449
|
});
|
|
7698
|
-
var webhookGmailContract =
|
|
6450
|
+
var webhookGmailContract = c27.router({
|
|
7699
6451
|
post: {
|
|
7700
6452
|
method: "POST",
|
|
7701
6453
|
path: "/api/webhooks/gmail",
|
|
7702
|
-
body:
|
|
6454
|
+
body: c27.type(),
|
|
7703
6455
|
responses: {
|
|
7704
6456
|
200: gmailWebhookResponseSchema,
|
|
7705
6457
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7710,11 +6462,11 @@ var webhookGmailContract = c26.router({
|
|
|
7710
6462
|
summary: "Handle Gmail Pub/Sub push notifications"
|
|
7711
6463
|
}
|
|
7712
6464
|
});
|
|
7713
|
-
var webhookGoogleCalendarContract =
|
|
6465
|
+
var webhookGoogleCalendarContract = c27.router({
|
|
7714
6466
|
post: {
|
|
7715
6467
|
method: "POST",
|
|
7716
6468
|
path: "/api/webhooks/google-calendar",
|
|
7717
|
-
body:
|
|
6469
|
+
body: c27.type(),
|
|
7718
6470
|
responses: {
|
|
7719
6471
|
200: googleCalendarWebhookResponseSchema,
|
|
7720
6472
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7725,11 +6477,11 @@ var webhookGoogleCalendarContract = c26.router({
|
|
|
7725
6477
|
summary: "Handle Google Calendar push notifications"
|
|
7726
6478
|
}
|
|
7727
6479
|
});
|
|
7728
|
-
var webhookGoogleWorkspaceEventsContract =
|
|
6480
|
+
var webhookGoogleWorkspaceEventsContract = c27.router({
|
|
7729
6481
|
post: {
|
|
7730
6482
|
method: "POST",
|
|
7731
6483
|
path: "/api/webhooks/google-workspace-events",
|
|
7732
|
-
body:
|
|
6484
|
+
body: c27.type(),
|
|
7733
6485
|
responses: {
|
|
7734
6486
|
200: googleWorkspaceEventsWebhookResponseSchema,
|
|
7735
6487
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7740,11 +6492,11 @@ var webhookGoogleWorkspaceEventsContract = c26.router({
|
|
|
7740
6492
|
summary: "Handle Google Workspace Events Pub/Sub push notifications"
|
|
7741
6493
|
}
|
|
7742
6494
|
});
|
|
7743
|
-
var webhookNotionContract =
|
|
6495
|
+
var webhookNotionContract = c27.router({
|
|
7744
6496
|
post: {
|
|
7745
6497
|
method: "POST",
|
|
7746
6498
|
path: "/api/webhooks/notion",
|
|
7747
|
-
body:
|
|
6499
|
+
body: c27.type(),
|
|
7748
6500
|
responses: {
|
|
7749
6501
|
200: notionWebhookResponseSchema,
|
|
7750
6502
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7754,14 +6506,14 @@ var webhookNotionContract = c26.router({
|
|
|
7754
6506
|
summary: "Handle Notion webhook events"
|
|
7755
6507
|
}
|
|
7756
6508
|
});
|
|
7757
|
-
var webhookWorkflowTriggerContract =
|
|
6509
|
+
var webhookWorkflowTriggerContract = c27.router({
|
|
7758
6510
|
post: {
|
|
7759
6511
|
method: "POST",
|
|
7760
6512
|
path: "/api/webhooks/workflow-triggers/:token",
|
|
7761
6513
|
pathParams: external_exports.object({
|
|
7762
6514
|
token: external_exports.string().min(1)
|
|
7763
6515
|
}),
|
|
7764
|
-
body:
|
|
6516
|
+
body: c27.type(),
|
|
7765
6517
|
responses: {
|
|
7766
6518
|
200: workflowTriggerWebhookResponseSchema,
|
|
7767
6519
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7774,7 +6526,7 @@ var webhookWorkflowTriggerContract = c26.router({
|
|
|
7774
6526
|
summary: "Handle inbound workflow trigger webhooks"
|
|
7775
6527
|
}
|
|
7776
6528
|
});
|
|
7777
|
-
var webhookBuiltInGenerationFalContract =
|
|
6529
|
+
var webhookBuiltInGenerationFalContract = c27.router({
|
|
7778
6530
|
post: {
|
|
7779
6531
|
method: "POST",
|
|
7780
6532
|
path: "/api/webhooks/built-in-generations/fal/:generationId",
|
|
@@ -7785,7 +6537,7 @@ var webhookBuiltInGenerationFalContract = c26.router({
|
|
|
7785
6537
|
token: external_exports.string().min(1),
|
|
7786
6538
|
visualKey: external_exports.string().min(1).optional()
|
|
7787
6539
|
}),
|
|
7788
|
-
body:
|
|
6540
|
+
body: c27.type(),
|
|
7789
6541
|
responses: {
|
|
7790
6542
|
200: thirdPartyWebhookOkSchema,
|
|
7791
6543
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7795,7 +6547,7 @@ var webhookBuiltInGenerationFalContract = c26.router({
|
|
|
7795
6547
|
summary: "Handle fal built-in generation webhooks"
|
|
7796
6548
|
}
|
|
7797
6549
|
});
|
|
7798
|
-
var webhookBuiltInGenerationBytePlusContract =
|
|
6550
|
+
var webhookBuiltInGenerationBytePlusContract = c27.router({
|
|
7799
6551
|
post: {
|
|
7800
6552
|
method: "POST",
|
|
7801
6553
|
path: "/api/webhooks/built-in-generations/byteplus/:generationId",
|
|
@@ -7806,7 +6558,7 @@ var webhookBuiltInGenerationBytePlusContract = c26.router({
|
|
|
7806
6558
|
token: external_exports.string().min(1),
|
|
7807
6559
|
visualKey: external_exports.string().min(1).optional()
|
|
7808
6560
|
}),
|
|
7809
|
-
body:
|
|
6561
|
+
body: c27.type(),
|
|
7810
6562
|
responses: {
|
|
7811
6563
|
200: thirdPartyWebhookOkSchema,
|
|
7812
6564
|
400: thirdPartyWebhookErrorSchema,
|
|
@@ -7866,7 +6618,7 @@ var firewallAuthResponseSchema = external_exports.object({
|
|
|
7866
6618
|
refreshedConnectors: external_exports.array(external_exports.string()),
|
|
7867
6619
|
refreshedSecrets: external_exports.array(external_exports.string())
|
|
7868
6620
|
});
|
|
7869
|
-
var webhookFirewallAuthContract =
|
|
6621
|
+
var webhookFirewallAuthContract = c27.router({
|
|
7870
6622
|
/**
|
|
7871
6623
|
* POST /api/webhooks/agent/firewall/auth
|
|
7872
6624
|
* Resolve firewall auth templates and refresh access tokens on demand.
|
|
@@ -7908,7 +6660,7 @@ var webhookFirewallAuthContract = c26.router({
|
|
|
7908
6660
|
summary: "Resolve firewall auth templates"
|
|
7909
6661
|
}
|
|
7910
6662
|
});
|
|
7911
|
-
var webhookEventsContract =
|
|
6663
|
+
var webhookEventsContract = c27.router({
|
|
7912
6664
|
/**
|
|
7913
6665
|
* POST /api/webhooks/agent/events
|
|
7914
6666
|
* Receive agent events from sandbox
|
|
@@ -7935,7 +6687,7 @@ var webhookEventsContract = c26.router({
|
|
|
7935
6687
|
summary: "Receive agent events from sandbox"
|
|
7936
6688
|
}
|
|
7937
6689
|
});
|
|
7938
|
-
var webhookCompleteContract =
|
|
6690
|
+
var webhookCompleteContract = c27.router({
|
|
7939
6691
|
/**
|
|
7940
6692
|
* POST /api/webhooks/agent/complete
|
|
7941
6693
|
* Handle agent run completion (success or failure)
|
|
@@ -7972,7 +6724,7 @@ var webhookCompleteContract = c26.router({
|
|
|
7972
6724
|
summary: "Handle agent run completion"
|
|
7973
6725
|
}
|
|
7974
6726
|
});
|
|
7975
|
-
var webhookCheckpointsContract =
|
|
6727
|
+
var webhookCheckpointsContract = c27.router({
|
|
7976
6728
|
/**
|
|
7977
6729
|
* POST /api/webhooks/agent/checkpoints
|
|
7978
6730
|
* Create a recoverable checkpoint for an agent run.
|
|
@@ -8008,7 +6760,7 @@ var webhookCheckpointsContract = c26.router({
|
|
|
8008
6760
|
summary: "Create checkpoint for agent run"
|
|
8009
6761
|
}
|
|
8010
6762
|
});
|
|
8011
|
-
var webhookCheckpointsPrepareHistoryContract =
|
|
6763
|
+
var webhookCheckpointsPrepareHistoryContract = c27.router({
|
|
8012
6764
|
prepare: {
|
|
8013
6765
|
method: "POST",
|
|
8014
6766
|
path: "/api/webhooks/agent/checkpoints/prepare-history",
|
|
@@ -8034,7 +6786,7 @@ var webhookCheckpointsPrepareHistoryContract = c26.router({
|
|
|
8034
6786
|
summary: "Get presigned URL for uploading session history to S3"
|
|
8035
6787
|
}
|
|
8036
6788
|
});
|
|
8037
|
-
var webhookHeartbeatContract =
|
|
6789
|
+
var webhookHeartbeatContract = c27.router({
|
|
8038
6790
|
/**
|
|
8039
6791
|
* POST /api/webhooks/agent/heartbeat
|
|
8040
6792
|
* Receive heartbeat signals from sandbox
|
|
@@ -8058,7 +6810,7 @@ var webhookHeartbeatContract = c26.router({
|
|
|
8058
6810
|
summary: "Receive heartbeat from sandbox"
|
|
8059
6811
|
}
|
|
8060
6812
|
});
|
|
8061
|
-
var webhookStoragesContract =
|
|
6813
|
+
var webhookStoragesContract = c27.router({
|
|
8062
6814
|
/**
|
|
8063
6815
|
* POST /api/webhooks/agent/storages
|
|
8064
6816
|
* Create a new version of a storage from sandbox
|
|
@@ -8074,7 +6826,7 @@ var webhookStoragesContract = c26.router({
|
|
|
8074
6826
|
path: "/api/webhooks/agent/storages",
|
|
8075
6827
|
headers: authHeadersSchema,
|
|
8076
6828
|
contentType: "multipart/form-data",
|
|
8077
|
-
body:
|
|
6829
|
+
body: c27.type(),
|
|
8078
6830
|
responses: {
|
|
8079
6831
|
200: external_exports.object({
|
|
8080
6832
|
versionId: external_exports.string(),
|
|
@@ -8090,7 +6842,7 @@ var webhookStoragesContract = c26.router({
|
|
|
8090
6842
|
summary: "Upload storage version from sandbox"
|
|
8091
6843
|
}
|
|
8092
6844
|
});
|
|
8093
|
-
var webhookStoragesIncrementalContract =
|
|
6845
|
+
var webhookStoragesIncrementalContract = c27.router({
|
|
8094
6846
|
/**
|
|
8095
6847
|
* POST /api/webhooks/agent/storages/incremental
|
|
8096
6848
|
* Create a new version using incremental upload
|
|
@@ -8108,7 +6860,7 @@ var webhookStoragesIncrementalContract = c26.router({
|
|
|
8108
6860
|
path: "/api/webhooks/agent/storages/incremental",
|
|
8109
6861
|
headers: authHeadersSchema,
|
|
8110
6862
|
contentType: "multipart/form-data",
|
|
8111
|
-
body:
|
|
6863
|
+
body: c27.type(),
|
|
8112
6864
|
responses: {
|
|
8113
6865
|
200: external_exports.object({
|
|
8114
6866
|
versionId: external_exports.string(),
|
|
@@ -8202,7 +6954,7 @@ var sandboxOperationSchema = external_exports.object({
|
|
|
8202
6954
|
session_history_transfer_encoding_state: sessionHistoryTransferEncodingStateSchema.optional(),
|
|
8203
6955
|
session_history_download_source: sandboxOperationDownloadSourceSchema
|
|
8204
6956
|
});
|
|
8205
|
-
var webhookTelemetryContract =
|
|
6957
|
+
var webhookTelemetryContract = c27.router({
|
|
8206
6958
|
/**
|
|
8207
6959
|
* POST /api/webhooks/agent/telemetry
|
|
8208
6960
|
* Receive telemetry data (system log, metrics, network logs, and sandbox operations) from sandbox
|
|
@@ -8231,7 +6983,7 @@ var webhookTelemetryContract = c26.router({
|
|
|
8231
6983
|
summary: "Receive telemetry data from sandbox"
|
|
8232
6984
|
}
|
|
8233
6985
|
});
|
|
8234
|
-
var webhookStoragesPrepareContract =
|
|
6986
|
+
var webhookStoragesPrepareContract = c27.router({
|
|
8235
6987
|
prepare: {
|
|
8236
6988
|
method: "POST",
|
|
8237
6989
|
path: "/api/webhooks/agent/storages/prepare",
|
|
@@ -8265,7 +7017,7 @@ var webhookStoragesPrepareContract = c26.router({
|
|
|
8265
7017
|
summary: "Prepare for direct S3 upload from sandbox"
|
|
8266
7018
|
}
|
|
8267
7019
|
});
|
|
8268
|
-
var webhookStoragesCommitContract =
|
|
7020
|
+
var webhookStoragesCommitContract = c27.router({
|
|
8269
7021
|
commit: {
|
|
8270
7022
|
method: "POST",
|
|
8271
7023
|
path: "/api/webhooks/agent/storages/commit",
|
|
@@ -8307,7 +7059,7 @@ var webhookUsageEventItemSchema = external_exports.object({
|
|
|
8307
7059
|
category: external_exports.string().min(1).max(100),
|
|
8308
7060
|
quantity: external_exports.number().int().min(0)
|
|
8309
7061
|
}).strict();
|
|
8310
|
-
var webhookUsageEventContract =
|
|
7062
|
+
var webhookUsageEventContract = c27.router({
|
|
8311
7063
|
send: {
|
|
8312
7064
|
method: "POST",
|
|
8313
7065
|
path: "/api/webhooks/agent/usage-event",
|
|
@@ -8340,7 +7092,7 @@ var webhookModelUsageObservationItemSchema = external_exports.object({
|
|
|
8340
7092
|
category: modelUsageObservationCategorySchema,
|
|
8341
7093
|
quantity: external_exports.number().int().min(1)
|
|
8342
7094
|
}).strict();
|
|
8343
|
-
var webhookModelUsageObservationContract =
|
|
7095
|
+
var webhookModelUsageObservationContract = c27.router({
|
|
8344
7096
|
send: {
|
|
8345
7097
|
method: "POST",
|
|
8346
7098
|
path: "/api/webhooks/agent/model-usage-observation",
|
|
@@ -8378,7 +7130,7 @@ var zeroRunRequestSchema = unifiedRunRequestSchema.omit({
|
|
|
8378
7130
|
agentId: external_exports.string().optional(),
|
|
8379
7131
|
modelProvider: external_exports.string().optional()
|
|
8380
7132
|
});
|
|
8381
|
-
var
|
|
7133
|
+
var c28 = initContract();
|
|
8382
7134
|
var zeroLogPaginationQuerySchema = createLogPaginationQuerySchema({
|
|
8383
7135
|
cursorKind: "sequence"
|
|
8384
7136
|
});
|
|
@@ -8388,7 +7140,7 @@ var zeroNetworkLogPaginationQuerySchema = createLogPaginationQuerySchema({
|
|
|
8388
7140
|
defaultLimit: 500,
|
|
8389
7141
|
defaultOrder: "asc"
|
|
8390
7142
|
});
|
|
8391
|
-
var zeroRunsMainContract =
|
|
7143
|
+
var zeroRunsMainContract = c28.router({
|
|
8392
7144
|
create: {
|
|
8393
7145
|
method: "POST",
|
|
8394
7146
|
path: "/api/zero/runs",
|
|
@@ -8407,7 +7159,7 @@ var zeroRunsMainContract = c27.router({
|
|
|
8407
7159
|
summary: "Create and execute agent run (zero proxy)"
|
|
8408
7160
|
}
|
|
8409
7161
|
});
|
|
8410
|
-
var zeroRunsByIdContract =
|
|
7162
|
+
var zeroRunsByIdContract = c28.router({
|
|
8411
7163
|
getById: {
|
|
8412
7164
|
method: "GET",
|
|
8413
7165
|
path: "/api/zero/runs/:id",
|
|
@@ -8425,7 +7177,7 @@ var zeroRunsByIdContract = c27.router({
|
|
|
8425
7177
|
summary: "Get agent run by ID (zero proxy)"
|
|
8426
7178
|
}
|
|
8427
7179
|
});
|
|
8428
|
-
var zeroRunsCancelContract =
|
|
7180
|
+
var zeroRunsCancelContract = c28.router({
|
|
8429
7181
|
cancel: {
|
|
8430
7182
|
method: "POST",
|
|
8431
7183
|
path: "/api/zero/runs/:id/cancel",
|
|
@@ -8444,7 +7196,7 @@ var zeroRunsCancelContract = c27.router({
|
|
|
8444
7196
|
summary: "Cancel a pending or running run (zero proxy)"
|
|
8445
7197
|
}
|
|
8446
7198
|
});
|
|
8447
|
-
var zeroRunsQueueContract =
|
|
7199
|
+
var zeroRunsQueueContract = c28.router({
|
|
8448
7200
|
getQueue: {
|
|
8449
7201
|
method: "GET",
|
|
8450
7202
|
path: "/api/zero/runs/queue",
|
|
@@ -8457,7 +7209,7 @@ var zeroRunsQueueContract = c27.router({
|
|
|
8457
7209
|
summary: "Get org run queue status (zero proxy)"
|
|
8458
7210
|
}
|
|
8459
7211
|
});
|
|
8460
|
-
var zeroRunAgentEventsContract =
|
|
7212
|
+
var zeroRunAgentEventsContract = c28.router({
|
|
8461
7213
|
getAgentEvents: {
|
|
8462
7214
|
method: "GET",
|
|
8463
7215
|
path: "/api/zero/runs/:id/telemetry/agent",
|
|
@@ -8521,7 +7273,7 @@ var runContextResponseSchema = external_exports.object({
|
|
|
8521
7273
|
artifact: runContextArtifactSchema.nullable(),
|
|
8522
7274
|
featureFlags: external_exports.record(external_exports.string(), external_exports.boolean()).nullable()
|
|
8523
7275
|
});
|
|
8524
|
-
var zeroRunContextContract =
|
|
7276
|
+
var zeroRunContextContract = c28.router({
|
|
8525
7277
|
getContext: {
|
|
8526
7278
|
method: "GET",
|
|
8527
7279
|
path: "/api/zero/runs/:id/context",
|
|
@@ -8539,7 +7291,7 @@ var zeroRunContextContract = c27.router({
|
|
|
8539
7291
|
summary: "Get run execution context snapshot for debugging"
|
|
8540
7292
|
}
|
|
8541
7293
|
});
|
|
8542
|
-
var zeroRunNetworkLogsContract =
|
|
7294
|
+
var zeroRunNetworkLogsContract = c28.router({
|
|
8543
7295
|
getNetworkLogs: {
|
|
8544
7296
|
method: "GET",
|
|
8545
7297
|
path: "/api/zero/runs/:id/network",
|
|
@@ -8561,7 +7313,7 @@ var zeroRunNetworkLogsContract = c27.router({
|
|
|
8561
7313
|
var runRunnerResponseSchema = external_exports.object({
|
|
8562
7314
|
sandboxReuseResult: sandboxReuseResultSchema.nullable()
|
|
8563
7315
|
});
|
|
8564
|
-
var zeroRunRunnerContract =
|
|
7316
|
+
var zeroRunRunnerContract = c28.router({
|
|
8565
7317
|
getRunner: {
|
|
8566
7318
|
method: "GET",
|
|
8567
7319
|
path: "/api/zero/runs/:id/runner",
|
|
@@ -8579,7 +7331,7 @@ var zeroRunRunnerContract = c27.router({
|
|
|
8579
7331
|
summary: "Get runner-level metadata for a run"
|
|
8580
7332
|
}
|
|
8581
7333
|
});
|
|
8582
|
-
var zeroLogsSearchContract =
|
|
7334
|
+
var zeroLogsSearchContract = c28.router({
|
|
8583
7335
|
searchLogs: {
|
|
8584
7336
|
method: "GET",
|
|
8585
7337
|
path: "/api/zero/logs/search",
|
|
@@ -8612,13 +7364,6 @@ async function getZeroRunAgentEvents(id, options) {
|
|
|
8612
7364
|
if (result.status === 200) return result.body;
|
|
8613
7365
|
handleError(result, `Failed to get zero run events for "${id}"`);
|
|
8614
7366
|
}
|
|
8615
|
-
async function getZeroRunContext(id) {
|
|
8616
|
-
const config = await getClientConfig();
|
|
8617
|
-
const client = initClient(zeroRunContextContract, config);
|
|
8618
|
-
const result = await client.getContext({ params: { id } });
|
|
8619
|
-
if (result.status === 200) return result.body;
|
|
8620
|
-
handleError(result, `Failed to get zero run context for "${id}"`);
|
|
8621
|
-
}
|
|
8622
7367
|
|
|
8623
7368
|
// src/lib/api/domains/zero-chat.ts
|
|
8624
7369
|
init_esm_shims();
|
|
@@ -8682,7 +7427,7 @@ init_esm_shims();
|
|
|
8682
7427
|
|
|
8683
7428
|
// ../../packages/api-contracts/src/contracts/zero-developer-support.ts
|
|
8684
7429
|
init_esm_shims();
|
|
8685
|
-
var
|
|
7430
|
+
var c29 = initContract();
|
|
8686
7431
|
var developerSupportBodySchema = external_exports.object({
|
|
8687
7432
|
title: external_exports.string().min(1, "Title is required"),
|
|
8688
7433
|
description: external_exports.string().min(1, "Description is required"),
|
|
@@ -8694,7 +7439,7 @@ var consentCodeResponseSchema = external_exports.object({
|
|
|
8694
7439
|
var submitResponseSchema = external_exports.object({
|
|
8695
7440
|
reference: external_exports.string()
|
|
8696
7441
|
});
|
|
8697
|
-
var zeroDeveloperSupportContract =
|
|
7442
|
+
var zeroDeveloperSupportContract = c29.router({
|
|
8698
7443
|
submit: {
|
|
8699
7444
|
method: "POST",
|
|
8700
7445
|
path: "/api/zero/developer-support",
|
|
@@ -8890,7 +7635,7 @@ init_esm_shims();
|
|
|
8890
7635
|
|
|
8891
7636
|
// ../../packages/api-contracts/src/contracts/zero-computer-use.ts
|
|
8892
7637
|
init_esm_shims();
|
|
8893
|
-
var
|
|
7638
|
+
var c30 = initContract();
|
|
8894
7639
|
var computerUseHostStatusSchema = external_exports.enum(["online", "offline"]);
|
|
8895
7640
|
var computerUseReadCommandKindSchema = external_exports.enum([
|
|
8896
7641
|
"apps.list",
|
|
@@ -9265,7 +8010,7 @@ var computerUseAuditEventSchema = external_exports.object({
|
|
|
9265
8010
|
var computerUseAuditEventListResponseSchema = external_exports.object({
|
|
9266
8011
|
auditEvents: external_exports.array(computerUseAuditEventSchema)
|
|
9267
8012
|
});
|
|
9268
|
-
var zeroComputerUseHostsContract =
|
|
8013
|
+
var zeroComputerUseHostsContract = c30.router({
|
|
9269
8014
|
start: {
|
|
9270
8015
|
method: "POST",
|
|
9271
8016
|
path: "/api/zero/computer-use/hosts/start",
|
|
@@ -9304,7 +8049,7 @@ var zeroComputerUseHostsContract = c29.router({
|
|
|
9304
8049
|
summary: "Delete a desktop computer-use host"
|
|
9305
8050
|
}
|
|
9306
8051
|
});
|
|
9307
|
-
var zeroComputerUseHeartbeatContract =
|
|
8052
|
+
var zeroComputerUseHeartbeatContract = c30.router({
|
|
9308
8053
|
heartbeat: {
|
|
9309
8054
|
method: "POST",
|
|
9310
8055
|
path: "/api/zero/computer-use/heartbeat",
|
|
@@ -9329,7 +8074,7 @@ var zeroComputerUseHeartbeatContract = c29.router({
|
|
|
9329
8074
|
summary: "Stop a desktop computer-use host"
|
|
9330
8075
|
}
|
|
9331
8076
|
});
|
|
9332
|
-
var zeroComputerUseAuthorizationRequestsContract =
|
|
8077
|
+
var zeroComputerUseAuthorizationRequestsContract = c30.router({
|
|
9333
8078
|
create: {
|
|
9334
8079
|
method: "POST",
|
|
9335
8080
|
path: "/api/zero/computer-use/authorization-requests",
|
|
@@ -9376,7 +8121,7 @@ var zeroComputerUseAuthorizationRequestsContract = c29.router({
|
|
|
9376
8121
|
summary: "Bind a Computer Use host for a delegated authorization request"
|
|
9377
8122
|
}
|
|
9378
8123
|
});
|
|
9379
|
-
var zeroComputerUseCommandContract =
|
|
8124
|
+
var zeroComputerUseCommandContract = c30.router({
|
|
9380
8125
|
create: {
|
|
9381
8126
|
method: "POST",
|
|
9382
8127
|
path: "/api/zero/computer-use/commands",
|
|
@@ -9411,7 +8156,7 @@ var zeroComputerUseCommandContract = c29.router({
|
|
|
9411
8156
|
headers: authHeadersSchema,
|
|
9412
8157
|
pathParams: commandIdPathParamsSchema,
|
|
9413
8158
|
responses: {
|
|
9414
|
-
200:
|
|
8159
|
+
200: c30.type(),
|
|
9415
8160
|
401: apiErrorSchema,
|
|
9416
8161
|
403: apiErrorSchema,
|
|
9417
8162
|
404: apiErrorSchema
|
|
@@ -9424,7 +8169,7 @@ var zeroComputerUseCommandContract = c29.router({
|
|
|
9424
8169
|
headers: authHeadersSchema,
|
|
9425
8170
|
pathParams: commandIdPathParamsSchema,
|
|
9426
8171
|
responses: {
|
|
9427
|
-
200:
|
|
8172
|
+
200: c30.type(),
|
|
9428
8173
|
401: apiErrorSchema,
|
|
9429
8174
|
403: apiErrorSchema,
|
|
9430
8175
|
404: apiErrorSchema
|
|
@@ -9432,7 +8177,7 @@ var zeroComputerUseCommandContract = c29.router({
|
|
|
9432
8177
|
summary: "Download offloaded desktop computer-use plugin content"
|
|
9433
8178
|
}
|
|
9434
8179
|
});
|
|
9435
|
-
var zeroComputerUseWriteCommandContract =
|
|
8180
|
+
var zeroComputerUseWriteCommandContract = c30.router({
|
|
9436
8181
|
create: {
|
|
9437
8182
|
method: "POST",
|
|
9438
8183
|
path: "/api/zero/computer-use/write-commands",
|
|
@@ -9449,7 +8194,7 @@ var zeroComputerUseWriteCommandContract = c29.router({
|
|
|
9449
8194
|
summary: "Create a desktop computer-use write command"
|
|
9450
8195
|
}
|
|
9451
8196
|
});
|
|
9452
|
-
var zeroComputerUsePluginCommandContract =
|
|
8197
|
+
var zeroComputerUsePluginCommandContract = c30.router({
|
|
9453
8198
|
create: {
|
|
9454
8199
|
method: "POST",
|
|
9455
8200
|
path: "/api/zero/computer-use/plugin-commands",
|
|
@@ -9466,7 +8211,7 @@ var zeroComputerUsePluginCommandContract = c29.router({
|
|
|
9466
8211
|
summary: "Create a desktop computer-use plugin command"
|
|
9467
8212
|
}
|
|
9468
8213
|
});
|
|
9469
|
-
var zeroComputerUseHostCommandsContract =
|
|
8214
|
+
var zeroComputerUseHostCommandsContract = c30.router({
|
|
9470
8215
|
next: {
|
|
9471
8216
|
method: "POST",
|
|
9472
8217
|
path: "/api/zero/computer-use/host/commands/next",
|
|
@@ -9494,7 +8239,7 @@ var zeroComputerUseHostCommandsContract = c29.router({
|
|
|
9494
8239
|
summary: "Complete a desktop computer-use command"
|
|
9495
8240
|
}
|
|
9496
8241
|
});
|
|
9497
|
-
var zeroComputerUseAuditEventsContract =
|
|
8242
|
+
var zeroComputerUseAuditEventsContract = c30.router({
|
|
9498
8243
|
list: {
|
|
9499
8244
|
method: "GET",
|
|
9500
8245
|
path: "/api/zero/computer-use/audit-events",
|
|
@@ -9793,7 +8538,7 @@ init_esm_shims();
|
|
|
9793
8538
|
|
|
9794
8539
|
// ../../packages/api-contracts/src/contracts/composes.ts
|
|
9795
8540
|
init_esm_shims();
|
|
9796
|
-
var
|
|
8541
|
+
var c31 = initContract();
|
|
9797
8542
|
var MOUNT_PATH_TEMPLATE = "${{ working_dir }}";
|
|
9798
8543
|
var composeVersionQuerySchema = external_exports.string().min(1, "Missing version query parameter").regex(
|
|
9799
8544
|
/^[a-f0-9]{8,64}$|^latest$/i,
|
|
@@ -9913,7 +8658,7 @@ var createComposeResponseSchema = external_exports.object({
|
|
|
9913
8658
|
action: external_exports.enum(["created", "existing"]),
|
|
9914
8659
|
updatedAt: external_exports.string()
|
|
9915
8660
|
});
|
|
9916
|
-
var composesMainContract =
|
|
8661
|
+
var composesMainContract = c31.router({
|
|
9917
8662
|
/**
|
|
9918
8663
|
* GET /api/agent/composes?name={name}&org={org}
|
|
9919
8664
|
* Get agent compose by name with HEAD version content
|
|
@@ -9959,7 +8704,7 @@ var composesMainContract = c30.router({
|
|
|
9959
8704
|
summary: "Create or update agent compose version"
|
|
9960
8705
|
}
|
|
9961
8706
|
});
|
|
9962
|
-
var composesByIdContract =
|
|
8707
|
+
var composesByIdContract = c31.router({
|
|
9963
8708
|
/**
|
|
9964
8709
|
* GET /api/agent/composes/:id
|
|
9965
8710
|
* Get agent compose by ID with HEAD version content
|
|
@@ -9981,7 +8726,7 @@ var composesByIdContract = c30.router({
|
|
|
9981
8726
|
summary: "Get agent compose by ID"
|
|
9982
8727
|
}
|
|
9983
8728
|
});
|
|
9984
|
-
var composesVersionsContract =
|
|
8729
|
+
var composesVersionsContract = c31.router({
|
|
9985
8730
|
/**
|
|
9986
8731
|
* GET /api/agent/composes/versions?composeId={id}&version={hash|tag}
|
|
9987
8732
|
* Resolve a version specifier to a full version ID
|
|
@@ -10135,7 +8880,7 @@ init_esm_shims();
|
|
|
10135
8880
|
|
|
10136
8881
|
// ../../packages/api-contracts/src/contracts/sessions.ts
|
|
10137
8882
|
init_esm_shims();
|
|
10138
|
-
var
|
|
8883
|
+
var c32 = initContract();
|
|
10139
8884
|
var sessionResponseSchema = external_exports.object({
|
|
10140
8885
|
id: external_exports.string(),
|
|
10141
8886
|
agentComposeId: external_exports.string(),
|
|
@@ -10176,7 +8921,7 @@ var checkpointResponseSchema = external_exports.object({
|
|
|
10176
8921
|
volumeVersionsSnapshot: volumeVersionsSnapshotSchema2.nullable(),
|
|
10177
8922
|
createdAt: external_exports.string()
|
|
10178
8923
|
});
|
|
10179
|
-
var sessionsByIdContract =
|
|
8924
|
+
var sessionsByIdContract = c32.router({
|
|
10180
8925
|
/**
|
|
10181
8926
|
* GET /api/agent/sessions/:id
|
|
10182
8927
|
* Get session by ID
|
|
@@ -10197,7 +8942,7 @@ var sessionsByIdContract = c31.router({
|
|
|
10197
8942
|
summary: "Get session by ID"
|
|
10198
8943
|
}
|
|
10199
8944
|
});
|
|
10200
|
-
var checkpointsByIdContract =
|
|
8945
|
+
var checkpointsByIdContract = c32.router({
|
|
10201
8946
|
/**
|
|
10202
8947
|
* GET /api/agent/checkpoints/:id
|
|
10203
8948
|
* Get checkpoint by ID
|
|
@@ -10350,8 +9095,8 @@ var setVariableRequestSchema = external_exports.object({
|
|
|
10350
9095
|
});
|
|
10351
9096
|
|
|
10352
9097
|
// ../../packages/api-contracts/src/contracts/zero-secrets.ts
|
|
10353
|
-
var
|
|
10354
|
-
var zeroSecretsContract =
|
|
9098
|
+
var c33 = initContract();
|
|
9099
|
+
var zeroSecretsContract = c33.router({
|
|
10355
9100
|
list: {
|
|
10356
9101
|
method: "GET",
|
|
10357
9102
|
path: "/api/zero/secrets",
|
|
@@ -10378,7 +9123,7 @@ var zeroSecretsContract = c32.router({
|
|
|
10378
9123
|
summary: "Create or update a secret"
|
|
10379
9124
|
}
|
|
10380
9125
|
});
|
|
10381
|
-
var zeroSecretsByNameContract =
|
|
9126
|
+
var zeroSecretsByNameContract = c33.router({
|
|
10382
9127
|
delete: {
|
|
10383
9128
|
method: "DELETE",
|
|
10384
9129
|
path: "/api/zero/secrets/:name",
|
|
@@ -10387,7 +9132,7 @@ var zeroSecretsByNameContract = c32.router({
|
|
|
10387
9132
|
name: secretNameSchema
|
|
10388
9133
|
}),
|
|
10389
9134
|
responses: {
|
|
10390
|
-
204:
|
|
9135
|
+
204: c33.noBody(),
|
|
10391
9136
|
401: apiErrorSchema,
|
|
10392
9137
|
404: apiErrorSchema,
|
|
10393
9138
|
500: apiErrorSchema
|
|
@@ -10395,7 +9140,7 @@ var zeroSecretsByNameContract = c32.router({
|
|
|
10395
9140
|
summary: "Delete a secret by name"
|
|
10396
9141
|
}
|
|
10397
9142
|
});
|
|
10398
|
-
var zeroVariablesContract =
|
|
9143
|
+
var zeroVariablesContract = c33.router({
|
|
10399
9144
|
list: {
|
|
10400
9145
|
method: "GET",
|
|
10401
9146
|
path: "/api/zero/variables",
|
|
@@ -10422,7 +9167,7 @@ var zeroVariablesContract = c32.router({
|
|
|
10422
9167
|
summary: "Create or update a variable"
|
|
10423
9168
|
}
|
|
10424
9169
|
});
|
|
10425
|
-
var zeroVariablesByNameContract =
|
|
9170
|
+
var zeroVariablesByNameContract = c33.router({
|
|
10426
9171
|
delete: {
|
|
10427
9172
|
method: "DELETE",
|
|
10428
9173
|
path: "/api/zero/variables/:name",
|
|
@@ -10431,7 +9176,7 @@ var zeroVariablesByNameContract = c32.router({
|
|
|
10431
9176
|
name: variableNameSchema
|
|
10432
9177
|
}),
|
|
10433
9178
|
responses: {
|
|
10434
|
-
204:
|
|
9179
|
+
204: c33.noBody(),
|
|
10435
9180
|
401: apiErrorSchema,
|
|
10436
9181
|
404: apiErrorSchema,
|
|
10437
9182
|
500: apiErrorSchema
|
|
@@ -10572,9 +9317,9 @@ init_esm_shims();
|
|
|
10572
9317
|
|
|
10573
9318
|
// ../../packages/api-contracts/src/contracts/zero-model-providers.ts
|
|
10574
9319
|
init_esm_shims();
|
|
10575
|
-
var
|
|
9320
|
+
var c34 = initContract();
|
|
10576
9321
|
var orgUpsertModelProviderRequestSchema = upsertModelProviderRequestSchema.omit({ selectedModel: true });
|
|
10577
|
-
var zeroModelProvidersMainContract =
|
|
9322
|
+
var zeroModelProvidersMainContract = c34.router({
|
|
10578
9323
|
list: {
|
|
10579
9324
|
method: "GET",
|
|
10580
9325
|
path: "/api/zero/model-providers",
|
|
@@ -10603,7 +9348,7 @@ var zeroModelProvidersMainContract = c33.router({
|
|
|
10603
9348
|
summary: "Create or update an org-level model provider (admin only)"
|
|
10604
9349
|
}
|
|
10605
9350
|
});
|
|
10606
|
-
var zeroModelProvidersByTypeContract =
|
|
9351
|
+
var zeroModelProvidersByTypeContract = c34.router({
|
|
10607
9352
|
delete: {
|
|
10608
9353
|
method: "DELETE",
|
|
10609
9354
|
path: "/api/zero/model-providers/:type",
|
|
@@ -10612,7 +9357,7 @@ var zeroModelProvidersByTypeContract = c33.router({
|
|
|
10612
9357
|
type: modelProviderTypeSchema
|
|
10613
9358
|
}),
|
|
10614
9359
|
responses: {
|
|
10615
|
-
204:
|
|
9360
|
+
204: c34.noBody(),
|
|
10616
9361
|
401: apiErrorSchema,
|
|
10617
9362
|
403: apiErrorSchema,
|
|
10618
9363
|
404: apiErrorSchema,
|
|
@@ -10658,7 +9403,7 @@ init_esm_shims();
|
|
|
10658
9403
|
|
|
10659
9404
|
// ../../packages/api-contracts/src/contracts/zero-workflows.ts
|
|
10660
9405
|
init_esm_shims();
|
|
10661
|
-
var
|
|
9406
|
+
var c35 = initContract();
|
|
10662
9407
|
var zeroWorkflowVisibilitySchema = external_exports.enum(["public", "private"]);
|
|
10663
9408
|
var zeroWorkflowNameSchema = external_exports.string().min(2).max(64).regex(/^[a-z0-9][a-z0-9-]*[a-z0-9]$/);
|
|
10664
9409
|
var RESERVED_SKILL_FILE = "SKILL.md";
|
|
@@ -11303,7 +10048,7 @@ var zeroWorkflowConnectorReadinessResponseSchema = external_exports.object({
|
|
|
11303
10048
|
connectors: external_exports.array(zeroWorkflowConnectorReadinessEntrySchema)
|
|
11304
10049
|
}).strict();
|
|
11305
10050
|
var workflowIdParams = external_exports.object({ workflowId: external_exports.string().uuid() });
|
|
11306
|
-
var zeroWorkflowsCollectionContract =
|
|
10051
|
+
var zeroWorkflowsCollectionContract = c35.router({
|
|
11307
10052
|
list: {
|
|
11308
10053
|
method: "GET",
|
|
11309
10054
|
path: "/api/zero/workflows",
|
|
@@ -11332,7 +10077,7 @@ var zeroWorkflowsCollectionContract = c34.router({
|
|
|
11332
10077
|
summary: "Create a workflow under an agent"
|
|
11333
10078
|
}
|
|
11334
10079
|
});
|
|
11335
|
-
var zeroWorkflowsDetailContract =
|
|
10080
|
+
var zeroWorkflowsDetailContract = c35.router({
|
|
11336
10081
|
get: {
|
|
11337
10082
|
method: "GET",
|
|
11338
10083
|
path: "/api/zero/workflows/:workflowId",
|
|
@@ -11367,9 +10112,9 @@ var zeroWorkflowsDetailContract = c34.router({
|
|
|
11367
10112
|
path: "/api/zero/workflows/:workflowId",
|
|
11368
10113
|
headers: authHeadersSchema,
|
|
11369
10114
|
pathParams: workflowIdParams,
|
|
11370
|
-
body:
|
|
10115
|
+
body: c35.noBody(),
|
|
11371
10116
|
responses: {
|
|
11372
|
-
204:
|
|
10117
|
+
204: c35.noBody(),
|
|
11373
10118
|
401: apiErrorSchema,
|
|
11374
10119
|
403: apiErrorSchema,
|
|
11375
10120
|
404: apiErrorSchema
|
|
@@ -11397,7 +10142,7 @@ var zeroWorkflowsDetailContract = c34.router({
|
|
|
11397
10142
|
path: "/api/zero/workflows/:workflowId/chat-thread",
|
|
11398
10143
|
headers: authHeadersSchema,
|
|
11399
10144
|
pathParams: workflowIdParams,
|
|
11400
|
-
body:
|
|
10145
|
+
body: c35.noBody(),
|
|
11401
10146
|
responses: {
|
|
11402
10147
|
200: zeroWorkflowChatThreadResponseSchema,
|
|
11403
10148
|
401: apiErrorSchema,
|
|
@@ -11411,7 +10156,7 @@ var zeroWorkflowsDetailContract = c34.router({
|
|
|
11411
10156
|
path: "/api/zero/workflows/:workflowId/run",
|
|
11412
10157
|
headers: authHeadersSchema,
|
|
11413
10158
|
pathParams: workflowIdParams,
|
|
11414
|
-
body:
|
|
10159
|
+
body: c35.noBody(),
|
|
11415
10160
|
responses: {
|
|
11416
10161
|
200: zeroWorkflowRunResponseSchema,
|
|
11417
10162
|
401: apiErrorSchema,
|
|
@@ -11426,7 +10171,7 @@ var zeroWorkflowsDetailContract = c34.router({
|
|
|
11426
10171
|
path: "/api/zero/workflows/:workflowId/connector-readiness",
|
|
11427
10172
|
headers: authHeadersSchema,
|
|
11428
10173
|
pathParams: workflowIdParams,
|
|
11429
|
-
body:
|
|
10174
|
+
body: c35.noBody(),
|
|
11430
10175
|
responses: {
|
|
11431
10176
|
200: zeroWorkflowConnectorReadinessResponseSchema,
|
|
11432
10177
|
400: apiErrorSchema,
|
|
@@ -11439,13 +10184,13 @@ var zeroWorkflowsDetailContract = c34.router({
|
|
|
11439
10184
|
summary: "Detect the built-in connectors a workflow may need and report their readiness"
|
|
11440
10185
|
}
|
|
11441
10186
|
});
|
|
11442
|
-
var zeroWorkflowVisibilityContract =
|
|
10187
|
+
var zeroWorkflowVisibilityContract = c35.router({
|
|
11443
10188
|
publish: {
|
|
11444
10189
|
method: "POST",
|
|
11445
10190
|
path: "/api/zero/workflows/:workflowId/publish",
|
|
11446
10191
|
headers: authHeadersSchema,
|
|
11447
10192
|
pathParams: workflowIdParams,
|
|
11448
|
-
body:
|
|
10193
|
+
body: c35.noBody(),
|
|
11449
10194
|
responses: {
|
|
11450
10195
|
200: zeroWorkflowSummarySchema,
|
|
11451
10196
|
400: apiErrorSchema,
|
|
@@ -11461,7 +10206,7 @@ var zeroWorkflowVisibilityContract = c34.router({
|
|
|
11461
10206
|
path: "/api/zero/workflows/:workflowId/demote",
|
|
11462
10207
|
headers: authHeadersSchema,
|
|
11463
10208
|
pathParams: workflowIdParams,
|
|
11464
|
-
body:
|
|
10209
|
+
body: c35.noBody(),
|
|
11465
10210
|
responses: {
|
|
11466
10211
|
200: zeroWorkflowSummarySchema,
|
|
11467
10212
|
400: apiErrorSchema,
|
|
@@ -11479,7 +10224,7 @@ var zeroWorkflowWebhookSecretResponseSchema = external_exports.object({
|
|
|
11479
10224
|
webhookUrl: external_exports.url(),
|
|
11480
10225
|
webhookSecret: external_exports.string().min(1)
|
|
11481
10226
|
});
|
|
11482
|
-
var zeroWorkflowTriggersContract =
|
|
10227
|
+
var zeroWorkflowTriggersContract = c35.router({
|
|
11483
10228
|
listWorkspace: {
|
|
11484
10229
|
method: "GET",
|
|
11485
10230
|
path: "/api/zero/workflow-triggers",
|
|
@@ -11568,9 +10313,9 @@ var zeroWorkflowTriggersContract = c34.router({
|
|
|
11568
10313
|
path: "/api/zero/workflow-triggers/:id",
|
|
11569
10314
|
headers: authHeadersSchema,
|
|
11570
10315
|
pathParams: triggerIdParams,
|
|
11571
|
-
body:
|
|
10316
|
+
body: c35.noBody(),
|
|
11572
10317
|
responses: {
|
|
11573
|
-
204:
|
|
10318
|
+
204: c35.noBody(),
|
|
11574
10319
|
401: apiErrorSchema,
|
|
11575
10320
|
403: apiErrorSchema,
|
|
11576
10321
|
404: apiErrorSchema
|
|
@@ -11582,7 +10327,7 @@ var zeroWorkflowTriggersContract = c34.router({
|
|
|
11582
10327
|
path: "/api/zero/workflow-triggers/:id/enable",
|
|
11583
10328
|
headers: authHeadersSchema,
|
|
11584
10329
|
pathParams: triggerIdParams,
|
|
11585
|
-
body:
|
|
10330
|
+
body: c35.noBody(),
|
|
11586
10331
|
responses: {
|
|
11587
10332
|
200: zeroWorkflowTriggerSummarySchema,
|
|
11588
10333
|
400: apiErrorSchema,
|
|
@@ -11599,7 +10344,7 @@ var zeroWorkflowTriggersContract = c34.router({
|
|
|
11599
10344
|
path: "/api/zero/workflow-triggers/:id/disable",
|
|
11600
10345
|
headers: authHeadersSchema,
|
|
11601
10346
|
pathParams: triggerIdParams,
|
|
11602
|
-
body:
|
|
10347
|
+
body: c35.noBody(),
|
|
11603
10348
|
responses: {
|
|
11604
10349
|
200: zeroWorkflowTriggerSummarySchema,
|
|
11605
10350
|
401: apiErrorSchema,
|
|
@@ -11613,7 +10358,7 @@ var zeroWorkflowTriggersContract = c34.router({
|
|
|
11613
10358
|
path: "/api/zero/workflow-triggers/:id/run",
|
|
11614
10359
|
headers: authHeadersSchema,
|
|
11615
10360
|
pathParams: triggerIdParams,
|
|
11616
|
-
body:
|
|
10361
|
+
body: c35.noBody(),
|
|
11617
10362
|
responses: {
|
|
11618
10363
|
201: zeroWorkflowRunResponseSchema,
|
|
11619
10364
|
400: apiErrorSchema,
|
|
@@ -11629,7 +10374,7 @@ var zeroWorkflowTriggersContract = c34.router({
|
|
|
11629
10374
|
path: "/api/zero/workflow-triggers/:id/webhook-secret",
|
|
11630
10375
|
headers: authHeadersSchema,
|
|
11631
10376
|
pathParams: triggerIdParams,
|
|
11632
|
-
body:
|
|
10377
|
+
body: c35.noBody(),
|
|
11633
10378
|
responses: {
|
|
11634
10379
|
200: zeroWorkflowWebhookSecretResponseSchema,
|
|
11635
10380
|
401: apiErrorSchema,
|
|
@@ -11744,7 +10489,7 @@ import { pipeline } from "stream/promises";
|
|
|
11744
10489
|
|
|
11745
10490
|
// ../../packages/api-contracts/src/contracts/integrations.ts
|
|
11746
10491
|
init_esm_shims();
|
|
11747
|
-
var
|
|
10492
|
+
var c36 = initContract();
|
|
11748
10493
|
var sendSlackMessageBodySchema = external_exports.object({
|
|
11749
10494
|
channel: external_exports.string().min(1, "Channel ID is required").optional(),
|
|
11750
10495
|
user: external_exports.string().min(1, "User ID is required").optional(),
|
|
@@ -11762,7 +10507,7 @@ var sendSlackMessageResponseSchema = external_exports.object({
|
|
|
11762
10507
|
ts: external_exports.string().optional(),
|
|
11763
10508
|
channel: external_exports.string().optional()
|
|
11764
10509
|
});
|
|
11765
|
-
var integrationsSlackMessageContract =
|
|
10510
|
+
var integrationsSlackMessageContract = c36.router({
|
|
11766
10511
|
sendMessage: {
|
|
11767
10512
|
method: "POST",
|
|
11768
10513
|
path: "/api/zero/integrations/slack/message",
|
|
@@ -11790,7 +10535,7 @@ var sendTelegramMessageResponseSchema = external_exports.object({
|
|
|
11790
10535
|
messageId: external_exports.number().int(),
|
|
11791
10536
|
chatId: external_exports.string()
|
|
11792
10537
|
});
|
|
11793
|
-
var integrationsTelegramMessageContract =
|
|
10538
|
+
var integrationsTelegramMessageContract = c36.router({
|
|
11794
10539
|
sendMessage: {
|
|
11795
10540
|
method: "POST",
|
|
11796
10541
|
path: "/api/zero/integrations/telegram/message",
|
|
@@ -11849,7 +10594,7 @@ var sendTeamsMessageResponseSchema = external_exports.object({
|
|
|
11849
10594
|
activityId: external_exports.string().optional(),
|
|
11850
10595
|
conversationId: external_exports.string()
|
|
11851
10596
|
});
|
|
11852
|
-
var integrationsTeamsMessageContract =
|
|
10597
|
+
var integrationsTeamsMessageContract = c36.router({
|
|
11853
10598
|
sendMessage: {
|
|
11854
10599
|
method: "POST",
|
|
11855
10600
|
path: "/api/zero/integrations/teams/message",
|
|
@@ -11877,7 +10622,7 @@ var sendPhoneMessageResponseSchema = external_exports.object({
|
|
|
11877
10622
|
channel: external_exports.string().nullable(),
|
|
11878
10623
|
toNumber: external_exports.string()
|
|
11879
10624
|
});
|
|
11880
|
-
var integrationsPhoneMessageContract =
|
|
10625
|
+
var integrationsPhoneMessageContract = c36.router({
|
|
11881
10626
|
sendMessage: {
|
|
11882
10627
|
method: "POST",
|
|
11883
10628
|
path: "/api/zero/integrations/phone/message",
|
|
@@ -11897,14 +10642,14 @@ var integrationsPhoneMessageContract = c35.router({
|
|
|
11897
10642
|
var phoneDownloadFileQuerySchema = external_exports.object({
|
|
11898
10643
|
file_id: external_exports.string().min(1, "file_id query parameter is required")
|
|
11899
10644
|
});
|
|
11900
|
-
var integrationsPhoneDownloadFileContract =
|
|
10645
|
+
var integrationsPhoneDownloadFileContract = c36.router({
|
|
11901
10646
|
download: {
|
|
11902
10647
|
method: "GET",
|
|
11903
10648
|
path: "/api/zero/integrations/phone/download-file",
|
|
11904
10649
|
headers: authHeadersSchema,
|
|
11905
10650
|
query: phoneDownloadFileQuerySchema,
|
|
11906
10651
|
responses: {
|
|
11907
|
-
200:
|
|
10652
|
+
200: c36.type(),
|
|
11908
10653
|
400: apiErrorSchema,
|
|
11909
10654
|
401: apiErrorSchema,
|
|
11910
10655
|
403: apiErrorSchema,
|
|
@@ -11939,7 +10684,7 @@ var telegramBotListItemSchema = external_exports.object({
|
|
|
11939
10684
|
var listTelegramBotsResponseSchema = external_exports.object({
|
|
11940
10685
|
bots: external_exports.array(telegramBotListItemSchema)
|
|
11941
10686
|
});
|
|
11942
|
-
var integrationsTelegramBotListContract =
|
|
10687
|
+
var integrationsTelegramBotListContract = c36.router({
|
|
11943
10688
|
listBots: {
|
|
11944
10689
|
method: "GET",
|
|
11945
10690
|
path: "/api/zero/integrations/telegram/bots",
|
|
@@ -11960,7 +10705,7 @@ var slackUploadInitResponseSchema = external_exports.object({
|
|
|
11960
10705
|
uploadUrl: external_exports.string(),
|
|
11961
10706
|
fileId: external_exports.string()
|
|
11962
10707
|
});
|
|
11963
|
-
var integrationsSlackUploadInitContract =
|
|
10708
|
+
var integrationsSlackUploadInitContract = c36.router({
|
|
11964
10709
|
init: {
|
|
11965
10710
|
method: "POST",
|
|
11966
10711
|
path: "/api/zero/integrations/slack/upload-file/init",
|
|
@@ -11989,7 +10734,7 @@ var telegramUploadInitResponseSchema = external_exports.object({
|
|
|
11989
10734
|
contentType: external_exports.string(),
|
|
11990
10735
|
size: external_exports.number().int().nonnegative()
|
|
11991
10736
|
});
|
|
11992
|
-
var integrationsTelegramUploadInitContract =
|
|
10737
|
+
var integrationsTelegramUploadInitContract = c36.router({
|
|
11993
10738
|
init: {
|
|
11994
10739
|
method: "POST",
|
|
11995
10740
|
path: "/api/zero/integrations/telegram/upload-file/init",
|
|
@@ -12017,7 +10762,7 @@ var teamsUploadInitResponseSchema = external_exports.object({
|
|
|
12017
10762
|
contentType: external_exports.string(),
|
|
12018
10763
|
size: external_exports.number().int().nonnegative()
|
|
12019
10764
|
});
|
|
12020
|
-
var integrationsTeamsUploadInitContract =
|
|
10765
|
+
var integrationsTeamsUploadInitContract = c36.router({
|
|
12021
10766
|
init: {
|
|
12022
10767
|
method: "POST",
|
|
12023
10768
|
path: "/api/zero/integrations/teams/upload-file/init",
|
|
@@ -12049,7 +10794,7 @@ var telegramUploadCompleteResponseSchema = external_exports.object({
|
|
|
12049
10794
|
size: external_exports.number().int().nonnegative(),
|
|
12050
10795
|
url: external_exports.string()
|
|
12051
10796
|
});
|
|
12052
|
-
var integrationsTelegramUploadCompleteContract =
|
|
10797
|
+
var integrationsTelegramUploadCompleteContract = c36.router({
|
|
12053
10798
|
complete: {
|
|
12054
10799
|
method: "POST",
|
|
12055
10800
|
path: "/api/zero/integrations/telegram/upload-file/complete",
|
|
@@ -12081,7 +10826,7 @@ var teamsUploadCompleteResponseSchema = external_exports.object({
|
|
|
12081
10826
|
size: external_exports.number().int().nonnegative(),
|
|
12082
10827
|
url: external_exports.string()
|
|
12083
10828
|
});
|
|
12084
|
-
var integrationsTeamsUploadCompleteContract =
|
|
10829
|
+
var integrationsTeamsUploadCompleteContract = c36.router({
|
|
12085
10830
|
complete: {
|
|
12086
10831
|
method: "POST",
|
|
12087
10832
|
path: "/api/zero/integrations/teams/upload-file/complete",
|
|
@@ -12111,7 +10856,7 @@ var githubUploadInitResponseSchema = external_exports.object({
|
|
|
12111
10856
|
contentType: external_exports.string(),
|
|
12112
10857
|
size: external_exports.number().int().nonnegative()
|
|
12113
10858
|
});
|
|
12114
|
-
var integrationsGithubUploadInitContract =
|
|
10859
|
+
var integrationsGithubUploadInitContract = c36.router({
|
|
12115
10860
|
init: {
|
|
12116
10861
|
method: "POST",
|
|
12117
10862
|
path: "/api/zero/integrations/github/upload-file/init",
|
|
@@ -12145,7 +10890,7 @@ var githubUploadCompleteResponseSchema = external_exports.object({
|
|
|
12145
10890
|
size: external_exports.number().int().nonnegative(),
|
|
12146
10891
|
url: external_exports.string()
|
|
12147
10892
|
});
|
|
12148
|
-
var integrationsGithubUploadCompleteContract =
|
|
10893
|
+
var integrationsGithubUploadCompleteContract = c36.router({
|
|
12149
10894
|
complete: {
|
|
12150
10895
|
method: "POST",
|
|
12151
10896
|
path: "/api/zero/integrations/github/upload-file/complete",
|
|
@@ -12176,7 +10921,7 @@ var phoneUploadInitResponseSchema = external_exports.object({
|
|
|
12176
10921
|
contentType: external_exports.string(),
|
|
12177
10922
|
size: external_exports.number().int().nonnegative()
|
|
12178
10923
|
});
|
|
12179
|
-
var integrationsPhoneUploadInitContract =
|
|
10924
|
+
var integrationsPhoneUploadInitContract = c36.router({
|
|
12180
10925
|
init: {
|
|
12181
10926
|
method: "POST",
|
|
12182
10927
|
path: "/api/zero/integrations/phone/upload-file/init",
|
|
@@ -12207,7 +10952,7 @@ var phoneUploadCompleteResponseSchema = external_exports.object({
|
|
|
12207
10952
|
size: external_exports.number().int().nonnegative(),
|
|
12208
10953
|
url: external_exports.string()
|
|
12209
10954
|
});
|
|
12210
|
-
var integrationsPhoneUploadCompleteContract =
|
|
10955
|
+
var integrationsPhoneUploadCompleteContract = c36.router({
|
|
12211
10956
|
complete: {
|
|
12212
10957
|
method: "POST",
|
|
12213
10958
|
path: "/api/zero/integrations/phone/upload-file/complete",
|
|
@@ -12235,7 +10980,7 @@ var slackUploadCompleteResponseSchema = external_exports.object({
|
|
|
12235
10980
|
fileId: external_exports.string(),
|
|
12236
10981
|
permalink: external_exports.string()
|
|
12237
10982
|
});
|
|
12238
|
-
var integrationsSlackUploadCompleteContract =
|
|
10983
|
+
var integrationsSlackUploadCompleteContract = c36.router({
|
|
12239
10984
|
complete: {
|
|
12240
10985
|
method: "POST",
|
|
12241
10986
|
path: "/api/zero/integrations/slack/upload-file/complete",
|
|
@@ -12682,7 +11427,7 @@ init_esm_shims();
|
|
|
12682
11427
|
|
|
12683
11428
|
// ../../packages/api-contracts/src/contracts/zero-relationships.ts
|
|
12684
11429
|
init_esm_shims();
|
|
12685
|
-
var
|
|
11430
|
+
var c37 = initContract();
|
|
12686
11431
|
var RELATIONSHIP_SEARCH_DEFAULT_LIMIT = 100;
|
|
12687
11432
|
var RELATIONSHIP_SEARCH_MAX_LIMIT = 100;
|
|
12688
11433
|
var relationshipEntityTypeSchema = external_exports.enum(["person", "organization"]);
|
|
@@ -12797,7 +11542,7 @@ var resolveQuerySchema = external_exports.object({
|
|
|
12797
11542
|
message: "Provide exactly one of id, email, or domain"
|
|
12798
11543
|
}
|
|
12799
11544
|
);
|
|
12800
|
-
var zeroRelationshipsContract =
|
|
11545
|
+
var zeroRelationshipsContract = c37.router({
|
|
12801
11546
|
gmailStatus: {
|
|
12802
11547
|
method: "GET",
|
|
12803
11548
|
path: "/api/zero/relationships/gmail/status",
|
|
@@ -12924,7 +11669,7 @@ init_esm_shims();
|
|
|
12924
11669
|
|
|
12925
11670
|
// ../../packages/api-contracts/src/contracts/zero-memory.ts
|
|
12926
11671
|
init_esm_shims();
|
|
12927
|
-
var
|
|
11672
|
+
var c38 = initContract();
|
|
12928
11673
|
var memoryFileSchema = external_exports.object({
|
|
12929
11674
|
path: external_exports.string(),
|
|
12930
11675
|
size: external_exports.number()
|
|
@@ -13472,7 +12217,7 @@ var memoryDetailResponseSchema = external_exports.object({
|
|
|
13472
12217
|
files: external_exports.array(memoryFileSchema),
|
|
13473
12218
|
fileContents: external_exports.array(memoryFileContentSchema)
|
|
13474
12219
|
});
|
|
13475
|
-
var zeroMemoryContract =
|
|
12220
|
+
var zeroMemoryContract = c38.router({
|
|
13476
12221
|
get: {
|
|
13477
12222
|
method: "GET",
|
|
13478
12223
|
path: "/api/zero/memory",
|
|
@@ -14262,17 +13007,9 @@ async function getHostedSiteFiles(publicSlug) {
|
|
|
14262
13007
|
export {
|
|
14263
13008
|
connectorCatalogRefSchema,
|
|
14264
13009
|
guaranteedConnectorProvidedBindingNames,
|
|
14265
|
-
hasRawWhitespace,
|
|
14266
|
-
hasUnsafeUrlCodepoint,
|
|
14267
|
-
parseSegment,
|
|
14268
|
-
splitPathSegments,
|
|
14269
13010
|
UNKNOWN_PERMISSION_GRANT,
|
|
14270
13011
|
firewallPoliciesSchema,
|
|
14271
13012
|
hasUnsafeFirewallPath,
|
|
14272
|
-
resolveFirewallBaseUrlTemplate,
|
|
14273
|
-
hasBaseUrlParams,
|
|
14274
|
-
validateBaseUrl,
|
|
14275
|
-
validateAuthBaseUrl,
|
|
14276
13013
|
authHeadersSchema,
|
|
14277
13014
|
runnerGroupSchema,
|
|
14278
13015
|
volumeConfigSchema,
|
|
@@ -14360,10 +13097,10 @@ export {
|
|
|
14360
13097
|
clearGoal,
|
|
14361
13098
|
customConnectorProposalSchema,
|
|
14362
13099
|
listZeroConnectors,
|
|
14363
|
-
searchZeroConnectors,
|
|
14364
13100
|
listZeroConnectorCatalog,
|
|
14365
13101
|
listZeroConnectorCatalogStatus,
|
|
14366
13102
|
getZeroConnectorCatalogPermissions,
|
|
13103
|
+
diagnoseZeroConnectorCheck,
|
|
14367
13104
|
diagnoseZeroConnectorPermissionDeny,
|
|
14368
13105
|
getZeroConnector,
|
|
14369
13106
|
connectZeroConnectorManualGrant,
|
|
@@ -14390,7 +13127,6 @@ export {
|
|
|
14390
13127
|
completePhoneFileUpload,
|
|
14391
13128
|
downloadPhoneFile,
|
|
14392
13129
|
getZeroRunAgentEvents,
|
|
14393
|
-
getZeroRunContext,
|
|
14394
13130
|
listZeroLogs,
|
|
14395
13131
|
searchZeroLogs,
|
|
14396
13132
|
searchZeroChat,
|
|
@@ -14434,4 +13170,4 @@ export {
|
|
|
14434
13170
|
completeHostedSite,
|
|
14435
13171
|
getHostedSiteFiles
|
|
14436
13172
|
};
|
|
14437
|
-
//# sourceMappingURL=chunk-
|
|
13173
|
+
//# sourceMappingURL=chunk-IXT6G7VE.js.map
|