@unito/integration-cli 0.58.6 → 0.58.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -928,29 +928,30 @@
928
928
  "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
929
929
  },
930
930
  "node_modules/body-parser": {
931
- "version": "2.0.0-beta.1",
932
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.0.0-beta.1.tgz",
933
- "integrity": "sha512-I1v2bt2OdYqtmk8nEFZuEf+9Opb30DphYwTPDbgg/OorSAoJOuTpWyDrZaSWQw7FdoevbBRCP2+9z/halXSWcA==",
931
+ "version": "2.0.0-beta.2",
932
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.0.0-beta.2.tgz",
933
+ "integrity": "sha512-oxdqeGYQcO5ovwwkC1A89R0Mf0v3+7smTVh0chGfzDeiK37bg5bYNtXDy3Nmzn6CShoIYk5+nHTyBoSZIWwnCA==",
934
934
  "dependencies": {
935
- "bytes": "3.1.1",
936
- "content-type": "~1.0.4",
937
- "debug": "2.6.9",
938
- "depd": "~1.1.2",
939
- "http-errors": "1.8.1",
940
- "iconv-lite": "0.4.24",
941
- "on-finished": "~2.3.0",
942
- "qs": "6.9.6",
943
- "raw-body": "2.4.2",
944
- "type-is": "~1.6.18"
935
+ "bytes": "3.1.2",
936
+ "content-type": "~1.0.5",
937
+ "debug": "3.1.0",
938
+ "destroy": "1.2.0",
939
+ "http-errors": "2.0.0",
940
+ "iconv-lite": "0.5.2",
941
+ "on-finished": "2.4.1",
942
+ "qs": "6.11.0",
943
+ "raw-body": "3.0.0-beta.1",
944
+ "type-is": "~1.6.18",
945
+ "unpipe": "1.0.0"
945
946
  },
946
947
  "engines": {
947
948
  "node": ">= 0.10"
948
949
  }
949
950
  },
950
951
  "node_modules/body-parser/node_modules/debug": {
951
- "version": "2.6.9",
952
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
953
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
952
+ "version": "3.1.0",
953
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
954
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
954
955
  "dependencies": {
955
956
  "ms": "2.0.0"
956
957
  }
@@ -989,9 +990,9 @@
989
990
  "dev": true
990
991
  },
991
992
  "node_modules/bytes": {
992
- "version": "3.1.1",
993
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
994
- "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
993
+ "version": "3.1.2",
994
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
995
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
995
996
  "engines": {
996
997
  "node": ">= 0.8"
997
998
  }
@@ -1010,6 +1011,24 @@
1010
1011
  "npm": ">=9.5.0"
1011
1012
  }
1012
1013
  },
1014
+ "node_modules/call-bind": {
1015
+ "version": "1.0.7",
1016
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
1017
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
1018
+ "dependencies": {
1019
+ "es-define-property": "^1.0.0",
1020
+ "es-errors": "^1.3.0",
1021
+ "function-bind": "^1.1.2",
1022
+ "get-intrinsic": "^1.2.4",
1023
+ "set-function-length": "^1.2.1"
1024
+ },
1025
+ "engines": {
1026
+ "node": ">= 0.4"
1027
+ },
1028
+ "funding": {
1029
+ "url": "https://github.com/sponsors/ljharb"
1030
+ }
1031
+ },
1013
1032
  "node_modules/callsites": {
1014
1033
  "version": "3.1.0",
1015
1034
  "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -1114,9 +1133,9 @@
1114
1133
  }
1115
1134
  },
1116
1135
  "node_modules/cookie": {
1117
- "version": "0.4.1",
1118
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
1119
- "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
1136
+ "version": "0.6.0",
1137
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
1138
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
1120
1139
  "engines": {
1121
1140
  "node": ">= 0.6"
1122
1141
  }
@@ -1183,6 +1202,22 @@
1183
1202
  "node": ">=4"
1184
1203
  }
1185
1204
  },
1205
+ "node_modules/define-data-property": {
1206
+ "version": "1.1.4",
1207
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
1208
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
1209
+ "dependencies": {
1210
+ "es-define-property": "^1.0.0",
1211
+ "es-errors": "^1.3.0",
1212
+ "gopd": "^1.0.1"
1213
+ },
1214
+ "engines": {
1215
+ "node": ">= 0.4"
1216
+ },
1217
+ "funding": {
1218
+ "url": "https://github.com/sponsors/ljharb"
1219
+ }
1220
+ },
1186
1221
  "node_modules/denque": {
1187
1222
  "version": "2.1.0",
1188
1223
  "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
@@ -1192,17 +1227,21 @@
1192
1227
  }
1193
1228
  },
1194
1229
  "node_modules/depd": {
1195
- "version": "1.1.2",
1196
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1197
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
1230
+ "version": "2.0.0",
1231
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
1232
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
1198
1233
  "engines": {
1199
- "node": ">= 0.6"
1234
+ "node": ">= 0.8"
1200
1235
  }
1201
1236
  },
