@atlasauth/backend 0.24.0 → 0.26.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/CHANGELOG.md +39 -1
- package/dist/client/abac.d.ts +521 -0
- package/dist/client/abac.js +146 -0
- package/dist/client/abac.js.map +1 -0
- package/dist/client/access-policies.d.ts +100 -0
- package/dist/client/access-policies.js +29 -0
- package/dist/client/access-policies.js.map +1 -0
- package/dist/client/action-gallery.d.ts +1 -1
- package/dist/client/action-gallery.js.map +1 -1
- package/dist/client/actions.d.ts +129 -6
- package/dist/client/actions.js +4 -0
- package/dist/client/actions.js.map +1 -1
- package/dist/client/analytics-reports.d.ts +215 -0
- package/dist/client/analytics-reports.js +56 -0
- package/dist/client/analytics-reports.js.map +1 -0
- package/dist/client/app-catalog.d.ts +74 -0
- package/dist/client/app-catalog.js +30 -0
- package/dist/client/app-catalog.js.map +1 -0
- package/dist/client/attack-protection.d.ts +10 -0
- package/dist/client/attack-protection.js +8 -0
- package/dist/client/attack-protection.js.map +1 -1
- package/dist/client/audit-events.d.ts +71 -0
- package/dist/client/audit-events.js +28 -0
- package/dist/client/audit-events.js.map +1 -1
- package/dist/client/authz-decisions.d.ts +108 -0
- package/dist/client/authz-decisions.js +40 -0
- package/dist/client/authz-decisions.js.map +1 -0
- package/dist/client/connections.d.ts +507 -0
- package/dist/client/connections.js +164 -0
- package/dist/client/connections.js.map +1 -0
- package/dist/client/credentials.d.ts +8 -0
- package/dist/client/credentials.js.map +1 -1
- package/dist/client/custom-oauth-providers.d.ts +15 -0
- package/dist/client/custom-oauth-providers.js.map +1 -1
- package/dist/client/delegated-ui-proxy.d.ts +25 -0
- package/dist/client/delegated-ui-proxy.js +46 -0
- package/dist/client/delegated-ui-proxy.js.map +1 -0
- package/dist/client/desktop-mfa.d.ts +104 -0
- package/dist/client/desktop-mfa.js +44 -0
- package/dist/client/desktop-mfa.js.map +1 -0
- package/dist/client/devices.d.ts +44 -0
- package/dist/client/devices.js +26 -0
- package/dist/client/devices.js.map +1 -0
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/fga.d.ts +125 -4
- package/dist/client/fga.js +40 -0
- package/dist/client/fga.js.map +1 -1
- package/dist/client/flags.d.ts +101 -0
- package/dist/client/flags.js +104 -0
- package/dist/client/flags.js.map +1 -0
- package/dist/client/groups.d.ts +146 -0
- package/dist/client/groups.js +67 -0
- package/dist/client/groups.js.map +1 -0
- package/dist/client/identity-verification.d.ts +62 -0
- package/dist/client/identity-verification.js +39 -0
- package/dist/client/identity-verification.js.map +1 -0
- package/dist/client/iga.d.ts +436 -0
- package/dist/client/iga.js +82 -0
- package/dist/client/iga.js.map +1 -0
- package/dist/client/index.d.ts +1433 -4
- package/dist/client/index.js +96 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/journeys.d.ts +108 -0
- package/dist/client/journeys.js +35 -0
- package/dist/client/journeys.js.map +1 -0
- package/dist/client/least-privilege.d.ts +95 -0
- package/dist/client/least-privilege.js +28 -0
- package/dist/client/least-privilege.js.map +1 -0
- package/dist/client/log-streams.d.ts +1 -1
- package/dist/client/managed-grants.d.ts +52 -0
- package/dist/client/managed-grants.js +28 -0
- package/dist/client/managed-grants.js.map +1 -0
- package/dist/client/marketing.d.ts +67 -0
- package/dist/client/marketing.js +26 -0
- package/dist/client/marketing.js.map +1 -0
- package/dist/client/mcp-gateways.d.ts +126 -0
- package/dist/client/mcp-gateways.js +47 -0
- package/dist/client/mcp-gateways.js.map +1 -0
- package/dist/client/messaging.d.ts +14 -3
- package/dist/client/messaging.js.map +1 -1
- package/dist/client/mfa-factors.d.ts +120 -0
- package/dist/client/mfa-factors.js +73 -0
- package/dist/client/mfa-factors.js.map +1 -0
- package/dist/client/migrations.d.ts +1 -1
- package/dist/client/migrations.js.map +1 -1
- package/dist/client/network-acls.d.ts +6 -1
- package/dist/client/network-acls.js.map +1 -1
- package/dist/client/network-zones.d.ts +56 -0
- package/dist/client/network-zones.js +29 -0
- package/dist/client/network-zones.js.map +1 -0
- package/dist/client/notifications.d.ts +1 -1
- package/dist/client/notifications.js.map +1 -1
- package/dist/client/oauth-clients.d.ts +187 -3
- package/dist/client/oauth-clients.js +64 -0
- package/dist/client/oauth-clients.js.map +1 -1
- package/dist/client/openfga.d.ts +90 -3
- package/dist/client/openfga.js +27 -1
- package/dist/client/openfga.js.map +1 -1
- package/dist/client/org-role-grants.d.ts +57 -0
- package/dist/client/org-role-grants.js +40 -0
- package/dist/client/org-role-grants.js.map +1 -0
- package/dist/client/organizations.d.ts +52 -0
- package/dist/client/organizations.js +44 -0
- package/dist/client/organizations.js.map +1 -1
- package/dist/client/page-templates.d.ts +78 -0
- package/dist/client/page-templates.js +31 -0
- package/dist/client/page-templates.js.map +1 -0
- package/dist/client/passkey-api.d.ts +73 -0
- package/dist/client/passkey-api.js +34 -0
- package/dist/client/passkey-api.js.map +1 -0
- package/dist/client/policy-bundles.d.ts +105 -0
- package/dist/client/policy-bundles.js +38 -0
- package/dist/client/policy-bundles.js.map +1 -0
- package/dist/client/resources.d.ts +150 -0
- package/dist/client/resources.js +73 -0
- package/dist/client/resources.js.map +1 -0
- package/dist/client/risk-based-mfa.d.ts +147 -0
- package/dist/client/risk-based-mfa.js +30 -0
- package/dist/client/risk-based-mfa.js.map +1 -1
- package/dist/client/roles.d.ts +4 -0
- package/dist/client/roles.js.map +1 -1
- package/dist/client/service-connectors.d.ts +83 -0
- package/dist/client/service-connectors.js +33 -0
- package/dist/client/service-connectors.js.map +1 -0
- package/dist/client/ssf.d.ts +112 -0
- package/dist/client/ssf.js +49 -0
- package/dist/client/ssf.js.map +1 -0
- package/dist/client/sso-onboarding.d.ts +6 -0
- package/dist/client/sso-onboarding.js.map +1 -1
- package/dist/client/users.d.ts +302 -0
- package/dist/client/users.js +125 -0
- package/dist/client/users.js.map +1 -1
- package/dist/client/vault.d.ts +85 -0
- package/dist/client/vault.js +50 -0
- package/dist/client/vault.js.map +1 -0
- package/dist/client/vc.d.ts +136 -0
- package/dist/client/vc.js +43 -0
- package/dist/client/vc.js.map +1 -0
- package/dist/client/webhooks.d.ts +31 -2
- package/dist/client/webhooks.js.map +1 -1
- package/dist/client/workflows.d.ts +131 -0
- package/dist/client/workflows.js +36 -0
- package/dist/client/workflows.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/magic-did.d.ts +5 -0
- package/dist/magic-did.js +49 -0
- package/dist/magic-did.js.map +1 -0
- package/dist/migration-bridge.d.ts +9 -0
- package/dist/migration-bridge.js +28 -2
- package/dist/migration-bridge.js.map +1 -1
- package/dist/migration-presets-g3.d.ts +2 -0
- package/dist/migration-presets-g3.js +254 -0
- package/dist/migration-presets-g3.js.map +1 -0
- package/dist/migration-presets-g4/authentik.d.ts +14 -0
- package/dist/migration-presets-g4/authentik.js +37 -0
- package/dist/migration-presets-g4/authentik.js.map +1 -0
- package/dist/migration-presets-g4/fusionauth.d.ts +2 -0
- package/dist/migration-presets-g4/fusionauth.js +52 -0
- package/dist/migration-presets-g4/fusionauth.js.map +1 -0
- package/dist/migration-presets-g4/hanko.d.ts +12 -0
- package/dist/migration-presets-g4/hanko.js +46 -0
- package/dist/migration-presets-g4/hanko.js.map +1 -0
- package/dist/migration-presets-g4/keycloak.d.ts +16 -0
- package/dist/migration-presets-g4/keycloak.js +37 -0
- package/dist/migration-presets-g4/keycloak.js.map +1 -0
- package/dist/migration-presets-g4/logto.d.ts +12 -0
- package/dist/migration-presets-g4/logto.js +35 -0
- package/dist/migration-presets-g4/logto.js.map +1 -0
- package/dist/migration-presets-g4/ory.d.ts +2 -0
- package/dist/migration-presets-g4/ory.js +67 -0
- package/dist/migration-presets-g4/ory.js.map +1 -0
- package/dist/migration-presets-g4/supertokens.d.ts +13 -0
- package/dist/migration-presets-g4/supertokens.js +35 -0
- package/dist/migration-presets-g4/supertokens.js.map +1 -0
- package/dist/migration-presets-g4/zitadel.d.ts +2 -0
- package/dist/migration-presets-g4/zitadel.js +36 -0
- package/dist/migration-presets-g4/zitadel.js.map +1 -0
- package/dist/migration-presets-g4.d.ts +10 -0
- package/dist/migration-presets-g4.js +30 -0
- package/dist/migration-presets-g4.js.map +1 -0
- package/dist/migration-presets.d.ts +6 -0
- package/dist/migration-presets.js +102 -6
- package/dist/migration-presets.js.map +1 -1
- package/dist/policy-bundle.d.ts +110 -0
- package/dist/policy-bundle.js +289 -0
- package/dist/policy-bundle.js.map +1 -0
- package/dist/request-auth.d.ts +32 -0
- package/dist/request-auth.js +72 -0
- package/dist/request-auth.js.map +1 -0
- package/dist/uma.d.ts +77 -0
- package/dist/uma.js +95 -0
- package/dist/uma.js.map +1 -0
- package/dist/verify.d.ts +2 -0
- package/dist/verify.js.map +1 -1
- package/dist/workos-session.d.ts +30 -0
- package/dist/workos-session.js +123 -0
- package/dist/workos-session.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.managedGrantsResource = managedGrantsResource;
|
|
4
|
+
/**
|
|
5
|
+
* OpenID Grant Management grants. Backends can read, narrow and revoke what each
|
|
6
|
+
* OAuth client holds for each user. Widening is the user's alone: they authorize
|
|
7
|
+
* again with `grant_management_action=merge`.
|
|
8
|
+
*/
|
|
9
|
+
function managedGrantsResource(request) {
|
|
10
|
+
const path = (id) => `/v1/grant_management/grants/${encodeURIComponent(id)}`;
|
|
11
|
+
return {
|
|
12
|
+
list(query = {}) {
|
|
13
|
+
return request({ method: 'GET', path: '/v1/grant_management/grants', query: { ...query } });
|
|
14
|
+
},
|
|
15
|
+
get(id) {
|
|
16
|
+
return request({ method: 'GET', path: path(id) });
|
|
17
|
+
},
|
|
18
|
+
/** Keep a subset of what the grant holds. A scope or authorization_details entry it does not hold is refused. */
|
|
19
|
+
narrow(id, body) {
|
|
20
|
+
return request({ method: 'PATCH', path: path(id), body });
|
|
21
|
+
},
|
|
22
|
+
/** Revoke the grant and end every token issued under it. */
|
|
23
|
+
revoke(id) {
|
|
24
|
+
return request({ method: 'DELETE', path: path(id) });
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=managed-grants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-grants.js","sourceRoot":"","sources":["../../src/client/managed-grants.ts"],"names":[],"mappings":";;AAoCA,sDAkBC;AAvBD;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,OAAkB;IACtD,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,+BAA+B,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,OAAO;QACL,IAAI,CAAC,QAAgC,EAAE;YACrC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,iHAAiH;QACjH,MAAM,CAAC,EAAU,EAAE,IAA8E;YAC/F,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,4DAA4D;QAC5D,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
import type { DeletedObject } from './types';
|
|
3
|
+
export interface MarketingSettings {
|
|
4
|
+
object: 'marketing_settings';
|
|
5
|
+
capture: {
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
params: string[];
|
|
8
|
+
default_params: string[];
|
|
9
|
+
consent_category: string;
|
|
10
|
+
};
|
|
11
|
+
scripts: {
|
|
12
|
+
ga4_measurement_id: string | null;
|
|
13
|
+
gtm_container_id: string | null;
|
|
14
|
+
hotjar_site_id: number | null;
|
|
15
|
+
consent_category: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface MarketingSettingsInput {
|
|
19
|
+
capture?: {
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
/** Lowercase parameter names; empty = the standard set (utm_*, ad click ids). */
|
|
22
|
+
params?: string[];
|
|
23
|
+
consent_category?: string;
|
|
24
|
+
};
|
|
25
|
+
scripts?: {
|
|
26
|
+
/** `G-XXXXXXXX`, or null to remove. */
|
|
27
|
+
ga4_measurement_id?: string | null;
|
|
28
|
+
/** `GTM-XXXXXXX`, or null to remove. */
|
|
29
|
+
gtm_container_id?: string | null;
|
|
30
|
+
hotjar_site_id?: number | null;
|
|
31
|
+
consent_category?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface MarketingLead {
|
|
35
|
+
id: string;
|
|
36
|
+
email: string;
|
|
37
|
+
name: string | null;
|
|
38
|
+
form: string;
|
|
39
|
+
consent: boolean;
|
|
40
|
+
first_touch: {
|
|
41
|
+
params?: Record<string, string>;
|
|
42
|
+
landing_url?: string | null;
|
|
43
|
+
referrer?: string | null;
|
|
44
|
+
captured_at?: string;
|
|
45
|
+
} | null;
|
|
46
|
+
created_at: number;
|
|
47
|
+
}
|
|
48
|
+
export declare function marketingResource(request: RequestFn): {
|
|
49
|
+
getSettings(): Promise<MarketingSettings>;
|
|
50
|
+
updateSettings(body: MarketingSettingsInput): Promise<MarketingSettings>;
|
|
51
|
+
/** The lead / subscribe form's submissions, newest first. */
|
|
52
|
+
listLeads(params?: {
|
|
53
|
+
limit?: number;
|
|
54
|
+
starting_after?: string;
|
|
55
|
+
form?: string;
|
|
56
|
+
}): Promise<{
|
|
57
|
+
object: "list";
|
|
58
|
+
data: MarketingLead[];
|
|
59
|
+
has_more: boolean;
|
|
60
|
+
next_cursor: string | null;
|
|
61
|
+
}>;
|
|
62
|
+
/** All leads as CSV text (up to 50,000). */
|
|
63
|
+
exportLeadsCsv(params?: {
|
|
64
|
+
form?: string;
|
|
65
|
+
}): Promise<string>;
|
|
66
|
+
deleteLead(id: string): Promise<DeletedObject>;
|
|
67
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.marketingResource = marketingResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
function marketingResource(request) {
|
|
6
|
+
return {
|
|
7
|
+
getSettings() {
|
|
8
|
+
return request({ method: 'GET', path: '/v1/marketing_settings' });
|
|
9
|
+
},
|
|
10
|
+
updateSettings(body) {
|
|
11
|
+
return request({ method: 'PUT', path: '/v1/marketing_settings', body });
|
|
12
|
+
},
|
|
13
|
+
/** The lead / subscribe form's submissions, newest first. */
|
|
14
|
+
listLeads(params = {}) {
|
|
15
|
+
return request({ method: 'GET', path: '/v1/leads', query: { ...params } });
|
|
16
|
+
},
|
|
17
|
+
/** All leads as CSV text (up to 50,000). */
|
|
18
|
+
exportLeadsCsv(params = {}) {
|
|
19
|
+
return request({ method: 'GET', path: '/v1/leads', query: { ...params, format: 'csv' }, raw: true });
|
|
20
|
+
},
|
|
21
|
+
deleteLead(id) {
|
|
22
|
+
return request({ method: 'DELETE', path: `/v1/leads/${(0, request_1.enc)(id)}` });
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=marketing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketing.js","sourceRoot":"","sources":["../../src/client/marketing.ts"],"names":[],"mappings":";;AAoCA,8CAoBC;AAxDD,uCAAgD;AAoChD,SAAgB,iBAAiB,CAAC,OAAkB;IAClD,OAAO;QACL,WAAW;YACT,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,cAAc,CAAC,IAA4B;YACzC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,6DAA6D;QAC7D,SAAS,CAAC,SAAqE,EAAE;YAC/E,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,4CAA4C;QAC5C,cAAc,CAAC,SAA4B,EAAE;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,UAAU,CAAC,EAAU;YACnB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
import type { ListPage } from './types';
|
|
3
|
+
/** Policy for one tool behind an MCP gateway. */
|
|
4
|
+
export interface McpToolPolicy {
|
|
5
|
+
allow?: boolean;
|
|
6
|
+
/** Scopes the agent token must hold. */
|
|
7
|
+
scopes?: string[];
|
|
8
|
+
conditions?: Array<{
|
|
9
|
+
arg: string;
|
|
10
|
+
op: 'eq' | 'neq' | 'lte' | 'gte' | 'in' | 'not_in' | 'present';
|
|
11
|
+
value?: unknown;
|
|
12
|
+
}>;
|
|
13
|
+
/** Hold the call until a human approves an access request. */
|
|
14
|
+
approval?: boolean;
|
|
15
|
+
mask?: {
|
|
16
|
+
fields?: string[];
|
|
17
|
+
presets?: Array<'email' | 'card' | 'ssn' | 'phone'>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** One URL (`url`) in front of your MCP server, with per-tool policy. */
|
|
21
|
+
export interface McpGateway {
|
|
22
|
+
object: 'mcp_gateway';
|
|
23
|
+
id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
upstream_url: string;
|
|
26
|
+
/** The upstream Authorization header is write-only. */
|
|
27
|
+
has_upstream_authorization: boolean;
|
|
28
|
+
default_policy: 'allow' | 'deny';
|
|
29
|
+
tools: Record<string, McpToolPolicy>;
|
|
30
|
+
enabled: boolean;
|
|
31
|
+
/** Authorize every tool call through the ABAC policy engine too. */
|
|
32
|
+
abac: McpGatewayAbac;
|
|
33
|
+
url: string;
|
|
34
|
+
created_at: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Each call is checked as: principal = the agent (type `Agent`: name, tier, owner_user_id,
|
|
38
|
+
* organization_id, scopes, data), action = the tool name, resource = the tool (type `McpTool`:
|
|
39
|
+
* gateway_id, gateway_name, tool, args). With `enabled` and no permitting policy, every call is denied.
|
|
40
|
+
*/
|
|
41
|
+
export interface McpGatewayAbac {
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
/** The policies consulted; empty means every enabled policy. */
|
|
44
|
+
policy_ids: string[];
|
|
45
|
+
}
|
|
46
|
+
/** A ceiling across calls: calls, cost units, or calls per window, per agent or per session. */
|
|
47
|
+
export interface McpBudget {
|
|
48
|
+
object: 'mcp_budget';
|
|
49
|
+
id: string;
|
|
50
|
+
gateway_id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
/** `agent`: each agent counts apart. `session`: each session (the Mcp-Session-Id an initialize returns). */
|
|
53
|
+
scope: 'agent' | 'session';
|
|
54
|
+
agent_id: string | null;
|
|
55
|
+
tool: string | null;
|
|
56
|
+
metric: 'calls' | 'cost' | 'rate';
|
|
57
|
+
limit: number;
|
|
58
|
+
/** Fixed windows; null never resets. */
|
|
59
|
+
window_seconds: number | null;
|
|
60
|
+
cost_per_call: number;
|
|
61
|
+
/** A dot path to a number in the call arguments that is the cost of the call. */
|
|
62
|
+
cost_arg: string | null;
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
created_at: number;
|
|
65
|
+
}
|
|
66
|
+
export interface CreateMcpBudgetBody {
|
|
67
|
+
name: string;
|
|
68
|
+
metric: 'calls' | 'cost' | 'rate';
|
|
69
|
+
limit: number;
|
|
70
|
+
scope?: 'agent' | 'session';
|
|
71
|
+
/** Required for `rate`. */
|
|
72
|
+
window_seconds?: number | null;
|
|
73
|
+
agent_id?: string | null;
|
|
74
|
+
tool?: string | null;
|
|
75
|
+
cost_per_call?: number;
|
|
76
|
+
cost_arg?: string | null;
|
|
77
|
+
enabled?: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface McpBudgetUsage {
|
|
80
|
+
object: 'mcp_budget_usage';
|
|
81
|
+
budget_id: string;
|
|
82
|
+
agent_id: string;
|
|
83
|
+
used: number;
|
|
84
|
+
limit: number;
|
|
85
|
+
remaining: number;
|
|
86
|
+
resets_at: number | null;
|
|
87
|
+
}
|
|
88
|
+
export interface CreateMcpGatewayBody {
|
|
89
|
+
name: string;
|
|
90
|
+
upstream_url: string;
|
|
91
|
+
upstream_authorization?: string;
|
|
92
|
+
default_policy?: 'allow' | 'deny';
|
|
93
|
+
tools?: Record<string, McpToolPolicy>;
|
|
94
|
+
enabled?: boolean;
|
|
95
|
+
abac?: Partial<McpGatewayAbac>;
|
|
96
|
+
}
|
|
97
|
+
export type UpdateMcpGatewayBody = Partial<CreateMcpGatewayBody>;
|
|
98
|
+
export declare function mcpGatewaysResource(request: RequestFn): {
|
|
99
|
+
list(): Promise<ListPage<McpGateway>>;
|
|
100
|
+
create(body: CreateMcpGatewayBody, idempotencyKey?: string): Promise<McpGateway>;
|
|
101
|
+
get(id: string): Promise<McpGateway>;
|
|
102
|
+
/** `tools` is replaced as a whole. */
|
|
103
|
+
update(id: string, body: UpdateMcpGatewayBody): Promise<McpGateway>;
|
|
104
|
+
delete(id: string): Promise<{
|
|
105
|
+
object: "mcp_gateway";
|
|
106
|
+
id: string;
|
|
107
|
+
deleted: true;
|
|
108
|
+
}>;
|
|
109
|
+
/** Cross-call budgets of one gateway. */
|
|
110
|
+
budgets: {
|
|
111
|
+
list(gatewayId: string): Promise<ListPage<McpBudget>>;
|
|
112
|
+
create(gatewayId: string, body: CreateMcpBudgetBody): Promise<McpBudget>;
|
|
113
|
+
get(gatewayId: string, budgetId: string): Promise<McpBudget>;
|
|
114
|
+
update(gatewayId: string, budgetId: string, body: Partial<CreateMcpBudgetBody>): Promise<McpBudget>;
|
|
115
|
+
delete(gatewayId: string, budgetId: string): Promise<{
|
|
116
|
+
object: "mcp_budget";
|
|
117
|
+
id: string;
|
|
118
|
+
deleted: true;
|
|
119
|
+
}>;
|
|
120
|
+
/** What an agent (and, for a per-session budget, one session) has used of the budget now. */
|
|
121
|
+
usage(gatewayId: string, budgetId: string, query?: {
|
|
122
|
+
agent_id?: string;
|
|
123
|
+
session_id?: string;
|
|
124
|
+
}): Promise<McpBudgetUsage>;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mcpGatewaysResource = mcpGatewaysResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
function mcpGatewaysResource(request) {
|
|
6
|
+
return {
|
|
7
|
+
list() {
|
|
8
|
+
return request({ method: 'GET', path: '/v1/mcp_gateways' });
|
|
9
|
+
},
|
|
10
|
+
create(body, idempotencyKey) {
|
|
11
|
+
return request({ method: 'POST', path: '/v1/mcp_gateways', body, idempotencyKey });
|
|
12
|
+
},
|
|
13
|
+
get(id) {
|
|
14
|
+
return request({ method: 'GET', path: `/v1/mcp_gateways/${(0, request_1.enc)(id)}` });
|
|
15
|
+
},
|
|
16
|
+
/** `tools` is replaced as a whole. */
|
|
17
|
+
update(id, body) {
|
|
18
|
+
return request({ method: 'PATCH', path: `/v1/mcp_gateways/${(0, request_1.enc)(id)}`, body });
|
|
19
|
+
},
|
|
20
|
+
delete(id) {
|
|
21
|
+
return request({ method: 'DELETE', path: `/v1/mcp_gateways/${(0, request_1.enc)(id)}` });
|
|
22
|
+
},
|
|
23
|
+
/** Cross-call budgets of one gateway. */
|
|
24
|
+
budgets: {
|
|
25
|
+
list(gatewayId) {
|
|
26
|
+
return request({ method: 'GET', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets` });
|
|
27
|
+
},
|
|
28
|
+
create(gatewayId, body) {
|
|
29
|
+
return request({ method: 'POST', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets`, body });
|
|
30
|
+
},
|
|
31
|
+
get(gatewayId, budgetId) {
|
|
32
|
+
return request({ method: 'GET', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets/${(0, request_1.enc)(budgetId)}` });
|
|
33
|
+
},
|
|
34
|
+
update(gatewayId, budgetId, body) {
|
|
35
|
+
return request({ method: 'PATCH', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets/${(0, request_1.enc)(budgetId)}`, body });
|
|
36
|
+
},
|
|
37
|
+
delete(gatewayId, budgetId) {
|
|
38
|
+
return request({ method: 'DELETE', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets/${(0, request_1.enc)(budgetId)}` });
|
|
39
|
+
},
|
|
40
|
+
/** What an agent (and, for a per-session budget, one session) has used of the budget now. */
|
|
41
|
+
usage(gatewayId, budgetId, query = {}) {
|
|
42
|
+
return request({ method: 'GET', path: `/v1/mcp_gateways/${(0, request_1.enc)(gatewayId)}/budgets/${(0, request_1.enc)(budgetId)}/usage`, query: { ...query } });
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=mcp-gateways.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-gateways.js","sourceRoot":"","sources":["../../src/client/mcp-gateways.ts"],"names":[],"mappings":";;AAmGA,kDAyCC;AA5ID,uCAAgD;AAmGhD,SAAgB,mBAAmB,CAAC,OAAkB;IACpD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,sCAAsC;QACtC,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,yCAAyC;QACzC,OAAO,EAAE;YACP,IAAI,CAAC,SAAiB;gBACpB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,CAAC,SAAiB,EAAE,IAAyB;gBACjD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,GAAG,CAAC,SAAiB,EAAE,QAAgB;gBACrC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,CAAC,SAAiB,EAAE,QAAgB,EAAE,IAAkC;gBAC5E,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACjH,CAAC;YACD,MAAM,CAAC,SAAiB,EAAE,QAAgB;gBACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5G,CAAC;YACD,6FAA6F;YAC7F,KAAK,CAAC,SAAiB,EAAE,QAAgB,EAAE,QAAoD,EAAE;gBAC/F,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,SAAS,CAAC,YAAY,IAAA,aAAG,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;YACpI,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -18,9 +18,9 @@ import { type RequestFn } from './request';
|
|
|
18
18
|
* stored secret) stays. So a from-address change need not re-enter the API key.
|
|
19
19
|
*/
|
|
20
20
|
/** Email transports accepted by `PUT /v1/messaging_providers/email`. */
|
|
21
|
-
export type EmailTransport = 'resend' | 'ses' | 'smtp' | 'brevo' | 'mailgun';
|
|
21
|
+
export type EmailTransport = 'resend' | 'ses' | 'smtp' | 'brevo' | 'mailgun' | 'webhook';
|
|
22
22
|
/** SMS transports accepted by `PUT /v1/messaging_providers/sms`. */
|
|
23
|
-
export type SmsTransport = 'twilio' | 'vonage' | 'messagebird' | 'plivo' | 'telnyx' | 'sinch' | 'infobip' | 'clicksend' | 'bandwidth' | 'aws_sns';
|
|
23
|
+
export type SmsTransport = 'twilio' | 'vonage' | 'messagebird' | 'plivo' | 'telnyx' | 'sinch' | 'infobip' | 'clicksend' | 'bandwidth' | 'aws_sns' | 'webhook';
|
|
24
24
|
export type MessagingTransport = EmailTransport | SmsTransport;
|
|
25
25
|
/** Sender number or ID for an SMS provider. `from_address` on the request takes precedence. */
|
|
26
26
|
interface SmsFrom {
|
|
@@ -150,6 +150,15 @@ export interface AwsSnsConfig extends SmsFrom {
|
|
|
150
150
|
/** STS session token, only for temporary credentials. Write-only: never returned. */
|
|
151
151
|
session_token?: string;
|
|
152
152
|
}
|
|
153
|
+
/** Your own delivery endpoint: Atlas POSTs each message, Standard Webhooks signed. */
|
|
154
|
+
export interface WebhookConfig {
|
|
155
|
+
/** Your HTTPS endpoint (port 443). Required on first setup. */
|
|
156
|
+
url: string;
|
|
157
|
+
/** Signing secret (`whsec_…` base64 or any string). Required on first setup. Write-only: never returned. */
|
|
158
|
+
signing_secret: string;
|
|
159
|
+
/** Email only. `rendered` (default) sends the final subject/text/html; `raw` sends the template name and variables. */
|
|
160
|
+
payload?: 'rendered' | 'raw';
|
|
161
|
+
}
|
|
153
162
|
/** The `config` shape for each transport, keyed by transport. */
|
|
154
163
|
export interface MessagingTransportConfigs {
|
|
155
164
|
resend: ResendConfig;
|
|
@@ -167,6 +176,7 @@ export interface MessagingTransportConfigs {
|
|
|
167
176
|
clicksend: ClicksendConfig;
|
|
168
177
|
bandwidth: BandwidthConfig;
|
|
169
178
|
aws_sns: AwsSnsConfig;
|
|
179
|
+
webhook: WebhookConfig;
|
|
170
180
|
}
|
|
171
181
|
/** The write-only (secret) keys of each transport — never present in a response. */
|
|
172
182
|
export interface MessagingSecretKeys {
|
|
@@ -185,6 +195,7 @@ export interface MessagingSecretKeys {
|
|
|
185
195
|
clicksend: 'api_key';
|
|
186
196
|
bandwidth: 'password';
|
|
187
197
|
aws_sns: 'secret_access_key' | 'session_token';
|
|
198
|
+
webhook: 'signing_secret';
|
|
188
199
|
}
|
|
189
200
|
interface ProviderBodyBase<T extends MessagingTransport> {
|
|
190
201
|
transport: T;
|
|
@@ -413,7 +424,7 @@ export type EnableDevelopmentEmailBody = {
|
|
|
413
424
|
provider_id: string;
|
|
414
425
|
from_address?: string;
|
|
415
426
|
} | {
|
|
416
|
-
transport: 'resend' | 'ses' | 'smtp' | 'brevo' | 'mailgun';
|
|
427
|
+
transport: 'resend' | 'ses' | 'smtp' | 'brevo' | 'mailgun' | 'webhook';
|
|
417
428
|
config?: Record<string, string>;
|
|
418
429
|
from_address?: string;
|
|
419
430
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/client/messaging.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/client/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
/** An existing second factor to import with a user (`atlas.users.create({ mfa })`). */
|
|
3
|
+
export interface ImportedMfa {
|
|
4
|
+
/** An authenticator-app secret. SHA1, SHA256 or SHA512; 6 or 8 digits; 30 or 60 second step. */
|
|
5
|
+
totp?: {
|
|
6
|
+
secret_base32: string;
|
|
7
|
+
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
|
|
8
|
+
digits?: 6 | 8;
|
|
9
|
+
period?: 30 | 60;
|
|
10
|
+
verified_at?: number | string;
|
|
11
|
+
};
|
|
12
|
+
/** A counter-based (HOTP) token. Give `totp` or `hotp`, not both. */
|
|
13
|
+
hotp?: {
|
|
14
|
+
secret_base32: string;
|
|
15
|
+
algorithm?: 'SHA1' | 'SHA256' | 'SHA512';
|
|
16
|
+
digits?: 6 | 8;
|
|
17
|
+
/** The next counter the token will produce. Default 0. */
|
|
18
|
+
counter?: number;
|
|
19
|
+
verified_at?: number | string;
|
|
20
|
+
};
|
|
21
|
+
/** Plaintext recovery codes; they are hashed on import. */
|
|
22
|
+
backup_codes?: string[];
|
|
23
|
+
}
|
|
24
|
+
export type SmartCardMappingKind = 'san_email' | 'san_upn' | 'subject_cn' | 'serial' | 'fingerprint';
|
|
25
|
+
export interface Yubikey {
|
|
26
|
+
object: 'yubikey';
|
|
27
|
+
id: string;
|
|
28
|
+
public_id: string;
|
|
29
|
+
label: string | null;
|
|
30
|
+
user_id: string | null;
|
|
31
|
+
has_private_id: boolean;
|
|
32
|
+
last_counter: number | null;
|
|
33
|
+
created_at: number;
|
|
34
|
+
}
|
|
35
|
+
export interface SmartCardMapping {
|
|
36
|
+
object: 'smartcard_mapping';
|
|
37
|
+
id: string;
|
|
38
|
+
user_id: string;
|
|
39
|
+
kind: SmartCardMappingKind;
|
|
40
|
+
value: string;
|
|
41
|
+
label: string | null;
|
|
42
|
+
last_used_at: number | null;
|
|
43
|
+
created_at: number;
|
|
44
|
+
}
|
|
45
|
+
type SecretSet<T extends string> = {
|
|
46
|
+
object: T;
|
|
47
|
+
set: true;
|
|
48
|
+
};
|
|
49
|
+
type SecretDeleted<T extends string> = {
|
|
50
|
+
object: T;
|
|
51
|
+
deleted: true;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* The additional authentication factors: the write-only BYOK secrets (Yubico cloud, Duo, the
|
|
55
|
+
* smart card proxy), the self-held Yubico OTP key registry, smart card certificate mappings and
|
|
56
|
+
* the admin reset for security questions. Turn the factors on in the auth config (`mfa.factors`,
|
|
57
|
+
* `mfa.hotp`, `mfa.yubikey`, `mfa.duo`, `mfa.smartCard`, `mfa.securityQuestions`).
|
|
58
|
+
*/
|
|
59
|
+
export declare function mfaFactorsResource(request: RequestFn): {
|
|
60
|
+
/** Store the Yubico cloud API secret key (base64). Write-only. */
|
|
61
|
+
setYubicoSecret(secret: string): Promise<SecretSet<"yubico_secret">>;
|
|
62
|
+
removeYubicoSecret(): Promise<SecretDeleted<"yubico_secret">>;
|
|
63
|
+
/** Store the Duo client secret. Write-only. */
|
|
64
|
+
setDuoSecret(secret: string): Promise<SecretSet<"duo_secret">>;
|
|
65
|
+
removeDuoSecret(): Promise<SecretDeleted<"duo_secret">>;
|
|
66
|
+
/** Ask Duo whether the configured integration key, stored secret and API host are accepted. */
|
|
67
|
+
duoHealthCheck(): Promise<{
|
|
68
|
+
object: "duo_health_check";
|
|
69
|
+
ok: boolean;
|
|
70
|
+
message: string;
|
|
71
|
+
}>;
|
|
72
|
+
/** Store the shared secret your TLS proxy sends so Atlas trusts its certificate headers. Write-only. */
|
|
73
|
+
setSmartCardSecret(secret: string): Promise<SecretSet<"smart_card_secret">>;
|
|
74
|
+
removeSmartCardSecret(): Promise<SecretDeleted<"smart_card_secret">>;
|
|
75
|
+
yubikeys: {
|
|
76
|
+
/** Registered self-held YubiKeys. The AES keys are never returned. */
|
|
77
|
+
list(): Promise<{
|
|
78
|
+
object: "list";
|
|
79
|
+
data: Yubikey[];
|
|
80
|
+
}>;
|
|
81
|
+
/** Register a YubiKey's AES key for self-held Yubico OTP. `userId` assigns it; otherwise the first user to enrol it claims it. */
|
|
82
|
+
register(body: {
|
|
83
|
+
publicId: string;
|
|
84
|
+
aesKey: string;
|
|
85
|
+
privateId?: string;
|
|
86
|
+
label?: string;
|
|
87
|
+
userId?: string;
|
|
88
|
+
}): Promise<Yubikey>;
|
|
89
|
+
remove(id: string): Promise<{
|
|
90
|
+
object: "yubikey";
|
|
91
|
+
id: string;
|
|
92
|
+
deleted: true;
|
|
93
|
+
}>;
|
|
94
|
+
};
|
|
95
|
+
smartCardMappings: {
|
|
96
|
+
list(userId: string): Promise<{
|
|
97
|
+
object: "list";
|
|
98
|
+
data: SmartCardMapping[];
|
|
99
|
+
}>;
|
|
100
|
+
/** Pre-register the certificate attribute that signs a user in. A `serial` needs the certificate's `issuer` DN. */
|
|
101
|
+
add(userId: string, body: {
|
|
102
|
+
kind: SmartCardMappingKind;
|
|
103
|
+
value: string;
|
|
104
|
+
issuer?: string;
|
|
105
|
+
label?: string;
|
|
106
|
+
}): Promise<SmartCardMapping>;
|
|
107
|
+
remove(userId: string, mappingId: string): Promise<{
|
|
108
|
+
object: "smartcard_mapping";
|
|
109
|
+
id: string;
|
|
110
|
+
deleted: true;
|
|
111
|
+
}>;
|
|
112
|
+
};
|
|
113
|
+
/** Clear a user's security-question answers (and any lockout). */
|
|
114
|
+
resetSecurityQuestions(userId: string): Promise<{
|
|
115
|
+
object: "security_questions";
|
|
116
|
+
user_id: string;
|
|
117
|
+
deleted: boolean;
|
|
118
|
+
}>;
|
|
119
|
+
};
|
|
120
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mfaFactorsResource = mfaFactorsResource;
|
|
4
|
+
const request_1 = require("./request");
|
|
5
|
+
/**
|
|
6
|
+
* The additional authentication factors: the write-only BYOK secrets (Yubico cloud, Duo, the
|
|
7
|
+
* smart card proxy), the self-held Yubico OTP key registry, smart card certificate mappings and
|
|
8
|
+
* the admin reset for security questions. Turn the factors on in the auth config (`mfa.factors`,
|
|
9
|
+
* `mfa.hotp`, `mfa.yubikey`, `mfa.duo`, `mfa.smartCard`, `mfa.securityQuestions`).
|
|
10
|
+
*/
|
|
11
|
+
function mfaFactorsResource(request) {
|
|
12
|
+
return {
|
|
13
|
+
/** Store the Yubico cloud API secret key (base64). Write-only. */
|
|
14
|
+
setYubicoSecret(secret) {
|
|
15
|
+
return request({ method: 'PUT', path: '/v1/instance/yubico_secret', body: { secret } });
|
|
16
|
+
},
|
|
17
|
+
removeYubicoSecret() {
|
|
18
|
+
return request({ method: 'DELETE', path: '/v1/instance/yubico_secret' });
|
|
19
|
+
},
|
|
20
|
+
/** Store the Duo client secret. Write-only. */
|
|
21
|
+
setDuoSecret(secret) {
|
|
22
|
+
return request({ method: 'PUT', path: '/v1/instance/duo_secret', body: { secret } });
|
|
23
|
+
},
|
|
24
|
+
removeDuoSecret() {
|
|
25
|
+
return request({ method: 'DELETE', path: '/v1/instance/duo_secret' });
|
|
26
|
+
},
|
|
27
|
+
/** Ask Duo whether the configured integration key, stored secret and API host are accepted. */
|
|
28
|
+
duoHealthCheck() {
|
|
29
|
+
return request({ method: 'POST', path: '/v1/instance/duo_health_check' });
|
|
30
|
+
},
|
|
31
|
+
/** Store the shared secret your TLS proxy sends so Atlas trusts its certificate headers. Write-only. */
|
|
32
|
+
setSmartCardSecret(secret) {
|
|
33
|
+
return request({ method: 'PUT', path: '/v1/instance/smart_card_secret', body: { secret } });
|
|
34
|
+
},
|
|
35
|
+
removeSmartCardSecret() {
|
|
36
|
+
return request({ method: 'DELETE', path: '/v1/instance/smart_card_secret' });
|
|
37
|
+
},
|
|
38
|
+
yubikeys: {
|
|
39
|
+
/** Registered self-held YubiKeys. The AES keys are never returned. */
|
|
40
|
+
list() {
|
|
41
|
+
return request({ method: 'GET', path: '/v1/yubikeys' });
|
|
42
|
+
},
|
|
43
|
+
/** Register a YubiKey's AES key for self-held Yubico OTP. `userId` assigns it; otherwise the first user to enrol it claims it. */
|
|
44
|
+
register(body) {
|
|
45
|
+
return request({
|
|
46
|
+
method: 'POST',
|
|
47
|
+
path: '/v1/yubikeys',
|
|
48
|
+
body: { public_id: body.publicId, aes_key: body.aesKey, private_id: body.privateId, label: body.label, user_id: body.userId },
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
remove(id) {
|
|
52
|
+
return request({ method: 'DELETE', path: `/v1/yubikeys/${(0, request_1.enc)(id)}` });
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
smartCardMappings: {
|
|
56
|
+
list(userId) {
|
|
57
|
+
return request({ method: 'GET', path: `/v1/users/${(0, request_1.enc)(userId)}/smartcard_mappings` });
|
|
58
|
+
},
|
|
59
|
+
/** Pre-register the certificate attribute that signs a user in. A `serial` needs the certificate's `issuer` DN. */
|
|
60
|
+
add(userId, body) {
|
|
61
|
+
return request({ method: 'POST', path: `/v1/users/${(0, request_1.enc)(userId)}/smartcard_mappings`, body });
|
|
62
|
+
},
|
|
63
|
+
remove(userId, mappingId) {
|
|
64
|
+
return request({ method: 'DELETE', path: `/v1/users/${(0, request_1.enc)(userId)}/smartcard_mappings/${(0, request_1.enc)(mappingId)}` });
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
/** Clear a user's security-question answers (and any lockout). */
|
|
68
|
+
resetSecurityQuestions(userId) {
|
|
69
|
+
return request({ method: 'DELETE', path: `/v1/users/${(0, request_1.enc)(userId)}/security_questions` });
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=mfa-factors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfa-factors.js","sourceRoot":"","sources":["../../src/client/mfa-factors.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import type { CursorPage, CursorParams } from './types';
|
|
|
14
14
|
* (a vendor JWT preset, or imported sessions).
|
|
15
15
|
* sources `/v1/migrations/sources` — what each source supports.
|
|
16
16
|
*/
|
|
17
|
-
export type MigrationSourceId = 'better_auth' | 'auth0' | 'clerk' | 'cognito' | 'firebase' | 'supabase' | 'workos' | 'authjs' | 'okta' | 'stytch' | 'keycloak' | 'fusionauth' | 'kinde' | 'descope' | 'lucia' | 'ory' | 'frontegg' | 'custom';
|
|
17
|
+
export type MigrationSourceId = 'better_auth' | 'auth0' | 'clerk' | 'cognito' | 'firebase' | 'supabase' | 'workos' | 'authjs' | 'okta' | 'stytch' | 'keycloak' | 'fusionauth' | 'kinde' | 'descope' | 'lucia' | 'ory' | 'frontegg' | 'propelauth' | 'magic' | 'userfront' | 'corbado' | 'custom';
|
|
18
18
|
export type MigrationImportStatus = 'uploading' | 'analyzing' | 'ready' | 'invalid' | 'queued' | 'applying' | 'completed' | 'failed';
|
|
19
19
|
export interface MigrationImportKey {
|
|
20
20
|
object: 'migration_import_key';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/client/migrations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/client/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export interface NetworkAcl {
|
|
|
12
12
|
action: NetworkAclAction;
|
|
13
13
|
/** A single IP or CIDR range; refused at write time if malformed. */
|
|
14
14
|
cidr: string;
|
|
15
|
+
/** The network zone this rule matches instead of `cidr`. */
|
|
16
|
+
zone_id: string | null;
|
|
15
17
|
description: string | null;
|
|
16
18
|
priority: number;
|
|
17
19
|
enabled: boolean;
|
|
@@ -20,7 +22,9 @@ export interface NetworkAcl {
|
|
|
20
22
|
}
|
|
21
23
|
export interface CreateNetworkAclBody {
|
|
22
24
|
action: NetworkAclAction;
|
|
23
|
-
|
|
25
|
+
/** A CIDR or address — or send `zone_id` instead (one of the two). */
|
|
26
|
+
cidr?: string;
|
|
27
|
+
zone_id?: string;
|
|
24
28
|
description?: string | null;
|
|
25
29
|
priority?: number;
|
|
26
30
|
enabled?: boolean;
|
|
@@ -28,6 +32,7 @@ export interface CreateNetworkAclBody {
|
|
|
28
32
|
export interface UpdateNetworkAclBody {
|
|
29
33
|
action?: NetworkAclAction;
|
|
30
34
|
cidr?: string;
|
|
35
|
+
zone_id?: string | null;
|
|
31
36
|
description?: string | null;
|
|
32
37
|
priority?: number;
|
|
33
38
|
enabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-acls.js","sourceRoot":"","sources":["../../src/client/network-acls.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"network-acls.js","sourceRoot":"","sources":["../../src/client/network-acls.ts"],"names":[],"mappings":";;AAgDA,kDAmBC;AAnED,uCAAgD;AA4ChD;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAkB;IACpD,OAAO;QACL,qDAAqD;QACrD,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC;AACJ,CAAC"}
|