@zuplo/runtime 6.70.48 → 6.70.50

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.
@@ -1144,6 +1144,222 @@ declare const mcpCapabilityFilterOptionsSchema: z.ZodObject<
1144
1144
  z.core.$strict
1145
1145
  >;
1146
1146
 
1147
+ /**
1148
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1149
+ * with browser login delegated to Clerk.
1150
+ *
1151
+ * Clerk-friendly wrapper around `McpOAuthInboundPolicy`. Provide Clerk's
1152
+ * Frontend API URL plus the OAuth application client id and secret; the
1153
+ * constructor derives the Clerk issuer, JWKS URL, authorize URL, and token URL.
1154
+ *
1155
+ * @title MCP Clerk OAuth
1156
+ * @public
1157
+ * @product mcp-gateway
1158
+ */
1159
+ export declare class McpClerkOAuthInboundPolicy extends InboundPolicy<McpClerkOAuthInboundPolicyOptions> {
1160
+ #private;
1161
+ constructor(rawOptions: unknown, policyName: string);
1162
+ handler(
1163
+ request: ZuploRequest,
1164
+ context: ZuploContext
1165
+ ): Promise<ZuploRequest | Response>;
1166
+ }
1167
+
1168
+ /**
1169
+ * The options for this policy.
1170
+ * @public
1171
+ */
1172
+ export declare interface McpClerkOAuthInboundPolicyOptions {
1173
+ /**
1174
+ * The Clerk Frontend API URL origin, without a trailing path, query string, or fragment.
1175
+ */
1176
+ frontendApiUrl: string;
1177
+ /**
1178
+ * The Clerk OAuth application client_id registered for the gateway's browser login flow.
1179
+ */
1180
+ clientId: string;
1181
+ /**
1182
+ * The Clerk OAuth application client_secret. Use $env(...) to source from a secret environment variable.
1183
+ */
1184
+ clientSecret: string;
1185
+ /**
1186
+ * OIDC scopes requested during browser login.
1187
+ */
1188
+ scope?: string;
1189
+ /**
1190
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1191
+ */
1192
+ gateway?: {
1193
+ /**
1194
+ * Lifetime of access tokens issued by /oauth/token.
1195
+ */
1196
+ accessTokenTtlSeconds?: number;
1197
+ /**
1198
+ * Lifetime of refresh tokens issued by /oauth/token.
1199
+ */
1200
+ refreshTokenTtlSeconds?: number;
1201
+ /**
1202
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1203
+ */
1204
+ cimdEnabled?: boolean;
1205
+ };
1206
+ /**
1207
+ * Optional overrides for the derived browser-login settings.
1208
+ */
1209
+ browserLoginOverrides?: {
1210
+ remoteTimeoutMs?: number;
1211
+ stateTtlSeconds?: number;
1212
+ sessionTtlSeconds?: number;
1213
+ };
1214
+ }
1215
+
1216
+ /**
1217
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1218
+ * with browser login delegated to Amazon Cognito.
1219
+ *
1220
+ * Cognito-friendly wrapper around `McpOAuthInboundPolicy`. Provide an AWS
1221
+ * region, user pool id, user pool domain, client id, and client secret; the
1222
+ * constructor derives the Cognito issuer, JWKS URL, authorize URL, and token
1223
+ * URL.
1224
+ *
1225
+ * @title MCP Amazon Cognito OAuth
1226
+ * @public
1227
+ * @product mcp-gateway
1228
+ */
1229
+ export declare class McpCognitoOAuthInboundPolicy extends InboundPolicy<McpCognitoOAuthInboundPolicyOptions> {
1230
+ #private;
1231
+ constructor(rawOptions: unknown, policyName: string);
1232
+ handler(
1233
+ request: ZuploRequest,
1234
+ context: ZuploContext
1235
+ ): Promise<ZuploRequest | Response>;
1236
+ }
1237
+
1238
+ /**
1239
+ * The options for this policy.
1240
+ * @public
1241
+ */
1242
+ export declare interface McpCognitoOAuthInboundPolicyOptions {
1243
+ /**
1244
+ * The AWS region that contains the Amazon Cognito user pool.
1245
+ */
1246
+ awsRegion: string;
1247
+ /**
1248
+ * The Amazon Cognito user pool ID.
1249
+ */
1250
+ userPoolId: string;
1251
+ /**
1252
+ * The hosted UI domain for the user pool, without https://, a trailing slash, or a path.
1253
+ */
1254
+ userPoolDomain: string;
1255
+ /**
1256
+ * The Cognito app client_id registered for the gateway's browser login flow.
1257
+ */
1258
+ clientId: string;
1259
+ /**
1260
+ * The Cognito app client_secret. Use $env(...) to source from a secret environment variable.
1261
+ */
1262
+ clientSecret: string;
1263
+ /**
1264
+ * OIDC scopes requested during browser login.
1265
+ */
1266
+ scope?: string;
1267
+ /**
1268
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1269
+ */
1270
+ gateway?: {
1271
+ /**
1272
+ * Lifetime of access tokens issued by /oauth/token.
1273
+ */
1274
+ accessTokenTtlSeconds?: number;
1275
+ /**
1276
+ * Lifetime of refresh tokens issued by /oauth/token.
1277
+ */
1278
+ refreshTokenTtlSeconds?: number;
1279
+ /**
1280
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1281
+ */
1282
+ cimdEnabled?: boolean;
1283
+ };
1284
+ /**
1285
+ * Optional overrides for the derived browser-login settings.
1286
+ */
1287
+ browserLoginOverrides?: {
1288
+ remoteTimeoutMs?: number;
1289
+ stateTtlSeconds?: number;
1290
+ sessionTtlSeconds?: number;
1291
+ };
1292
+ }
1293
+
1294
+ /**
1295
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1296
+ * with browser login delegated to Microsoft Entra ID.
1297
+ *
1298
+ * Entra-friendly wrapper around `McpOAuthInboundPolicy`. Provide a tenant UUID,
1299
+ * application client id, and client secret; the constructor derives the Entra
1300
+ * v2 issuer, JWKS URL, authorize URL, and token URL.
1301
+ *
1302
+ * @title MCP Microsoft Entra OAuth
1303
+ * @public
1304
+ * @product mcp-gateway
1305
+ */
1306
+ export declare class McpEntraOAuthInboundPolicy extends InboundPolicy<McpEntraOAuthInboundPolicyOptions> {
1307
+ #private;
1308
+ constructor(rawOptions: unknown, policyName: string);
1309
+ handler(
1310
+ request: ZuploRequest,
1311
+ context: ZuploContext
1312
+ ): Promise<ZuploRequest | Response>;
1313
+ }
1314
+
1315
+ /**
1316
+ * The options for this policy.
1317
+ * @public
1318
+ */
1319
+ export declare interface McpEntraOAuthInboundPolicyOptions {
1320
+ /**
1321
+ * The Microsoft Entra tenant UUID. Multi-tenant aliases like common and organizations are not supported by this policy yet.
1322
+ */
1323
+ tenantId: string;
1324
+ /**
1325
+ * The Microsoft Entra application (client) ID UUID registered for the gateway's browser login flow.
1326
+ */
1327
+ clientId: string;
1328
+ /**
1329
+ * The Microsoft Entra client secret. Use $env(...) to source from a secret environment variable.
1330
+ */
1331
+ clientSecret: string;
1332
+ /**
1333
+ * OIDC scopes requested during browser login.
1334
+ */
1335
+ scope?: string;
1336
+ /**
1337
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1338
+ */
1339
+ gateway?: {
1340
+ /**
1341
+ * Lifetime of access tokens issued by /oauth/token.
1342
+ */
1343
+ accessTokenTtlSeconds?: number;
1344
+ /**
1345
+ * Lifetime of refresh tokens issued by /oauth/token.
1346
+ */
1347
+ refreshTokenTtlSeconds?: number;
1348
+ /**
1349
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1350
+ */
1351
+ cimdEnabled?: boolean;
1352
+ };
1353
+ /**
1354
+ * Optional overrides for the derived browser-login settings.
1355
+ */
1356
+ browserLoginOverrides?: {
1357
+ remoteTimeoutMs?: number;
1358
+ stateTtlSeconds?: number;
1359
+ sessionTtlSeconds?: number;
1360
+ };
1361
+ }
1362
+
1147
1363
  /**
1148
1364
  * Activates the MCP Gateway internal routes (OAuth authorization server,
1149
1365
  * upstream connection management, well-known metadata) on the runtime router.
@@ -1171,6 +1387,215 @@ export declare class McpGatewayPlugin extends SystemRuntimePlugin {
1171
1387
  }): void;
1172
1388
  }
1173
1389
 
1390
+ /**
1391
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1392
+ * with browser login delegated to Google.
1393
+ *
1394
+ * Google-friendly wrapper around `McpOAuthInboundPolicy`. Provide `clientId`
1395
+ * and `clientSecret`; the constructor uses Google's fixed OIDC issuer, JWKS
1396
+ * URL, authorize URL, and token URL, then runs the resulting shape through the
1397
+ * same Zod schema as the generic policy.
1398
+ *
1399
+ * @title MCP Google OAuth
1400
+ * @public
1401
+ * @product mcp-gateway
1402
+ */
1403
+ export declare class McpGoogleOAuthInboundPolicy extends InboundPolicy<McpGoogleOAuthInboundPolicyOptions> {
1404
+ #private;
1405
+ constructor(rawOptions: unknown, policyName: string);
1406
+ handler(
1407
+ request: ZuploRequest,
1408
+ context: ZuploContext
1409
+ ): Promise<ZuploRequest | Response>;
1410
+ }
1411
+
1412
+ /**
1413
+ * The options for this policy.
1414
+ * @public
1415
+ */
1416
+ export declare interface McpGoogleOAuthInboundPolicyOptions {
1417
+ /**
1418
+ * The Google OAuth client_id registered for the gateway's browser login flow. Google uses a fixed OIDC issuer and discovery endpoint.
1419
+ */
1420
+ clientId: string;
1421
+ /**
1422
+ * The Google OAuth client_secret. Use $env(...) to source from a secret environment variable.
1423
+ */
1424
+ clientSecret: string;
1425
+ /**
1426
+ * OIDC scopes requested during browser login.
1427
+ */
1428
+ scope?: string;
1429
+ /**
1430
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1431
+ */
1432
+ gateway?: {
1433
+ /**
1434
+ * Lifetime of access tokens issued by /oauth/token.
1435
+ */
1436
+ accessTokenTtlSeconds?: number;
1437
+ /**
1438
+ * Lifetime of refresh tokens issued by /oauth/token.
1439
+ */
1440
+ refreshTokenTtlSeconds?: number;
1441
+ /**
1442
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1443
+ */
1444
+ cimdEnabled?: boolean;
1445
+ };
1446
+ /**
1447
+ * Optional overrides for the derived browser-login settings.
1448
+ */
1449
+ browserLoginOverrides?: {
1450
+ remoteTimeoutMs?: number;
1451
+ stateTtlSeconds?: number;
1452
+ sessionTtlSeconds?: number;
1453
+ };
1454
+ }
1455
+
1456
+ /**
1457
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1458
+ * with browser login delegated to Keycloak.
1459
+ *
1460
+ * Keycloak-friendly wrapper around `McpOAuthInboundPolicy`. Provide the
1461
+ * Keycloak server root, realm, client id, and client secret; the constructor
1462
+ * derives the realm issuer, JWKS URL, authorize URL, and token URL from
1463
+ * Keycloak's documented OIDC endpoint layout.
1464
+ *
1465
+ * @title MCP Keycloak OAuth
1466
+ * @public
1467
+ * @product mcp-gateway
1468
+ */
1469
+ export declare class McpKeycloakOAuthInboundPolicy extends InboundPolicy<McpKeycloakOAuthInboundPolicyOptions> {
1470
+ #private;
1471
+ constructor(rawOptions: unknown, policyName: string);
1472
+ handler(
1473
+ request: ZuploRequest,
1474
+ context: ZuploContext
1475
+ ): Promise<ZuploRequest | Response>;
1476
+ }
1477
+
1478
+ /**
1479
+ * The options for this policy.
1480
+ * @public
1481
+ */
1482
+ export declare interface McpKeycloakOAuthInboundPolicyOptions {
1483
+ /**
1484
+ * The absolute URL for the Keycloak server root. Do not include /realms/{realm}; set the realm option separately.
1485
+ */
1486
+ keycloakBaseUrl: string;
1487
+ /**
1488
+ * The Keycloak realm name.
1489
+ */
1490
+ realm: string;
1491
+ /**
1492
+ * The Keycloak OIDC client_id registered for the gateway's browser login flow.
1493
+ */
1494
+ clientId: string;
1495
+ /**
1496
+ * The Keycloak OIDC client_secret. Use $env(...) to source from a secret environment variable.
1497
+ */
1498
+ clientSecret: string;
1499
+ /**
1500
+ * OIDC scopes requested during browser login.
1501
+ */
1502
+ scope?: string;
1503
+ /**
1504
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1505
+ */
1506
+ gateway?: {
1507
+ /**
1508
+ * Lifetime of access tokens issued by /oauth/token.
1509
+ */
1510
+ accessTokenTtlSeconds?: number;
1511
+ /**
1512
+ * Lifetime of refresh tokens issued by /oauth/token.
1513
+ */
1514
+ refreshTokenTtlSeconds?: number;
1515
+ /**
1516
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1517
+ */
1518
+ cimdEnabled?: boolean;
1519
+ };
1520
+ /**
1521
+ * Optional overrides for the derived browser-login settings.
1522
+ */
1523
+ browserLoginOverrides?: {
1524
+ remoteTimeoutMs?: number;
1525
+ stateTtlSeconds?: number;
1526
+ sessionTtlSeconds?: number;
1527
+ };
1528
+ }
1529
+
1530
+ /**
1531
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1532
+ * with browser login delegated to Logto.
1533
+ *
1534
+ * Logto-friendly wrapper around `McpOAuthInboundPolicy`. Provide the Logto
1535
+ * tenant endpoint, client id, and client secret; the constructor derives the
1536
+ * Logto `/oidc` issuer, JWKS URL, authorize URL, and token URL.
1537
+ *
1538
+ * @title MCP Logto OAuth
1539
+ * @public
1540
+ * @product mcp-gateway
1541
+ */
1542
+ export declare class McpLogtoOAuthInboundPolicy extends InboundPolicy<McpLogtoOAuthInboundPolicyOptions> {
1543
+ #private;
1544
+ constructor(rawOptions: unknown, policyName: string);
1545
+ handler(
1546
+ request: ZuploRequest,
1547
+ context: ZuploContext
1548
+ ): Promise<ZuploRequest | Response>;
1549
+ }
1550
+
1551
+ /**
1552
+ * The options for this policy.
1553
+ * @public
1554
+ */
1555
+ export declare interface McpLogtoOAuthInboundPolicyOptions {
1556
+ /**
1557
+ * Your Logto tenant endpoint or custom domain, without the /oidc path. The OIDC issuer, JWKS URL, authorization URL, and token URL are derived from this.
1558
+ */
1559
+ logtoEndpoint: string;
1560
+ /**
1561
+ * The Logto application client_id registered for the gateway's browser login flow.
1562
+ */
1563
+ clientId: string;
1564
+ /**
1565
+ * The Logto application client_secret. Use $env(...) to source from a secret environment variable.
1566
+ */
1567
+ clientSecret: string;
1568
+ /**
1569
+ * OIDC scopes requested during browser login.
1570
+ */
1571
+ scope?: string;
1572
+ /**
1573
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1574
+ */
1575
+ gateway?: {
1576
+ /**
1577
+ * Lifetime of access tokens issued by /oauth/token.
1578
+ */
1579
+ accessTokenTtlSeconds?: number;
1580
+ /**
1581
+ * Lifetime of refresh tokens issued by /oauth/token.
1582
+ */
1583
+ refreshTokenTtlSeconds?: number;
1584
+ /**
1585
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1586
+ */
1587
+ cimdEnabled?: boolean;
1588
+ };
1589
+ /**
1590
+ * Optional overrides for the derived browser-login settings.
1591
+ */
1592
+ browserLoginOverrides?: {
1593
+ remoteTimeoutMs?: number;
1594
+ stateTtlSeconds?: number;
1595
+ sessionTtlSeconds?: number;
1596
+ };
1597
+ }
1598
+
1174
1599
  /**
1175
1600
  * Authenticate MCP gateway requests using a gateway-issued OAuth access token.
1176
1601
  *
@@ -1324,6 +1749,232 @@ declare const mcpOAuthRuntimeConfigSchema: z.ZodObject<
1324
1749
  z.core.$strict
1325
1750
  >;
1326
1751
 
1752
+ /**
1753
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1754
+ * with browser login delegated to Okta.
1755
+ *
1756
+ * Okta-friendly wrapper around `McpOAuthInboundPolicy`. Provide an Okta org
1757
+ * domain, optional authorization server id, client id, and client secret; the
1758
+ * constructor derives the Okta issuer, JWKS URL, authorize URL, and token URL.
1759
+ *
1760
+ * @title MCP Okta OAuth
1761
+ * @public
1762
+ * @product mcp-gateway
1763
+ */
1764
+ export declare class McpOktaOAuthInboundPolicy extends InboundPolicy<McpOktaOAuthInboundPolicyOptions> {
1765
+ #private;
1766
+ constructor(rawOptions: unknown, policyName: string);
1767
+ handler(
1768
+ request: ZuploRequest,
1769
+ context: ZuploContext
1770
+ ): Promise<ZuploRequest | Response>;
1771
+ }
1772
+
1773
+ /**
1774
+ * The options for this policy.
1775
+ * @public
1776
+ */
1777
+ export declare interface McpOktaOAuthInboundPolicyOptions {
1778
+ /**
1779
+ * The Okta org domain, without https://, a trailing slash, or a path.
1780
+ */
1781
+ oktaDomain: string;
1782
+ /**
1783
+ * Optional Okta custom authorization server id. Omit this to use the org authorization server.
1784
+ */
1785
+ authorizationServerId?: string;
1786
+ /**
1787
+ * The Okta OIDC application client_id registered for the gateway's browser login flow.
1788
+ */
1789
+ clientId: string;
1790
+ /**
1791
+ * The Okta OIDC application client_secret. Use $env(...) to source from a secret environment variable.
1792
+ */
1793
+ clientSecret: string;
1794
+ /**
1795
+ * OIDC scopes requested during browser login.
1796
+ */
1797
+ scope?: string;
1798
+ /**
1799
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1800
+ */
1801
+ gateway?: {
1802
+ /**
1803
+ * Lifetime of access tokens issued by /oauth/token.
1804
+ */
1805
+ accessTokenTtlSeconds?: number;
1806
+ /**
1807
+ * Lifetime of refresh tokens issued by /oauth/token.
1808
+ */
1809
+ refreshTokenTtlSeconds?: number;
1810
+ /**
1811
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1812
+ */
1813
+ cimdEnabled?: boolean;
1814
+ };
1815
+ /**
1816
+ * Optional overrides for the derived browser-login settings.
1817
+ */
1818
+ browserLoginOverrides?: {
1819
+ remoteTimeoutMs?: number;
1820
+ stateTtlSeconds?: number;
1821
+ sessionTtlSeconds?: number;
1822
+ };
1823
+ }
1824
+
1825
+ /**
1826
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1827
+ * with browser login delegated to OneLogin.
1828
+ *
1829
+ * OneLogin-friendly wrapper around `McpOAuthInboundPolicy`. Provide the
1830
+ * OneLogin account subdomain, client id, and client secret; the constructor
1831
+ * derives OneLogin's OIDC issuer, JWKS URL, authorize URL, and token URL.
1832
+ *
1833
+ * @title MCP OneLogin OAuth
1834
+ * @public
1835
+ * @product mcp-gateway
1836
+ */
1837
+ export declare class McpOneLoginOAuthInboundPolicy extends InboundPolicy<McpOneLoginOAuthInboundPolicyOptions> {
1838
+ #private;
1839
+ constructor(rawOptions: unknown, policyName: string);
1840
+ handler(
1841
+ request: ZuploRequest,
1842
+ context: ZuploContext
1843
+ ): Promise<ZuploRequest | Response>;
1844
+ }
1845
+
1846
+ /**
1847
+ * The options for this policy.
1848
+ * @public
1849
+ */
1850
+ export declare interface McpOneLoginOAuthInboundPolicyOptions {
1851
+ /**
1852
+ * The OneLogin account subdomain, without https://, .onelogin.com, a trailing slash, or a path.
1853
+ */
1854
+ oneLoginSubdomain: string;
1855
+ /**
1856
+ * The OneLogin OIDC application client_id registered for the gateway's browser login flow.
1857
+ */
1858
+ clientId: string;
1859
+ /**
1860
+ * The OneLogin OIDC application client_secret. Use $env(...) to source from a secret environment variable.
1861
+ */
1862
+ clientSecret: string;
1863
+ /**
1864
+ * OIDC scopes requested during browser login.
1865
+ */
1866
+ scope?: string;
1867
+ /**
1868
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1869
+ */
1870
+ gateway?: {
1871
+ /**
1872
+ * Lifetime of access tokens issued by /oauth/token.
1873
+ */
1874
+ accessTokenTtlSeconds?: number;
1875
+ /**
1876
+ * Lifetime of refresh tokens issued by /oauth/token.
1877
+ */
1878
+ refreshTokenTtlSeconds?: number;
1879
+ /**
1880
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1881
+ */
1882
+ cimdEnabled?: boolean;
1883
+ };
1884
+ /**
1885
+ * Optional overrides for the derived browser-login settings.
1886
+ */
1887
+ browserLoginOverrides?: {
1888
+ remoteTimeoutMs?: number;
1889
+ stateTtlSeconds?: number;
1890
+ sessionTtlSeconds?: number;
1891
+ };
1892
+ }
1893
+
1894
+ /**
1895
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
1896
+ * with browser login delegated to PingOne.
1897
+ *
1898
+ * PingOne-friendly wrapper around `McpOAuthInboundPolicy`. Provide a PingOne
1899
+ * environment ID plus optional region, or a PingOne custom domain, with client
1900
+ * ID and client secret; the constructor derives the PingOne issuer, JWKS URL,
1901
+ * authorize URL, and token URL.
1902
+ *
1903
+ * @title MCP Ping OAuth
1904
+ * @public
1905
+ * @product mcp-gateway
1906
+ */
1907
+ export declare class McpPingOAuthInboundPolicy extends InboundPolicy<McpPingOAuthInboundPolicyOptions> {
1908
+ #private;
1909
+ constructor(rawOptions: unknown, policyName: string);
1910
+ handler(
1911
+ request: ZuploRequest,
1912
+ context: ZuploContext
1913
+ ): Promise<ZuploRequest | Response>;
1914
+ }
1915
+
1916
+ /**
1917
+ * The options for this policy.
1918
+ * @public
1919
+ */
1920
+ export declare interface McpPingOAuthInboundPolicyOptions {
1921
+ /**
1922
+ * The PingOne environment ID. Required unless customDomain is set.
1923
+ */
1924
+ environmentId?: string;
1925
+ /**
1926
+ * The PingOne geography for the environment. Ignored when customDomain is set.
1927
+ */
1928
+ region?:
1929
+ | "north-america"
1930
+ | "canada"
1931
+ | "europe"
1932
+ | "singapore"
1933
+ | "australia"
1934
+ | "asia-pacific";
1935
+ /**
1936
+ * Optional PingOne custom domain, without https://, a trailing slash, or a path. When set, environmentId and region are not used.
1937
+ */
1938
+ customDomain?: string;
1939
+ /**
1940
+ * The PingOne OIDC application client_id registered for the gateway's browser login flow.
1941
+ */
1942
+ clientId: string;
1943
+ /**
1944
+ * The PingOne OIDC application client_secret. Use $env(...) to source from a secret environment variable.
1945
+ */
1946
+ clientSecret: string;
1947
+ /**
1948
+ * OIDC scopes requested during browser login.
1949
+ */
1950
+ scope?: string;
1951
+ /**
1952
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
1953
+ */
1954
+ gateway?: {
1955
+ /**
1956
+ * Lifetime of access tokens issued by /oauth/token.
1957
+ */
1958
+ accessTokenTtlSeconds?: number;
1959
+ /**
1960
+ * Lifetime of refresh tokens issued by /oauth/token.
1961
+ */
1962
+ refreshTokenTtlSeconds?: number;
1963
+ /**
1964
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
1965
+ */
1966
+ cimdEnabled?: boolean;
1967
+ };
1968
+ /**
1969
+ * Optional overrides for the derived browser-login settings.
1970
+ */
1971
+ browserLoginOverrides?: {
1972
+ remoteTimeoutMs?: number;
1973
+ stateTtlSeconds?: number;
1974
+ sessionTtlSeconds?: number;
1975
+ };
1976
+ }
1977
+
1327
1978
  export declare function McpProxyHandler(
1328
1979
  request: ZuploRequest,
1329
1980
  context: ZuploContext
@@ -1418,6 +2069,72 @@ export declare interface McpTokenExchangeInboundPolicyOptions {
1418
2069
  };
1419
2070
  }