1202
1237
  "node_modules/destroy": {
1203
- "version": "1.0.4",
1204
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1205
- "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="
1238
+ "version": "1.2.0",
1239
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
1240
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
1241
+ "engines": {
1242
+ "node": ">= 0.8",
1243
+ "npm": "1.2.8000 || >= 1.4.16"
1244
+ }
1206
1245
  },
1207
1246
  "node_modules/dir-glob": {
1208
1247
  "version": "3.0.1",
@@ -1250,6 +1289,25 @@
1250
1289
  "node": ">= 0.8"
1251
1290
  }
1252
1291
  },
1292
+ "node_modules/es-define-property": {
1293
+ "version": "1.0.0",
1294
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
1295
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
1296
+ "dependencies": {
1297
+ "get-intrinsic": "^1.2.4"
1298
+ },
1299
+ "engines": {
1300
+ "node": ">= 0.4"
1301
+ }
1302
+ },
1303
+ "node_modules/es-errors": {
1304
+ "version": "1.3.0",
1305
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
1306
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
1307
+ "engines": {
1308
+ "node": ">= 0.4"
1309
+ }
1310
+ },
1253
1311
  "node_modules/esbuild": {
1254
1312
  "version": "0.19.12",
1255
1313
  "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
@@ -1456,39 +1514,40 @@
1456
1514
  }
1457
1515
  },
1458
1516
  "node_modules/express": {
1459
- "version": "5.0.0-beta.1",
1460
- "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-beta.1.tgz",
1461
- "integrity": "sha512-KPtBrlZoQu2Ps0Ce/Imqtq73AB0KBJ8Gx59yZQ3pmDJU2/LhcoZETo03oSgtTQufbcLXt/WBITk/jMjl/WMyrQ==",
1517
+ "version": "5.0.0-beta.3",
1518
+ "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-beta.3.tgz",
1519
+ "integrity": "sha512-e7Qizw4gMBVe1Ky2oNi5C1h6oS8aWDcY2yYxvRMy5aMc6t2aqobuHpQRfR3LRC9NAW/c6081SeGWMGBorLXePg==",
1462
1520
  "dependencies": {
1463
- "accepts": "~1.3.7",
1521
+ "accepts": "~1.3.8",
1464
1522
  "array-flatten": "3.0.0",
1465
- "body-parser": "2.0.0-beta.1",
1523
+ "body-parser": "2.0.0-beta.2",
1466
1524
  "content-disposition": "0.5.4",
1467
1525
  "content-type": "~1.0.4",
1468
- "cookie": "0.4.1",
1526
+ "cookie": "0.6.0",
1469
1527
  "cookie-signature": "1.0.6",
1470
1528
  "debug": "3.1.0",
1471
- "depd": "~1.1.2",
1529
+ "depd": "2.0.0",
1472
1530
  "encodeurl": "~1.0.2",
1473
1531
  "escape-html": "~1.0.3",
1474
1532
  "etag": "~1.8.1",
1475
- "finalhandler": "~1.1.2",
1533
+ "finalhandler": "1.2.0",
1476
1534
  "fresh": "0.5.2",
1535
+ "http-errors": "2.0.0",
1477
1536
  "merge-descriptors": "1.0.1",
1478
1537
  "methods": "~1.1.2",
1479
1538
  "mime-types": "~2.1.34",
1480
- "on-finished": "~2.3.0",
1539
+ "on-finished": "2.4.1",
1481
1540
  "parseurl": "~1.3.3",
1482
1541
  "path-is-absolute": "1.0.1",
1483
1542
  "proxy-addr": "~2.0.7",
1484
- "qs": "6.9.6",
1543
+ "qs": "6.11.0",
1485
1544
  "range-parser": "~1.2.1",
1486
- "router": "2.0.0-beta.1",
1545
+ "router": "2.0.0-beta.2",
1487
1546
  "safe-buffer": "5.2.1",
1488
- "send": "1.0.0-beta.1",
1489
- "serve-static": "2.0.0-beta.1",
1547
+ "send": "1.0.0-beta.2",
1548
+ "serve-static": "2.0.0-beta.2",
1490
1549
  "setprototypeof": "1.2.0",
1491
- "statuses": "~1.5.0",
1550
+ "statuses": "2.0.1",
1492
1551
  "type-is": "~1.6.18",
1493
1552
  "utils-merge": "1.0.1",
1494
1553
  "vary": "~1.1.2"
@@ -1590,16 +1649,16 @@
1590
1649
  }
1591
1650
  },
1592
1651
  "node_modules/finalhandler": {
1593
- "version": "1.1.2",
1594
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
1595
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
1652
+ "version": "1.2.0",
1653
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
1654
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
1596
1655
  "dependencies": {
1597
1656
  "debug": "2.6.9",
1598
1657
  "encodeurl": "~1.0.2",
1599
1658
  "escape-html": "~1.0.3",
1600
- "on-finished": "~2.3.0",
1659
+ "on-finished": "2.4.1",
1601
1660
  "parseurl": "~1.3.3",
1602
- "statuses": "~1.5.0",
1661
+ "statuses": "2.0.1",
1603
1662
  "unpipe": "~1.0.0"
1604
1663
  },
1605
1664
  "engines": {
@@ -1700,6 +1759,32 @@
1700
1759
  "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1701
1760
  }
1702
1761
  },
