Release v1.0.2 (#4175)

This commit is contained in:
Stanislav Novosad
2025-12-02 20:21:25 -07:00
committed by GitHub
parent 2961fdd721
commit d9610701d3
159 changed files with 2793 additions and 2382 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@skyvern/client",
"version": "1.0.0",
"version": "1.0.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@skyvern/client",
"version": "1.0.0",
"version": "1.0.2",
"devDependencies": {
"@biomejs/biome": "2.2.5",
"@types/node": "^18.19.70",
@@ -827,9 +827,9 @@
"license": "MIT"
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.2.tgz",
"integrity": "sha512-yDPzwsgiFO26RJA4nZo8I+xqzh7sJTZIWQOxn+/XOdPE31lAvLIYCKqjV+lNH/vxE2L2iH3plKxDCRK6i+CwhA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz",
"integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==",
"cpu": [
"arm"
],
@@ -841,9 +841,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.2.tgz",
"integrity": "sha512-k8FontTxIE7b0/OGKeSN5B6j25EuppBcWM33Z19JoVT7UTXFSo3D9CdU39wGTeb29NO3XxpMNauh09B+Ibw+9g==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz",
"integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==",
"cpu": [
"arm64"
],
@@ -855,9 +855,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.2.tgz",
"integrity": "sha512-A6s4gJpomNBtJ2yioj8bflM2oogDwzUiMl2yNJ2v9E7++sHrSrsQ29fOfn5DM/iCzpWcebNYEdXpaK4tr2RhfQ==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz",
"integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==",
"cpu": [
"arm64"
],
@@ -869,9 +869,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.2.tgz",
"integrity": "sha512-e6XqVmXlHrBlG56obu9gDRPW3O3hLxpwHpLsBJvuI8qqnsrtSZ9ERoWUXtPOkY8c78WghyPHZdmPhHLWNdAGEw==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz",
"integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==",
"cpu": [
"x64"
],
@@ -883,9 +883,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.2.tgz",
"integrity": "sha512-v0E9lJW8VsrwPux5Qe5CwmH/CF/2mQs6xU1MF3nmUxmZUCHazCjLgYvToOk+YuuUqLQBio1qkkREhxhc656ViA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz",
"integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==",
"cpu": [
"arm64"
],
@@ -897,9 +897,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.2.tgz",
"integrity": "sha512-ClAmAPx3ZCHtp6ysl4XEhWU69GUB1D+s7G9YjHGhIGCSrsg00nEGRRZHmINYxkdoJehde8VIsDC5t9C0gb6yqA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz",
"integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==",
"cpu": [
"x64"
],
@@ -911,9 +911,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.2.tgz",
"integrity": "sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz",
"integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==",
"cpu": [
"arm"
],
@@ -925,9 +925,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.2.tgz",
"integrity": "sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz",
"integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==",
"cpu": [
"arm"
],
@@ -939,9 +939,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.2.tgz",
"integrity": "sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz",
"integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==",
"cpu": [
"arm64"
],
@@ -953,9 +953,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.2.tgz",
"integrity": "sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz",
"integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==",
"cpu": [
"arm64"
],
@@ -967,9 +967,9 @@
]
},
"node_modules/@rollup/rollup-linux-loong64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.2.tgz",
"integrity": "sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz",
"integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==",
"cpu": [
"loong64"
],
@@ -981,9 +981,9 @@
]
},
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.2.tgz",
"integrity": "sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz",
"integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==",
"cpu": [
"ppc64"
],
@@ -995,9 +995,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.2.tgz",
"integrity": "sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz",
"integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==",
"cpu": [
"riscv64"
],
@@ -1009,9 +1009,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.2.tgz",
"integrity": "sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz",
"integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==",
"cpu": [
"riscv64"
],
@@ -1023,9 +1023,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.2.tgz",
"integrity": "sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz",
"integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==",
"cpu": [
"s390x"
],
@@ -1037,9 +1037,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.2.tgz",
"integrity": "sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz",
"integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==",
"cpu": [
"x64"
],
@@ -1051,9 +1051,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.2.tgz",
"integrity": "sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz",
"integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==",
"cpu": [
"x64"
],
@@ -1065,9 +1065,9 @@
]
},
"node_modules/@rollup/rollup-openharmony-arm64": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.2.tgz",
"integrity": "sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz",
"integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==",
"cpu": [
"arm64"
],
@@ -1079,9 +1079,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.2.tgz",
"integrity": "sha512-IlbHFYc/pQCgew/d5fslcy1KEaYVCJ44G8pajugd8VoOEI8ODhtb/j8XMhLpwHCMB3yk2J07ctup10gpw2nyMA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz",
"integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==",
"cpu": [
"arm64"
],
@@ -1093,9 +1093,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.2.tgz",
"integrity": "sha512-lNlPEGgdUfSzdCWU176ku/dQRnA7W+Gp8d+cWv73jYrb8uT7HTVVxq62DUYxjbaByuf1Yk0RIIAbDzp+CnOTFg==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz",
"integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==",
"cpu": [
"ia32"
],
@@ -1107,9 +1107,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-gnu": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.2.tgz",
"integrity": "sha512-S6YojNVrHybQis2lYov1sd+uj7K0Q05NxHcGktuMMdIQ2VixGwAfbJ23NnlvvVV1bdpR2m5MsNBViHJKcA4ADw==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz",
"integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==",
"cpu": [
"x64"
],
@@ -1121,9 +1121,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.2.tgz",
"integrity": "sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz",
"integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==",
"cpu": [
"x64"
],
@@ -1586,9 +1586,9 @@
}
},
"node_modules/baseline-browser-mapping": {
"version": "2.8.28",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.28.tgz",
"integrity": "sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==",
"version": "2.8.32",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.32.tgz",
"integrity": "sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -1660,9 +1660,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001754",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
"integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
"version": "1.0.30001757",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz",
"integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==",
"dev": true,
"funding": [
{
@@ -1843,9 +1843,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.253",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.253.tgz",
"integrity": "sha512-O0tpQ/35rrgdiGQ0/OFWhy1itmd9A6TY9uQzlqj3hKSu/aYpe7UIn5d7CU2N9myH6biZiWF3VMZVuup8pw5U9w==",
"version": "1.5.263",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.263.tgz",
"integrity": "sha512-DrqJ11Knd+lo+dv+lltvfMDLU27g14LMdH2b0O3Pio4uk0x+z7OR+JrmyacTPN2M8w3BrZ7/RTwG3R9B7irPlg==",
"dev": true,
"license": "ISC"
},
@@ -2477,9 +2477,9 @@
"license": "MIT"
},
"node_modules/rollup": {
"version": "4.53.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.2.tgz",
"integrity": "sha512-MHngMYwGJVi6Fmnk6ISmnk7JAHRNF0UkuucA0CUW3N3a4KnONPEZz+vUanQP/ZC/iY1Qkf3bwPWzyY84wEks1g==",
"version": "4.53.3",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz",
"integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2493,28 +2493,28 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.53.2",
"@rollup/rollup-android-arm64": "4.53.2",
"@rollup/rollup-darwin-arm64": "4.53.2",
"@rollup/rollup-darwin-x64": "4.53.2",
"@rollup/rollup-freebsd-arm64": "4.53.2",
"@rollup/rollup-freebsd-x64": "4.53.2",
"@rollup/rollup-linux-arm-gnueabihf": "4.53.2",
"@rollup/rollup-linux-arm-musleabihf": "4.53.2",
"@rollup/rollup-linux-arm64-gnu": "4.53.2",
"@rollup/rollup-linux-arm64-musl": "4.53.2",
"@rollup/rollup-linux-loong64-gnu": "4.53.2",
"@rollup/rollup-linux-ppc64-gnu": "4.53.2",
"@rollup/rollup-linux-riscv64-gnu": "4.53.2",
"@rollup/rollup-linux-riscv64-musl": "4.53.2",
"@rollup/rollup-linux-s390x-gnu": "4.53.2",
"@rollup/rollup-linux-x64-gnu": "4.53.2",
"@rollup/rollup-linux-x64-musl": "4.53.2",
"@rollup/rollup-openharmony-arm64": "4.53.2",
"@rollup/rollup-win32-arm64-msvc": "4.53.2",
"@rollup/rollup-win32-ia32-msvc": "4.53.2",
"@rollup/rollup-win32-x64-gnu": "4.53.2",
"@rollup/rollup-win32-x64-msvc": "4.53.2",
"@rollup/rollup-android-arm-eabi": "4.53.3",
"@rollup/rollup-android-arm64": "4.53.3",
"@rollup/rollup-darwin-arm64": "4.53.3",
"@rollup/rollup-darwin-x64": "4.53.3",
"@rollup/rollup-freebsd-arm64": "4.53.3",
"@rollup/rollup-freebsd-x64": "4.53.3",
"@rollup/rollup-linux-arm-gnueabihf": "4.53.3",
"@rollup/rollup-linux-arm-musleabihf": "4.53.3",
"@rollup/rollup-linux-arm64-gnu": "4.53.3",
"@rollup/rollup-linux-arm64-musl": "4.53.3",
"@rollup/rollup-linux-loong64-gnu": "4.53.3",
"@rollup/rollup-linux-ppc64-gnu": "4.53.3",
"@rollup/rollup-linux-riscv64-gnu": "4.53.3",
"@rollup/rollup-linux-riscv64-musl": "4.53.3",
"@rollup/rollup-linux-s390x-gnu": "4.53.3",
"@rollup/rollup-linux-x64-gnu": "4.53.3",
"@rollup/rollup-linux-x64-musl": "4.53.3",
"@rollup/rollup-openharmony-arm64": "4.53.3",
"@rollup/rollup-win32-arm64-msvc": "4.53.3",
"@rollup/rollup-win32-ia32-msvc": "4.53.3",
"@rollup/rollup-win32-x64-gnu": "4.53.3",
"@rollup/rollup-win32-x64-msvc": "4.53.3",
"fsevents": "~2.3.2"
}
},
@@ -2889,22 +2889,22 @@
}
},
"node_modules/tldts": {
"version": "7.0.17",
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.17.tgz",
"integrity": "sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==",
"version": "7.0.19",
"resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.19.tgz",
"integrity": "sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==",
"dev": true,
"license": "MIT",
"dependencies": {
"tldts-core": "^7.0.17"
"tldts-core": "^7.0.19"
},
"bin": {
"tldts": "bin/cli.js"
}
},
"node_modules/tldts-core": {
"version": "7.0.17",
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.17.tgz",
"integrity": "sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==",
"version": "7.0.19",
"resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.19.tgz",
"integrity": "sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==",
"dev": true,
"license": "MIT"
},
@@ -3096,9 +3096,9 @@
"peer": true
},
"node_modules/vite-node/node_modules/vite": {
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz",
"integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
"version": "7.2.6",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz",
"integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3302,9 +3302,9 @@
}
},
"node_modules/vitest/node_modules/vite": {
"version": "7.2.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz",
"integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==",
"version": "7.2.6",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.2.6.tgz",
"integrity": "sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3391,9 +3391,9 @@
}
},
"node_modules/webpack": {
"version": "5.102.1",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz",
"integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==",
"version": "5.103.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz",
"integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3414,7 +3414,7 @@
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.11",
"json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0",
"loader-runner": "^4.3.1",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
"schema-utils": "^4.3.3",

View File

@@ -1,6 +1,6 @@
{
"name": "@skyvern/client",
"version": "1.0.0",
"version": "1.0.2",
"private": false,
"repository": {
"type": "git",

View File

@@ -475,249 +475,6 @@ await client.workflows.updateWorkflowFolder("wpid_123");
</dl>
</dd>
</dl>
</details>
## BrowserProfiles
<details><summary><code>client.browserProfiles.<a href="/src/api/resources/browserProfiles/client/Client.ts">listBrowserProfiles</a>({ ...params }) -> Skyvern.BrowserProfile[]</code></summary>
<dl>
<dd>
#### 📝 Description
<dl>
<dd>
<dl>
<dd>
Get all browser profiles for the organization
</dd>
</dl>
</dd>
</dl>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```typescript
await client.browserProfiles.listBrowserProfiles({
include_deleted: true
});
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**request:** `Skyvern.ListBrowserProfilesV1BrowserProfilesGetRequest`
</dd>
</dl>
<dl>
<dd>
**requestOptions:** `BrowserProfiles.RequestOptions`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.browserProfiles.<a href="/src/api/resources/browserProfiles/client/Client.ts">createBrowserProfile</a>({ ...params }) -> Skyvern.BrowserProfile</code></summary>
<dl>
<dd>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```typescript
await client.browserProfiles.createBrowserProfile({
name: "name"
});
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**request:** `Skyvern.CreateBrowserProfileRequest`
</dd>
</dl>
<dl>
<dd>
**requestOptions:** `BrowserProfiles.RequestOptions`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.browserProfiles.<a href="/src/api/resources/browserProfiles/client/Client.ts">getBrowserProfile</a>(profileId) -> Skyvern.BrowserProfile</code></summary>
<dl>
<dd>
#### 📝 Description
<dl>
<dd>
<dl>
<dd>
Get a specific browser profile by ID
</dd>
</dl>
</dd>
</dl>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```typescript
await client.browserProfiles.getBrowserProfile("bp_123456");
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**profileId:** `string` — The ID of the browser profile. browser_profile_id starts with `bp_`
</dd>
</dl>
<dl>
<dd>
**requestOptions:** `BrowserProfiles.RequestOptions`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>
<details><summary><code>client.browserProfiles.<a href="/src/api/resources/browserProfiles/client/Client.ts">deleteBrowserProfile</a>(profileId) -> void</code></summary>
<dl>
<dd>
#### 📝 Description
<dl>
<dd>
<dl>
<dd>
Delete a browser profile (soft delete)
</dd>
</dl>
</dd>
</dl>
#### 🔌 Usage
<dl>
<dd>
<dl>
<dd>
```typescript
await client.browserProfiles.deleteBrowserProfile("bp_123456");
```
</dd>
</dl>
</dd>
</dl>
#### ⚙️ Parameters
<dl>
<dd>
<dl>
<dd>
**profileId:** `string` — The ID of the browser profile to delete. browser_profile_id starts with `bp_`
</dd>
</dl>
<dl>
<dd>
**requestOptions:** `BrowserProfiles.RequestOptions`
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</details>

View File

@@ -1,7 +1,6 @@
// This file was auto-generated by Fern from our API Definition.
import * as Skyvern from "./api/index.js";
import { BrowserProfiles } from "./api/resources/browserProfiles/client/Client.js";
import { Scripts } from "./api/resources/scripts/client/Client.js";
import { Workflows } from "./api/resources/workflows/client/Client.js";
import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js";
@@ -19,7 +18,6 @@ export declare namespace SkyvernClient {
export class SkyvernClient {
protected readonly _options: SkyvernClient.Options;
protected _workflows: Workflows | undefined;
protected _browserProfiles: BrowserProfiles | undefined;
protected _scripts: Scripts | undefined;
constructor(_options: SkyvernClient.Options = {}) {
@@ -30,8 +28,8 @@ export class SkyvernClient {
"x-api-key": _options?.apiKey,
"X-Fern-Language": "JavaScript",
"X-Fern-SDK-Name": "@skyvern/client",
"X-Fern-SDK-Version": "1.0.0",
"User-Agent": "@skyvern/client/1.0.0",
"X-Fern-SDK-Version": "1.0.2",
"User-Agent": "@skyvern/client/1.0.2",
"X-Fern-Runtime": core.RUNTIME.type,
"X-Fern-Runtime-Version": core.RUNTIME.version,
},
@@ -44,10 +42,6 @@ export class SkyvernClient {
return (this._workflows ??= new Workflows(this._options));
}
public get browserProfiles(): BrowserProfiles {
return (this._browserProfiles ??= new BrowserProfiles(this._options));
}
public get scripts(): Scripts {
return (this._scripts ??= new Scripts(this._options));
}
@@ -1102,6 +1096,335 @@ export class SkyvernClient {
}
}
/**
* Get all browser profiles for the organization
*
* @param {Skyvern.ListBrowserProfilesRequest} request
* @param {SkyvernClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.listBrowserProfiles({
* include_deleted: true
* })
*/
public listBrowserProfiles(
request: Skyvern.ListBrowserProfilesRequest = {},
requestOptions?: SkyvernClient.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile[]> {
return core.HttpResponsePromise.fromPromise(this.__listBrowserProfiles(request, requestOptions));
}
private async __listBrowserProfiles(
request: Skyvern.ListBrowserProfilesRequest = {},
requestOptions?: SkyvernClient.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile[]>> {
const { include_deleted: includeDeleted } = request;
const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
if (includeDeleted != null) {
_queryParams.include_deleted = includeDeleted.toString();
}
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
"v1/browser_profiles",
),
method: "GET",
headers: _headers,
queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile[], rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError("Timeout exceeded when calling GET /v1/browser_profiles.");
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Create a browser profile from a persistent browser session or workflow run.
*
* @param {Skyvern.CreateBrowserProfileRequest} request
* @param {SkyvernClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.BadRequestError}
* @throws {@link Skyvern.ConflictError}
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.createBrowserProfile({
* name: "name"
* })
*/
public createBrowserProfile(
request: Skyvern.CreateBrowserProfileRequest,
requestOptions?: SkyvernClient.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile> {
return core.HttpResponsePromise.fromPromise(this.__createBrowserProfile(request, requestOptions));
}
private async __createBrowserProfile(
request: Skyvern.CreateBrowserProfileRequest,
requestOptions?: SkyvernClient.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
"v1/browser_profiles",
),
method: "POST",
headers: _headers,
contentType: "application/json",
queryParameters: requestOptions?.queryParams,
requestType: "json",
body: request,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 400:
throw new Skyvern.BadRequestError(_response.error.body as unknown, _response.rawResponse);
case 409:
throw new Skyvern.ConflictError(_response.error.body as unknown, _response.rawResponse);
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError("Timeout exceeded when calling POST /v1/browser_profiles.");
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Get a specific browser profile by ID
*
* @param {string} profileId - The ID of the browser profile. browser_profile_id starts with `bp_`
* @param {SkyvernClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.NotFoundError}
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.getBrowserProfile("bp_123456")
*/
public getBrowserProfile(
profileId: string,
requestOptions?: SkyvernClient.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile> {
return core.HttpResponsePromise.fromPromise(this.__getBrowserProfile(profileId, requestOptions));
}
private async __getBrowserProfile(
profileId: string,
requestOptions?: SkyvernClient.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
`v1/browser_profiles/${core.url.encodePathParam(profileId)}`,
),
method: "GET",
headers: _headers,
queryParameters: requestOptions?.queryParams,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 404:
throw new Skyvern.NotFoundError(_response.error.body as unknown, _response.rawResponse);
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError(
"Timeout exceeded when calling GET /v1/browser_profiles/{profile_id}.",
);
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Delete a browser profile (soft delete)
*
* @param {string} profileId - The ID of the browser profile to delete. browser_profile_id starts with `bp_`
* @param {SkyvernClient.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.NotFoundError}
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.deleteBrowserProfile("bp_123456")
*/
public deleteBrowserProfile(
profileId: string,
requestOptions?: SkyvernClient.RequestOptions,
): core.HttpResponsePromise<void> {
return core.HttpResponsePromise.fromPromise(this.__deleteBrowserProfile(profileId, requestOptions));
}
private async __deleteBrowserProfile(
profileId: string,
requestOptions?: SkyvernClient.RequestOptions,
): Promise<core.WithRawResponse<void>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
`v1/browser_profiles/${core.url.encodePathParam(profileId)}`,
),
method: "DELETE",
headers: _headers,
queryParameters: requestOptions?.queryParams,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: undefined, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 404:
throw new Skyvern.NotFoundError(_response.error.body as unknown, _response.rawResponse);
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError(
"Timeout exceeded when calling DELETE /v1/browser_profiles/{profile_id}.",
);
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Get all active browser sessions for the organization
*

View File

@@ -6,7 +6,7 @@
* include_deleted: true
* }
*/
export interface ListBrowserProfilesV1BrowserProfilesGetRequest {
export interface ListBrowserProfilesRequest {
/** Include deleted browser profiles */
include_deleted?: boolean;
}

View File

@@ -25,6 +25,8 @@ export interface LoginRequest {
totp_url?: string;
/** ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456` */
browser_session_id?: string;
/** ID of a browser profile to reuse for this run */
browser_profile_id?: string;
/** The CDP address for the task. */
browser_address?: string;
/** Additional HTTP headers to include in requests */

View File

@@ -1,3 +1,4 @@
export type { CreateBrowserProfileRequest } from "./CreateBrowserProfileRequest.js";
export type { CreateBrowserSessionRequest } from "./CreateBrowserSessionRequest.js";
export type { CreateCredentialRequest } from "./CreateCredentialRequest.js";
export type { CreateScriptRequest } from "./CreateScriptRequest.js";
@@ -7,6 +8,7 @@ export type { GetCredentialsRequest } from "./GetCredentialsRequest.js";
export type { GetRunArtifactsRequest } from "./GetRunArtifactsRequest.js";
export type { GetScriptsRequest } from "./GetScriptsRequest.js";
export type { GetWorkflowsRequest } from "./GetWorkflowsRequest.js";
export type { ListBrowserProfilesRequest } from "./ListBrowserProfilesRequest.js";
export type { LoginRequest } from "./LoginRequest.js";
export type { RunSdkActionRequest } from "./RunSdkActionRequest.js";
export type { RunTaskRequest } from "./RunTaskRequest.js";

View File

@@ -0,0 +1,16 @@
// This file was auto-generated by Fern from our API Definition.
import type * as core from "../../core/index.js";
import * as errors from "../../errors/index.js";
export class ConflictError extends errors.SkyvernError {
constructor(body?: unknown, rawResponse?: core.RawResponse) {
super({
message: "ConflictError",
statusCode: 409,
body: body,
rawResponse: rawResponse,
});
Object.setPrototypeOf(this, ConflictError.prototype);
}
}

View File

@@ -1,4 +1,5 @@
export * from "./BadRequestError.js";
export * from "./ConflictError.js";
export * from "./ForbiddenError.js";
export * from "./NotFoundError.js";
export * from "./UnprocessableEntityError.js";

View File

@@ -1,343 +0,0 @@
// This file was auto-generated by Fern from our API Definition.
import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js";
import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js";
import * as core from "../../../../core/index.js";
import * as environments from "../../../../environments.js";
import * as errors from "../../../../errors/index.js";
import * as Skyvern from "../../../index.js";
export declare namespace BrowserProfiles {
export interface Options extends BaseClientOptions {}
export interface RequestOptions extends BaseRequestOptions {}
}
export class BrowserProfiles {
protected readonly _options: BrowserProfiles.Options;
constructor(_options: BrowserProfiles.Options = {}) {
this._options = _options;
}
/**
* Get all browser profiles for the organization
*
* @param {Skyvern.ListBrowserProfilesV1BrowserProfilesGetRequest} request
* @param {BrowserProfiles.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.browserProfiles.listBrowserProfiles({
* include_deleted: true
* })
*/
public listBrowserProfiles(
request: Skyvern.ListBrowserProfilesV1BrowserProfilesGetRequest = {},
requestOptions?: BrowserProfiles.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile[]> {
return core.HttpResponsePromise.fromPromise(this.__listBrowserProfiles(request, requestOptions));
}
private async __listBrowserProfiles(
request: Skyvern.ListBrowserProfilesV1BrowserProfilesGetRequest = {},
requestOptions?: BrowserProfiles.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile[]>> {
const { include_deleted: includeDeleted } = request;
const _queryParams: Record<string, string | string[] | object | object[] | null> = {};
if (includeDeleted != null) {
_queryParams.include_deleted = includeDeleted.toString();
}
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
"v1/browser_profiles",
),
method: "GET",
headers: _headers,
queryParameters: { ..._queryParams, ...requestOptions?.queryParams },
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile[], rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError("Timeout exceeded when calling GET /v1/browser_profiles.");
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* @param {Skyvern.CreateBrowserProfileRequest} request
* @param {BrowserProfiles.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.browserProfiles.createBrowserProfile({
* name: "name"
* })
*/
public createBrowserProfile(
request: Skyvern.CreateBrowserProfileRequest,
requestOptions?: BrowserProfiles.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile> {
return core.HttpResponsePromise.fromPromise(this.__createBrowserProfile(request, requestOptions));
}
private async __createBrowserProfile(
request: Skyvern.CreateBrowserProfileRequest,
requestOptions?: BrowserProfiles.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
"v1/browser_profiles",
),
method: "POST",
headers: _headers,
contentType: "application/json",
queryParameters: requestOptions?.queryParams,
requestType: "json",
body: request,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError("Timeout exceeded when calling POST /v1/browser_profiles.");
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Get a specific browser profile by ID
*
* @param {string} profileId - The ID of the browser profile. browser_profile_id starts with `bp_`
* @param {BrowserProfiles.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.NotFoundError}
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.browserProfiles.getBrowserProfile("bp_123456")
*/
public getBrowserProfile(
profileId: string,
requestOptions?: BrowserProfiles.RequestOptions,
): core.HttpResponsePromise<Skyvern.BrowserProfile> {
return core.HttpResponsePromise.fromPromise(this.__getBrowserProfile(profileId, requestOptions));
}
private async __getBrowserProfile(
profileId: string,
requestOptions?: BrowserProfiles.RequestOptions,
): Promise<core.WithRawResponse<Skyvern.BrowserProfile>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
`v1/browser_profiles/${core.url.encodePathParam(profileId)}`,
),
method: "GET",
headers: _headers,
queryParameters: requestOptions?.queryParams,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: _response.body as Skyvern.BrowserProfile, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 404:
throw new Skyvern.NotFoundError(_response.error.body as unknown, _response.rawResponse);
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError(
"Timeout exceeded when calling GET /v1/browser_profiles/{profile_id}.",
);
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
/**
* Delete a browser profile (soft delete)
*
* @param {string} profileId - The ID of the browser profile to delete. browser_profile_id starts with `bp_`
* @param {BrowserProfiles.RequestOptions} requestOptions - Request-specific configuration.
*
* @throws {@link Skyvern.NotFoundError}
* @throws {@link Skyvern.UnprocessableEntityError}
*
* @example
* await client.browserProfiles.deleteBrowserProfile("bp_123456")
*/
public deleteBrowserProfile(
profileId: string,
requestOptions?: BrowserProfiles.RequestOptions,
): core.HttpResponsePromise<void> {
return core.HttpResponsePromise.fromPromise(this.__deleteBrowserProfile(profileId, requestOptions));
}
private async __deleteBrowserProfile(
profileId: string,
requestOptions?: BrowserProfiles.RequestOptions,
): Promise<core.WithRawResponse<void>> {
const _headers: core.Fetcher.Args["headers"] = mergeHeaders(
this._options?.headers,
mergeOnlyDefinedHeaders({ "x-api-key": requestOptions?.apiKey ?? this._options?.apiKey }),
requestOptions?.headers,
);
const _response = await core.fetcher({
url: core.url.join(
(await core.Supplier.get(this._options.baseUrl)) ??
(await core.Supplier.get(this._options.environment)) ??
environments.SkyvernEnvironment.Cloud,
`v1/browser_profiles/${core.url.encodePathParam(profileId)}`,
),
method: "DELETE",
headers: _headers,
queryParameters: requestOptions?.queryParams,
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
abortSignal: requestOptions?.abortSignal,
});
if (_response.ok) {
return { data: undefined, rawResponse: _response.rawResponse };
}
if (_response.error.reason === "status-code") {
switch (_response.error.statusCode) {
case 404:
throw new Skyvern.NotFoundError(_response.error.body as unknown, _response.rawResponse);
case 422:
throw new Skyvern.UnprocessableEntityError(_response.error.body as unknown, _response.rawResponse);
default:
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.body,
rawResponse: _response.rawResponse,
});
}
}
switch (_response.error.reason) {
case "non-json":
throw new errors.SkyvernError({
statusCode: _response.error.statusCode,
body: _response.error.rawBody,
rawResponse: _response.rawResponse,
});
case "timeout":
throw new errors.SkyvernTimeoutError(
"Timeout exceeded when calling DELETE /v1/browser_profiles/{profile_id}.",
);
case "unknown":
throw new errors.SkyvernError({
message: _response.error.errorMessage,
rawResponse: _response.rawResponse,
});
}
}
}

View File

@@ -1 +0,0 @@
export * from "./requests/index.js";

View File

@@ -1,2 +0,0 @@
export type { CreateBrowserProfileRequest } from "./CreateBrowserProfileRequest.js";
export type { ListBrowserProfilesV1BrowserProfilesGetRequest } from "./ListBrowserProfilesV1BrowserProfilesGetRequest.js";

View File

@@ -1 +0,0 @@
export * from "./client/index.js";

View File

@@ -1,5 +1,3 @@
export * from "./browserProfiles/client/requests/index.js";
export * as browserProfiles from "./browserProfiles/index.js";
export * as scripts from "./scripts/index.js";
export * from "./workflows/client/requests/index.js";
export * as workflows from "./workflows/index.js";

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ActionBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface ActionBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ActionBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
url?: string;
@@ -17,6 +20,5 @@ export interface ActionBlockYaml {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
disable_cache?: boolean;
}

View File

@@ -4,6 +4,7 @@ export const BlockType = {
Task: "task",
TaskV2: "task_v2",
ForLoop: "for_loop",
Conditional: "conditional",
Code: "code",
TextPrompt: "text_prompt",
DownloadToS3: "download_to_s3",

View File

@@ -0,0 +1,13 @@
// This file was auto-generated by Fern from our API Definition.
import type * as Skyvern from "../index.js";
/**
* Represents a single conditional branch edge within a ConditionalBlock.
*/
export interface BranchCondition {
criteria?: Skyvern.BranchCriteria;
next_block_label?: string;
description?: string;
is_default?: boolean;
}

View File

@@ -0,0 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
/**
* Abstract interface describing how a branch condition should be evaluated.
*/
export interface BranchCriteria {
criteria_type: string;
expression: string;
description?: string;
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface CodeBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface CodeBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
code: string;

View File

@@ -0,0 +1,18 @@
// This file was auto-generated by Fern from our API Definition.
import type * as Skyvern from "../index.js";
/**
* Branching block that selects the next block label based on list-ordered conditions.
*/
export interface ConditionalBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
disable_cache?: boolean;
branch_conditions?: Skyvern.BranchCondition[];
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface DownloadToS3Block {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface DownloadToS3BlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
url: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ExtractionBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface ExtractionBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ExtractionBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
data_extraction_goal: string;
@@ -14,7 +17,6 @@ export interface ExtractionBlockYaml {
max_retries?: number;
max_steps_per_run?: number;
parameter_keys?: string[];
cache_actions?: boolean;
disable_cache?: boolean;
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileDownloadBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface FileDownloadBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileDownloadBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
navigation_goal: string;
@@ -17,7 +20,6 @@ export interface FileDownloadBlockYaml {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
disable_cache?: boolean;
download_timeout?: number;
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileParserBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileParserBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
file_url: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileUploadBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface FileUploadBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
storage_type?: Skyvern.FileStorageType;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ForLoopBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -5,6 +5,7 @@ import type * as Skyvern from "../index.js";
export type ForLoopBlockLoopBlocksItem =
| Skyvern.ForLoopBlockLoopBlocksItem.Action
| Skyvern.ForLoopBlockLoopBlocksItem.Code
| Skyvern.ForLoopBlockLoopBlocksItem.Conditional
| Skyvern.ForLoopBlockLoopBlocksItem.DownloadToS3
| Skyvern.ForLoopBlockLoopBlocksItem.Extraction
| Skyvern.ForLoopBlockLoopBlocksItem.FileDownload
@@ -34,6 +35,10 @@ export namespace ForLoopBlockLoopBlocksItem {
block_type: "code";
}
export interface Conditional extends Skyvern.ConditionalBlock {
block_type: "conditional";
}
export interface DownloadToS3 extends Skyvern.DownloadToS3Block {
block_type: "download_to_s3";
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ForLoopBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
loop_blocks: Skyvern.ForLoopBlockYamlLoopBlocksItem[];

View File

@@ -0,0 +1,23 @@
// This file was auto-generated by Fern from our API Definition.
/**
* Granular geographic targeting for proxy selection.
*
* Supports country, subdivision (state/region), and city level targeting.
* Uses ISO 3166-1 alpha-2 for countries, ISO 3166-2 for subdivisions,
* and GeoNames English names for cities.
*
* Examples:
* - {"country": "US"} - United States (same as RESIDENTIAL)
* - {"country": "US", "subdivision": "CA"} - California, US
* - {"country": "US", "subdivision": "NY", "city": "New York"} - New York City
* - {"country": "GB", "city": "London"} - London, UK
*/
export interface GeoTarget {
/** ISO 3166-1 alpha-2 country code (e.g., 'US', 'GB', 'DE') */
country: string;
/** ISO 3166-2 subdivision code without country prefix (e.g., 'CA' for California, 'NY' for New York) */
subdivision?: string;
/** City name in English from GeoNames (e.g., 'New York', 'Los Angeles', 'London') */
city?: string;
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface HttpRequestBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface HttpRequestBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
method?: string;

View File

@@ -14,7 +14,10 @@ import type * as Skyvern from "../index.js";
* - does not respond within the timeout period, the workflow terminates
*/
export interface HumanInteractionBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -36,7 +39,6 @@ export interface HumanInteractionBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface HumanInteractionBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
instructions?: string;

View File

@@ -0,0 +1,9 @@
// This file was auto-generated by Fern from our API Definition.
/**
* Locate element action parameters.
*/
export interface LocateElementAction {
/** Natural language prompt to locate an element */
prompt?: string;
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface LoginBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface LoginBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface LoginBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
url?: string;
@@ -16,7 +19,6 @@ export interface LoginBlockYaml {
parameter_keys?: string[];
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
disable_cache?: boolean;
complete_criterion?: string;
terminate_criterion?: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface NavigationBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface NavigationBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface NavigationBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
navigation_goal: string;
@@ -18,7 +21,6 @@ export interface NavigationBlockYaml {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
disable_cache?: boolean;
complete_criterion?: string;
terminate_criterion?: string;

View File

@@ -14,4 +14,6 @@ export interface NonEmptyPasswordCredential {
totp?: string;
/** Type of 2FA method used for this credential */
totp_type?: Skyvern.TotpType;
/** Identifier (email or phone number) used to fetch TOTP codes */
totp_identifier?: string;
}

View File

@@ -10,4 +10,6 @@ export interface PasswordCredentialResponse {
username: string;
/** Type of 2FA method used for this credential */
totp_type?: Skyvern.TotpType;
/** Identifier (email or phone number) used to fetch TOTP codes */
totp_identifier?: string;
}

View File

@@ -7,7 +7,10 @@ import type * as Skyvern from "../index.js";
* This block will be removed in a future version.
*/
export interface PdfParserBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface PdfParserBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
file_url: string;

View File

@@ -11,7 +11,8 @@ export type RunSdkActionRequestAction =
| Skyvern.RunSdkActionRequestAction.AiInputText
| Skyvern.RunSdkActionRequestAction.AiSelectOption
| Skyvern.RunSdkActionRequestAction.AiUploadFile
| Skyvern.RunSdkActionRequestAction.Extract;
| Skyvern.RunSdkActionRequestAction.Extract
| Skyvern.RunSdkActionRequestAction.LocateElement;
export namespace RunSdkActionRequestAction {
export interface AiAct extends Skyvern.ActAction {
@@ -37,4 +38,8 @@ export namespace RunSdkActionRequestAction {
export interface Extract extends Skyvern.ExtractAction {
type: "extract";
}
export interface LocateElement extends Skyvern.LocateElementAction {
type: "locate_element";
}
}

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface SendEmailBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface SendEmailBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
smtp_host_secret_parameter_key: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface TaskBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface TaskBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface TaskBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
url?: string;
@@ -20,7 +23,6 @@ export interface TaskBlockYaml {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
disable_cache?: boolean;
complete_criterion?: string;
terminate_criterion?: string;

View File

@@ -40,8 +40,9 @@ export interface TaskRunRequest {
* - US-FL: Florida
* - US-WA: Washington
* - NONE: No proxy
* Can also be a GeoTarget object for granular city/state targeting: {"country": "US", "subdivision": "CA", "city": "San Francisco"}
*/
proxy_location?: Skyvern.ProxyLocation;
proxy_location?: TaskRunRequest.ProxyLocation;
/**
* The schema for data to be extracted from the webpage. If you're looking for consistent data schema being returned by the agent, it's highly recommended to use https://json-schema.org/.
*/
@@ -87,6 +88,33 @@ export interface TaskRunRequest {
}
export namespace TaskRunRequest {
/**
*
* Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.
*
* Available geotargeting options:
* - RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
* - RESIDENTIAL_ES: Spain
* - RESIDENTIAL_IE: Ireland
* - RESIDENTIAL_GB: United Kingdom
* - RESIDENTIAL_IN: India
* - RESIDENTIAL_JP: Japan
* - RESIDENTIAL_FR: France
* - RESIDENTIAL_DE: Germany
* - RESIDENTIAL_NZ: New Zealand
* - RESIDENTIAL_ZA: South Africa
* - RESIDENTIAL_AR: Argentina
* - RESIDENTIAL_AU: Australia
* - RESIDENTIAL_ISP: ISP proxy
* - US-CA: California
* - US-NY: New York
* - US-TX: Texas
* - US-FL: Florida
* - US-WA: Washington
* - NONE: No proxy
* Can also be a GeoTarget object for granular city/state targeting: {"country": "US", "subdivision": "CA", "city": "San Francisco"}
*/
export type ProxyLocation = Skyvern.ProxyLocation | Skyvern.GeoTarget | Record<string, unknown>;
/**
*
* The schema for data to be extracted from the webpage. If you're looking for consistent data schema being returned by the agent, it's highly recommended to use https://json-schema.org/.

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface TaskV2Block {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface TaskV2BlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
prompt: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface TextPromptBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface TextPromptBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
llm_key?: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface UploadToS3Block {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface UploadToS3BlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
path?: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface UrlBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface UrlBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface UrlBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
url: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface ValidationBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
@@ -25,7 +28,6 @@ export interface ValidationBlock {
download_suffix?: string;
totp_verification_url?: string;
totp_identifier?: string;
cache_actions?: boolean;
complete_verification?: boolean;
include_action_history_in_verification?: boolean;
download_timeout?: number;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface ValidationBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
complete_criterion?: string;

View File

@@ -3,7 +3,10 @@
import type * as Skyvern from "../index.js";
export interface WaitBlock {
/** Author-facing identifier for a block; unique within a workflow. */
label: string;
/** Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted. */
next_block_label?: string;
output_parameter: Skyvern.OutputParameter;
continue_on_failure?: boolean;
model?: Record<string, unknown>;

View File

@@ -1,7 +1,10 @@
// This file was auto-generated by Fern from our API Definition.
export interface WaitBlockYaml {
/** Author-facing identifier; must be unique per workflow. */
label: string;
/** Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]]. */
next_block_label?: string;
continue_on_failure?: boolean;
model?: Record<string, unknown>;
wait_sec?: number;

View File

@@ -11,7 +11,7 @@ export interface Workflow {
is_saved_task: boolean;
description?: string;
workflow_definition: Skyvern.WorkflowDefinition;
proxy_location?: Skyvern.ProxyLocation;
proxy_location?: Workflow.ProxyLocation;
webhook_callback_url?: string;
totp_verification_url?: string;
totp_identifier?: string;
@@ -31,3 +31,7 @@ export interface Workflow {
modified_at: string;
deleted_at?: string;
}
export namespace Workflow {
export type ProxyLocation = Skyvern.ProxyLocation | Skyvern.GeoTarget | Record<string, unknown>;
}

View File

@@ -5,7 +5,7 @@ import type * as Skyvern from "../index.js";
export interface WorkflowCreateYamlRequest {
title: string;
description?: string;
proxy_location?: Skyvern.ProxyLocation;
proxy_location?: WorkflowCreateYamlRequest.ProxyLocation;
webhook_callback_url?: string;
totp_verification_url?: string;
totp_identifier?: string;
@@ -23,3 +23,7 @@ export interface WorkflowCreateYamlRequest {
sequential_key?: string;
folder_id?: string;
}
export namespace WorkflowCreateYamlRequest {
export type ProxyLocation = Skyvern.ProxyLocation | Skyvern.GeoTarget | Record<string, unknown>;
}

View File

@@ -3,6 +3,7 @@
import type * as Skyvern from "../index.js";
export interface WorkflowDefinition {
version?: number;
parameters: Skyvern.WorkflowDefinitionParametersItem[];
blocks: Skyvern.WorkflowDefinitionBlocksItem[];
}

View File

@@ -5,6 +5,7 @@ import type * as Skyvern from "../index.js";
export type WorkflowDefinitionBlocksItem =
| Skyvern.WorkflowDefinitionBlocksItem.Action
| Skyvern.WorkflowDefinitionBlocksItem.Code
| Skyvern.WorkflowDefinitionBlocksItem.Conditional
| Skyvern.WorkflowDefinitionBlocksItem.DownloadToS3
| Skyvern.WorkflowDefinitionBlocksItem.Extraction
| Skyvern.WorkflowDefinitionBlocksItem.FileDownload
@@ -34,6 +35,10 @@ export namespace WorkflowDefinitionBlocksItem {
block_type: "code";
}
export interface Conditional extends Skyvern.ConditionalBlock {
block_type: "conditional";
}
export interface DownloadToS3 extends Skyvern.DownloadToS3Block {
block_type: "download_to_s3";
}

View File

@@ -3,6 +3,7 @@
import type * as Skyvern from "../index.js";
export interface WorkflowDefinitionYaml {
version?: number;
parameters: Skyvern.WorkflowDefinitionYamlParametersItem[];
blocks: Skyvern.WorkflowDefinitionYamlBlocksItem[];
}

View File

@@ -32,8 +32,9 @@ export interface WorkflowRunRequest {
* - US-FL: Florida
* - US-WA: Washington
* - NONE: No proxy
* Can also be a GeoTarget object for granular city/state targeting: {"country": "US", "subdivision": "CA", "city": "San Francisco"}
*/
proxy_location?: Skyvern.ProxyLocation;
proxy_location?: WorkflowRunRequest.ProxyLocation;
/** URL to send workflow status updates to after a run is finished. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for webhook questions. */
webhook_url?: string;
/**
@@ -59,3 +60,33 @@ export interface WorkflowRunRequest {
/** Whether to run the workflow with agent or code. */
run_with?: string;
}
export namespace WorkflowRunRequest {
/**
*
* Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.
*
* Available geotargeting options:
* - RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
* - RESIDENTIAL_ES: Spain
* - RESIDENTIAL_IE: Ireland
* - RESIDENTIAL_GB: United Kingdom
* - RESIDENTIAL_IN: India
* - RESIDENTIAL_JP: Japan
* - RESIDENTIAL_FR: France
* - RESIDENTIAL_DE: Germany
* - RESIDENTIAL_NZ: New Zealand
* - RESIDENTIAL_ZA: South Africa
* - RESIDENTIAL_AR: Argentina
* - RESIDENTIAL_AU: Australia
* - RESIDENTIAL_ISP: ISP proxy
* - US-CA: California
* - US-NY: New York
* - US-TX: Texas
* - US-FL: Florida
* - US-WA: Washington
* - NONE: No proxy
* Can also be a GeoTarget object for granular city/state targeting: {"country": "US", "subdivision": "CA", "city": "San Francisco"}
*/
export type ProxyLocation = Skyvern.ProxyLocation | Skyvern.GeoTarget | Record<string, unknown>;
}

View File

@@ -19,6 +19,8 @@ export * from "./BitwardenLoginCredentialParameterYaml.js";
export * from "./BitwardenSensitiveInformationParameter.js";
export * from "./BitwardenSensitiveInformationParameterYaml.js";
export * from "./BlockType.js";
export * from "./BranchCondition.js";
export * from "./BranchCriteria.js";
export * from "./BrowserProfile.js";
export * from "./BrowserSessionResponse.js";
export * from "./ClickAction.js";
@@ -26,6 +28,7 @@ export * from "./ClickContext.js";
export * from "./CodeBlock.js";
export * from "./CodeBlockParametersItem.js";
export * from "./CodeBlockYaml.js";
export * from "./ConditionalBlock.js";
export * from "./ContextParameter.js";
export * from "./ContextParameterSource.js";
export * from "./ContextParameterYaml.js";
@@ -59,6 +62,7 @@ export * from "./ForLoopBlockLoopBlocksItem.js";
export * from "./ForLoopBlockLoopOver.js";
export * from "./ForLoopBlockYaml.js";
export * from "./ForLoopBlockYamlLoopBlocksItem.js";
export * from "./GeoTarget.js";
export * from "./GetRunResponse.js";
export * from "./HttpRequestBlock.js";
export * from "./HttpRequestBlockParametersItem.js";
@@ -69,6 +73,7 @@ export * from "./HumanInteractionBlockParametersItem.js";
export * from "./HumanInteractionBlockYaml.js";
export * from "./InputOrSelectContext.js";
export * from "./InputTextAction.js";
export * from "./LocateElementAction.js";
export * from "./LoginBlock.js";
export * from "./LoginBlockParametersItem.js";
export * from "./LoginBlockYaml.js";

View File

@@ -1 +1 @@
export const SDK_VERSION = "1.0.0";
export const SDK_VERSION = "1.0.2";

View File

@@ -1,236 +0,0 @@
// This file was auto-generated by Fern from our API Definition.
import * as Skyvern from "../../src/api/index";
import { SkyvernClient } from "../../src/Client";
import { mockServerPool } from "../mock-server/MockServerPool";
describe("BrowserProfiles", () => {
test("listBrowserProfiles (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = [
{
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
},
];
server
.mockEndpoint()
.get("/v1/browser_profiles")
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.browserProfiles.listBrowserProfiles({
include_deleted: true,
});
expect(response).toEqual([
{
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
},
]);
});
test("listBrowserProfiles (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.listBrowserProfiles();
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("createBrowserProfile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = {
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
};
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.browserProfiles.createBrowserProfile({
name: "name",
});
expect(response).toEqual({
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
});
});
test("createBrowserProfile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.createBrowserProfile({
name: "name",
});
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("getBrowserProfile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = {
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
};
server
.mockEndpoint()
.get("/v1/browser_profiles/bp_123456")
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.browserProfiles.getBrowserProfile("bp_123456");
expect(response).toEqual({
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
});
});
test("getBrowserProfile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(404)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.getBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.NotFoundError);
});
test("getBrowserProfile (3)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.getBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("deleteBrowserProfile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
server.mockEndpoint().delete("/v1/browser_profiles/bp_123456").respondWith().statusCode(200).build();
const response = await client.browserProfiles.deleteBrowserProfile("bp_123456");
expect(response).toEqual(undefined);
});
test("deleteBrowserProfile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.delete("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(404)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.deleteBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.NotFoundError);
});
test("deleteBrowserProfile (3)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.delete("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.browserProfiles.deleteBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
});

View File

@@ -537,6 +537,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -605,6 +606,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -682,6 +684,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -749,6 +752,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -834,6 +838,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -898,6 +903,7 @@ describe("SkyvernClient", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -1411,6 +1417,277 @@ describe("SkyvernClient", () => {
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("list_browser_profiles (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = [
{
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
},
];
server
.mockEndpoint()
.get("/v1/browser_profiles")
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.listBrowserProfiles({
include_deleted: true,
});
expect(response).toEqual([
{
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
},
]);
});
test("list_browser_profiles (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.listBrowserProfiles();
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("create_browser_profile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = {
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
};
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.createBrowserProfile({
name: "name",
});
expect(response).toEqual({
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
});
});
test("create_browser_profile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(400)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.createBrowserProfile({
name: "name",
});
}).rejects.toThrow(Skyvern.BadRequestError);
});
test("create_browser_profile (3)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(409)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.createBrowserProfile({
name: "name",
});
}).rejects.toThrow(Skyvern.ConflictError);
});
test("create_browser_profile (4)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawRequestBody = { name: "name" };
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.post("/v1/browser_profiles")
.jsonBody(rawRequestBody)
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.createBrowserProfile({
name: "name",
});
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("get_browser_profile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = {
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
};
server
.mockEndpoint()
.get("/v1/browser_profiles/bp_123456")
.respondWith()
.statusCode(200)
.jsonBody(rawResponseBody)
.build();
const response = await client.getBrowserProfile("bp_123456");
expect(response).toEqual({
browser_profile_id: "browser_profile_id",
organization_id: "organization_id",
name: "name",
description: "description",
created_at: "2024-01-15T09:30:00Z",
modified_at: "2024-01-15T09:30:00Z",
deleted_at: "2024-01-15T09:30:00Z",
});
});
test("get_browser_profile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(404)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.getBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.NotFoundError);
});
test("get_browser_profile (3)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.get("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.getBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("delete_browser_profile (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
server.mockEndpoint().delete("/v1/browser_profiles/bp_123456").respondWith().statusCode(200).build();
const response = await client.deleteBrowserProfile("bp_123456");
expect(response).toEqual(undefined);
});
test("delete_browser_profile (2)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.delete("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(404)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.deleteBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.NotFoundError);
});
test("delete_browser_profile (3)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
const rawResponseBody = { key: "value" };
server
.mockEndpoint()
.delete("/v1/browser_profiles/profile_id")
.respondWith()
.statusCode(422)
.jsonBody(rawResponseBody)
.build();
await expect(async () => {
return await client.deleteBrowserProfile("profile_id");
}).rejects.toThrow(Skyvern.UnprocessableEntityError);
});
test("get_browser_sessions (1)", async () => {
const server = mockServerPool.createServer();
const client = new SkyvernClient({ apiKey: "test", environment: server.baseUrl });
@@ -1877,7 +2154,11 @@ describe("SkyvernClient", () => {
const rawResponseBody = [
{
credential_id: "cred_1234567890",
credential: { username: "user@example.com", totp_type: "authenticator" },
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",
},
@@ -1894,6 +2175,7 @@ describe("SkyvernClient", () => {
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",
@@ -1923,7 +2205,11 @@ describe("SkyvernClient", () => {
};
const rawResponseBody = {
credential_id: "cred_1234567890",
credential: { username: "user@example.com", totp_type: "authenticator" },
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",
};
@@ -1950,6 +2236,7 @@ describe("SkyvernClient", () => {
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",
@@ -2020,7 +2307,11 @@ describe("SkyvernClient", () => {
const rawResponseBody = {
credential_id: "cred_1234567890",
credential: { username: "user@example.com", totp_type: "authenticator" },
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",
};
@@ -2038,6 +2329,7 @@ describe("SkyvernClient", () => {
credential: {
username: "user@example.com",
totp_type: "authenticator",
totp_identifier: "totp_identifier",
},
credential_type: "password",
name: "Amazon Login",

View File

@@ -341,6 +341,7 @@ describe("Workflows", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",
@@ -405,6 +406,7 @@ describe("Workflows", () => {
is_saved_task: true,
description: "description",
workflow_definition: {
version: 1,
parameters: [
{
parameter_type: "aws_secret",