@authhero/proxy 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/proxy.cjs +1 -1
- package/dist/proxy.d.ts +18 -8
- package/dist/proxy.mjs +287 -286
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/app.d.ts +2 -0
- package/dist/types/data-plane/compile.d.ts +6 -1
- package/dist/types/data-plane/router.d.ts +5 -0
- package/dist/types/index.d.ts +1 -1
- package/package.json +2 -2
package/dist/proxy.mjs
CHANGED
|
@@ -1239,7 +1239,7 @@ e.object({
|
|
|
1239
1239
|
links: e.array(Mt).optional(),
|
|
1240
1240
|
footer: e.string().optional()
|
|
1241
1241
|
});
|
|
1242
|
-
var
|
|
1242
|
+
var Nt = e.enum([
|
|
1243
1243
|
"pre-user-registration",
|
|
1244
1244
|
"post-user-registration",
|
|
1245
1245
|
"post-user-login",
|
|
@@ -1247,86 +1247,86 @@ var w = e.enum([
|
|
|
1247
1247
|
"validate-registration-username",
|
|
1248
1248
|
"pre-user-deletion",
|
|
1249
1249
|
"post-user-deletion"
|
|
1250
|
-
]),
|
|
1250
|
+
]), w = e.enum([
|
|
1251
1251
|
"pre-user-registration",
|
|
1252
1252
|
"post-user-registration",
|
|
1253
1253
|
"post-user-login",
|
|
1254
1254
|
"validate-registration-username",
|
|
1255
1255
|
"pre-user-deletion",
|
|
1256
1256
|
"post-user-deletion"
|
|
1257
|
-
]),
|
|
1257
|
+
]), T = e.enum([
|
|
1258
1258
|
"post-user-login",
|
|
1259
1259
|
"post-user-registration",
|
|
1260
1260
|
"post-user-update",
|
|
1261
1261
|
"credentials-exchange"
|
|
1262
|
-
]),
|
|
1262
|
+
]), E = e.enum([
|
|
1263
1263
|
"post-user-login",
|
|
1264
1264
|
"credentials-exchange",
|
|
1265
1265
|
"pre-user-registration",
|
|
1266
1266
|
"post-user-registration"
|
|
1267
|
-
]),
|
|
1267
|
+
]), D = e.enum([
|
|
1268
1268
|
"ensure-username",
|
|
1269
1269
|
"set-preferred-username",
|
|
1270
1270
|
"account-linking"
|
|
1271
|
-
]),
|
|
1271
|
+
]), O = {
|
|
1272
1272
|
enabled: e.boolean().default(!1),
|
|
1273
1273
|
synchronous: e.boolean().default(!1),
|
|
1274
1274
|
priority: e.number().optional(),
|
|
1275
1275
|
hook_id: e.string().optional(),
|
|
1276
1276
|
metadata: e.record(e.string(), e.unknown()).optional()
|
|
1277
|
-
},
|
|
1278
|
-
...
|
|
1279
|
-
trigger_id:
|
|
1277
|
+
}, Pt = e.object({
|
|
1278
|
+
...O,
|
|
1279
|
+
trigger_id: Nt,
|
|
1280
1280
|
url: e.string()
|
|
1281
|
-
}), Pt = e.object({
|
|
1282
|
-
...k,
|
|
1283
|
-
trigger_id: T,
|
|
1284
|
-
form_id: e.string()
|
|
1285
1281
|
}), Ft = e.object({
|
|
1286
|
-
...
|
|
1287
|
-
trigger_id:
|
|
1288
|
-
|
|
1282
|
+
...O,
|
|
1283
|
+
trigger_id: w,
|
|
1284
|
+
form_id: e.string()
|
|
1289
1285
|
}), It = e.object({
|
|
1290
|
-
...
|
|
1291
|
-
trigger_id:
|
|
1286
|
+
...O,
|
|
1287
|
+
trigger_id: T,
|
|
1288
|
+
template_id: D
|
|
1289
|
+
}), Lt = e.object({
|
|
1290
|
+
...O,
|
|
1291
|
+
trigger_id: E,
|
|
1292
1292
|
code_id: e.string()
|
|
1293
1293
|
});
|
|
1294
1294
|
e.union([
|
|
1295
|
-
Nt,
|
|
1296
1295
|
Pt,
|
|
1297
1296
|
Ft,
|
|
1298
|
-
It
|
|
1297
|
+
It,
|
|
1298
|
+
Lt
|
|
1299
1299
|
]);
|
|
1300
|
-
var
|
|
1301
|
-
...
|
|
1302
|
-
trigger_id:
|
|
1300
|
+
var Rt = e.object({
|
|
1301
|
+
...O,
|
|
1302
|
+
trigger_id: Nt
|
|
1303
1303
|
}).extend(n.shape).extend({
|
|
1304
1304
|
hook_id: e.string(),
|
|
1305
1305
|
url: e.string()
|
|
1306
|
-
}),
|
|
1307
|
-
...
|
|
1308
|
-
trigger_id:
|
|
1306
|
+
}), zt = e.object({
|
|
1307
|
+
...O,
|
|
1308
|
+
trigger_id: w
|
|
1309
1309
|
}).extend(n.shape).extend({
|
|
1310
1310
|
hook_id: e.string(),
|
|
1311
1311
|
form_id: e.string()
|
|
1312
|
-
}),
|
|
1313
|
-
...
|
|
1314
|
-
trigger_id:
|
|
1312
|
+
}), Bt = e.object({
|
|
1313
|
+
...O,
|
|
1314
|
+
trigger_id: T
|
|
1315
1315
|
}).extend(n.shape).extend({
|
|
1316
1316
|
hook_id: e.string(),
|
|
1317
|
-
template_id:
|
|
1318
|
-
}),
|
|
1319
|
-
...
|
|
1320
|
-
trigger_id:
|
|
1317
|
+
template_id: D
|
|
1318
|
+
}), Vt = e.object({
|
|
1319
|
+
...O,
|
|
1320
|
+
trigger_id: E
|
|
1321
1321
|
}).extend(n.shape).extend({
|
|
1322
1322
|
hook_id: e.string(),
|
|
1323
1323
|
code_id: e.string()
|
|
1324
1324
|
});
|
|
1325
1325
|
e.union([
|
|
1326
|
-
Lt,
|
|
1327
1326
|
Rt,
|
|
1328
1327
|
zt,
|
|
1329
|
-
Bt
|
|
1328
|
+
Bt,
|
|
1329
|
+
Vt
|
|
1330
1330
|
]), e.object({
|
|
1331
1331
|
code: e.string().max(1e5),
|
|
1332
1332
|
secrets: e.record(e.string(), e.string()).optional()
|
|
@@ -1334,11 +1334,11 @@ e.union([
|
|
|
1334
1334
|
id: e.string(),
|
|
1335
1335
|
tenant_id: e.string()
|
|
1336
1336
|
}).extend(n.shape);
|
|
1337
|
-
var
|
|
1337
|
+
var Ht = e.object({ name: e.string().optional() }), Ut = e.object({ email: e.string().optional() }), Wt = e.object({
|
|
1338
1338
|
id: e.string().optional(),
|
|
1339
1339
|
organization_id: e.string().max(50),
|
|
1340
|
-
inviter:
|
|
1341
|
-
invitee:
|
|
1340
|
+
inviter: Ht,
|
|
1341
|
+
invitee: Ut,
|
|
1342
1342
|
invitation_url: e.string().url(),
|
|
1343
1343
|
client_id: e.string(),
|
|
1344
1344
|
connection_id: e.string().optional(),
|
|
@@ -1354,8 +1354,8 @@ e.object({
|
|
|
1354
1354
|
created_at: e.string().datetime(),
|
|
1355
1355
|
expires_at: e.string().datetime(),
|
|
1356
1356
|
ticket_id: e.string().optional()
|
|
1357
|
-
}).extend(
|
|
1358
|
-
var
|
|
1357
|
+
}).extend(Wt.omit({ id: !0 }).shape);
|
|
1358
|
+
var Gt = e.object({
|
|
1359
1359
|
alg: e.enum([
|
|
1360
1360
|
"RS256",
|
|
1361
1361
|
"RS384",
|
|
@@ -1397,7 +1397,7 @@ var Wt = e.object({
|
|
|
1397
1397
|
message: `EC JWK is missing required member '${r}'`
|
|
1398
1398
|
});
|
|
1399
1399
|
});
|
|
1400
|
-
e.object({ keys: e.array(
|
|
1400
|
+
e.object({ keys: e.array(Gt) }), e.object({
|
|
1401
1401
|
issuer: e.string(),
|
|
1402
1402
|
authorization_endpoint: e.string(),
|
|
1403
1403
|
token_endpoint: e.string(),
|
|
@@ -1422,9 +1422,9 @@ e.object({ keys: e.array(Wt) }), e.object({
|
|
|
1422
1422
|
token_endpoint_auth_signing_alg_values_supported: e.array(e.string()),
|
|
1423
1423
|
client_id_metadata_document_supported: e.boolean().optional()
|
|
1424
1424
|
});
|
|
1425
|
-
var
|
|
1425
|
+
var Kt = /* @__PURE__ */ function(e) {
|
|
1426
1426
|
return e.PENDING = "pending", e.AUTHENTICATED = "authenticated", e.AWAITING_EMAIL_VERIFICATION = "awaiting_email_verification", e.AWAITING_MFA = "awaiting_mfa", e.AWAITING_HOOK = "awaiting_hook", e.AWAITING_CONTINUATION = "awaiting_continuation", e.AWAITING_CONSENT = "awaiting_consent", e.COMPLETED = "completed", e.FAILED = "failed", e.EXPIRED = "expired", e;
|
|
1427
|
-
}({}),
|
|
1427
|
+
}({}), qt = e.nativeEnum(Kt), Jt = e.object({
|
|
1428
1428
|
strategy: e.string(),
|
|
1429
1429
|
strategy_type: e.string()
|
|
1430
1430
|
});
|
|
@@ -1438,19 +1438,19 @@ e.object({
|
|
|
1438
1438
|
useragent: e.string().optional(),
|
|
1439
1439
|
session_id: e.string().optional(),
|
|
1440
1440
|
authorization_url: e.string().optional(),
|
|
1441
|
-
state:
|
|
1441
|
+
state: qt.optional().default("pending"),
|
|
1442
1442
|
state_data: e.string().optional(),
|
|
1443
1443
|
failure_reason: e.string().optional(),
|
|
1444
1444
|
user_id: e.string().optional(),
|
|
1445
1445
|
auth_connection: e.string().optional(),
|
|
1446
|
-
auth_strategy:
|
|
1446
|
+
auth_strategy: Jt.optional(),
|
|
1447
1447
|
authenticated_at: e.string().optional()
|
|
1448
1448
|
}).openapi({ description: "This represents a login sesion" }).extend({
|
|
1449
1449
|
id: e.string().openapi({ description: "This is is used as the state in the universal login" }),
|
|
1450
1450
|
created_at: e.string(),
|
|
1451
1451
|
updated_at: e.string()
|
|
1452
1452
|
});
|
|
1453
|
-
var
|
|
1453
|
+
var k = {
|
|
1454
1454
|
ACLS_SUMMARY: "acls_summary",
|
|
1455
1455
|
ACTIONS_EXECUTION_FAILED: "actions_execution_failed",
|
|
1456
1456
|
API_LIMIT: "api_limit",
|
|
@@ -1610,17 +1610,17 @@ var A = {
|
|
|
1610
1610
|
WARNING_DURING_LOGIN: "w",
|
|
1611
1611
|
WARNING_SENDING_NOTIFICATION: "wn",
|
|
1612
1612
|
WARNING_USER_MANAGEMENT: "wum"
|
|
1613
|
-
},
|
|
1614
|
-
|
|
1613
|
+
}, Yt = e.string().refine((e) => Object.values(k).includes(e), { message: "Invalid log type" });
|
|
1614
|
+
k.ACLS_SUMMARY, k.ACTIONS_EXECUTION_FAILED, k.API_LIMIT, k.API_LIMIT_WARNING, k.APPI, k.CIBA_EXCHANGE_FAILED, k.CIBA_EXCHANGE_SUCCEEDED, k.CIBA_START_FAILED, k.CIBA_START_SUCCEEDED, k.CODE_LINK_SENT, k.CODE_SENT, k.DEPRECATION_NOTICE, k.FAILED_LOGIN, k.FAILED_BY_CONNECTOR, k.FAILED_CHANGE_EMAIL, k.FAILED_BY_CORS, k.FAILED_CROSS_ORIGIN_AUTHENTICATION, k.FAILED_CHANGE_PASSWORD, k.FAILED_POST_CHANGE_PASSWORD_HOOK, k.FAILED_CHANGE_PHONE_NUMBER, k.FAILED_CHANGE_PASSWORD_REQUEST, k.FAILED_CONNECTOR_PROVISIONING, k.FAILED_CHANGE_USERNAME, k.FAILED_DELEGATION, k.FAILED_DEVICE_ACTIVATION, k.FAILED_DEVICE_AUTHORIZATION_REQUEST, k.USER_CANCELED_DEVICE_CONFIRMATION, k.FAILED_USER_DELETION, k.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS, k.FAILED_EXCHANGE_CUSTOM_TOKEN, k.FAILED_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN, k.FAILED_FEDERATED_LOGOUT, k.FAILED_EXCHANGE_NATIVE_SOCIAL_LOGIN, k.FAILED_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_ROTATING_REFRESH_TOKEN, k.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN, k.FAILED_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN, k.FAILED_HOOK, k.FAILED_IMPERSONATION, k.FAILED_INVITE_ACCEPT, k.FAILED_LOGOUT, k.FLOWS_EXECUTION_COMPLETED, k.FLOWS_EXECUTION_FAILED, k.FAILED_SENDING_NOTIFICATION, k.FORMS_SUBMISSION_FAILED, k.FORMS_SUBMISSION_SUCCEEDED, k.FAILED_LOGIN_INCORRECT_PASSWORD, k.FAILED_PUSHED_AUTHORIZATION_REQUEST, k.FAILED_POST_USER_REGISTRATION_HOOK, k.FAILED_SIGNUP, k.FAILED_SILENT_AUTH, k.FAILED_LOGIN_INVALID_EMAIL_USERNAME, k.FAILED_USERS_IMPORT, k.FAILED_VERIFICATION_EMAIL, k.FAILED_VERIFICATION_EMAIL_REQUEST, k.EMAIL_VERIFICATION_CONFIRMED, k.EMAIL_VERIFICATION_FAILED, k.MFA_AUTH_FAILED, k.MFA_AUTH_REJECTED, k.MFA_AUTH_SUCCESS, k.MFA_ENROLLMENT_COMPLETE, k.TOO_MANY_MFA_FAILURES, k.MFA_RECOVERY_FAILED, k.MFA_RECOVERY_RATE_LIMIT_EXCEED, k.MFA_RECOVERY_SUCCESS, k.MFA_EMAIL_SENT, k.EMAIL_VERIFICATION_SENT, k.EMAIL_VERIFICATION_SEND_FAILURE, k.PUSH_NOTIFICATION_SENT, k.ERROR_SENDING_MFA_PUSH_NOTIFICATION, k.MFA_SMS_SENT, k.ERROR_SENDING_MFA_SMS, k.MFA_VOICE_CALL_SUCCESS, k.MFA_VOICE_CALL_FAILED, k.SECOND_FACTOR_STARTED, k.MFA_ENROLL_STARTED, k.MFA_ENROLLMENT_FAILED, k.GUARDIAN_TENANT_UPDATE, k.UNENROLL_DEVICE_ACCOUNT, k.UPDATE_DEVICE_ACCOUNT, k.WEBAUTHN_CHALLENGE_FAILED, k.WEBAUTHN_ENROLLMENT_FAILED, k.FAILED_KMS_API_OPERATION, k.SUCCESS_KMS_API_OPERATION, k.KMS_KEY_STATE_CHANGED, k.TOO_MANY_CALLS_TO_DELEGATION, k.BLOCKED_IP_ADDRESS, k.BLOCKED_ACCOUNT_IP, k.BLOCKED_ACCOUNT_EMAIL, k.INFORMATION, k.MFA_REQUIRED, k.MANAGEMENT_API_READ_OPERATION, k.FAILED_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT, k.SUCCESSFUL_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT, k.FAILED_OIDC_BACKCHANNEL_LOGOUT, k.SUCCESSFUL_OIDC_BACKCHANNEL_LOGOUT, k.ORGANIZATION_MEMBER_ADDED, k.PASSKEY_CHALLENGE_FAILED, k.PASSKEY_CHALLENGE_STARTED, k.PRE_LOGIN_ASSESSMENT, k.BREACHED_PASSWORD, k.BREACHED_PASSWORD_ON_RESET, k.SUCCESS_RESOURCE_CLEANUP, k.RICH_CONSENTS_ACCESS_ERROR, k.SUCCESS_LOGIN, k.SUCCESS_API_OPERATION, k.FAILED_API_OPERATION, k.SUCCESS_CHANGE_EMAIL, k.SUCCESS_CROSS_ORIGIN_AUTHENTICATION, k.SUCCESS_CHANGE_PASSWORD, k.SUCCESS_CHANGE_PHONE_NUMBER, k.SUCCESS_CHANGE_PASSWORD_REQUEST, k.SUCCESS_CHANGE_USERNAME, k.SUCCESS_CREDENTIAL_VALIDATION, k.SUCCESS_DELEGATION, k.SUCCESS_USER_DELETION, k.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS, k.SUCCESS_EXCHANGE_CUSTOM_TOKEN, k.SUCCESS_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_NATIVE_SOCIAL_LOGIN, k.SUCCESS_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSKEY_OOB_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSKEY_OTP_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSKEY_MFA_RECOVERY_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN, k.SUCCESS_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN, k.SUCCESS_IMPERSONATION, k.SUCCESSFULLY_ACCEPTED_USER_INVITE, k.BREACHED_PASSWORD_ON_SIGNUP, k.SUCCESS_LOGOUT, k.SUCCESS_HOOK, k.SUCCESS_PASSWORD_MIGRATION, k.SUCCESS_REVOCATION, k.SUCCESS_SIGNUP, k.FAILED_SS_SSO_OPERATION, k.INFORMATION_FROM_SS_SSO_OPERATION, k.SUCCESS_SS_SSO_OPERATION, k.SUCCESS_SILENT_AUTH, k.SUCCESSFUL_SCIM_OPERATION, k.SUCCESSFULLY_IMPORTED_USERS, k.SUCCESS_VERIFICATION_EMAIL, k.SUCCESS_VERIFICATION_EMAIL_REQUEST, k.MAX_AMOUNT_OF_AUTHENTICATORS, k.USER_LOGIN_BLOCK_RELEASED, k.FAILED_UNIVERSAL_LOGOUT, k.SUCCESSFUL_UNIVERSAL_LOGOUT, k.WARNING_DURING_LOGIN, k.WARNING_SENDING_NOTIFICATION, k.WARNING_USER_MANAGEMENT, (() => {
|
|
1615
1615
|
let e = {};
|
|
1616
|
-
for (let [t, n] of Object.entries(
|
|
1616
|
+
for (let [t, n] of Object.entries(k)) t.startsWith("SUCCESS_") || t.startsWith("SUCCESSFUL_") || t.startsWith("SUCCESSFULLY_") || t.endsWith("_SUCCEEDED") || t.endsWith("_COMPLETED") ? e[n] = "success" : t.startsWith("FAILED_") || t.startsWith("ERROR_") || t.startsWith("BREACHED_") || t.startsWith("BLOCKED_") || t === "MFA_AUTH_FAILED" || t === "MFA_AUTH_REJECTED" || t === "MFA_RECOVERY_FAILED" || t === "MFA_ENROLLMENT_FAILED" || t === "EMAIL_VERIFICATION_FAILED" || t === "WEBAUTHN_CHALLENGE_FAILED" || t === "WEBAUTHN_ENROLLMENT_FAILED" || t === "PASSKEY_CHALLENGE_FAILED" || t === "FLOWS_EXECUTION_FAILED" || t === "FORMS_SUBMISSION_FAILED" || t === "CIBA_EXCHANGE_FAILED" || t === "CIBA_START_FAILED" || t === "ACTIONS_EXECUTION_FAILED" || t === "RICH_CONSENTS_ACCESS_ERROR" || t === "USER_CANCELED_DEVICE_CONFIRMATION" || t === "TOO_MANY_MFA_FAILURES" || t === "MFA_RECOVERY_RATE_LIMIT_EXCEED" || t === "API_LIMIT" || t === "MAX_AMOUNT_OF_AUTHENTICATORS" ? e[n] = "failure" : t.startsWith("WARNING_") || t === "API_LIMIT_WARNING" || t === "DEPRECATION_NOTICE" || t === "PRE_LOGIN_ASSESSMENT" ? e[n] = "warning" : t === "CODE_SENT" || t === "CODE_LINK_SENT" || t === "MFA_EMAIL_SENT" || t === "MFA_SMS_SENT" || t === "EMAIL_VERIFICATION_SENT" || t === "PUSH_NOTIFICATION_SENT" ? e[n] = "code_sent" : t === "INFORMATION" || t === "INFORMATION_FROM_SS_SSO_OPERATION" || t === "MANAGEMENT_API_READ_OPERATION" || t === "APPI" || t === "ACLS_SUMMARY" || t === "ORGANIZATION_MEMBER_ADDED" ? e[n] = "info" : e[n] = "other";
|
|
1617
1617
|
return e;
|
|
1618
1618
|
})();
|
|
1619
|
-
var
|
|
1619
|
+
var Xt = e.object({
|
|
1620
1620
|
name: e.string(),
|
|
1621
1621
|
version: e.string(),
|
|
1622
1622
|
env: e.object({ node: e.string().optional() }).optional()
|
|
1623
|
-
}),
|
|
1623
|
+
}), Zt = e.object({
|
|
1624
1624
|
country_code: e.string().length(2),
|
|
1625
1625
|
city_name: e.string(),
|
|
1626
1626
|
latitude: e.string(),
|
|
@@ -1629,7 +1629,7 @@ var Yt = e.object({
|
|
|
1629
1629
|
continent_code: e.string()
|
|
1630
1630
|
});
|
|
1631
1631
|
e.object({
|
|
1632
|
-
type:
|
|
1632
|
+
type: Yt,
|
|
1633
1633
|
date: e.string(),
|
|
1634
1634
|
description: e.string().optional(),
|
|
1635
1635
|
ip: e.string().optional(),
|
|
@@ -1647,63 +1647,63 @@ e.object({
|
|
|
1647
1647
|
strategy: e.string().optional(),
|
|
1648
1648
|
strategy_type: e.string().optional(),
|
|
1649
1649
|
hostname: e.string().optional(),
|
|
1650
|
-
auth0_client:
|
|
1650
|
+
auth0_client: Xt.optional(),
|
|
1651
1651
|
log_id: e.string().optional(),
|
|
1652
|
-
location_info:
|
|
1652
|
+
location_info: Zt.optional()
|
|
1653
1653
|
}).extend({ log_id: e.string() });
|
|
1654
|
-
var
|
|
1654
|
+
var Qt = e.enum([
|
|
1655
1655
|
"http",
|
|
1656
1656
|
"eventbridge",
|
|
1657
1657
|
"eventgrid",
|
|
1658
1658
|
"splunk",
|
|
1659
1659
|
"datadog",
|
|
1660
1660
|
"sumo"
|
|
1661
|
-
]),
|
|
1661
|
+
]), $t = e.enum([
|
|
1662
1662
|
"active",
|
|
1663
1663
|
"paused",
|
|
1664
1664
|
"suspended"
|
|
1665
|
-
]),
|
|
1665
|
+
]), en = e.object({
|
|
1666
1666
|
type: e.string(),
|
|
1667
1667
|
name: e.string()
|
|
1668
1668
|
});
|
|
1669
1669
|
e.object({
|
|
1670
1670
|
name: e.string(),
|
|
1671
|
-
type:
|
|
1672
|
-
status:
|
|
1671
|
+
type: Qt,
|
|
1672
|
+
status: $t.optional(),
|
|
1673
1673
|
sink: e.record(e.string(), e.unknown()),
|
|
1674
|
-
filters: e.array(
|
|
1674
|
+
filters: e.array(en).optional(),
|
|
1675
1675
|
isPriority: e.boolean().optional()
|
|
1676
1676
|
}).extend({
|
|
1677
1677
|
id: e.string(),
|
|
1678
|
-
status:
|
|
1678
|
+
status: $t,
|
|
1679
1679
|
created_at: e.string().optional(),
|
|
1680
1680
|
updated_at: e.string().optional()
|
|
1681
1681
|
});
|
|
1682
|
-
var
|
|
1682
|
+
var tn = e.enum([
|
|
1683
1683
|
"auth0",
|
|
1684
1684
|
"cognito",
|
|
1685
1685
|
"okta",
|
|
1686
1686
|
"oidc"
|
|
1687
|
-
]),
|
|
1687
|
+
]), nn = e.object({
|
|
1688
1688
|
domain: e.string(),
|
|
1689
1689
|
client_id: e.string(),
|
|
1690
1690
|
client_secret: e.string(),
|
|
1691
1691
|
audience: e.string().optional(),
|
|
1692
1692
|
scope: e.string().optional()
|
|
1693
|
-
}),
|
|
1693
|
+
}), rn = e.object({
|
|
1694
1694
|
id: e.string().optional(),
|
|
1695
1695
|
name: e.string(),
|
|
1696
|
-
provider:
|
|
1696
|
+
provider: tn,
|
|
1697
1697
|
connection: e.string(),
|
|
1698
1698
|
enabled: e.boolean().default(!0),
|
|
1699
|
-
credentials:
|
|
1699
|
+
credentials: nn
|
|
1700
1700
|
});
|
|
1701
1701
|
e.object({
|
|
1702
1702
|
id: e.string(),
|
|
1703
1703
|
created_at: e.string(),
|
|
1704
1704
|
updated_at: e.string()
|
|
1705
|
-
}).extend(
|
|
1706
|
-
var
|
|
1705
|
+
}).extend(rn.shape);
|
|
1706
|
+
var an = e.object({
|
|
1707
1707
|
enabled: e.boolean().optional(),
|
|
1708
1708
|
shields: e.array(e.string()).optional(),
|
|
1709
1709
|
admin_notification_frequency: e.array(e.string()).optional(),
|
|
@@ -1712,13 +1712,13 @@ var rn = e.object({
|
|
|
1712
1712
|
"pre-user-registration": e.object({ shields: e.array(e.string()).optional() }).optional(),
|
|
1713
1713
|
"pre-change-password": e.object({ shields: e.array(e.string()).optional() }).optional()
|
|
1714
1714
|
}).optional()
|
|
1715
|
-
}),
|
|
1715
|
+
}), on = e.object({
|
|
1716
1716
|
enabled: e.boolean().optional(),
|
|
1717
1717
|
shields: e.array(e.string()).optional(),
|
|
1718
1718
|
allowlist: e.array(e.string()).optional(),
|
|
1719
1719
|
mode: e.string().optional(),
|
|
1720
1720
|
max_attempts: e.number().optional()
|
|
1721
|
-
}),
|
|
1721
|
+
}), sn = e.object({
|
|
1722
1722
|
enabled: e.boolean().optional(),
|
|
1723
1723
|
shields: e.array(e.string()).optional(),
|
|
1724
1724
|
allowlist: e.array(e.string()).optional(),
|
|
@@ -1732,10 +1732,10 @@ var rn = e.object({
|
|
|
1732
1732
|
rate: e.number().optional()
|
|
1733
1733
|
}).optional()
|
|
1734
1734
|
}).optional()
|
|
1735
|
-
}),
|
|
1736
|
-
breached_password_detection:
|
|
1737
|
-
brute_force_protection:
|
|
1738
|
-
suspicious_ip_throttling:
|
|
1735
|
+
}), cn = e.object({
|
|
1736
|
+
breached_password_detection: an.optional(),
|
|
1737
|
+
brute_force_protection: on.optional(),
|
|
1738
|
+
suspicious_ip_throttling: sn.optional()
|
|
1739
1739
|
});
|
|
1740
1740
|
e.object({
|
|
1741
1741
|
id: e.string().optional(),
|
|
@@ -1748,14 +1748,14 @@ e.object({
|
|
|
1748
1748
|
created_at: e.string(),
|
|
1749
1749
|
updated_at: e.string()
|
|
1750
1750
|
});
|
|
1751
|
-
var
|
|
1751
|
+
var ln = e.object({
|
|
1752
1752
|
initial_user_agent: e.string().describe("First user agent of the device from which this user logged in"),
|
|
1753
1753
|
initial_ip: e.string().describe("First IP address associated with this session"),
|
|
1754
1754
|
initial_asn: e.string().describe("First autonomous system number associated with this session"),
|
|
1755
1755
|
last_user_agent: e.string().describe("Last user agent of the device from which this user logged in"),
|
|
1756
1756
|
last_ip: e.string().describe("Last IP address from which this user logged in"),
|
|
1757
1757
|
last_asn: e.string().describe("Last autonomous system number from which this user logged in")
|
|
1758
|
-
}),
|
|
1758
|
+
}), un = e.object({
|
|
1759
1759
|
id: e.string(),
|
|
1760
1760
|
revoked_at: e.string().optional(),
|
|
1761
1761
|
used_at: e.string().optional(),
|
|
@@ -1763,7 +1763,7 @@ var cn = e.object({
|
|
|
1763
1763
|
expires_at: e.string().optional(),
|
|
1764
1764
|
login_session_id: e.string(),
|
|
1765
1765
|
idle_expires_at: e.string().optional(),
|
|
1766
|
-
device:
|
|
1766
|
+
device: ln.describe("Metadata related to the device used in the session"),
|
|
1767
1767
|
clients: e.array(e.string()).describe("List of client details for the session")
|
|
1768
1768
|
});
|
|
1769
1769
|
e.object({
|
|
@@ -1771,7 +1771,7 @@ e.object({
|
|
|
1771
1771
|
updated_at: e.string(),
|
|
1772
1772
|
authenticated_at: e.string(),
|
|
1773
1773
|
last_interaction_at: e.string()
|
|
1774
|
-
}).extend(
|
|
1774
|
+
}).extend(un.shape), e.object({
|
|
1775
1775
|
kid: e.string().openapi({ description: "The key id of the signing key" }),
|
|
1776
1776
|
tenant_id: e.string().optional().openapi({ description: "The tenant the key belongs to. Omitted means the key is shared / control-plane scoped." }),
|
|
1777
1777
|
cert: e.string().openapi({ description: "The public certificate of the signing key" }),
|
|
@@ -1788,7 +1788,7 @@ e.object({
|
|
|
1788
1788
|
connection: e.string().optional().openapi({ description: "The connection identifier associated with the key" }),
|
|
1789
1789
|
type: e.enum(["jwt_signing", "saml_encryption"]).openapi({ description: "The type of the signing key" })
|
|
1790
1790
|
});
|
|
1791
|
-
var
|
|
1791
|
+
var dn = e.object({
|
|
1792
1792
|
id: e.string().optional(),
|
|
1793
1793
|
audience: e.string().optional(),
|
|
1794
1794
|
friendly_name: e.string(),
|
|
@@ -1905,7 +1905,7 @@ var un = e.object({
|
|
|
1905
1905
|
"shared_planetscale"
|
|
1906
1906
|
]).optional(),
|
|
1907
1907
|
d1_database_id: e.string().max(64).optional(),
|
|
1908
|
-
attack_protection:
|
|
1908
|
+
attack_protection: cn.optional(),
|
|
1909
1909
|
mfa: e.object({
|
|
1910
1910
|
policy: e.enum(["never", "always"]).default("never").optional(),
|
|
1911
1911
|
factors: e.object({
|
|
@@ -1936,7 +1936,7 @@ var un = e.object({
|
|
|
1936
1936
|
e.object({
|
|
1937
1937
|
created_at: e.string().nullable().transform((e) => e ?? ""),
|
|
1938
1938
|
updated_at: e.string().nullable().transform((e) => e ?? "")
|
|
1939
|
-
}).extend(
|
|
1939
|
+
}).extend(dn.shape).extend({
|
|
1940
1940
|
id: e.string(),
|
|
1941
1941
|
is_control_plane: e.boolean().optional()
|
|
1942
1942
|
}), e.object({
|
|
@@ -1951,7 +1951,7 @@ e.object({
|
|
|
1951
1951
|
code: e.string(),
|
|
1952
1952
|
state: e.string().optional()
|
|
1953
1953
|
});
|
|
1954
|
-
var
|
|
1954
|
+
var fn = e.object({
|
|
1955
1955
|
button_border_radius: e.number(),
|
|
1956
1956
|
button_border_weight: e.number(),
|
|
1957
1957
|
buttons_style: e.enum([
|
|
@@ -1969,7 +1969,7 @@ var dn = e.object({
|
|
|
1969
1969
|
show_widget_shadow: e.boolean(),
|
|
1970
1970
|
widget_border_weight: e.number(),
|
|
1971
1971
|
widget_corner_radius: e.number()
|
|
1972
|
-
}),
|
|
1972
|
+
}), pn = e.object({
|
|
1973
1973
|
base_focus_color: e.string(),
|
|
1974
1974
|
base_hover_color: e.string(),
|
|
1975
1975
|
body_text: e.string(),
|
|
@@ -1993,20 +1993,20 @@ var dn = e.object({
|
|
|
1993
1993
|
success: e.string(),
|
|
1994
1994
|
widget_background: e.string(),
|
|
1995
1995
|
widget_border: e.string()
|
|
1996
|
-
}),
|
|
1996
|
+
}), A = e.object({
|
|
1997
1997
|
bold: e.boolean(),
|
|
1998
1998
|
size: e.number()
|
|
1999
|
-
}),
|
|
2000
|
-
body_text:
|
|
2001
|
-
buttons_text:
|
|
1999
|
+
}), mn = e.object({
|
|
2000
|
+
body_text: A,
|
|
2001
|
+
buttons_text: A,
|
|
2002
2002
|
font_url: e.string(),
|
|
2003
|
-
input_labels:
|
|
2004
|
-
links:
|
|
2003
|
+
input_labels: A,
|
|
2004
|
+
links: A,
|
|
2005
2005
|
links_style: e.enum(["normal", "underlined"]),
|
|
2006
2006
|
reference_text_size: e.number(),
|
|
2007
|
-
subtitle:
|
|
2008
|
-
title:
|
|
2009
|
-
}),
|
|
2007
|
+
subtitle: A,
|
|
2008
|
+
title: A
|
|
2009
|
+
}), hn = e.object({
|
|
2010
2010
|
background_color: e.string(),
|
|
2011
2011
|
background_image_url: e.string(),
|
|
2012
2012
|
page_layout: e.enum([
|
|
@@ -2019,7 +2019,7 @@ var dn = e.object({
|
|
|
2019
2019
|
"chip",
|
|
2020
2020
|
"none"
|
|
2021
2021
|
]).optional()
|
|
2022
|
-
}),
|
|
2022
|
+
}), gn = e.object({
|
|
2023
2023
|
header_text_alignment: e.enum([
|
|
2024
2024
|
"center",
|
|
2025
2025
|
"left",
|
|
@@ -2036,39 +2036,39 @@ var dn = e.object({
|
|
|
2036
2036
|
social_buttons_layout: e.enum(["bottom", "top"])
|
|
2037
2037
|
});
|
|
2038
2038
|
e.object({
|
|
2039
|
-
borders:
|
|
2040
|
-
colors:
|
|
2039
|
+
borders: fn,
|
|
2040
|
+
colors: pn,
|
|
2041
2041
|
displayName: e.string(),
|
|
2042
|
-
fonts:
|
|
2043
|
-
page_background:
|
|
2044
|
-
widget:
|
|
2042
|
+
fonts: mn,
|
|
2043
|
+
page_background: hn,
|
|
2044
|
+
widget: gn
|
|
2045
2045
|
}).extend({ themeId: e.string() }), e.object({
|
|
2046
2046
|
universal_login_experience: e.enum(["new", "classic"]).default("new"),
|
|
2047
2047
|
identifier_first: e.boolean().default(!0),
|
|
2048
2048
|
password_first: e.boolean().default(!1),
|
|
2049
2049
|
webauthn_platform_first_factor: e.boolean()
|
|
2050
2050
|
});
|
|
2051
|
-
var
|
|
2051
|
+
var _n = e.object({
|
|
2052
2052
|
hosts: e.array(e.string()).optional(),
|
|
2053
2053
|
methods: e.array(e.string()).optional(),
|
|
2054
2054
|
path: e.string().default("/*"),
|
|
2055
2055
|
headers: e.record(e.string(), e.string()).optional(),
|
|
2056
2056
|
query: e.record(e.string(), e.string()).optional()
|
|
2057
|
-
}),
|
|
2057
|
+
}), vn = e.object({
|
|
2058
2058
|
type: e.string(),
|
|
2059
2059
|
options: e.record(e.string(), e.unknown()).default({})
|
|
2060
|
-
}),
|
|
2060
|
+
}), j = e.object({
|
|
2061
2061
|
id: e.string().optional(),
|
|
2062
2062
|
custom_domain_id: e.string(),
|
|
2063
2063
|
priority: e.number().int().default(100),
|
|
2064
|
-
match:
|
|
2065
|
-
handlers: e.array(
|
|
2066
|
-
}),
|
|
2064
|
+
match: _n,
|
|
2065
|
+
handlers: e.array(vn).min(1)
|
|
2066
|
+
}), yn = j.extend({
|
|
2067
2067
|
id: e.string(),
|
|
2068
2068
|
tenant_id: e.string(),
|
|
2069
2069
|
created_at: e.string(),
|
|
2070
2070
|
updated_at: e.string()
|
|
2071
|
-
}),
|
|
2071
|
+
}), bn = j.partial().omit({
|
|
2072
2072
|
id: !0,
|
|
2073
2073
|
custom_domain_id: !0
|
|
2074
2074
|
});
|
|
@@ -2079,7 +2079,7 @@ e.object({
|
|
|
2079
2079
|
credentials: e.record(e.string(), e.unknown()),
|
|
2080
2080
|
settings: e.object({}).optional()
|
|
2081
2081
|
});
|
|
2082
|
-
var
|
|
2082
|
+
var xn = e.enum([
|
|
2083
2083
|
"verify_email",
|
|
2084
2084
|
"verify_email_by_code",
|
|
2085
2085
|
"reset_email",
|
|
@@ -2094,7 +2094,7 @@ var bn = e.enum([
|
|
|
2094
2094
|
"user_invitation"
|
|
2095
2095
|
]);
|
|
2096
2096
|
e.object({
|
|
2097
|
-
template:
|
|
2097
|
+
template: xn,
|
|
2098
2098
|
body: e.string(),
|
|
2099
2099
|
from: e.string(),
|
|
2100
2100
|
subject: e.string(),
|
|
@@ -2111,7 +2111,7 @@ e.object({
|
|
|
2111
2111
|
expires_at: e.string().optional(),
|
|
2112
2112
|
idle_expires_at: e.string().optional(),
|
|
2113
2113
|
last_exchanged_at: e.string().optional(),
|
|
2114
|
-
device:
|
|
2114
|
+
device: ln,
|
|
2115
2115
|
resource_servers: e.array(e.object({
|
|
2116
2116
|
audience: e.string(),
|
|
2117
2117
|
scopes: e.string()
|
|
@@ -2132,10 +2132,10 @@ e.object({
|
|
|
2132
2132
|
name: e.string(),
|
|
2133
2133
|
options: e.object({})
|
|
2134
2134
|
});
|
|
2135
|
-
var
|
|
2135
|
+
var Sn = e.object({
|
|
2136
2136
|
value: e.string(),
|
|
2137
2137
|
description: e.string().optional()
|
|
2138
|
-
}),
|
|
2138
|
+
}), Cn = e.object({
|
|
2139
2139
|
token_dialect: e.enum(["access_token", "access_token_authz"]).optional(),
|
|
2140
2140
|
enforce_policies: e.boolean().optional(),
|
|
2141
2141
|
allow_skipping_userinfo: e.boolean().optional(),
|
|
@@ -2143,11 +2143,11 @@ var xn = e.object({
|
|
|
2143
2143
|
persist_client_authorization: e.boolean().optional(),
|
|
2144
2144
|
enable_introspection_endpoint: e.boolean().optional(),
|
|
2145
2145
|
mtls: e.object({ bound_access_tokens: e.boolean().optional() }).optional()
|
|
2146
|
-
}),
|
|
2146
|
+
}), wn = e.object({
|
|
2147
2147
|
id: e.string().optional(),
|
|
2148
2148
|
name: e.string(),
|
|
2149
2149
|
identifier: e.string(),
|
|
2150
|
-
scopes: e.array(
|
|
2150
|
+
scopes: e.array(Sn).optional(),
|
|
2151
2151
|
signing_alg: e.string().optional(),
|
|
2152
2152
|
signing_secret: e.string().optional(),
|
|
2153
2153
|
token_lifetime: e.number().default(86400),
|
|
@@ -2155,26 +2155,26 @@ var xn = e.object({
|
|
|
2155
2155
|
skip_consent_for_verifiable_first_party_clients: e.boolean().optional(),
|
|
2156
2156
|
allow_offline_access: e.boolean().optional(),
|
|
2157
2157
|
verificationKey: e.string().optional(),
|
|
2158
|
-
options:
|
|
2158
|
+
options: Cn.optional(),
|
|
2159
2159
|
is_system: e.boolean().optional(),
|
|
2160
2160
|
metadata: e.record(e.string(), e.any()).optional()
|
|
2161
2161
|
}).extend({
|
|
2162
2162
|
created_at: e.string().optional(),
|
|
2163
2163
|
updated_at: e.string().optional()
|
|
2164
2164
|
});
|
|
2165
|
-
e.array(
|
|
2166
|
-
var
|
|
2165
|
+
e.array(wn);
|
|
2166
|
+
var Tn = e.object({
|
|
2167
2167
|
role_id: e.string(),
|
|
2168
2168
|
resource_server_identifier: e.string(),
|
|
2169
2169
|
permission_name: e.string()
|
|
2170
2170
|
}).extend({ created_at: e.string() });
|
|
2171
|
-
e.array(
|
|
2171
|
+
e.array(Tn), e.object({
|
|
2172
2172
|
user_id: e.string().openapi({ description: "The id of the user that granted the consent" }),
|
|
2173
2173
|
clientID: e.string().openapi({ description: "The id of the client the grant was issued to" }),
|
|
2174
2174
|
audience: e.string().optional().openapi({ description: "The audience the grant applies to" }),
|
|
2175
2175
|
scope: e.array(e.string()).default([]).openapi({ description: "The list of OAuth scopes the user has consented to" })
|
|
2176
2176
|
}).extend({ id: e.string() });
|
|
2177
|
-
var
|
|
2177
|
+
var En = e.object({
|
|
2178
2178
|
user_id: e.string(),
|
|
2179
2179
|
resource_server_identifier: e.string(),
|
|
2180
2180
|
permission_name: e.string(),
|
|
@@ -2183,8 +2183,8 @@ var Tn = e.object({
|
|
|
2183
2183
|
tenant_id: e.string(),
|
|
2184
2184
|
created_at: e.string().optional()
|
|
2185
2185
|
});
|
|
2186
|
-
e.array(
|
|
2187
|
-
var
|
|
2186
|
+
e.array(En);
|
|
2187
|
+
var Dn = e.object({
|
|
2188
2188
|
user_id: e.string(),
|
|
2189
2189
|
resource_server_identifier: e.string(),
|
|
2190
2190
|
resource_server_name: e.string(),
|
|
@@ -2193,8 +2193,8 @@ var En = e.object({
|
|
|
2193
2193
|
created_at: e.string().optional(),
|
|
2194
2194
|
organization_id: e.string().optional()
|
|
2195
2195
|
});
|
|
2196
|
-
e.array(
|
|
2197
|
-
var
|
|
2196
|
+
e.array(Dn);
|
|
2197
|
+
var On = e.object({
|
|
2198
2198
|
user_id: e.string(),
|
|
2199
2199
|
role_id: e.string(),
|
|
2200
2200
|
organization_id: e.string().optional()
|
|
@@ -2202,8 +2202,8 @@ var Dn = e.object({
|
|
|
2202
2202
|
tenant_id: e.string(),
|
|
2203
2203
|
created_at: e.string().optional()
|
|
2204
2204
|
});
|
|
2205
|
-
e.array(
|
|
2206
|
-
var
|
|
2205
|
+
e.array(On);
|
|
2206
|
+
var kn = e.object({
|
|
2207
2207
|
id: e.string().optional().openapi({ description: "The unique identifier of the role. If not provided, one will be generated." }),
|
|
2208
2208
|
name: e.string().min(1).max(50).openapi({ description: "The name of the role. Cannot include '<' or '>'" }),
|
|
2209
2209
|
description: e.string().max(255).optional().openapi({ description: "The description of the role" }),
|
|
@@ -2214,19 +2214,19 @@ var On = e.object({
|
|
|
2214
2214
|
created_at: e.string().optional(),
|
|
2215
2215
|
updated_at: e.string().optional()
|
|
2216
2216
|
});
|
|
2217
|
-
e.array(
|
|
2218
|
-
var
|
|
2217
|
+
e.array(kn);
|
|
2218
|
+
var An = e.object({
|
|
2219
2219
|
logo_url: e.string().optional().openapi({ description: "URL of the organization's logo" }),
|
|
2220
2220
|
colors: e.object({
|
|
2221
2221
|
primary: e.string().optional().openapi({ description: "Primary color in hex format (e.g., #FF0000)" }),
|
|
2222
2222
|
page_background: e.string().optional().openapi({ description: "Page background color in hex format (e.g., #FFFFFF)" })
|
|
2223
2223
|
}).optional()
|
|
2224
|
-
}).optional(),
|
|
2224
|
+
}).optional(), jn = e.object({
|
|
2225
2225
|
connection_id: e.string().openapi({ description: "ID of the connection" }),
|
|
2226
2226
|
assign_membership_on_login: e.boolean().default(!1).openapi({ description: "Whether to assign membership to the organization on login" }),
|
|
2227
2227
|
show_as_button: e.boolean().default(!0).openapi({ description: "Whether to show this connection as a button in the login screen" }),
|
|
2228
2228
|
is_signup_enabled: e.boolean().default(!0).openapi({ description: "Whether signup is enabled for this connection" })
|
|
2229
|
-
}),
|
|
2229
|
+
}), Mn = e.object({ client_credentials: e.object({
|
|
2230
2230
|
enforce: e.boolean().default(!1).openapi({ description: "Whether to enforce token quota limits" }),
|
|
2231
2231
|
per_day: e.number().min(0).default(0).openapi({ description: "Maximum tokens per day (0 = unlimited)" }),
|
|
2232
2232
|
per_hour: e.number().min(0).default(0).openapi({ description: "Maximum tokens per hour (0 = unlimited)" })
|
|
@@ -2235,15 +2235,15 @@ e.object({
|
|
|
2235
2235
|
id: e.string().optional(),
|
|
2236
2236
|
name: e.string().min(1).regex(/^[a-z0-9_-]+$/, { message: "Organization name must be lowercase and can only contain letters, numbers, hyphens, and underscores" }).openapi({ description: "The name of the organization. Must be lowercase and can only contain letters, numbers, hyphens, and underscores." }),
|
|
2237
2237
|
display_name: e.string().optional().openapi({ description: "The display name of the organization" }),
|
|
2238
|
-
branding:
|
|
2238
|
+
branding: An,
|
|
2239
2239
|
metadata: e.record(e.string(), e.any()).default({}).optional().openapi({ description: "Custom metadata for the organization" }),
|
|
2240
|
-
enabled_connections: e.array(
|
|
2241
|
-
token_quota:
|
|
2240
|
+
enabled_connections: e.array(jn).default([]).optional().openapi({ description: "List of enabled connections for the organization" }),
|
|
2241
|
+
token_quota: Mn
|
|
2242
2242
|
}).extend(n.shape).extend({
|
|
2243
2243
|
id: e.string(),
|
|
2244
2244
|
name: e.string().min(1).openapi({ description: "The name of the organization" })
|
|
2245
2245
|
});
|
|
2246
|
-
var
|
|
2246
|
+
var Nn = e.object({
|
|
2247
2247
|
connection_id: e.string().openapi({ description: "ID of the tenant-level connection to enable for the org." }),
|
|
2248
2248
|
assign_membership_on_login: e.boolean().optional().default(!1),
|
|
2249
2249
|
show_as_button: e.boolean().optional().default(!0),
|
|
@@ -2256,7 +2256,7 @@ var Mn = e.object({
|
|
|
2256
2256
|
created_at: e.string().optional(),
|
|
2257
2257
|
updated_at: e.string().optional()
|
|
2258
2258
|
});
|
|
2259
|
-
e.array(
|
|
2259
|
+
e.array(Nn), e.object({
|
|
2260
2260
|
user_id: e.string().openapi({ description: "ID of the user" }),
|
|
2261
2261
|
organization_id: e.string().openapi({ description: "ID of the organization" })
|
|
2262
2262
|
}).extend(n.shape).extend({ id: e.string() }), e.object({
|
|
@@ -2389,22 +2389,22 @@ e.array(Mn), e.object({
|
|
|
2389
2389
|
"passwordless",
|
|
2390
2390
|
"enterprise"
|
|
2391
2391
|
]);
|
|
2392
|
-
var
|
|
2392
|
+
var Pn = e.object({
|
|
2393
2393
|
name: e.string(),
|
|
2394
2394
|
type: e.string()
|
|
2395
|
-
}),
|
|
2395
|
+
}), Fn = e.object({
|
|
2396
2396
|
elapsed: e.number(),
|
|
2397
2397
|
rows_read: e.number().optional(),
|
|
2398
2398
|
bytes_read: e.number().optional()
|
|
2399
2399
|
});
|
|
2400
2400
|
e.object({
|
|
2401
|
-
meta: e.array(
|
|
2401
|
+
meta: e.array(Pn),
|
|
2402
2402
|
data: e.array(e.record(e.string(), e.any())),
|
|
2403
2403
|
rows: e.number(),
|
|
2404
2404
|
rows_before_limit_at_least: e.number().optional(),
|
|
2405
|
-
statistics:
|
|
2405
|
+
statistics: Fn.optional()
|
|
2406
2406
|
});
|
|
2407
|
-
var
|
|
2407
|
+
var In = e.enum(/* @__PURE__ */ "login.login-id.login-password.signup.signup-id.signup-password.reset-password.consent.mfa.mfa-push.mfa-otp.mfa-voice.mfa-phone.mfa-webauthn.mfa-email.mfa-recovery-code.status.device-flow.email-verification.email-otp-challenge.organizations.invitation.common.passkeys.captcha.custom-form.login-passwordless.mfa-login-options".split(".")), Ln = e.record(e.string(), e.record(e.string(), e.string())).openapi({
|
|
2408
2408
|
type: "object",
|
|
2409
2409
|
additionalProperties: {
|
|
2410
2410
|
type: "object",
|
|
@@ -2412,11 +2412,11 @@ var Fn = e.enum(/* @__PURE__ */ "login.login-id.login-password.signup.signup-id.
|
|
|
2412
2412
|
}
|
|
2413
2413
|
});
|
|
2414
2414
|
e.object({
|
|
2415
|
-
prompt:
|
|
2415
|
+
prompt: In,
|
|
2416
2416
|
language: e.string(),
|
|
2417
|
-
custom_text:
|
|
2417
|
+
custom_text: Ln
|
|
2418
2418
|
});
|
|
2419
|
-
var
|
|
2419
|
+
var Rn = e.enum([
|
|
2420
2420
|
"phone",
|
|
2421
2421
|
"totp",
|
|
2422
2422
|
"email",
|
|
@@ -2424,9 +2424,9 @@ var Ln = e.enum([
|
|
|
2424
2424
|
"webauthn-roaming",
|
|
2425
2425
|
"webauthn-platform",
|
|
2426
2426
|
"passkey"
|
|
2427
|
-
]),
|
|
2427
|
+
]), M = e.object({
|
|
2428
2428
|
user_id: e.string(),
|
|
2429
|
-
type:
|
|
2429
|
+
type: Rn,
|
|
2430
2430
|
phone_number: e.string().optional(),
|
|
2431
2431
|
totp_secret: e.string().optional(),
|
|
2432
2432
|
credential_id: e.string().optional(),
|
|
@@ -2437,7 +2437,7 @@ var Ln = e.enum([
|
|
|
2437
2437
|
friendly_name: e.string().optional(),
|
|
2438
2438
|
confirmed: e.boolean().default(!1)
|
|
2439
2439
|
});
|
|
2440
|
-
function
|
|
2440
|
+
function N(t, n) {
|
|
2441
2441
|
t.type === "phone" && !t.phone_number && n.addIssue({
|
|
2442
2442
|
code: e.ZodIssueCode.custom,
|
|
2443
2443
|
message: "phone_number is required when type is 'phone'",
|
|
@@ -2460,19 +2460,19 @@ function P(t, n) {
|
|
|
2460
2460
|
path: ["public_key"]
|
|
2461
2461
|
}));
|
|
2462
2462
|
}
|
|
2463
|
-
|
|
2463
|
+
M.superRefine(N), M.extend({
|
|
2464
2464
|
id: e.string(),
|
|
2465
2465
|
created_at: e.string(),
|
|
2466
2466
|
updated_at: e.string()
|
|
2467
|
-
}).superRefine(
|
|
2467
|
+
}).superRefine(N);
|
|
2468
2468
|
//#endregion
|
|
2469
2469
|
//#region src/data-plane/cache.ts
|
|
2470
|
-
var
|
|
2471
|
-
function
|
|
2470
|
+
var zn = 1e4;
|
|
2471
|
+
function P(e, t, n) {
|
|
2472
2472
|
let r = typeof t == "number" ? {
|
|
2473
2473
|
freshTtlMs: t,
|
|
2474
2474
|
maxEntries: n
|
|
2475
|
-
} : t, i = r.freshTtlMs, a = r.staleTtlMs ?? 0, o = r.staleIfErrorTtlMs ?? 0, s = r.negativeTtlMs ?? i, c = r.maxEntries ??
|
|
2475
|
+
} : t, i = r.freshTtlMs, a = r.staleTtlMs ?? 0, o = r.staleIfErrorTtlMs ?? 0, s = r.negativeTtlMs ?? i, c = r.maxEntries ?? zn, l = r.waitUntil, u = /* @__PURE__ */ new Map();
|
|
2476
2476
|
function d(e) {
|
|
2477
2477
|
for (let [t, n] of u) n.stale_if_error_until <= e && n.stale_until <= e && !n.refreshing && u.delete(t);
|
|
2478
2478
|
for (; u.size >= c;) {
|
|
@@ -2529,7 +2529,7 @@ function F(e, t, n) {
|
|
|
2529
2529
|
}
|
|
2530
2530
|
//#endregion
|
|
2531
2531
|
//#region src/data-plane/registry.ts
|
|
2532
|
-
var
|
|
2532
|
+
var F = class {
|
|
2533
2533
|
definitions = /* @__PURE__ */ new Map();
|
|
2534
2534
|
bindings;
|
|
2535
2535
|
constructor(e = {}) {
|
|
@@ -2549,38 +2549,38 @@ var I = class {
|
|
|
2549
2549
|
return n.build(r.data, { bindings: this.bindings });
|
|
2550
2550
|
}
|
|
2551
2551
|
};
|
|
2552
|
-
function
|
|
2552
|
+
function I(e) {
|
|
2553
2553
|
return e;
|
|
2554
2554
|
}
|
|
2555
2555
|
//#endregion
|
|
2556
2556
|
//#region src/data-plane/handlers/util.ts
|
|
2557
|
-
var
|
|
2558
|
-
function zn(e, t) {
|
|
2559
|
-
e.set(R, t);
|
|
2560
|
-
}
|
|
2561
|
-
function U(e) {
|
|
2562
|
-
return e.get(R) ?? e.req.raw;
|
|
2563
|
-
}
|
|
2557
|
+
var L = "__authhero_proxy_request__", R = "__authhero_proxy_tenant_id__", z = "__authhero_proxy_custom_domain_id__", B = "__authhero_proxy_domain__", V = "x-authhero-proxy-mutability-probe";
|
|
2564
2558
|
function Bn(e, t) {
|
|
2565
|
-
e.set(
|
|
2559
|
+
e.set(L, t);
|
|
2566
2560
|
}
|
|
2567
|
-
function
|
|
2568
|
-
return e.get(
|
|
2561
|
+
function H(e) {
|
|
2562
|
+
return e.get(L) ?? e.req.raw;
|
|
2563
|
+
}
|
|
2564
|
+
function Vn(e, t) {
|
|
2565
|
+
e.set(R, t.tenant_id), e.set(z, t.custom_domain_id), e.set(B, t.domain);
|
|
2569
2566
|
}
|
|
2570
2567
|
function Hn(e) {
|
|
2571
|
-
return e.get(
|
|
2568
|
+
return e.get(R);
|
|
2572
2569
|
}
|
|
2573
2570
|
function Un(e) {
|
|
2574
|
-
return e.get(
|
|
2571
|
+
return e.get(z);
|
|
2572
|
+
}
|
|
2573
|
+
function Wn(e) {
|
|
2574
|
+
return e.get(B);
|
|
2575
2575
|
}
|
|
2576
|
-
function
|
|
2577
|
-
let n =
|
|
2578
|
-
t(r),
|
|
2576
|
+
function U(e, t) {
|
|
2577
|
+
let n = H(e), r = new Headers(n.headers);
|
|
2578
|
+
t(r), Bn(e, new Request(n, { headers: r }));
|
|
2579
2579
|
}
|
|
2580
|
-
function
|
|
2580
|
+
function W(e) {
|
|
2581
2581
|
let t = e.res;
|
|
2582
2582
|
try {
|
|
2583
|
-
t.headers.append(
|
|
2583
|
+
t.headers.append(V, "1"), t.headers.delete(V);
|
|
2584
2584
|
return;
|
|
2585
2585
|
} catch {
|
|
2586
2586
|
e.res = new Response(t.body, {
|
|
@@ -2592,7 +2592,7 @@ function G(e) {
|
|
|
2592
2592
|
}
|
|
2593
2593
|
//#endregion
|
|
2594
2594
|
//#region src/data-plane/handlers/cors.ts
|
|
2595
|
-
var
|
|
2595
|
+
var Gn = e.object({
|
|
2596
2596
|
origins: e.array(e.string()).optional(),
|
|
2597
2597
|
allow_credentials: e.boolean().optional(),
|
|
2598
2598
|
allow_headers: e.array(e.string()).optional(),
|
|
@@ -2600,44 +2600,44 @@ var Wn = e.object({
|
|
|
2600
2600
|
expose_headers: e.array(e.string()).optional(),
|
|
2601
2601
|
max_age: e.number().int().optional()
|
|
2602
2602
|
}).refine((e) => !(e.allow_credentials && e.origins?.includes("*")), { message: "Cannot use wildcard origin (*) with allow_credentials" });
|
|
2603
|
-
function
|
|
2603
|
+
function G(e, t) {
|
|
2604
2604
|
let n = new Headers(), r = e.origins ?? ["*"], i = r.includes("*");
|
|
2605
2605
|
return i && !e.allow_credentials ? n.set("Access-Control-Allow-Origin", "*") : t && (i || r.includes(t)) && (n.set("Access-Control-Allow-Origin", t), n.append("Vary", "Origin")), e.allow_credentials && n.set("Access-Control-Allow-Credentials", "true"), e.allow_methods?.length && n.set("Access-Control-Allow-Methods", e.allow_methods.join(", ")), e.allow_headers?.length && n.set("Access-Control-Allow-Headers", e.allow_headers.join(", ")), e.expose_headers?.length && n.set("Access-Control-Expose-Headers", e.expose_headers.join(", ")), e.max_age !== void 0 && n.set("Access-Control-Max-Age", String(e.max_age)), n;
|
|
2606
2606
|
}
|
|
2607
|
-
var
|
|
2607
|
+
var Kn = I({
|
|
2608
2608
|
type: "cors",
|
|
2609
|
-
optionsSchema:
|
|
2609
|
+
optionsSchema: Gn,
|
|
2610
2610
|
build(e) {
|
|
2611
2611
|
return async (t, n) => {
|
|
2612
2612
|
let r = t.req.header("origin") ?? null;
|
|
2613
2613
|
if (t.req.method === "OPTIONS" && r !== null && t.req.header("access-control-request-method") !== void 0) {
|
|
2614
|
-
let t =
|
|
2614
|
+
let t = G(e, r);
|
|
2615
2615
|
return new Response(null, {
|
|
2616
2616
|
status: 204,
|
|
2617
2617
|
headers: t
|
|
2618
2618
|
});
|
|
2619
2619
|
}
|
|
2620
2620
|
await n();
|
|
2621
|
-
let i =
|
|
2622
|
-
|
|
2621
|
+
let i = G(e, r);
|
|
2622
|
+
W(t), i.forEach((e, n) => {
|
|
2623
2623
|
n.toLowerCase() === "vary" ? t.res.headers.append(n, e) : t.res.headers.set(n, e);
|
|
2624
2624
|
});
|
|
2625
2625
|
};
|
|
2626
2626
|
}
|
|
2627
|
-
}),
|
|
2627
|
+
}), qn = e.object({
|
|
2628
2628
|
username: e.string(),
|
|
2629
2629
|
password: e.string(),
|
|
2630
2630
|
realm: e.string().optional()
|
|
2631
2631
|
});
|
|
2632
|
-
function
|
|
2632
|
+
function Jn(e, t) {
|
|
2633
2633
|
let n = `${e}:${t}`;
|
|
2634
2634
|
return typeof btoa == "function" ? btoa(n) : Buffer.from(n, "utf-8").toString("base64");
|
|
2635
2635
|
}
|
|
2636
|
-
var
|
|
2636
|
+
var Yn = I({
|
|
2637
2637
|
type: "basic_auth",
|
|
2638
|
-
optionsSchema:
|
|
2638
|
+
optionsSchema: qn,
|
|
2639
2639
|
build(e) {
|
|
2640
|
-
let t =
|
|
2640
|
+
let t = Jn(e.username, e.password), n = (e.realm ?? "Restricted").replace(/["\\\r\n]/g, "");
|
|
2641
2641
|
return async (e, r) => {
|
|
2642
2642
|
let i = e.req.header("authorization");
|
|
2643
2643
|
if (i) {
|
|
@@ -2653,7 +2653,7 @@ var Jn = L({
|
|
|
2653
2653
|
});
|
|
2654
2654
|
};
|
|
2655
2655
|
}
|
|
2656
|
-
}),
|
|
2656
|
+
}), Xn = I({
|
|
2657
2657
|
type: "headers",
|
|
2658
2658
|
optionsSchema: e.object({
|
|
2659
2659
|
request: e.record(e.string(), e.string()).optional(),
|
|
@@ -2663,23 +2663,23 @@ var Jn = L({
|
|
|
2663
2663
|
}),
|
|
2664
2664
|
build(e) {
|
|
2665
2665
|
return async (t, n) => {
|
|
2666
|
-
if ((e.request || e.remove_request) &&
|
|
2666
|
+
if ((e.request || e.remove_request) && U(t, (t) => {
|
|
2667
2667
|
if (e.remove_request?.forEach((e) => t.delete(e)), e.request) for (let [n, r] of Object.entries(e.request)) t.set(n, r);
|
|
2668
|
-
}), await n(), (e.response || e.remove_response) && (
|
|
2668
|
+
}), await n(), (e.response || e.remove_response) && (W(t), e.remove_response?.forEach((e) => t.res.headers.delete(e)), e.response)) for (let [n, r] of Object.entries(e.response)) t.res.headers.set(n, r);
|
|
2669
2669
|
};
|
|
2670
2670
|
}
|
|
2671
|
-
}),
|
|
2671
|
+
}), Zn = I({
|
|
2672
2672
|
type: "cache",
|
|
2673
2673
|
optionsSchema: e.object({ ttl_seconds: e.number().int().positive() }),
|
|
2674
2674
|
build(e) {
|
|
2675
2675
|
return async (t, n) => {
|
|
2676
2676
|
if (await n(), !t.res.headers.has("Cache-Control")) {
|
|
2677
2677
|
let n = t.res.headers.has("set-cookie") ? "private" : "public";
|
|
2678
|
-
|
|
2678
|
+
W(t), t.res.headers.set("Cache-Control", `${n}, max-age=${e.ttl_seconds}`);
|
|
2679
2679
|
}
|
|
2680
2680
|
};
|
|
2681
2681
|
}
|
|
2682
|
-
}),
|
|
2682
|
+
}), Qn = I({
|
|
2683
2683
|
type: "forwarded_headers",
|
|
2684
2684
|
optionsSchema: e.object({
|
|
2685
2685
|
client_ip_header: e.string().default("cf-connecting-ip"),
|
|
@@ -2689,40 +2689,40 @@ var Jn = L({
|
|
|
2689
2689
|
build(e) {
|
|
2690
2690
|
return async (t, n) => {
|
|
2691
2691
|
let r = new URL(t.req.url);
|
|
2692
|
-
|
|
2692
|
+
U(t, (n) => {
|
|
2693
2693
|
n.set("x-forwarded-host", r.host), n.set("x-forwarded-proto", r.protocol.replace(":", "")), e.set_x_original_url && n.set("x-original-url", t.req.url);
|
|
2694
2694
|
let i = n.get(e.client_ip_header), a = (n.get("x-forwarded-for") ?? "").split(",").map((e) => e.trim()).filter(Boolean), o = i ?? a[a.length - 1] ?? "127.0.0.1", s = a.length === 0 || a[a.length - 1] !== o, c = a.length ? s ? `${a.join(", ")}, ${o}` : a.join(", ") : o;
|
|
2695
2695
|
n.set("x-forwarded-for", c), e.set_x_real_ip && n.set("x-real-ip", o);
|
|
2696
2696
|
}), await n();
|
|
2697
2697
|
};
|
|
2698
2698
|
}
|
|
2699
|
-
}),
|
|
2700
|
-
function
|
|
2699
|
+
}), $n = e.object({ upstream_host: e.string().optional() });
|
|
2700
|
+
function er(e) {
|
|
2701
2701
|
return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
2702
2702
|
}
|
|
2703
|
-
function
|
|
2703
|
+
function tr(e) {
|
|
2704
2704
|
if (typeof e.getSetCookie == "function") return e.getSetCookie();
|
|
2705
2705
|
let t = [];
|
|
2706
2706
|
return e.forEach((e, n) => {
|
|
2707
2707
|
n.toLowerCase() === "set-cookie" && t.push(e);
|
|
2708
2708
|
}), t;
|
|
2709
2709
|
}
|
|
2710
|
-
var
|
|
2710
|
+
var nr = I({
|
|
2711
2711
|
type: "rewrite_cookies",
|
|
2712
|
-
optionsSchema:
|
|
2712
|
+
optionsSchema: $n,
|
|
2713
2713
|
build(e) {
|
|
2714
2714
|
return async (t, n) => {
|
|
2715
2715
|
await n();
|
|
2716
2716
|
let r = new URL(t.req.url).hostname, i = e.upstream_host ?? t.get("__proxy_upstream_host__");
|
|
2717
2717
|
if (!i) return;
|
|
2718
|
-
let a =
|
|
2718
|
+
let a = tr(t.res.headers);
|
|
2719
2719
|
if (a.length === 0) return;
|
|
2720
|
-
let o =
|
|
2721
|
-
|
|
2720
|
+
let o = er(i), s = RegExp(`(?:^|;\\s*)Domain=\\.?${o}(?=;|$)`, "i");
|
|
2721
|
+
W(t), t.res.headers.delete("set-cookie");
|
|
2722
2722
|
for (let e of a) t.res.headers.append("set-cookie", e.replace(s, `Domain=${r}`));
|
|
2723
2723
|
};
|
|
2724
2724
|
}
|
|
2725
|
-
}),
|
|
2725
|
+
}), rr = I({
|
|
2726
2726
|
type: "rewrite_location",
|
|
2727
2727
|
optionsSchema: e.object({ upstream_origin: e.string().optional() }),
|
|
2728
2728
|
build(e) {
|
|
@@ -2742,25 +2742,25 @@ var tr = L({
|
|
|
2742
2742
|
}
|
|
2743
2743
|
if (o.origin !== a) return;
|
|
2744
2744
|
let s = new URL(t.req.url), c = `${`${s.protocol}//${s.host}`}${o.pathname}${o.search}${o.hash}`;
|
|
2745
|
-
|
|
2745
|
+
W(t), t.res.headers.set("location", c);
|
|
2746
2746
|
};
|
|
2747
2747
|
}
|
|
2748
|
-
}),
|
|
2748
|
+
}), ir = class extends Error {
|
|
2749
2749
|
ms;
|
|
2750
2750
|
constructor(e, t) {
|
|
2751
2751
|
super(`${t ?? "Operation"} timed out after ${e}ms`), this.name = "TimeoutError", this.ms = e;
|
|
2752
2752
|
}
|
|
2753
2753
|
};
|
|
2754
|
-
function
|
|
2755
|
-
return e instanceof
|
|
2754
|
+
function K(e) {
|
|
2755
|
+
return e instanceof ir ? !0 : e instanceof Error ? e.name === "AbortError" || e.name === "TimeoutError" : !1;
|
|
2756
2756
|
}
|
|
2757
|
-
function
|
|
2757
|
+
function q(e, t) {
|
|
2758
2758
|
let n = new AbortController(), r = setTimeout(() => n.abort(), e);
|
|
2759
2759
|
return t(n.signal).finally(() => clearTimeout(r));
|
|
2760
2760
|
}
|
|
2761
|
-
function
|
|
2761
|
+
function J(e, t, n) {
|
|
2762
2762
|
let r, i = new Promise((e, i) => {
|
|
2763
|
-
r = setTimeout(() => i(new
|
|
2763
|
+
r = setTimeout(() => i(new ir(t, n)), t);
|
|
2764
2764
|
});
|
|
2765
2765
|
return Promise.race([e, i]).finally(() => {
|
|
2766
2766
|
r && clearTimeout(r);
|
|
@@ -2768,7 +2768,7 @@ function Y(e, t, n) {
|
|
|
2768
2768
|
}
|
|
2769
2769
|
//#endregion
|
|
2770
2770
|
//#region src/data-plane/handlers/http.ts
|
|
2771
|
-
var
|
|
2771
|
+
var ar = new Set([
|
|
2772
2772
|
"connection",
|
|
2773
2773
|
"keep-alive",
|
|
2774
2774
|
"proxy-authenticate",
|
|
@@ -2777,24 +2777,24 @@ var ir = new Set([
|
|
|
2777
2777
|
"trailers",
|
|
2778
2778
|
"transfer-encoding",
|
|
2779
2779
|
"upgrade"
|
|
2780
|
-
]),
|
|
2780
|
+
]), or = 3e4, sr = e.object({
|
|
2781
2781
|
upstream_url: e.string(),
|
|
2782
2782
|
preserve_host: e.boolean().default(!1),
|
|
2783
2783
|
timeout_ms: e.number().int().positive().optional()
|
|
2784
2784
|
});
|
|
2785
|
-
function
|
|
2785
|
+
function cr(e, t) {
|
|
2786
2786
|
return e === "" || e === "/" ? t : `${e.endsWith("/") ? e.slice(0, -1) : e}${t.startsWith("/") ? t : `/${t}`}`;
|
|
2787
2787
|
}
|
|
2788
|
-
function
|
|
2788
|
+
function lr(e) {
|
|
2789
2789
|
return e !== "GET" && e !== "HEAD";
|
|
2790
2790
|
}
|
|
2791
|
-
function
|
|
2791
|
+
function ur(e, t) {
|
|
2792
2792
|
let n = new URL(t.url), r = new URL(e.upstream_url);
|
|
2793
|
-
r.pathname =
|
|
2793
|
+
r.pathname = cr(r.pathname, n.pathname), r.search = n.search;
|
|
2794
2794
|
let i = new Headers(t.headers);
|
|
2795
|
-
for (let e of
|
|
2795
|
+
for (let e of ar) i.delete(e);
|
|
2796
2796
|
e.preserve_host || i.set("host", r.host), i.has("x-forwarded-host") || i.set("x-forwarded-host", n.host), i.has("x-forwarded-proto") || i.set("x-forwarded-proto", n.protocol.replace(":", ""));
|
|
2797
|
-
let a =
|
|
2797
|
+
let a = lr(t.method) ? t.body : void 0, o = {
|
|
2798
2798
|
method: t.method,
|
|
2799
2799
|
headers: i,
|
|
2800
2800
|
body: a,
|
|
@@ -2805,85 +2805,85 @@ function lr(e, t) {
|
|
|
2805
2805
|
init: o
|
|
2806
2806
|
};
|
|
2807
2807
|
}
|
|
2808
|
-
var
|
|
2808
|
+
var dr = I({
|
|
2809
2809
|
type: "http",
|
|
2810
|
-
optionsSchema:
|
|
2810
|
+
optionsSchema: sr,
|
|
2811
2811
|
build(e) {
|
|
2812
|
-
let t = e.timeout_ms ??
|
|
2812
|
+
let t = e.timeout_ms ?? or;
|
|
2813
2813
|
return async (n) => {
|
|
2814
|
-
let { target: r, init: i } =
|
|
2814
|
+
let { target: r, init: i } = ur(e, H(n));
|
|
2815
2815
|
n.set("__proxy_upstream_host__", r.hostname), n.set("__proxy_upstream_origin__", `${r.protocol}//${r.host}`);
|
|
2816
2816
|
try {
|
|
2817
|
-
return await
|
|
2817
|
+
return await q(t, (e) => fetch(r.toString(), {
|
|
2818
2818
|
...i,
|
|
2819
2819
|
signal: e
|
|
2820
2820
|
}));
|
|
2821
2821
|
} catch (e) {
|
|
2822
|
-
return
|
|
2822
|
+
return K(e) ? n.text("Upstream timeout", 504, { "x-authhero-proxy-error": "http_timeout" }) : n.text("Bad gateway", 502, { "x-authhero-proxy-error": "http_failed" });
|
|
2823
2823
|
}
|
|
2824
2824
|
};
|
|
2825
2825
|
}
|
|
2826
|
-
}),
|
|
2826
|
+
}), fr = 3e4, pr = e.object({
|
|
2827
2827
|
binding: e.string(),
|
|
2828
2828
|
upstream_url: e.string().optional(),
|
|
2829
2829
|
preserve_host: e.boolean().default(!0),
|
|
2830
2830
|
timeout_ms: e.number().int().positive().optional()
|
|
2831
2831
|
});
|
|
2832
|
-
function
|
|
2832
|
+
function mr(e) {
|
|
2833
2833
|
return typeof e == "object" && !!e && typeof e.fetch == "function";
|
|
2834
2834
|
}
|
|
2835
|
-
var
|
|
2835
|
+
var hr = I({
|
|
2836
2836
|
type: "service_binding",
|
|
2837
|
-
optionsSchema:
|
|
2837
|
+
optionsSchema: pr,
|
|
2838
2838
|
build(e, t) {
|
|
2839
2839
|
let n = t.bindings[e.binding];
|
|
2840
|
-
if (!
|
|
2841
|
-
let r = e.upstream_url ?? `https://${e.binding}.binding.invalid/`, i = e.timeout_ms ??
|
|
2840
|
+
if (!mr(n)) throw Error(`Service binding "${e.binding}" is not configured or is not a Fetcher`);
|
|
2841
|
+
let r = e.upstream_url ?? `https://${e.binding}.binding.invalid/`, i = e.timeout_ms ?? fr;
|
|
2842
2842
|
return async (t) => {
|
|
2843
|
-
let a =
|
|
2843
|
+
let a = H(t), { target: o, init: s } = ur({
|
|
2844
2844
|
upstream_url: r,
|
|
2845
2845
|
preserve_host: e.preserve_host
|
|
2846
2846
|
}, a);
|
|
2847
2847
|
t.set("__proxy_upstream_host__", o.hostname), t.set("__proxy_upstream_origin__", `${o.protocol}//${o.host}`);
|
|
2848
2848
|
try {
|
|
2849
|
-
return await
|
|
2849
|
+
return await q(i, async (e) => n.fetch(new Request(o.toString(), {
|
|
2850
2850
|
...s,
|
|
2851
2851
|
signal: e
|
|
2852
2852
|
})));
|
|
2853
2853
|
} catch (e) {
|
|
2854
|
-
return
|
|
2854
|
+
return K(e) ? t.text(`service_binding timed out after ${i}ms`, 504, { "x-authhero-proxy-error": "service_binding_timeout" }) : t.text("Bad gateway", 502, { "x-authhero-proxy-error": "service_binding_failed" });
|
|
2855
2855
|
}
|
|
2856
2856
|
};
|
|
2857
2857
|
}
|
|
2858
|
-
}),
|
|
2858
|
+
}), gr = 3e4, _r = e.object({
|
|
2859
2859
|
binding: e.string(),
|
|
2860
2860
|
script_name: e.string(),
|
|
2861
2861
|
cpu_ms: e.number().int().positive().optional(),
|
|
2862
2862
|
subrequests: e.number().int().positive().optional(),
|
|
2863
2863
|
timeout_ms: e.number().int().positive().optional()
|
|
2864
2864
|
});
|
|
2865
|
-
function
|
|
2865
|
+
function vr(e) {
|
|
2866
2866
|
return typeof e == "object" && !!e && typeof e.get == "function";
|
|
2867
2867
|
}
|
|
2868
|
-
var
|
|
2869
|
-
function
|
|
2870
|
-
return
|
|
2868
|
+
var Y = /\{(tenant_id|custom_domain_id|domain|host)\}/g;
|
|
2869
|
+
function yr(e) {
|
|
2870
|
+
return Y.lastIndex = 0, Y.test(e);
|
|
2871
2871
|
}
|
|
2872
|
-
var
|
|
2872
|
+
var br = I({
|
|
2873
2873
|
type: "dispatch_namespace",
|
|
2874
|
-
optionsSchema:
|
|
2874
|
+
optionsSchema: _r,
|
|
2875
2875
|
build(e, t) {
|
|
2876
2876
|
let n = t.bindings[e.binding];
|
|
2877
|
-
if (!
|
|
2878
|
-
let r =
|
|
2877
|
+
if (!vr(n)) throw Error(`Dispatch namespace binding "${e.binding}" is not configured or does not expose .get()`);
|
|
2878
|
+
let r = yr(e.script_name), i = e.timeout_ms ?? gr, a = e.cpu_ms || e.subrequests ? { limits: {
|
|
2879
2879
|
...e.cpu_ms ? { cpuMs: e.cpu_ms } : {},
|
|
2880
2880
|
...e.subrequests ? { subrequests: e.subrequests } : {}
|
|
2881
2881
|
} } : void 0;
|
|
2882
2882
|
return async (t) => {
|
|
2883
2883
|
let o = e.script_name;
|
|
2884
2884
|
if (r) {
|
|
2885
|
-
let n =
|
|
2886
|
-
if (o = o.replace(
|
|
2885
|
+
let n = Hn(t), r = Un(t), i = Wn(t), a = t.req.header("host") ?? t.req.header("x-forwarded-host") ?? "";
|
|
2886
|
+
if (o = o.replace(Y, (e, t) => {
|
|
2887
2887
|
switch (t) {
|
|
2888
2888
|
case "tenant_id": return n ?? "";
|
|
2889
2889
|
case "custom_domain_id": return r ?? "";
|
|
@@ -2893,19 +2893,19 @@ var yr = L({
|
|
|
2893
2893
|
}
|
|
2894
2894
|
}), o.includes("{") || o === "") return t.text(`dispatch_namespace: could not resolve script name from template "${e.script_name}"`, 500);
|
|
2895
2895
|
}
|
|
2896
|
-
let s =
|
|
2896
|
+
let s = H(t);
|
|
2897
2897
|
try {
|
|
2898
2898
|
let e = n.get(o, void 0, a);
|
|
2899
|
-
return await
|
|
2899
|
+
return await q(i, async (t) => {
|
|
2900
2900
|
let n = new Request(s, { signal: t });
|
|
2901
2901
|
return e.fetch(n);
|
|
2902
2902
|
});
|
|
2903
2903
|
} catch (e) {
|
|
2904
|
-
return
|
|
2904
|
+
return K(e) ? t.text(`dispatch_namespace timed out after ${i}ms`, 504, { "x-authhero-proxy-error": "dispatch_namespace_timeout" }) : t.text("Bad gateway", 502, { "x-authhero-proxy-error": "dispatch_namespace_failed" });
|
|
2905
2905
|
}
|
|
2906
2906
|
};
|
|
2907
2907
|
}
|
|
2908
|
-
}),
|
|
2908
|
+
}), xr = I({
|
|
2909
2909
|
type: "redirect",
|
|
2910
2910
|
optionsSchema: e.object({
|
|
2911
2911
|
upstream_url: e.string().refine((e) => {
|
|
@@ -2934,7 +2934,7 @@ var yr = L({
|
|
|
2934
2934
|
});
|
|
2935
2935
|
};
|
|
2936
2936
|
}
|
|
2937
|
-
}),
|
|
2937
|
+
}), Sr = I({
|
|
2938
2938
|
type: "static",
|
|
2939
2939
|
optionsSchema: e.object({
|
|
2940
2940
|
status: e.number().int().default(200),
|
|
@@ -2954,15 +2954,15 @@ var yr = L({
|
|
|
2954
2954
|
});
|
|
2955
2955
|
//#endregion
|
|
2956
2956
|
//#region src/data-plane/handlers/index.ts
|
|
2957
|
-
function
|
|
2958
|
-
e.add(
|
|
2957
|
+
function Cr(e) {
|
|
2958
|
+
e.add(Kn).add(Yn).add(Xn).add(Zn).add(Qn).add(nr).add(rr).add(dr).add(hr).add(br).add(xr).add(Sr);
|
|
2959
2959
|
}
|
|
2960
2960
|
//#endregion
|
|
2961
2961
|
//#region src/data-plane/matcher.ts
|
|
2962
|
-
function
|
|
2962
|
+
function X(e) {
|
|
2963
2963
|
return [...e].sort((e, t) => e.priority === t.priority ? e.created_at.localeCompare(t.created_at) : e.priority - t.priority);
|
|
2964
2964
|
}
|
|
2965
|
-
function
|
|
2965
|
+
function wr(e, t) {
|
|
2966
2966
|
let n = e.toLowerCase(), r = t.toLowerCase();
|
|
2967
2967
|
if (n === r) return !0;
|
|
2968
2968
|
if (n.startsWith("*.")) {
|
|
@@ -2971,13 +2971,13 @@ function Cr(e, t) {
|
|
|
2971
2971
|
}
|
|
2972
2972
|
return !1;
|
|
2973
2973
|
}
|
|
2974
|
-
function
|
|
2975
|
-
return !e || e.length === 0 ? !0 : e.some((e) =>
|
|
2974
|
+
function Tr(e, t) {
|
|
2975
|
+
return !e || e.length === 0 ? !0 : e.some((e) => wr(e, t));
|
|
2976
2976
|
}
|
|
2977
|
-
function
|
|
2977
|
+
function Er(e) {
|
|
2978
2978
|
let t = (e.headers ? Object.entries(e.headers) : []).map(([e, t]) => [e.toLowerCase(), new RegExp(t)]), n = (e.query ? Object.entries(e.query) : []).map(([e, t]) => [e, new RegExp(t)]), r = e.hosts;
|
|
2979
2979
|
return async (e, i) => {
|
|
2980
|
-
if (r && !
|
|
2980
|
+
if (r && !Tr(r, e.req.header("host") ?? "")) return new Response("No matching route", { status: 404 });
|
|
2981
2981
|
for (let [n, r] of t) {
|
|
2982
2982
|
let t = e.req.header(n);
|
|
2983
2983
|
if (t === void 0 || !r.test(t)) return new Response("No matching route", { status: 404 });
|
|
@@ -2994,7 +2994,7 @@ function Tr(e) {
|
|
|
2994
2994
|
}
|
|
2995
2995
|
//#endregion
|
|
2996
2996
|
//#region src/data-plane/compile.ts
|
|
2997
|
-
var
|
|
2997
|
+
var Dr = [
|
|
2998
2998
|
"GET",
|
|
2999
2999
|
"POST",
|
|
3000
3000
|
"PUT",
|
|
@@ -3003,51 +3003,51 @@ var Er = [
|
|
|
3003
3003
|
"OPTIONS",
|
|
3004
3004
|
"HEAD"
|
|
3005
3005
|
];
|
|
3006
|
-
function
|
|
3007
|
-
let
|
|
3008
|
-
r &&
|
|
3009
|
-
|
|
3006
|
+
function Z(e, n, r, i) {
|
|
3007
|
+
let a = new t();
|
|
3008
|
+
r && a.use("*", async (e, t) => {
|
|
3009
|
+
Vn(e, r), await t();
|
|
3010
3010
|
});
|
|
3011
|
-
let
|
|
3012
|
-
for (let e of
|
|
3011
|
+
let o = X(e);
|
|
3012
|
+
for (let e of o) {
|
|
3013
3013
|
let t = [];
|
|
3014
|
-
t.push(
|
|
3014
|
+
t.push(Er(e.match));
|
|
3015
3015
|
for (let r of e.handlers) t.push(n.build(r.type, r.options));
|
|
3016
|
-
let r = e.match.methods?.length ? e.match.methods.map((e) => e.toUpperCase()) :
|
|
3017
|
-
|
|
3016
|
+
let r = e.match.methods?.length ? e.match.methods.map((e) => e.toUpperCase()) : Dr, i = e.match.path || "/*";
|
|
3017
|
+
a.on(r, [i], ...t);
|
|
3018
3018
|
}
|
|
3019
|
-
return i.all("*", (e) => e.text("No matching route", 404)),
|
|
3020
|
-
let n =
|
|
3019
|
+
return i && i.length > 0 ? a.on(Dr, ["*"], ...i) : a.all("*", (e) => e.text("No matching route", 404)), a.onError((e, t) => {
|
|
3020
|
+
let n = K(e);
|
|
3021
3021
|
return t.text(n ? "Upstream timeout" : "Bad gateway", n ? 504 : 502, { "x-authhero-proxy-error": n ? "handler_timeout" : "handler_failed" });
|
|
3022
|
-
}),
|
|
3022
|
+
}), a;
|
|
3023
3023
|
}
|
|
3024
3024
|
//#endregion
|
|
3025
3025
|
//#region src/data-plane/router.ts
|
|
3026
|
-
var Or =
|
|
3026
|
+
var Or = 1e4;
|
|
3027
3027
|
function kr(e) {
|
|
3028
|
-
return e.resolver ? e.resolver : e.cache ?
|
|
3028
|
+
return e.resolver ? e.resolver : e.cache ? P(e.data, e.cache) : P(e.data, e.cacheTtlMs ?? 3e4);
|
|
3029
3029
|
}
|
|
3030
3030
|
function Ar(e) {
|
|
3031
3031
|
if (e.registry) return e.registry;
|
|
3032
|
-
let t = new
|
|
3033
|
-
return
|
|
3032
|
+
let t = new F(e.bindings ?? {});
|
|
3033
|
+
return Cr(t), t;
|
|
3034
3034
|
}
|
|
3035
3035
|
function Q(e) {
|
|
3036
|
-
let t = kr(e), n = Ar(e), r = /* @__PURE__ */ new WeakMap(), i = e.resolveHostTimeoutMs ?? Or;
|
|
3036
|
+
let t = kr(e), n = Ar(e), r = /* @__PURE__ */ new WeakMap(), i = e.resolveHostTimeoutMs ?? Or, a = e.defaultHandlers && e.defaultHandlers.length > 0 ? e.defaultHandlers.map((e) => n.build(e.type, e.options)) : void 0, o = a ? Z([], n, void 0, a) : void 0;
|
|
3037
3037
|
return async (e) => {
|
|
3038
|
-
let
|
|
3039
|
-
if (!
|
|
3038
|
+
let s = e.req.header("host") ?? e.req.header("x-forwarded-host");
|
|
3039
|
+
if (!s) return e.text("Missing host", 400);
|
|
3040
3040
|
try {
|
|
3041
|
-
let
|
|
3042
|
-
if (!
|
|
3043
|
-
let
|
|
3044
|
-
return
|
|
3045
|
-
tenant_id:
|
|
3046
|
-
custom_domain_id:
|
|
3047
|
-
domain:
|
|
3048
|
-
}), r.set(
|
|
3041
|
+
let c = await J(t.resolveHost(s), i, "resolveHost");
|
|
3042
|
+
if (!c) return o ? await o.fetch(e.req.raw) : e.text("Unknown host", 404);
|
|
3043
|
+
let l = r.get(c);
|
|
3044
|
+
return l || (l = Z(c.routes, n, {
|
|
3045
|
+
tenant_id: c.tenant_id,
|
|
3046
|
+
custom_domain_id: c.custom_domain_id,
|
|
3047
|
+
domain: c.domain
|
|
3048
|
+
}, a), r.set(c, l)), await l.fetch(e.req.raw);
|
|
3049
3049
|
} catch (t) {
|
|
3050
|
-
return
|
|
3050
|
+
return o ? await o.fetch(e.req.raw) : K(t) ? e.text(`Resolve host timed out after ${i}ms`, 504, { "x-authhero-proxy-error": "resolve_host_timeout" }) : e.text("Bad gateway", 502, { "x-authhero-proxy-error": "data_plane_error" });
|
|
3051
3051
|
}
|
|
3052
3052
|
};
|
|
3053
3053
|
}
|
|
@@ -3066,9 +3066,10 @@ function Mr(e) {
|
|
|
3066
3066
|
resolver: e.resolver,
|
|
3067
3067
|
registry: e.registry,
|
|
3068
3068
|
bindings: e.bindings,
|
|
3069
|
-
resolveHostTimeoutMs: e.resolveHostTimeoutMs
|
|
3069
|
+
resolveHostTimeoutMs: e.resolveHostTimeoutMs,
|
|
3070
|
+
defaultHandlers: e.defaultHandlers
|
|
3070
3071
|
})), n.onError((e, t) => {
|
|
3071
|
-
let n =
|
|
3072
|
+
let n = K(e);
|
|
3072
3073
|
return t.text(n ? "Proxy timeout" : "Bad gateway", n ? 504 : 502, { "x-authhero-proxy-error": n ? "proxy_timeout" : "proxy_error" });
|
|
3073
3074
|
}), n;
|
|
3074
3075
|
}
|
|
@@ -3087,7 +3088,7 @@ function Lr(e) {
|
|
|
3087
3088
|
let n = t, r = e.namespace ?? "authhero-proxy", i = e.cacheTtlSeconds ?? 60, a = e.negativeCacheTtlSeconds ?? 10, o = e.waitUntil, s = e.cacheReadTimeoutMs ?? Nr, c = e.cacheWriteTimeoutMs ?? Pr;
|
|
3088
3089
|
async function l(e) {
|
|
3089
3090
|
try {
|
|
3090
|
-
return await
|
|
3091
|
+
return await J(Promise.resolve(n.match(e)), s, "cache.match");
|
|
3091
3092
|
} catch {
|
|
3092
3093
|
return;
|
|
3093
3094
|
}
|
|
@@ -3100,7 +3101,7 @@ function Lr(e) {
|
|
|
3100
3101
|
let d = await e.upstream.resolveHost(t), f = d === null ? a : i, p = new Response(JSON.stringify({ value: d }), { headers: {
|
|
3101
3102
|
"content-type": "application/json",
|
|
3102
3103
|
"cache-control": `public, max-age=${f}`
|
|
3103
|
-
} }), m =
|
|
3104
|
+
} }), m = J(Promise.resolve(n.put(s, p)), c, "cache.put").catch(() => void 0);
|
|
3104
3105
|
return o ? o(m) : await m, d;
|
|
3105
3106
|
} };
|
|
3106
3107
|
}
|
|
@@ -3117,13 +3118,13 @@ function Vr(e) {
|
|
|
3117
3118
|
}
|
|
3118
3119
|
async function p(e) {
|
|
3119
3120
|
try {
|
|
3120
|
-
return await
|
|
3121
|
+
return await J(n.get(e), l, "cache.get") ?? null;
|
|
3121
3122
|
} catch {
|
|
3122
3123
|
return null;
|
|
3123
3124
|
}
|
|
3124
3125
|
}
|
|
3125
3126
|
function m(e, t, r) {
|
|
3126
|
-
let i =
|
|
3127
|
+
let i = J(Promise.resolve().then(() => n.set(e, t, r)), u, "cache.set").catch(() => void 0);
|
|
3127
3128
|
return c ? (c(i), Promise.resolve()) : i;
|
|
3128
3129
|
}
|
|
3129
3130
|
async function h(e) {
|
|
@@ -3275,7 +3276,7 @@ function qr() {
|
|
|
3275
3276
|
};
|
|
3276
3277
|
}
|
|
3277
3278
|
function Jr(e) {
|
|
3278
|
-
let t = e.fetch ?? fetch, n = e.baseUrl.replace(/\/+$/, ""), r = e.resolveHostPath ?? "/api/v2/proxy/control-plane/hosts/", i = e.audience ?? `${n}/api/v2/`, a = e.scope ?? "proxy:resolve_host", o = e.tokenRefreshSkewSeconds ?? 60, s = e.timeoutMs ??
|
|
3279
|
+
let t = e.fetch ?? fetch, n = e.baseUrl.replace(/\/+$/, ""), r = e.resolveHostPath ?? "/api/v2/proxy/control-plane/hosts/", i = e.audience ?? `${n}/api/v2/`, a = e.scope ?? "proxy:resolve_host", o = e.tokenRefreshSkewSeconds ?? 60, s = e.timeoutMs ?? 2500;
|
|
3279
3280
|
function c(e) {
|
|
3280
3281
|
let t = new AbortController(), n = setTimeout(() => t.abort(), s);
|
|
3281
3282
|
return e(t.signal).finally(() => clearTimeout(n));
|
|
@@ -3320,4 +3321,4 @@ function Jr(e) {
|
|
|
3320
3321
|
};
|
|
3321
3322
|
}
|
|
3322
3323
|
//#endregion
|
|
3323
|
-
export {
|
|
3324
|
+
export { F as HandlerRegistry, Kr as PROXY_RESOLVE_HOST_SCOPE, Yn as basicAuthHandler, Hr as buildCacheAdapterKey, Rr as buildCacheApiKey, Er as buildMatchFilter, Zn as cacheHandler, Z as compileHostApp, Kn as corsHandler, Vr as createCacheAdapterHostCache, Lr as createCacheApiHostCache, Jr as createHttpProxyAdapter, P as createInMemoryHostCache, Mr as createProxyApp, Q as createProxyDataPlaneHandler, jr as createProxyDataPlaneRouter, Wr as createStaticProxyAdapter, I as defineHandler, br as dispatchNamespaceHandler, Qn as forwardedHeadersHandler, vn as handlerConfigSchema, Xn as headersHandler, dr as httpHandler, Gr as httpRoute, _n as matchSchema, Tr as matchesAnyHost, wr as matchesHost, j as proxyRouteInsertSchema, yn as proxyRouteSchema, bn as proxyRouteUpdateSchema, xr as redirectHandler, Cr as registerBuiltinHandlers, nr as rewriteCookiesHandler, rr as rewriteLocationHandler, hr as serviceBindingHandler, X as sortRoutes, Sr as staticHandler };
|