1762
+ "node_modules/function-bind": {
1763
+ "version": "1.1.2",
1764
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1765
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1766
+ "funding": {
1767
+ "url": "https://github.com/sponsors/ljharb"
1768
+ }
1769
+ },
1770
+ "node_modules/get-intrinsic": {
1771
+ "version": "1.2.4",
1772
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
1773
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
1774
+ "dependencies": {
1775
+ "es-errors": "^1.3.0",
1776
+ "function-bind": "^1.1.2",
1777
+ "has-proto": "^1.0.1",
1778
+ "has-symbols": "^1.0.3",
1779
+ "hasown": "^2.0.0"
1780
+ },
1781
+ "engines": {
1782
+ "node": ">= 0.4"
1783
+ },
1784
+ "funding": {
1785
+ "url": "https://github.com/sponsors/ljharb"
1786
+ }
1787
+ },
1703
1788
  "node_modules/get-tsconfig": {
1704
1789
  "version": "4.7.3",
1705
1790
  "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
@@ -1779,6 +1864,17 @@
1779
1864
  "url": "https://github.com/sponsors/sindresorhus"
1780
1865
  }
1781
1866
  },
1867
+ "node_modules/gopd": {
1868
+ "version": "1.0.1",
1869
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
1870
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
1871
+ "dependencies": {
1872
+ "get-intrinsic": "^1.1.3"
1873
+ },
1874
+ "funding": {
1875
+ "url": "https://github.com/sponsors/ljharb"
1876
+ }
1877
+ },
1782
1878
  "node_modules/graphemer": {
1783
1879
  "version": "1.4.0",
1784
1880
  "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -1794,25 +1890,69 @@
1794
1890
  "node": ">=8"
1795
1891
  }
1796
1892
  },
1893
+ "node_modules/has-property-descriptors": {
1894
+ "version": "1.0.2",
1895
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
1896
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
1897
+ "dependencies": {
1898
+ "es-define-property": "^1.0.0"
1899
+ },
1900
+ "funding": {
1901
+ "url": "https://github.com/sponsors/ljharb"
1902
+ }
1903
+ },
1904
+ "node_modules/has-proto": {
1905
+ "version": "1.0.3",
1906
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
1907
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
1908
+ "engines": {
1909
+ "node": ">= 0.4"
1910
+ },
1911
+ "funding": {
1912
+ "url": "https://github.com/sponsors/ljharb"
1913
+ }
1914
+ },
1915
+ "node_modules/has-symbols": {
1916
+ "version": "1.0.3",
1917
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1918
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
1919
+ "engines": {
1920
+ "node": ">= 0.4"
1921
+ },
1922
+ "funding": {
1923
+ "url": "https://github.com/sponsors/ljharb"
1924
+ }
1925
+ },
1926
+ "node_modules/hasown": {
1927
+ "version": "2.0.2",
1928
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1929
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1930
+ "dependencies": {
1931
+ "function-bind": "^1.1.2"
1932
+ },
1933
+ "engines": {
1934
+ "node": ">= 0.4"
1935
+ }
1936
+ },
1797
1937
  "node_modules/http-errors": {
1798
- "version": "1.8.1",
1799
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
1800
- "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
1938
+ "version": "2.0.0",
1939
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1940
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1801
1941
  "dependencies": {
1802
- "depd": "~1.1.2",
1942
+ "depd": "2.0.0",
1803
1943
  "inherits": "2.0.4",
1804
1944
  "setprototypeof": "1.2.0",
1805
- "statuses": ">= 1.5.0 < 2",
1945
+ "statuses": "2.0.1",
1806
1946
  "toidentifier": "1.0.1"
1807
1947
  },
1808
1948
  "engines": {
1809
- "node": ">= 0.6"
1949
+ "node": ">= 0.8"
1810
1950
  }
1811
1951
  },
1812
1952
  "node_modules/iconv-lite": {
1813
- "version": "0.4.24",
1814
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1815
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1953
+ "version": "0.5.2",
1954
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz",
1955
+ "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==",
1816
1956
  "dependencies": {
1817
1957
  "safer-buffer": ">= 2.1.2 < 3"
1818
1958
  },
@@ -1948,6 +2088,11 @@
1948
2088
  "node": ">=0.10.0"
1949
2089
  }
1950
2090
  },
2091
+ "node_modules/is-promise": {
2092
+ "version": "4.0.0",
2093
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
2094
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="
2095
+ },
1951
2096
  "node_modules/isexe": {
1952
2097
  "version": "2.0.0",
1953
2098
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2208,10 +2353,18 @@
2208
2353
  "node": ">=4"
2209
2354
  }
2210
2355
  },
2356
+ "node_modules/object-inspect": {
2357
+ "version": "1.13.1",
2358
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
2359
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
2360
+ "funding": {
2361
+ "url": "https://github.com/sponsors/ljharb"
2362
+ }
2363
+ },
2211
2364
  "node_modules/on-finished": {
2212
- "version": "2.3.0",
2213
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2214
- "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
2365
+ "version": "2.4.1",
2366
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
2367
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
2215
2368
  "dependencies": {
2216
2369
  "ee-first": "1.1.1"
2217
2370
  },
@@ -2393,9 +2546,12 @@
2393
2546
  }
