@atlasauth/backend 0.26.0 → 0.27.1
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 +16 -0
- package/dist/botid.js +3 -3
- package/dist/botid.js.map +1 -1
- package/dist/client/abac.d.ts +65 -0
- package/dist/client/abac.js +25 -0
- package/dist/client/abac.js.map +1 -1
- package/dist/client/access-policies.d.ts +84 -2
- package/dist/client/access-policies.js +8 -0
- package/dist/client/access-policies.js.map +1 -1
- package/dist/client/actions.d.ts +1 -1
- package/dist/client/actions.js.map +1 -1
- package/dist/client/agent-platform.d.ts +294 -0
- package/dist/client/agent-platform.js +132 -0
- package/dist/client/agent-platform.js.map +1 -0
- package/dist/client/app-catalog.d.ts +60 -1
- package/dist/client/app-catalog.js +32 -2
- package/dist/client/app-catalog.js.map +1 -1
- package/dist/client/authz-decisions.d.ts +46 -0
- package/dist/client/authz-decisions.js +13 -0
- package/dist/client/authz-decisions.js.map +1 -1
- package/dist/client/connections.d.ts +12 -0
- package/dist/client/connections.js +7 -0
- package/dist/client/connections.js.map +1 -1
- package/dist/client/desktop-mfa.d.ts +37 -0
- package/dist/client/desktop-mfa.js +14 -0
- package/dist/client/desktop-mfa.js.map +1 -1
- package/dist/client/devices.d.ts +130 -0
- package/dist/client/devices.js +54 -0
- package/dist/client/devices.js.map +1 -1
- package/dist/client/email-templates.d.ts +1 -1
- package/dist/client/email-templates.js.map +1 -1
- package/dist/client/fga.d.ts +176 -1
- package/dist/client/fga.js +41 -1
- package/dist/client/fga.js.map +1 -1
- package/dist/client/index.d.ts +3782 -2946
- package/dist/client/index.js +28 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/log-streams.d.ts +1 -1
- package/dist/client/mcp-gateways.d.ts +148 -2
- package/dist/client/mcp-gateways.js +52 -0
- package/dist/client/mcp-gateways.js.map +1 -1
- package/dist/client/messaging.d.ts +11 -2
- package/dist/client/messaging.js.map +1 -1
- package/dist/client/oauth-protocols.d.ts +116 -0
- package/dist/client/oauth-protocols.js +54 -0
- package/dist/client/oauth-protocols.js.map +1 -0
- package/dist/client/oauth-providers.d.ts +4 -4
- package/dist/client/org-ldap-connections.d.ts +3 -0
- package/dist/client/org-ldap-connections.js.map +1 -1
- package/dist/client/organizations.d.ts +14 -0
- package/dist/client/organizations.js.map +1 -1
- package/dist/client/risk-containment.d.ts +244 -0
- package/dist/client/risk-containment.js +120 -0
- package/dist/client/risk-containment.js.map +1 -0
- package/dist/client/saml-idp.d.ts +183 -0
- package/dist/client/saml-idp.js +71 -0
- package/dist/client/saml-idp.js.map +1 -0
- package/dist/client/scim-provisioning.d.ts +100 -4
- package/dist/client/scim-provisioning.js +30 -0
- package/dist/client/scim-provisioning.js.map +1 -1
- package/dist/client/scim-tokens.d.ts +34 -0
- package/dist/client/scim-tokens.js +17 -0
- package/dist/client/scim-tokens.js.map +1 -1
- package/dist/client/service-connectors.d.ts +1 -1
- package/dist/client/ssf.d.ts +29 -0
- package/dist/client/ssf.js +17 -0
- package/dist/client/ssf.js.map +1 -1
- package/dist/client/users.d.ts +9 -0
- package/dist/client/users.js +9 -0
- package/dist/client/users.js.map +1 -1
- package/dist/client/vault.d.ts +54 -0
- package/dist/client/vault.js +30 -0
- package/dist/client/vault.js.map +1 -1
- package/dist/client/vc.d.ts +54 -2
- package/dist/client/vc.js +15 -0
- package/dist/client/vc.js.map +1 -1
- package/dist/client/workflows.d.ts +182 -3
- package/dist/client/workflows.js +34 -0
- package/dist/client/workflows.js.map +1 -1
- package/dist/edge-crypto.d.ts +13 -0
- package/dist/edge-crypto.js +46 -0
- package/dist/edge-crypto.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/oauth-resource.d.ts +30 -3
- package/dist/oauth-resource.js +43 -2
- package/dist/oauth-resource.js.map +1 -1
- package/dist/policy-source.js +4 -4
- package/dist/policy-source.js.map +1 -1
- package/dist/referral-test-calls.js +8 -8
- package/dist/referral-test-calls.js.map +1 -1
- package/dist/txn-token.d.ts +36 -0
- package/dist/txn-token.js +30 -0
- package/dist/txn-token.js.map +1 -0
- package/dist/webhooks.js +5 -5
- package/dist/webhooks.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { type RequestFn } from './request';
|
|
2
|
+
import type { ListPage } from './types';
|
|
3
|
+
/** An action over a connection: a typed provider operation. */
|
|
4
|
+
export interface ConnectionAction {
|
|
5
|
+
object: 'connection_action';
|
|
6
|
+
provider: string;
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
input_schema: Record<string, unknown>;
|
|
10
|
+
method: string;
|
|
11
|
+
mutating: boolean;
|
|
12
|
+
scopes: string[];
|
|
13
|
+
source: 'first_party' | 'custom';
|
|
14
|
+
}
|
|
15
|
+
export interface ConnectionActionResult {
|
|
16
|
+
object: 'connection_action_result';
|
|
17
|
+
action: string;
|
|
18
|
+
connection_id: string;
|
|
19
|
+
ok: boolean;
|
|
20
|
+
status: number | null;
|
|
21
|
+
data: unknown;
|
|
22
|
+
error: string | null;
|
|
23
|
+
truncated: boolean;
|
|
24
|
+
attempts: number;
|
|
25
|
+
dry_run?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
/** A custom action definition: data only (input schema, request template, response mapping). */
|
|
28
|
+
export interface ConnectionActionDefinition {
|
|
29
|
+
description: string;
|
|
30
|
+
input?: Record<string, unknown>;
|
|
31
|
+
request: {
|
|
32
|
+
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
33
|
+
base_url: string;
|
|
34
|
+
path: string;
|
|
35
|
+
query?: Record<string, string>;
|
|
36
|
+
body?: unknown;
|
|
37
|
+
headers?: Record<string, string>;
|
|
38
|
+
};
|
|
39
|
+
response?: {
|
|
40
|
+
path?: string;
|
|
41
|
+
ok_field?: string;
|
|
42
|
+
error_field?: string;
|
|
43
|
+
};
|
|
44
|
+
scopes?: string[];
|
|
45
|
+
paginate?: Record<string, unknown>;
|
|
46
|
+
mutating?: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface ConnectionTrigger {
|
|
49
|
+
object: 'connection_trigger';
|
|
50
|
+
id: string;
|
|
51
|
+
connection_id: string;
|
|
52
|
+
event: string;
|
|
53
|
+
mode: 'webhook' | 'poll';
|
|
54
|
+
filter: Record<string, string>;
|
|
55
|
+
target_url: string | null;
|
|
56
|
+
status: 'active' | 'paused' | 'failed';
|
|
57
|
+
provider_registered: boolean;
|
|
58
|
+
ingress_url: string | null;
|
|
59
|
+
poll: Record<string, unknown> | null;
|
|
60
|
+
next_poll_at: number | null;
|
|
61
|
+
last_error: string | null;
|
|
62
|
+
last_fired_at: number | null;
|
|
63
|
+
fired_count: number;
|
|
64
|
+
/** Shown once on creation of a webhook trigger. */
|
|
65
|
+
forward_secret?: string;
|
|
66
|
+
created_at: number;
|
|
67
|
+
}
|
|
68
|
+
export interface CreateConnectionTriggerBody {
|
|
69
|
+
event: string;
|
|
70
|
+
mode?: 'webhook' | 'poll';
|
|
71
|
+
filter?: Record<string, string>;
|
|
72
|
+
target_url?: string;
|
|
73
|
+
scheme?: string;
|
|
74
|
+
signing_secret?: string;
|
|
75
|
+
options?: Record<string, string>;
|
|
76
|
+
poll?: {
|
|
77
|
+
action: string;
|
|
78
|
+
input?: Record<string, unknown>;
|
|
79
|
+
items_path?: string;
|
|
80
|
+
id_field: string;
|
|
81
|
+
interval_seconds?: number;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Typed actions over connections, provider event triggers, scoped relay tokens and usage records. */
|
|
85
|
+
export declare function connectionActionsResource(request: RequestFn): {
|
|
86
|
+
catalog: {
|
|
87
|
+
list(query?: {
|
|
88
|
+
provider?: string;
|
|
89
|
+
}): Promise<ListPage<ConnectionAction>>;
|
|
90
|
+
get(provider: string, name: string): Promise<ConnectionAction>;
|
|
91
|
+
/** Define or replace a custom action (data, never code). */
|
|
92
|
+
define(provider: string, name: string, body: ConnectionActionDefinition): Promise<ConnectionAction>;
|
|
93
|
+
delete(provider: string, name: string): Promise<void>;
|
|
94
|
+
};
|
|
95
|
+
/** The actions available on one connection. */
|
|
96
|
+
list(connectionId: string): Promise<ListPage<ConnectionAction>>;
|
|
97
|
+
run(connectionId: string, name: string, body?: {
|
|
98
|
+
input?: Record<string, unknown>;
|
|
99
|
+
dry_run?: boolean;
|
|
100
|
+
all_pages?: boolean;
|
|
101
|
+
redirect_url?: string;
|
|
102
|
+
connect_user_id?: string;
|
|
103
|
+
}): Promise<ConnectionActionResult>;
|
|
104
|
+
triggers: {
|
|
105
|
+
list(connectionId: string): Promise<ListPage<ConnectionTrigger>>;
|
|
106
|
+
create(connectionId: string, body: CreateConnectionTriggerBody): Promise<ConnectionTrigger>;
|
|
107
|
+
get(connectionId: string, triggerId: string): Promise<ConnectionTrigger>;
|
|
108
|
+
setStatus(connectionId: string, triggerId: string, status: "active" | "paused"): Promise<ConnectionTrigger>;
|
|
109
|
+
delete(connectionId: string, triggerId: string): Promise<{
|
|
110
|
+
object: "connection_trigger";
|
|
111
|
+
id: string;
|
|
112
|
+
deleted: true;
|
|
113
|
+
provider_unregistered: boolean | null;
|
|
114
|
+
}>;
|
|
115
|
+
};
|
|
116
|
+
/** A signed credential for one connection that only works through the relay, for listed methods and URL prefixes. */
|
|
117
|
+
mintScopedToken(connectionId: string, body: {
|
|
118
|
+
url_prefixes: string[];
|
|
119
|
+
methods?: string[];
|
|
120
|
+
ttl_seconds?: number;
|
|
121
|
+
}): Promise<{
|
|
122
|
+
object: "connection_scoped_token";
|
|
123
|
+
connection_id: string;
|
|
124
|
+
token: string;
|
|
125
|
+
expires_at: number;
|
|
126
|
+
methods: string[];
|
|
127
|
+
url_prefixes: string[];
|
|
128
|
+
}>;
|
|
129
|
+
/** Calls through connections, agent connection use and gateway calls, counted from the audit trail. */
|
|
130
|
+
usage(query?: {
|
|
131
|
+
from?: string | number;
|
|
132
|
+
to?: string | number;
|
|
133
|
+
group_by?: "action" | "day" | "agent" | "connection";
|
|
134
|
+
}): Promise<{
|
|
135
|
+
object: "list";
|
|
136
|
+
from: number;
|
|
137
|
+
to: number;
|
|
138
|
+
group_by: string;
|
|
139
|
+
data: Array<{
|
|
140
|
+
object: "connection_usage";
|
|
141
|
+
key: string | null;
|
|
142
|
+
calls: number;
|
|
143
|
+
}>;
|
|
144
|
+
}>;
|
|
145
|
+
};
|
|
146
|
+
export interface AgentLifecycle {
|
|
147
|
+
object: 'agent_lifecycle';
|
|
148
|
+
agent_id: string;
|
|
149
|
+
sponsor_user_id: string | null;
|
|
150
|
+
backup_sponsor_user_id: string | null;
|
|
151
|
+
expires_at: number | null;
|
|
152
|
+
renewed_at: number | null;
|
|
153
|
+
renewal_count: number;
|
|
154
|
+
}
|
|
155
|
+
export interface AgentAccessReview {
|
|
156
|
+
object: 'agent_access_review';
|
|
157
|
+
id: string;
|
|
158
|
+
name: string;
|
|
159
|
+
status: 'open' | 'closed';
|
|
160
|
+
due_at: number | null;
|
|
161
|
+
created_at: number;
|
|
162
|
+
closed_at: number | null;
|
|
163
|
+
item_count?: number;
|
|
164
|
+
}
|
|
165
|
+
export interface AgentAccessReviewItem {
|
|
166
|
+
object: 'agent_access_review_item';
|
|
167
|
+
id: string;
|
|
168
|
+
review_id: string;
|
|
169
|
+
agent_id: string;
|
|
170
|
+
kind: string;
|
|
171
|
+
resource: string;
|
|
172
|
+
reviewer_user_id: string | null;
|
|
173
|
+
decision: 'pending' | 'certified' | 'revoked';
|
|
174
|
+
decided_by: string | null;
|
|
175
|
+
decided_at: number | null;
|
|
176
|
+
comment: string | null;
|
|
177
|
+
revoked_applied: boolean;
|
|
178
|
+
}
|
|
179
|
+
/** Agent governance: sponsors, expiry and renewal, the activity log, and access reviews of agents' grants. */
|
|
180
|
+
export declare function agentGovernanceResource(request: RequestFn): {
|
|
181
|
+
lifecycle: {
|
|
182
|
+
get(agentId: string): Promise<AgentLifecycle>;
|
|
183
|
+
set(agentId: string, body: {
|
|
184
|
+
sponsor_user_id?: string | null;
|
|
185
|
+
backup_sponsor_user_id?: string | null;
|
|
186
|
+
expires_at?: number | string | null;
|
|
187
|
+
}): Promise<AgentLifecycle>;
|
|
188
|
+
renew(agentId: string, extendDays: number): Promise<AgentLifecycle>;
|
|
189
|
+
};
|
|
190
|
+
activity(agentId: string, query?: {
|
|
191
|
+
since?: string | number;
|
|
192
|
+
before?: string | number;
|
|
193
|
+
limit?: number;
|
|
194
|
+
}): Promise<ListPage<{
|
|
195
|
+
object: "agent_activity";
|
|
196
|
+
id: string;
|
|
197
|
+
action: string;
|
|
198
|
+
target_type: string | null;
|
|
199
|
+
target_id: string | null;
|
|
200
|
+
metadata: Record<string, unknown>;
|
|
201
|
+
at: number;
|
|
202
|
+
}>>;
|
|
203
|
+
reviews: {
|
|
204
|
+
list(): Promise<ListPage<AgentAccessReview>>;
|
|
205
|
+
start(body: {
|
|
206
|
+
name: string;
|
|
207
|
+
due_at?: number | string | null;
|
|
208
|
+
tier?: "trusted" | "untrusted";
|
|
209
|
+
kind?: "tool" | "connection";
|
|
210
|
+
}): Promise<AgentAccessReview>;
|
|
211
|
+
get(id: string, query?: {
|
|
212
|
+
decision?: "pending" | "certified" | "revoked";
|
|
213
|
+
reviewer_user_id?: string;
|
|
214
|
+
}): Promise<AgentAccessReview & {
|
|
215
|
+
items: AgentAccessReviewItem[];
|
|
216
|
+
}>;
|
|
217
|
+
decide(id: string, itemId: string, body: {
|
|
218
|
+
decision: "certified" | "revoked";
|
|
219
|
+
comment?: string;
|
|
220
|
+
decided_by?: string;
|
|
221
|
+
}): Promise<AgentAccessReviewItem>;
|
|
222
|
+
close(id: string): Promise<AgentAccessReview>;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
export interface McpRegistryEntry {
|
|
226
|
+
object: 'mcp_registry_entry';
|
|
227
|
+
id: string;
|
|
228
|
+
name: string;
|
|
229
|
+
url: string;
|
|
230
|
+
description: string | null;
|
|
231
|
+
status: 'pending' | 'approved' | 'rejected';
|
|
232
|
+
requested_by: string | null;
|
|
233
|
+
decided_by: string | null;
|
|
234
|
+
decided_at: number | null;
|
|
235
|
+
created_at: number;
|
|
236
|
+
}
|
|
237
|
+
/** The registry of approved upstream MCP servers, and write elevations for the admin MCP server. */
|
|
238
|
+
export declare function mcpRegistryResource(request: RequestFn): {
|
|
239
|
+
list(query?: {
|
|
240
|
+
status?: "pending" | "approved" | "rejected";
|
|
241
|
+
}): Promise<ListPage<McpRegistryEntry>>;
|
|
242
|
+
add(body: {
|
|
243
|
+
name: string;
|
|
244
|
+
url: string;
|
|
245
|
+
description?: string;
|
|
246
|
+
status?: "approved" | "pending";
|
|
247
|
+
}): Promise<McpRegistryEntry>;
|
|
248
|
+
decide(id: string, status: "approved" | "rejected"): Promise<McpRegistryEntry>;
|
|
249
|
+
remove(id: string): Promise<{
|
|
250
|
+
object: "mcp_registry_entry";
|
|
251
|
+
id: string;
|
|
252
|
+
deleted: true;
|
|
253
|
+
}>;
|
|
254
|
+
/** Grant another API key a short write elevation over the admin MCP server. */
|
|
255
|
+
elevate(body: {
|
|
256
|
+
api_key_id: string;
|
|
257
|
+
ttl_seconds?: number;
|
|
258
|
+
reason?: string;
|
|
259
|
+
}): Promise<{
|
|
260
|
+
object: "mcp_elevation";
|
|
261
|
+
api_key_id: string;
|
|
262
|
+
token: string;
|
|
263
|
+
expires_at: number;
|
|
264
|
+
header: string;
|
|
265
|
+
}>;
|
|
266
|
+
};
|
|
267
|
+
export interface TelemetryExport {
|
|
268
|
+
object: 'telemetry_export';
|
|
269
|
+
enabled: boolean;
|
|
270
|
+
endpoint: string | null;
|
|
271
|
+
/** Headers are write-only. */
|
|
272
|
+
has_headers: boolean;
|
|
273
|
+
service_name: string;
|
|
274
|
+
traces: boolean;
|
|
275
|
+
metrics: boolean;
|
|
276
|
+
}
|
|
277
|
+
/** OTLP/HTTP export of gateway and relay calls (spans and metrics) to your collector. */
|
|
278
|
+
export declare function telemetryExportResource(request: RequestFn): {
|
|
279
|
+
get(): Promise<TelemetryExport>;
|
|
280
|
+
update(body: {
|
|
281
|
+
enabled?: boolean;
|
|
282
|
+
endpoint?: string;
|
|
283
|
+
headers?: Record<string, string> | null;
|
|
284
|
+
service_name?: string;
|
|
285
|
+
traces?: boolean;
|
|
286
|
+
metrics?: boolean;
|
|
287
|
+
}): Promise<TelemetryExport>;
|
|
288
|
+
/** Send one test span now. */
|
|
289
|
+
test(): Promise<{
|
|
290
|
+
object: "telemetry_export_test";
|
|
291
|
+
ok: boolean;
|
|
292
|
+
error: string | null;
|
|
293
|
+
}>;
|
|
294
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.connectionActionsResource = connectionActionsResource;
|
|
4
|
+
exports.agentGovernanceResource = agentGovernanceResource;
|
|
5
|
+
exports.mcpRegistryResource = mcpRegistryResource;
|
|
6
|
+
exports.telemetryExportResource = telemetryExportResource;
|
|
7
|
+
const request_1 = require("./request");
|
|
8
|
+
/** Typed actions over connections, provider event triggers, scoped relay tokens and usage records. */
|
|
9
|
+
function connectionActionsResource(request) {
|
|
10
|
+
return {
|
|
11
|
+
catalog: {
|
|
12
|
+
list(query = {}) {
|
|
13
|
+
return request({ method: 'GET', path: '/v1/connection_actions', query: { ...query } });
|
|
14
|
+
},
|
|
15
|
+
get(provider, name) {
|
|
16
|
+
return request({ method: 'GET', path: `/v1/connection_actions/${(0, request_1.enc)(provider)}/${(0, request_1.enc)(name)}` });
|
|
17
|
+
},
|
|
18
|
+
/** Define or replace a custom action (data, never code). */
|
|
19
|
+
define(provider, name, body) {
|
|
20
|
+
return request({ method: 'PUT', path: `/v1/connection_actions/${(0, request_1.enc)(provider)}/${(0, request_1.enc)(name)}`, body });
|
|
21
|
+
},
|
|
22
|
+
delete(provider, name) {
|
|
23
|
+
return request({ method: 'DELETE', path: `/v1/connection_actions/${(0, request_1.enc)(provider)}/${(0, request_1.enc)(name)}` });
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
/** The actions available on one connection. */
|
|
27
|
+
list(connectionId) {
|
|
28
|
+
return request({ method: 'GET', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/actions` });
|
|
29
|
+
},
|
|
30
|
+
run(connectionId, name, body = {}) {
|
|
31
|
+
return request({ method: 'POST', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/actions/${(0, request_1.enc)(name)}`, body });
|
|
32
|
+
},
|
|
33
|
+
triggers: {
|
|
34
|
+
list(connectionId) {
|
|
35
|
+
return request({ method: 'GET', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/triggers` });
|
|
36
|
+
},
|
|
37
|
+
create(connectionId, body) {
|
|
38
|
+
return request({ method: 'POST', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/triggers`, body });
|
|
39
|
+
},
|
|
40
|
+
get(connectionId, triggerId) {
|
|
41
|
+
return request({ method: 'GET', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/triggers/${(0, request_1.enc)(triggerId)}` });
|
|
42
|
+
},
|
|
43
|
+
setStatus(connectionId, triggerId, status) {
|
|
44
|
+
return request({ method: 'PATCH', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/triggers/${(0, request_1.enc)(triggerId)}`, body: { status } });
|
|
45
|
+
},
|
|
46
|
+
delete(connectionId, triggerId) {
|
|
47
|
+
return request({ method: 'DELETE', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/triggers/${(0, request_1.enc)(triggerId)}` });
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
/** A signed credential for one connection that only works through the relay, for listed methods and URL prefixes. */
|
|
51
|
+
mintScopedToken(connectionId, body) {
|
|
52
|
+
return request({ method: 'POST', path: `/v1/connections/${(0, request_1.enc)(connectionId)}/scoped_tokens`, body });
|
|
53
|
+
},
|
|
54
|
+
/** Calls through connections, agent connection use and gateway calls, counted from the audit trail. */
|
|
55
|
+
usage(query = {}) {
|
|
56
|
+
return request({ method: 'GET', path: '/v1/usage/connections', query: { ...query } });
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Agent governance: sponsors, expiry and renewal, the activity log, and access reviews of agents' grants. */
|
|
61
|
+
function agentGovernanceResource(request) {
|
|
62
|
+
return {
|
|
63
|
+
lifecycle: {
|
|
64
|
+
get(agentId) {
|
|
65
|
+
return request({ method: 'GET', path: `/v1/agents/${(0, request_1.enc)(agentId)}/lifecycle` });
|
|
66
|
+
},
|
|
67
|
+
set(agentId, body) {
|
|
68
|
+
return request({ method: 'PUT', path: `/v1/agents/${(0, request_1.enc)(agentId)}/lifecycle`, body });
|
|
69
|
+
},
|
|
70
|
+
renew(agentId, extendDays) {
|
|
71
|
+
return request({ method: 'POST', path: `/v1/agents/${(0, request_1.enc)(agentId)}/renew`, body: { extend_days: extendDays } });
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
activity(agentId, query = {}) {
|
|
75
|
+
return request({ method: 'GET', path: `/v1/agents/${(0, request_1.enc)(agentId)}/activity`, query: { ...query } });
|
|
76
|
+
},
|
|
77
|
+
reviews: {
|
|
78
|
+
list() {
|
|
79
|
+
return request({ method: 'GET', path: '/v1/agent_access_reviews' });
|
|
80
|
+
},
|
|
81
|
+
start(body) {
|
|
82
|
+
return request({ method: 'POST', path: '/v1/agent_access_reviews', body });
|
|
83
|
+
},
|
|
84
|
+
get(id, query = {}) {
|
|
85
|
+
return request({ method: 'GET', path: `/v1/agent_access_reviews/${(0, request_1.enc)(id)}`, query: { ...query } });
|
|
86
|
+
},
|
|
87
|
+
decide(id, itemId, body) {
|
|
88
|
+
return request({ method: 'POST', path: `/v1/agent_access_reviews/${(0, request_1.enc)(id)}/items/${(0, request_1.enc)(itemId)}/decide`, body });
|
|
89
|
+
},
|
|
90
|
+
close(id) {
|
|
91
|
+
return request({ method: 'POST', path: `/v1/agent_access_reviews/${(0, request_1.enc)(id)}/close` });
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** The registry of approved upstream MCP servers, and write elevations for the admin MCP server. */
|
|
97
|
+
function mcpRegistryResource(request) {
|
|
98
|
+
return {
|
|
99
|
+
list(query = {}) {
|
|
100
|
+
return request({ method: 'GET', path: '/v1/mcp_registry', query: { ...query } });
|
|
101
|
+
},
|
|
102
|
+
add(body) {
|
|
103
|
+
return request({ method: 'POST', path: '/v1/mcp_registry', body });
|
|
104
|
+
},
|
|
105
|
+
decide(id, status) {
|
|
106
|
+
return request({ method: 'POST', path: `/v1/mcp_registry/${(0, request_1.enc)(id)}/decide`, body: { status } });
|
|
107
|
+
},
|
|
108
|
+
remove(id) {
|
|
109
|
+
return request({ method: 'DELETE', path: `/v1/mcp_registry/${(0, request_1.enc)(id)}` });
|
|
110
|
+
},
|
|
111
|
+
/** Grant another API key a short write elevation over the admin MCP server. */
|
|
112
|
+
elevate(body) {
|
|
113
|
+
return request({ method: 'POST', path: '/v1/mcp/elevations', body });
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/** OTLP/HTTP export of gateway and relay calls (spans and metrics) to your collector. */
|
|
118
|
+
function telemetryExportResource(request) {
|
|
119
|
+
return {
|
|
120
|
+
get() {
|
|
121
|
+
return request({ method: 'GET', path: '/v1/telemetry_export' });
|
|
122
|
+
},
|
|
123
|
+
update(body) {
|
|
124
|
+
return request({ method: 'PUT', path: '/v1/telemetry_export', body });
|
|
125
|
+
},
|
|
126
|
+
/** Send one test span now. */
|
|
127
|
+
test() {
|
|
128
|
+
return request({ method: 'POST', path: '/v1/telemetry_export/test' });
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=agent-platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-platform.js","sourceRoot":"","sources":["../../src/client/agent-platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export interface AppPreset {
|
|
|
10
10
|
verified: boolean;
|
|
11
11
|
/** The vendor SSO documentation the values come from. */
|
|
12
12
|
source_url: string | null;
|
|
13
|
+
/** A private preset of this instance. */
|
|
14
|
+
custom?: boolean;
|
|
13
15
|
params: Array<{
|
|
14
16
|
key: string;
|
|
15
17
|
label: string;
|
|
@@ -38,6 +40,20 @@ export interface InstalledApp {
|
|
|
38
40
|
allowed_email_domains: string[];
|
|
39
41
|
assignment: Required<AppAssignment>;
|
|
40
42
|
}
|
|
43
|
+
export type AppRequestStatus = 'open' | 'building' | 'available' | 'declined';
|
|
44
|
+
export interface AppRequest {
|
|
45
|
+
object: 'app_request';
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
protocol: 'saml' | 'oidc';
|
|
49
|
+
docs_url: string | null;
|
|
50
|
+
note: string | null;
|
|
51
|
+
status: AppRequestStatus;
|
|
52
|
+
requested_by: string | null;
|
|
53
|
+
votes: number;
|
|
54
|
+
created_at: number;
|
|
55
|
+
updated_at: number;
|
|
56
|
+
}
|
|
41
57
|
export interface InstallAppBody {
|
|
42
58
|
params?: Record<string, string>;
|
|
43
59
|
installed_id?: string;
|
|
@@ -48,9 +64,52 @@ export interface InstallAppBody {
|
|
|
48
64
|
/** The app catalog: SAML and OpenID Connect presets, installs, and who may open each app. */
|
|
49
65
|
export declare function appCatalogResource(request: RequestFn): {
|
|
50
66
|
/** `GET /v1/app_catalog` — every preset with its protocol and parameters. */
|
|
51
|
-
presets(
|
|
67
|
+
presets(query?: {
|
|
68
|
+
q?: string;
|
|
69
|
+
category?: string;
|
|
70
|
+
protocol?: "saml" | "oidc";
|
|
71
|
+
verified?: boolean;
|
|
72
|
+
limit?: number;
|
|
73
|
+
offset?: number;
|
|
74
|
+
}): Promise<{
|
|
52
75
|
object: "list";
|
|
53
76
|
data: AppPreset[];
|
|
77
|
+
total: number;
|
|
78
|
+
has_more: boolean;
|
|
79
|
+
}>;
|
|
80
|
+
/** `GET /v1/app_catalog/custom_presets` — this instance's private presets in portable form. */
|
|
81
|
+
customPresets(): Promise<{
|
|
82
|
+
object: "list";
|
|
83
|
+
data: Array<Record<string, unknown>>;
|
|
84
|
+
}>;
|
|
85
|
+
/** `POST /v1/app_catalog/custom_presets` — save (or replace) a private SAML preset. */
|
|
86
|
+
saveCustomPreset(preset: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
87
|
+
deleteCustomPreset(id: string): Promise<{
|
|
88
|
+
object: "app_custom_preset";
|
|
89
|
+
id: string;
|
|
90
|
+
deleted: true;
|
|
91
|
+
}>;
|
|
92
|
+
/** `GET /v1/app_catalog/requests` — apps people asked for, most wanted first. */
|
|
93
|
+
requests(status?: AppRequestStatus): Promise<{
|
|
94
|
+
object: "list";
|
|
95
|
+
data: AppRequest[];
|
|
96
|
+
}>;
|
|
97
|
+
/** `POST /v1/app_catalog/requests` — ask for an app; asking again for an open one adds a vote. */
|
|
98
|
+
requestApp(body: {
|
|
99
|
+
name: string;
|
|
100
|
+
protocol?: "saml" | "oidc";
|
|
101
|
+
docs_url?: string;
|
|
102
|
+
note?: string;
|
|
103
|
+
requested_by?: string;
|
|
104
|
+
}): Promise<AppRequest>;
|
|
105
|
+
updateRequest(id: string, body: {
|
|
106
|
+
status?: AppRequestStatus;
|
|
107
|
+
note?: string;
|
|
108
|
+
}): Promise<AppRequest>;
|
|
109
|
+
deleteRequest(id: string): Promise<{
|
|
110
|
+
object: "app_request";
|
|
111
|
+
id: string;
|
|
112
|
+
deleted: true;
|
|
54
113
|
}>;
|
|
55
114
|
/** `GET /v1/app_catalog/installed` */
|
|
56
115
|
installed(): Promise<{
|
|
@@ -6,8 +6,38 @@ const request_1 = require("./request");
|
|
|
6
6
|
function appCatalogResource(request) {
|
|
7
7
|
return {
|
|
8
8
|
/** `GET /v1/app_catalog` — every preset with its protocol and parameters. */
|
|
9
|
-
presets() {
|
|
10
|
-
|
|
9
|
+
presets(query = {}) {
|
|
10
|
+
const p = new URLSearchParams();
|
|
11
|
+
for (const [k, v] of Object.entries(query))
|
|
12
|
+
if (v !== undefined)
|
|
13
|
+
p.set(k, String(v));
|
|
14
|
+
const qs = p.toString();
|
|
15
|
+
return request({ method: 'GET', path: `/v1/app_catalog${qs ? `?${qs}` : ''}` });
|
|
16
|
+
},
|
|
17
|
+
/** `GET /v1/app_catalog/custom_presets` — this instance's private presets in portable form. */
|
|
18
|
+
customPresets() {
|
|
19
|
+
return request({ method: 'GET', path: '/v1/app_catalog/custom_presets' });
|
|
20
|
+
},
|
|
21
|
+
/** `POST /v1/app_catalog/custom_presets` — save (or replace) a private SAML preset. */
|
|
22
|
+
saveCustomPreset(preset) {
|
|
23
|
+
return request({ method: 'POST', path: '/v1/app_catalog/custom_presets', body: { preset } });
|
|
24
|
+
},
|
|
25
|
+
deleteCustomPreset(id) {
|
|
26
|
+
return request({ method: 'DELETE', path: `/v1/app_catalog/custom_presets/${(0, request_1.enc)(id)}` });
|
|
27
|
+
},
|
|
28
|
+
/** `GET /v1/app_catalog/requests` — apps people asked for, most wanted first. */
|
|
29
|
+
requests(status) {
|
|
30
|
+
return request({ method: 'GET', path: `/v1/app_catalog/requests${status ? `?status=${status}` : ''}` });
|
|
31
|
+
},
|
|
32
|
+
/** `POST /v1/app_catalog/requests` — ask for an app; asking again for an open one adds a vote. */
|
|
33
|
+
requestApp(body) {
|
|
34
|
+
return request({ method: 'POST', path: '/v1/app_catalog/requests', body });
|
|
35
|
+
},
|
|
36
|
+
updateRequest(id, body) {
|
|
37
|
+
return request({ method: 'PATCH', path: `/v1/app_catalog/requests/${(0, request_1.enc)(id)}`, body });
|
|
38
|
+
},
|
|
39
|
+
deleteRequest(id) {
|
|
40
|
+
return request({ method: 'DELETE', path: `/v1/app_catalog/requests/${(0, request_1.enc)(id)}` });
|
|
11
41
|
},
|
|
12
42
|
/** `GET /v1/app_catalog/installed` */
|
|
13
43
|
installed() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-catalog.js","sourceRoot":"","sources":["../../src/client/app-catalog.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"app-catalog.js","sourceRoot":"","sources":["../../src/client/app-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,9 +100,55 @@ export declare function authzDecisionsResource(request: RequestFn): {
|
|
|
100
100
|
since?: string | number;
|
|
101
101
|
until?: string | number;
|
|
102
102
|
}): Promise<AuthzDecisionStats>;
|
|
103
|
+
/** A local PDP ships a batch of decisions (max 500) and checks in; also its heartbeat. */
|
|
104
|
+
ingest(body: {
|
|
105
|
+
pdp: {
|
|
106
|
+
id: string;
|
|
107
|
+
name?: string;
|
|
108
|
+
version?: string;
|
|
109
|
+
bundle_revision?: string;
|
|
110
|
+
};
|
|
111
|
+
decisions?: Array<{
|
|
112
|
+
decision: "allow" | "deny";
|
|
113
|
+
principal?: string;
|
|
114
|
+
action?: string;
|
|
115
|
+
resource?: string;
|
|
116
|
+
input?: Record<string, unknown>;
|
|
117
|
+
result?: Record<string, unknown>;
|
|
118
|
+
latency_ms?: number;
|
|
119
|
+
}>;
|
|
120
|
+
}): Promise<{
|
|
121
|
+
object: "authz_decision_ingest";
|
|
122
|
+
accepted: number;
|
|
123
|
+
enabled: boolean;
|
|
124
|
+
pdp: AuthzPdp;
|
|
125
|
+
}>;
|
|
126
|
+
/** The fleet of local PDPs that have checked in. */
|
|
127
|
+
pdps: {
|
|
128
|
+
list(): Promise<{
|
|
129
|
+
object: "list";
|
|
130
|
+
data: AuthzPdp[];
|
|
131
|
+
has_more: boolean;
|
|
132
|
+
}>;
|
|
133
|
+
remove(id: string): Promise<{
|
|
134
|
+
object: "authz_pdp";
|
|
135
|
+
id: string;
|
|
136
|
+
deleted: boolean;
|
|
137
|
+
}>;
|
|
138
|
+
};
|
|
103
139
|
settings: {
|
|
104
140
|
get(): Promise<AuthzDecisionSettings>;
|
|
105
141
|
/** Fields you omit keep their value. */
|
|
106
142
|
update(body: UpdateAuthzDecisionSettingsBody): Promise<AuthzDecisionSettings>;
|
|
107
143
|
};
|
|
108
144
|
};
|
|
145
|
+
export interface AuthzPdp {
|
|
146
|
+
object: 'authz_pdp';
|
|
147
|
+
id: string;
|
|
148
|
+
name: string | null;
|
|
149
|
+
version: string | null;
|
|
150
|
+
bundle_revision: string | null;
|
|
151
|
+
decisions_total: number;
|
|
152
|
+
first_seen_at: number;
|
|
153
|
+
last_seen_at: number;
|
|
154
|
+
}
|
|
@@ -26,6 +26,19 @@ function authzDecisionsResource(request) {
|
|
|
26
26
|
stats(params = {}) {
|
|
27
27
|
return request({ method: 'GET', path: '/v1/authz_decisions/stats', query: { ...params } });
|
|
28
28
|
},
|
|
29
|
+
/** A local PDP ships a batch of decisions (max 500) and checks in; also its heartbeat. */
|
|
30
|
+
ingest(body) {
|
|
31
|
+
return request({ method: 'POST', path: '/v1/authz_decisions/ingest', body });
|
|
32
|
+
},
|
|
33
|
+
/** The fleet of local PDPs that have checked in. */
|
|
34
|
+
pdps: {
|
|
35
|
+
list() {
|
|
36
|
+
return request({ method: 'GET', path: '/v1/authz_pdps' });
|
|
37
|
+
},
|
|
38
|
+
remove(id) {
|
|
39
|
+
return request({ method: 'DELETE', path: `/v1/authz_pdps/${(0, request_1.enc)(id)}` });
|
|
40
|
+
},
|
|
41
|
+
},
|
|
29
42
|
settings: {
|
|
30
43
|
get() {
|
|
31
44
|
return request({ method: 'GET', path: '/v1/authz_decision_settings' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authz-decisions.js","sourceRoot":"","sources":["../../src/client/authz-decisions.ts"],"names":[],"mappings":";;AA0FA,
|
|
1
|
+
{"version":3,"file":"authz-decisions.js","sourceRoot":"","sources":["../../src/client/authz-decisions.ts"],"names":[],"mappings":";;AA0FA,wDA8CC;AAxID,uCAAgD;AA0FhD,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,4CAA4C;QAC5C,IAAI,CAAC,SAAmC,EAAE;YACxC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,8DAA8D;QAC9D,KAAK,CAAC,CAAC,OAAO,CAAC,SAA2D,EAAE;YAC1E,IAAI,KAAyB,CAAC;YAC9B,SAAS,CAAC;gBACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAChD,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,kHAAkH;QAClH,KAAK,CAAC,SAA+D,EAAE;YACrE,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,0FAA0F;QAC1F,MAAM,CAAC,IAA2R;YAChS,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,oDAAoD;QACpD,IAAI,EAAE;YACJ,IAAI;gBACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,CAAC,EAAU;gBACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;SACF;QACD,QAAQ,EAAE;YACR,GAAG;gBACD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,wCAAwC;YACxC,MAAM,CAAC,IAAqC;gBAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|