1420
2071
 
2072
+ /**
2073
+ * Authenticate MCP gateway requests using a gateway-issued OAuth access token,
2074
+ * with browser login delegated to WorkOS.
2075
+ *
2076
+ * WorkOS-friendly wrapper around `McpOAuthInboundPolicy`. Provide `clientId`
2077
+ * and `clientSecret`; the constructor derives the WorkOS OIDC issuer, JWKS URL,
2078
+ * authorize URL, and token URL automatically and runs the resulting shape
2079
+ * through the same Zod schema as the generic policy.
2080
+ *
2081
+ * @title MCP WorkOS OAuth
2082
+ * @public
2083
+ * @product mcp-gateway
2084
+ */
2085
+ export declare class McpWorkosOAuthInboundPolicy extends InboundPolicy<McpWorkosOAuthInboundPolicyOptions> {
2086
+ #private;
2087
+ constructor(rawOptions: unknown, policyName: string);
2088
+ handler(
2089
+ request: ZuploRequest,
2090
+ context: ZuploContext
2091
+ ): Promise<ZuploRequest | Response>;
2092
+ }
2093
+
2094
+ /**
2095
+ * The options for this policy.
2096
+ * @public
2097
+ */
2098
+ export declare interface McpWorkosOAuthInboundPolicyOptions {
2099
+ /**
2100
+ * The WorkOS client_id registered for the gateway's browser login flow. The OIDC issuer and JWKS URL are derived from this client ID.
2101
+ */
2102
+ clientId: string;
2103
+ /**
2104
+ * The WorkOS client_secret. Use $env(...) to source from a secret environment variable.
2105
+ */
2106
+ clientSecret: string;
2107
+ /**
2108
+ * OIDC scopes requested during browser login.
2109
+ */
2110
+ scope?: string;
2111
+ /**
2112
+ * Gateway-side OAuth token settings. The gateway issuer and advertised URLs are derived from the incoming request origin.
2113
+ */
2114
+ gateway?: {
2115
+ /**
2116
+ * Lifetime of access tokens issued by /oauth/token.
2117
+ */
2118
+ accessTokenTtlSeconds?: number;
2119
+ /**
2120
+ * Lifetime of refresh tokens issued by /oauth/token.
2121
+ */
2122
+ refreshTokenTtlSeconds?: number;
2123
+ /**
2124
+ * Whether to advertise client_id_metadata_document_supported in AS metadata.
2125
+ */
2126
+ cimdEnabled?: boolean;
2127
+ };
2128
+ /**
2129
+ * Optional overrides for the derived browser-login settings.
2130
+ */
2131
+ browserLoginOverrides?: {
2132
+ remoteTimeoutMs?: number;
2133
+ stateTtlSeconds?: number;
2134
+ sessionTtlSeconds?: number;
2135
+ };
2136
+ }
2137
+
1421
2138
  /**
1422
2139
  * Arbitrary MCP _meta fields to expose downstream.
1423
2140
  * @public