2394
2547
  },
2395
2548
  "node_modules/qs": {
2396
- "version": "6.9.6",
2397
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
2398
- "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
2549
+ "version": "6.11.0",
2550
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
2551
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
2552
+ "dependencies": {
2553
+ "side-channel": "^1.0.4"
2554
+ },
2399
2555
  "engines": {
2400
2556
  "node": ">=0.6"
2401
2557
  },
@@ -2432,13 +2588,13 @@
2432
2588
  }
2433
2589
  },
2434
2590
  "node_modules/raw-body": {
2435
- "version": "2.4.2",
2436
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
2437
- "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
2591
+ "version": "3.0.0-beta.1",
2592
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0-beta.1.tgz",
2593
+ "integrity": "sha512-XlSTHr67bCjSo5aOfAnN3x507zGvi3unF65BW57limYkc2ws/XB0mLUtJvvP7JGFeSPsYrlCv1ZrPGh0cwDxPQ==",
2438
2594
  "dependencies": {
2439
- "bytes": "3.1.1",
2440
- "http-errors": "1.8.1",
2441
- "iconv-lite": "0.4.24",
2595
+ "bytes": "3.1.2",
2596
+ "http-errors": "2.0.0",
2597
+ "iconv-lite": "0.5.2",
2442
2598
  "unpipe": "1.0.0"
2443
2599
  },
2444
2600
  "engines": {
@@ -2545,11 +2701,12 @@
2545
2701
  }
2546
2702
  },
2547
2703
  "node_modules/router": {
2548
- "version": "2.0.0-beta.1",
2549
- "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-beta.1.tgz",
2550
- "integrity": "sha512-GLoYgkhAGAiwVda5nt6Qd4+5RAPuQ4WIYLlZ+mxfYICI+22gnIB3eCfmhgV8+uJNPS1/39DOYi/vdrrz0/ouKA==",
2704
+ "version": "2.0.0-beta.2",
2705
+ "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-beta.2.tgz",
2706
+ "integrity": "sha512-ascmzrv4IAB64SpWzFwYOA+jz6PaUbrzHLPsQrPjQ3uQTL2qlhwY9S2sRvvBMgUISQptQG457jcWWcWqtwrbag==",
2551
2707
  "dependencies": {
2552
2708
  "array-flatten": "3.0.0",
2709
+ "is-promise": "4.0.0",
2553
2710
  "methods": "~1.1.2",
2554
2711
  "parseurl": "~1.3.3",
2555
2712
  "path-to-regexp": "3.2.0",
@@ -2635,22 +2792,22 @@
2635
2792
  }
2636
2793
  },
2637
2794
  "node_modules/send": {
2638
- "version": "1.0.0-beta.1",
2639
- "resolved": "https://registry.npmjs.org/send/-/send-1.0.0-beta.1.tgz",
2640
- "integrity": "sha512-OKTRokcl/oo34O8+6aUpj8Jf2Bjw2D0tZzmX0/RvyfVC9ZOZW+HPAWAlhS817IsRaCnzYX1z++h2kHFr2/KNRg==",
2795
+ "version": "1.0.0-beta.2",
2796
+ "resolved": "https://registry.npmjs.org/send/-/send-1.0.0-beta.2.tgz",
2797
+ "integrity": "sha512-k1yHu/FNK745PULKdsGpQ+bVSXYNwSk+bWnYzbxGZbt5obZc0JKDVANsCRuJD1X/EG15JtP9eZpwxkhUxIYEcg==",
2641
2798
  "dependencies": {
2642
2799
  "debug": "3.1.0",
2643
- "destroy": "~1.0.4",
2800
+ "destroy": "1.2.0",
2644
2801
  "encodeurl": "~1.0.2",
2645
2802
  "escape-html": "~1.0.3",
2646
2803
  "etag": "~1.8.1",
2647
2804
  "fresh": "0.5.2",
2648
- "http-errors": "1.8.1",
2805
+ "http-errors": "2.0.0",
2649
2806
  "mime-types": "~2.1.34",
2650
2807
  "ms": "2.1.3",
2651
- "on-finished": "~2.3.0",
2808
+ "on-finished": "2.4.1",
2652
2809
  "range-parser": "~1.2.1",
2653
- "statuses": "~1.5.0"
2810
+ "statuses": "2.0.1"
2654
2811
  },
2655
2812
  "engines": {
2656
2813
  "node": ">= 0.10"
@@ -2675,19 +2832,35 @@
2675
2832
  "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
2676
2833
  },
2677
2834
  "node_modules/serve-static": {
2678
- "version": "2.0.0-beta.1",
2679
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.0.0-beta.1.tgz",
2680
- "integrity": "sha512-DEJ9on/tQeFO2Omj7ovT02lCp1YgP4Kb8W2lv2o/4keTFAbgc8HtH3yPd47++2wv9lvQeqiA7FHFDe5+8c4XpA==",
2835
+ "version": "2.0.0-beta.2",
2836
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.0.0-beta.2.tgz",
2837
+ "integrity": "sha512-Ge718g4UJjzYoXFEGLY/VLSuTHp0kQcUV65QA98J8d3XREsVIHu53GBh9NWjDy4u2xwsSwRzu9nu7Q+b4o6Xyw==",
2681
2838
  "dependencies": {
2682
2839
  "encodeurl": "~1.0.2",
2683
2840
  "escape-html": "~1.0.3",
2684
2841
  "parseurl": "~1.3.3",
2685
- "send": "1.0.0-beta.1"
2842
+ "send": "^1.0.0-beta.2"
2686
2843
  },
2687
2844
  "engines": {
2688
2845
  "node": ">= 0.10"
2689
2846
  }
2690
2847
  },
2848
+ "node_modules/set-function-length": {
2849
+ "version": "1.2.2",
2850
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
2851
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
2852
+ "dependencies": {
2853
+ "define-data-property": "^1.1.4",
2854
+ "es-errors": "^1.3.0",
2855
+ "function-bind": "^1.1.2",
2856
+ "get-intrinsic": "^1.2.4",
2857
+ "gopd": "^1.0.1",
2858
+ "has-property-descriptors": "^1.0.2"
2859
+ },
2860
+ "engines": {
2861
+ "node": ">= 0.4"
2862
+ }
2863
+ },
2691
2864
  "node_modules/setprototypeof": {
2692
2865
  "version": "1.2.0",
2693
2866
  "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -2714,6 +2887,23 @@
2714
2887
  "node": ">=8"
2715
2888
  }
2716
2889
  },
2890
+ "node_modules/side-channel": {
2891
+ "version": "1.0.6",
2892
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
2893
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
2894
+ "dependencies": {
2895
+ "call-bind": "^1.0.7",
2896
+ "es-errors": "^1.3.0",
2897
+ "get-intrinsic": "^1.2.4",
2898
+ "object-inspect": "^1.13.1"
2899
+ },
2900
+ "engines": {
2901
+ "node": ">= 0.4"
2902
+ },
2903
+ "funding": {
2904
+ "url": "https://github.com/sponsors/ljharb"
2905
+ }
2906
+ },
2717
2907
  "node_modules/slash": {
2718
2908
  "version": "3.0.0",
2719
2909
  "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -2743,11 +2933,11 @@
2743
2933
  "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
2744
2934
  },
2745
2935
  "node_modules/statuses": {
2746
- "version": "1.5.0",
2747
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
2748
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
2936
+ "version": "2.0.1",
2937
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
2938
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
2749
2939
  "engines": {
2750
- "node": ">= 0.6"
2940
+ "node": ">= 0.8"
2751
2941
  }
2752
2942
  },
2753
2943
  "node_modules/string_decoder": {
@@ -5,6 +5,7 @@ export default class Encrypt extends BaseCommand<typeof Encrypt> {
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  environment: import("@oclif/core/lib/interfaces").OptionFlag<GlobalConfiguration.Environment, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ sensitive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
9
  };
9
10
  catch(error: Error): Promise<void>;
10
11
  run(): Promise<void>;
@@ -20,6 +20,10 @@ class Encrypt extends baseCommand_1.BaseCommand {
20
20
  options: Object.values(GlobalConfiguration.Environment),
21
21
  default: GlobalConfiguration.Environment.Production,
22
22
  })(),
23
+ sensitive: core_1.Flags.boolean({
24
+ description: 'once encrypted, sensitive data cannot be decrypted',
25
+ default: false,
26
+ }),
23
27
  };
24
28
  async catch(error) {
25
29
  /* istanbul ignore if */
@@ -42,7 +46,7 @@ class Encrypt extends baseCommand_1.BaseCommand {
42
46
  type: 'input',
43
47
  });
44
48
  core_1.ux.action.start('Encrypting data', undefined, { stdout: true });
45
- const { encryptedData } = await IntegrationsPlatform.encryptData(integrationConfiguration.name, data);
49
+ const { encryptedData } = await IntegrationsPlatform.encryptData(integrationConfiguration.name, data, flags.sensitive);
46
50
  core_1.ux.action.stop();
47
51
  core_1.ux.log(`Encrypted Data: ${chalk_1.default.greenBright(encryptedData)}`);
48
52
  }
@@ -92,10 +92,10 @@ class Oauth2 extends core_1.Command {
92
92
  credentials.refreshToken = refreshToken;
93
93
  }
94
94
  if (decryptionResult.decryptedKeys.includes('accessToken')) {
95
- credentials.accessToken = (await IntegrationsPlatform.encryptData(configuration.name, credentials.accessToken)).encryptedData;
95
+ credentials.accessToken = (await IntegrationsPlatform.encryptData(configuration.name, credentials.accessToken, false)).encryptedData;
96
96
  }
97
97
  if (decryptionResult.decryptedKeys.includes('refreshToken')) {
98
- credentials.refreshToken = (await IntegrationsPlatform.encryptData(configuration.name, credentials.refreshToken)).encryptedData;
98
+ credentials.refreshToken = (await IntegrationsPlatform.encryptData(configuration.name, credentials.refreshToken, false)).encryptedData;
99
99
  }
100
100
  core_1.ux.action.stop();
101
101
  }
@@ -10,7 +10,8 @@ async function performOAuth2Flow(applicationCredentials, environment = globalCon
10
10
  const serverUrl = await oauthHelper.startServer();
11
11
  const healthCheck = await fetch(`${serverUrl}/health`);
12
12
  if (healthCheck.status !== 200) {
13
- throw new Error('OAuthServer did not start');
13
+ const error = await healthCheck.text();
14
+ throw new Error(`OAuthServer did not start correctly.\n HealthCheck status: ${healthCheck.status}\n Response: ${error}`);
14
15
  }
15
16
  await oauthHelper.authorize();
16
17
  const oauth2Response = await oauthHelper.callbackIsDone();
@@ -1,3 +1,4 @@
1
- export declare function parseTemplate(template: string): {
2
- expand: (context: Record<string, unknown>) => string;
3
- };
1
+ export interface ExpandTemplateOptions {
2
+ urlEncodeVariables: boolean;
3
+ }
4
+ export declare function expandTemplate(template: string, context: Record<string, unknown>, options: ExpandTemplateOptions): string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseTemplate = void 0;
4
- const operators = Object.freeze(['+']);
3
+ exports.expandTemplate = void 0;
5
4
  function encode(value) {
6
5
  return value
7
6
  ? value
@@ -16,25 +15,19 @@ function encode(value) {
16
15
  .join('')
17
16
  : '';
18
17
  }
19
- function parseTemplate(template) {
20
- return {
21
- expand: function (context) {
22
- return template.replace(/\{([^{}]+)\}|([^{}]+)/g, function (_, expression, literal) {
23
- if (expression) {
24
- if (operators.indexOf(expression.charAt(0)) !== -1) {
25
- expression = expression.substr(1);
26
- return encode(context[expression]);
27
- }
28
- else {
29
- // For now, if no '+' operator is present, do not expand
30
- return `{${expression}}`;
31
- }
32
- }
33
- else {
34
- return encode(literal);
35
- }
36
- });
37
- },
38
- };
18
+ function expandTemplate(template, context, options) {
19
+ let interpolated = template.replaceAll(
20
+ // eslint is wrong about the following rule, the escape character is required.
21
+ // eslint-disable-next-line no-useless-escape
22
+ /{!base64\(([^\)]+)\)}/g, (_outerMatch, innerMatch) => Buffer.from(expandTemplate(innerMatch, context, { urlEncodeVariables: false })).toString('base64'));
23
+ interpolated = interpolated.replaceAll(
24
+ // eslint is wrong about the following rule, the escape character is required.
25
+ // eslint-disable-next-line no-useless-escape
26
+ /{\+([^}]+)}/g, (_outerMatch, innerMatch) => {
27
+ return options.urlEncodeVariables
28
+ ? encode((context[innerMatch] ?? '').toString())
29
+ : (context[innerMatch] ?? '').toString();
30
+ });
31
+ return interpolated;
39
32
  }
40
- exports.parseTemplate = parseTemplate;
33
+ exports.expandTemplate = expandTemplate;
@@ -17,7 +17,7 @@ export declare function setEnvironment(environment: Environment): void;
17
17
  export declare function getApiKey(): string | undefined;
18
18
  export declare function setApiKey(apiKey: string | undefined): void;
19
19
  export declare function getProfile(): Promise<User>;
20
- export declare function encryptData(integrationName: string, data: string): Promise<{
20
+ export declare function encryptData(integrationName: string, data: string, sensitive: boolean): Promise<{
21
21
  encryptedData: string;
22
22
  }>;
23
23
  export declare function decryptData(integrationName: string, data: string): Promise<{
@@ -35,10 +35,11 @@ async function getProfile() {
35
35
  return integrations_platform_client_1.default.getProfile();
36
36
  }
37
37
  exports.getProfile = getProfile;
38
- async function encryptData(integrationName, data) {
38
+ async function encryptData(integrationName, data, sensitive) {
39
39
  return integrations_platform_client_1.default.encryptData({
40
40
  integrationName,
41
41
  data,
42
+ sensitive,
42
43
  });
43
44
  }
44
45
  exports.encryptData = encryptData;
@@ -81,10 +81,10 @@ class OAuth2Service {
81
81
  authorizationParams.set('redirect_uri', `${IntegrationsPlatformClient.Servers[this.environment]}/credentials/new/oauth2/callback-cli`);
82
82
  const delimiter = this.providerAuthorizationUrl.includes('?') ? '&' : '?';
83
83
  const authorizationUrlTemplate = `${this.providerAuthorizationUrl}${delimiter}${authorizationParams.toString()}`;
84
- const authorizationUrl = (0, template_1.parseTemplate)(authorizationUrlTemplate).expand({
84
+ const authorizationUrl = (0, template_1.expandTemplate)(authorizationUrlTemplate, {
85
85
  ...(this.credentialPayload ?? {}),
86
86
  ...Object.fromEntries(authorizationParams.entries()),
87
- });
87
+ }, { urlEncodeVariables: true });
88
88
  console.log(' Calling the following authorization URL: \n ', authorizationUrl);
89
89
  exports.open.open(authorizationUrl);
90
90
  }
@@ -114,7 +114,7 @@ class OAuth2Service {
114
114
  const tokenRequestPayload = {
115
115
  ...Object.fromEntries(Object.entries(this.tokenRequestParameters?.body ?? {}).map(([key, value]) => [
116
116
  key,
117
- typeof value === 'string' ? decodeURIComponent((0, template_1.parseTemplate)(value).expand(templateVariables)) : value,
117
+ typeof value === 'string' ? (0, template_1.expandTemplate)(value, templateVariables, { urlEncodeVariables: false }) : value,
118
118
  ])),
119
119
  grant_type: this.grantType,
120
120
  code: req.query.code,
@@ -126,11 +126,11 @@ class OAuth2Service {
126
126
  'Content-Type': this.requestContentType,
127
127
  ...Object.fromEntries(Object.entries(this.tokenRequestParameters?.header ?? {}).map(([key, value]) => [
128
128
  key,
129
- decodeURIComponent((0, template_1.parseTemplate)(String(value)).expand(templateVariables)),
129
+ (0, template_1.expandTemplate)(String(value), templateVariables, { urlEncodeVariables: false }),
130
130
  ])),
131
131
  };
132
132
  try {
133
- const fetchResult = await fetch((0, template_1.parseTemplate)(this.tokenUrl).expand(templateVariables), {
133
+ const fetchResult = await fetch((0, template_1.expandTemplate)(this.tokenUrl, templateVariables, { urlEncodeVariables: true }), {
134
134
  headers: tokenRequestHeaders,
135
135
  body: this.encodeBody(tokenRequestPayload, this.requestContentType),
136
136
  method: 'POST',
@@ -38,6 +38,13 @@ describe('encrypt', () => {
38
38
  .it('encrypts data - default', ctx => {
39
39
  (0, test_1.expect)(ctx.stdout).to.contains('Encrypted Data:');
40
40
  });
41
+ test_1.test
42
+ .stdout()
43
+ .stub(GlobalConfiguration, 'read', stub => stub.returns({ apiKey: 'foo' }))
44
+ .command(['encrypt', '--sensitive'])
45
+ .it('encrypts data - sensitive', ctx => {
46
+ (0, test_1.expect)(ctx.stdout).to.contains('Encrypted Data:');
47
+ });
41
48
  test_1.test
42
49
  .stdout()
43
50
  .stub(GlobalConfiguration, 'read', stub => stub.returns({ apiKeyLocal: 'foo' }))
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const strict_1 = tslib_1.__importDefault(require("node:assert/strict"));
5
- const node_test_1 = require("node:test");
6
5
  const template_1 = require("../../src/resources/template");
7
- (0, node_test_1.describe)('template', function () {
6
+ describe('template', function () {
8
7
  const context = {
9
8
  var: 'value',
10
9
  'some.value': 'some',
@@ -18,23 +17,38 @@ const template_1 = require("../../src/resources/template");
18
17
  path: '/foo/bar',
19
18
  surrogatepairs: '\uD834\uDF06',
20
19
  };
21
- (0, node_test_1.it)('empty string', function () {
22
- strict_1.default.equal((0, template_1.parseTemplate)('').expand(context), '');
20
+ it('empty string', function () {
21
+ strict_1.default.equal((0, template_1.expandTemplate)('', context, { urlEncodeVariables: true }), '');
23
22
  });
24
- (0, node_test_1.it)('does not encode non expressions', function () {
25
- strict_1.default.equal((0, template_1.parseTemplate)('hello/world').expand(context), 'hello/world');
26
- strict_1.default.equal((0, template_1.parseTemplate)('Hello World!/{foo}').expand(context), 'Hello%20World!/{foo}');
23
+ describe('url encode', function () {
24
+ it('enabled', function () {
25
+ strict_1.default.equal((0, template_1.expandTemplate)('Hello World!/{+foo}{+path}/{+hello}', context, { urlEncodeVariables: true }), 'Hello World!/bar/foo/bar/Hello%20World!');
26
+ });
27
+ it('disabled', function () {
28
+ strict_1.default.equal((0, template_1.expandTemplate)('Hello World!/{+foo}{+path}/{+hello}', context, { urlEncodeVariables: false }), 'Hello World!/bar/foo/bar/Hello World!');
29
+ });
30
+ it('expand non-ASCII strings', function () {
31
+ strict_1.default.equal((0, template_1.expandTemplate)('{+chars}', context, { urlEncodeVariables: true }), '%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF%C3%BC');
32
+ });
33
+ it('reserved expansion of basic strings', function () {
34
+ strict_1.default.equal((0, template_1.expandTemplate)('{+var}', context, { urlEncodeVariables: true }), 'value');
35
+ strict_1.default.equal((0, template_1.expandTemplate)('{+hello}', context, { urlEncodeVariables: true }), 'Hello%20World!');
36
+ strict_1.default.equal((0, template_1.expandTemplate)('{+Some%20Thing}', context, { urlEncodeVariables: true }), 'Some%20Thing');
37
+ });
38
+ it('preserves paths', function () {
39
+ strict_1.default.equal((0, template_1.expandTemplate)('{+path}/here', context, { urlEncodeVariables: true }), '/foo/bar/here');
40
+ strict_1.default.equal((0, template_1.expandTemplate)('here?ref={+path}', context, { urlEncodeVariables: true }), 'here?ref=/foo/bar');
41
+ });
27
42
  });
28
- (0, node_test_1.it)('expand non-ASCII strings', function () {
29
- strict_1.default.equal((0, template_1.parseTemplate)('{+chars}').expand(context), '%C5%A1%C3%B6%C3%A4%C5%B8%C5%93%C3%B1%C3%AA%E2%82%AC%C2%A3%C2%A5%E2%80%A1%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%BF%C3%BC');
30
- });
31
- (0, node_test_1.it)('reserved expansion of basic strings', function () {
32
- strict_1.default.equal((0, template_1.parseTemplate)('{+var}').expand(context), 'value');
33
- strict_1.default.equal((0, template_1.parseTemplate)('{+hello}').expand(context), 'Hello%20World!');
34
- strict_1.default.equal((0, template_1.parseTemplate)('{+Some%20Thing}').expand(context), 'Some%20Thing');
35
- });
36
- (0, node_test_1.it)('preserves paths', function () {
37
- strict_1.default.equal((0, template_1.parseTemplate)('{+path}/here').expand(context), '/foo/bar/here');
38
- strict_1.default.equal((0, template_1.parseTemplate)('here?ref={+path}').expand(context), 'here?ref=/foo/bar');
43
+ describe('base64', function () {
44
+ it('without variables', function () {
45
+ strict_1.default.equal((0, template_1.expandTemplate)('{!base64(foo bar)}', context, { urlEncodeVariables: true }), Buffer.from('foo bar').toString('base64'));
46
+ strict_1.default.equal((0, template_1.expandTemplate)('wow{!base64(foo bar)}socool!', context, { urlEncodeVariables: true }), `wow${Buffer.from('foo bar').toString('base64')}socool!`);
47
+ });
48
+ it('with variables', function () {
49
+ strict_1.default.equal((0, template_1.expandTemplate)('{+hello}{!base64({+hello}:{+path})}', context, { urlEncodeVariables: true }), `Hello%20World!${Buffer.from('Hello World!:/foo/bar').toString('base64')}`);
50
+ strict_1.default.equal((0, template_1.expandTemplate)('{!base64({+hello}:{+path})}', context, { urlEncodeVariables: false }), Buffer.from('Hello World!:/foo/bar').toString('base64'));
51
+ strict_1.default.equal((0, template_1.expandTemplate)('wow{!base64({+hello}:{+path})}socool!', context, { urlEncodeVariables: false }), `wow${Buffer.from('Hello World!:/foo/bar').toString('base64')}socool!`);
52
+ });
39
53
  });
40
54
  });
@@ -157,7 +157,7 @@ describe('integrations platform', function () {
157
157
  });
158
158
  it('encryptData', async function () {
159
159
  sinon.stub(integrations_platform_client_1.default, 'encryptData').resolves({ encryptedData: 'encryptedFoo' });
160
- strict_1.default.deepEqual(await IntegrationsPlatform.encryptData('mySuperIntegration', 'foo'), {
160
+ strict_1.default.deepEqual(await IntegrationsPlatform.encryptData('mySuperIntegration', 'foo', false), {
161
161
  encryptedData: 'encryptedFoo',
162
162
  });
163
163
  });
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.58.6",
2
+ "version": "0.58.8",
3
3
  "commands": {
4
4
  "activity": {
5
5
  "id": "activity",
@@ -161,6 +161,12 @@
161
161
  "production"
162
162
  ],
163
163
  "default": "production"
164
+ },
165
+ "sensitive": {
166
+ "name": "sensitive",
167
+ "type": "boolean",
168
+ "description": "once encrypted, sensitive data cannot be decrypted",
169
+ "allowNo": false
164
170
  }
165
171
  },
166
172
  "args": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unito/integration-cli",
3
- "version": "0.58.6",
3
+ "version": "0.58.8",
4
4
  "description": "Integration CLI",
5
5
  "bin": {
6
6
  "integration-cli": "./bin/run"
@@ -37,13 +37,13 @@
37
37
  "dependencies": {
38
38
  "@oclif/core": "3.x",
39
39
  "@unito/integration-debugger": "0.25.1",
40
- "@unito/integrations-platform-client": "0.48.1",
40
+ "@unito/integrations-platform-client": "0.48.2",
41
41
  "ajv": "8.x",
42
42
  "ajv-formats": "2.x",
43
43
  "better-ajv-errors": "1.x",
44
44
  "chalk": "4.x",
45
45
  "cors": "2.x",
46
- "express": "5.0.0-beta.1",
46
+ "express": "5.0.0-beta.3",
47
47
  "gradient-string": "2.x",
48
48
  "inquirer": "8.x",
49
49
  "json-colorizer": "2.x",