@atlasauth/backend 0.25.0 → 0.27.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.
Files changed (115) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/dist/client/abac.d.ts +454 -0
  3. package/dist/client/abac.js +123 -0
  4. package/dist/client/abac.js.map +1 -1
  5. package/dist/client/access-policies.d.ts +84 -2
  6. package/dist/client/access-policies.js +8 -0
  7. package/dist/client/access-policies.js.map +1 -1
  8. package/dist/client/actions.d.ts +1 -1
  9. package/dist/client/actions.js.map +1 -1
  10. package/dist/client/agent-platform.d.ts +294 -0
  11. package/dist/client/agent-platform.js +132 -0
  12. package/dist/client/agent-platform.js.map +1 -0
  13. package/dist/client/analytics-reports.d.ts +1 -1
  14. package/dist/client/app-catalog.d.ts +60 -1
  15. package/dist/client/app-catalog.js +32 -2
  16. package/dist/client/app-catalog.js.map +1 -1
  17. package/dist/client/authz-decisions.d.ts +154 -0
  18. package/dist/client/authz-decisions.js +53 -0
  19. package/dist/client/authz-decisions.js.map +1 -0
  20. package/dist/client/connections.d.ts +519 -0
  21. package/dist/client/connections.js +171 -0
  22. package/dist/client/connections.js.map +1 -0
  23. package/dist/client/custom-oauth-providers.d.ts +15 -0
  24. package/dist/client/custom-oauth-providers.js.map +1 -1
  25. package/dist/client/desktop-mfa.d.ts +141 -0
  26. package/dist/client/desktop-mfa.js +58 -0
  27. package/dist/client/desktop-mfa.js.map +1 -0
  28. package/dist/client/devices.d.ts +130 -0
  29. package/dist/client/devices.js +54 -0
  30. package/dist/client/devices.js.map +1 -1
  31. package/dist/client/email-templates.d.ts +1 -1
  32. package/dist/client/email-templates.js.map +1 -1
  33. package/dist/client/fga.d.ts +301 -5
  34. package/dist/client/fga.js +81 -1
  35. package/dist/client/fga.js.map +1 -1
  36. package/dist/client/iga.d.ts +436 -0
  37. package/dist/client/iga.js +82 -0
  38. package/dist/client/iga.js.map +1 -0
  39. package/dist/client/index.d.ts +3767 -2443
  40. package/dist/client/index.js +51 -0
  41. package/dist/client/index.js.map +1 -1
  42. package/dist/client/least-privilege.d.ts +95 -0
  43. package/dist/client/least-privilege.js +28 -0
  44. package/dist/client/least-privilege.js.map +1 -0
  45. package/dist/client/log-streams.d.ts +1 -1
  46. package/dist/client/managed-grants.d.ts +52 -0
  47. package/dist/client/managed-grants.js +28 -0
  48. package/dist/client/managed-grants.js.map +1 -0
  49. package/dist/client/mcp-gateways.d.ts +220 -2
  50. package/dist/client/mcp-gateways.js +74 -0
  51. package/dist/client/mcp-gateways.js.map +1 -1
  52. package/dist/client/messaging.d.ts +11 -2
  53. package/dist/client/messaging.js.map +1 -1
  54. package/dist/client/oauth-clients.d.ts +4 -0
  55. package/dist/client/oauth-clients.js.map +1 -1
  56. package/dist/client/oauth-protocols.d.ts +116 -0
  57. package/dist/client/oauth-protocols.js +54 -0
  58. package/dist/client/oauth-protocols.js.map +1 -0
  59. package/dist/client/oauth-providers.d.ts +4 -4
  60. package/dist/client/openfga.d.ts +90 -3
  61. package/dist/client/openfga.js +27 -1
  62. package/dist/client/openfga.js.map +1 -1
  63. package/dist/client/org-ldap-connections.d.ts +3 -0
  64. package/dist/client/org-ldap-connections.js.map +1 -1
  65. package/dist/client/organizations.d.ts +14 -0
  66. package/dist/client/organizations.js.map +1 -1
  67. package/dist/client/policy-bundles.d.ts +105 -0
  68. package/dist/client/policy-bundles.js +38 -0
  69. package/dist/client/policy-bundles.js.map +1 -0
  70. package/dist/client/resources.d.ts +1 -0
  71. package/dist/client/resources.js.map +1 -1
  72. package/dist/client/risk-containment.d.ts +244 -0
  73. package/dist/client/risk-containment.js +120 -0
  74. package/dist/client/risk-containment.js.map +1 -0
  75. package/dist/client/saml-idp.d.ts +183 -0
  76. package/dist/client/saml-idp.js +71 -0
  77. package/dist/client/saml-idp.js.map +1 -0
  78. package/dist/client/scim-provisioning.d.ts +100 -4
  79. package/dist/client/scim-provisioning.js +30 -0
  80. package/dist/client/scim-provisioning.js.map +1 -1
  81. package/dist/client/scim-tokens.d.ts +34 -0
  82. package/dist/client/scim-tokens.js +17 -0
  83. package/dist/client/scim-tokens.js.map +1 -1
  84. package/dist/client/service-connectors.d.ts +1 -1
  85. package/dist/client/ssf.d.ts +31 -1
  86. package/dist/client/ssf.js +17 -0
  87. package/dist/client/ssf.js.map +1 -1
  88. package/dist/client/users.d.ts +9 -0
  89. package/dist/client/users.js +9 -0
  90. package/dist/client/users.js.map +1 -1
  91. package/dist/client/vault.d.ts +54 -0
  92. package/dist/client/vault.js +30 -0
  93. package/dist/client/vault.js.map +1 -1
  94. package/dist/client/vc.d.ts +62 -2
  95. package/dist/client/vc.js +15 -0
  96. package/dist/client/vc.js.map +1 -1
  97. package/dist/client/workflows.d.ts +182 -3
  98. package/dist/client/workflows.js +34 -0
  99. package/dist/client/workflows.js.map +1 -1
  100. package/dist/index.d.ts +5 -2
  101. package/dist/index.js +6 -1
  102. package/dist/index.js.map +1 -1
  103. package/dist/oauth-resource.d.ts +30 -3
  104. package/dist/oauth-resource.js +43 -2
  105. package/dist/oauth-resource.js.map +1 -1
  106. package/dist/policy-bundle.d.ts +110 -0
  107. package/dist/policy-bundle.js +289 -0
  108. package/dist/policy-bundle.js.map +1 -0
  109. package/dist/txn-token.d.ts +36 -0
  110. package/dist/txn-token.js +30 -0
  111. package/dist/txn-token.js.map +1 -0
  112. package/dist/uma.d.ts +77 -0
  113. package/dist/uma.js +95 -0
  114. package/dist/uma.js.map +1 -0
  115. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"abac.js","sourceRoot":"","sources":["../../src/client/abac.ts"],"names":[],"mappings":";;AAuFA,oCA2CC;AAlID,uCAAgD;AAsFhD,qFAAqF;AACrF,SAAgB,YAAY,CAAC,OAAkB;IAC7C,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,CAAC,IAA0B,EAAE,cAAuB;YACxD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA0B;YAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,QAAQ,CAAC,EAAU;YACjB,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,iGAAiG;QACjG,IAAI,CAAC,EAAU,EAAE,OAA4E,EAAE;YAC7F,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,sDAAsD;QACtD,QAAQ,CAAC,IAAsB;YAC7B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,2DAA2D;QAC3D,KAAK,CAAC,SAAS,CAAC,IAAsB;YACpC,OAAO,CAAC,MAAM,OAAO,CAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;QACjH,CAAC;QACD,qCAAqC;QACrC,iBAAiB,CAAC,IAAuB;YACvC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,8CAA8C;QAC9C,kBAAkB,CAChB,IAAqK;YAErK,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"abac.js","sourceRoot":"","sources":["../../src/client/abac.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { type RequestFn } from './request';
2
2
  import type { ListPage } from './types';
3
3
  export type AccessPolicyStage = 'sign_in' | 'authorize' | 'token';
4
- export type AccessPolicyGrantType = 'allow' | 'block' | 'require_mfa' | 'require_acr' | 'require_policy_acceptance' | 'require_action';
4
+ export type AccessPolicyGrantType = 'allow' | 'block' | 'require_mfa' | 'require_acr' | 'require_policy_acceptance' | 'require_action' | 'require_auth_strength' | 'require_device_bound_session' | 'require_password_change' | 'sign_in_frequency' | 'persistent_session' | 'max_session_age';
5
+ export type AccessPolicyMode = 'enforce' | 'report_only';
6
+ export type AccessPolicyTarget = 'user' | 'machine' | 'agent';
7
+ export type AccessClientType = 'browser' | 'native' | 'legacy' | 'device_code' | 'ciba' | 'machine' | 'agent';
5
8
  export interface AccessPolicyGrant {
6
9
  type: AccessPolicyGrantType;
7
- /** require_acr: the acr; require_policy_acceptance: the policy key; require_action: the action name. */
10
+ /** require_acr: the acr; require_policy_acceptance: the policy key; require_action: the action name; require_auth_strength: mfa | passwordless | phishing_resistant. */
8
11
  value?: string;
12
+ /** sign_in_frequency / max_session_age: the limit in seconds (60 to 31536000). */
13
+ seconds?: number;
14
+ /** persistent_session: false forbids a remembered session. */
15
+ allow?: boolean;
9
16
  }
10
17
  /** Every present condition must match; an absent one matches anything. */
11
18
  export interface AccessPolicyConditions {
@@ -28,6 +35,21 @@ export interface AccessPolicyConditions {
28
35
  end: string;
29
36
  timezone?: string;
30
37
  };
38
+ devicePlatforms?: string[];
39
+ osVersion?: {
40
+ min?: string;
41
+ max?: string;
42
+ };
43
+ clientTypes?: AccessClientType[];
44
+ userAttributes?: Array<{
45
+ key: string;
46
+ op: 'eq' | 'neq' | 'in' | 'not_in' | 'contains' | 'exists';
47
+ value?: unknown;
48
+ }>;
49
+ userRiskLevels?: Array<'low' | 'medium' | 'high'>;
50
+ signInRiskLevels?: Array<'low' | 'medium' | 'high'>;
51
+ /** Machine identity or agent ids (targets machine / agent). */
52
+ principalIds?: string[];
31
53
  }
32
54
  /** A conditional-access policy, evaluated at sign-in, /authorize and token issuance. */
33
55
  export interface AccessPolicy {
@@ -40,6 +62,9 @@ export interface AccessPolicy {
40
62
  stages: AccessPolicyStage[];
41
63
  conditions: AccessPolicyConditions;
42
64
  grants: AccessPolicyGrant[];
65
+ /** `report_only` never denies; it records `access_policy.would_block`. */
66
+ mode: AccessPolicyMode;
67
+ targets: AccessPolicyTarget[];
43
68
  created_at: number;
44
69
  updated_at: number;
45
70
  }
@@ -51,6 +76,8 @@ export interface CreateAccessPolicyBody {
51
76
  stages?: AccessPolicyStage[];
52
77
  conditions?: AccessPolicyConditions;
53
78
  grants: AccessPolicyGrant[];
79
+ mode?: AccessPolicyMode;
80
+ targets?: AccessPolicyTarget[];
54
81
  }
55
82
  export type UpdateAccessPolicyBody = Partial<CreateAccessPolicyBody>;
56
83
  export interface SimulateAccessBody {
@@ -70,6 +97,42 @@ export interface SimulateAccessBody {
70
97
  acr?: string[];
71
98
  /** Epoch ms; default now. */
72
99
  now?: number;
100
+ target_type?: AccessPolicyTarget;
101
+ principal_id?: string;
102
+ device_platform?: string;
103
+ os_version?: string;
104
+ client_type?: AccessClientType;
105
+ user_attributes?: Record<string, unknown>;
106
+ user_risk_level?: 'low' | 'medium' | 'high';
107
+ last_auth_age_seconds?: number;
108
+ session_age_seconds?: number;
109
+ device_bound_session?: boolean;
110
+ }
111
+ export interface AccessPolicyImpact {
112
+ object: 'access_policy_impact';
113
+ days: number;
114
+ evaluated: number;
115
+ would_allow: number;
116
+ would_step_up: number;
117
+ would_block: number;
118
+ distinct_users: number;
119
+ affected_users: number;
120
+ samples: Array<{
121
+ user_id: string | null;
122
+ stage: string;
123
+ outcome: string;
124
+ unmet: string[];
125
+ at: number;
126
+ }>;
127
+ }
128
+ export interface AccessPolicyInsights {
129
+ object: 'access_policy_insights';
130
+ days: number;
131
+ evaluated: number;
132
+ would_block: number;
133
+ would_step_up: number;
134
+ by_policy: Record<string, number>;
135
+ by_day: Record<string, number>;
73
136
  }
74
137
  export interface AccessPolicySimulation {
75
138
  object: 'access_policy_simulation';
@@ -81,8 +144,18 @@ export interface AccessPolicySimulation {
81
144
  acr: string[];
82
145
  policy_acceptance: string[];
83
146
  actions: string[];
147
+ auth_strength: 'mfa' | 'passwordless' | 'phishing_resistant' | null;
148
+ sign_in_frequency_seconds: number | null;
149
+ max_session_age_seconds: number | null;
150
+ persistent_session: boolean;
151
+ device_bound_session: boolean;
84
152
  };
85
153
  unmet: string[];
154
+ report_only: {
155
+ decision: 'allow' | 'block' | 'step_up';
156
+ matched: string[];
157
+ blocked_by: string | null;
158
+ } | null;
86
159
  }
87
160
  /** CRUD over conditional-access policies, plus a what-if `simulate`. */
88
161
  export declare function accessPoliciesResource(request: RequestFn): {
@@ -95,6 +168,15 @@ export declare function accessPoliciesResource(request: RequestFn): {
95
168
  id: string;
96
169
  deleted: true;
97
170
  }>;
171
+ /** Replay a draft policy against recent sampled sign-ins: how many would be allowed, stepped up or blocked. */
172
+ impact(body: {
173
+ draft: CreateAccessPolicyBody | Record<string, unknown>;
174
+ days?: number;
175
+ }): Promise<AccessPolicyImpact>;
176
+ /** How often report-only policies would have intervened. */
177
+ insights(query?: {
178
+ days?: number;
179
+ }): Promise<AccessPolicyInsights>;
98
180
  /** What would the policies decide for this request? */
99
181
  simulate(body: SimulateAccessBody): Promise<AccessPolicySimulation>;
100
182
  };
@@ -20,6 +20,14 @@ function accessPoliciesResource(request) {
20
20
  delete(id) {
21
21
  return request({ method: 'DELETE', path: `/v1/access_policies/${(0, request_1.enc)(id)}` });
22
22
  },
23
+ /** Replay a draft policy against recent sampled sign-ins: how many would be allowed, stepped up or blocked. */
24
+ impact(body) {
25
+ return request({ method: 'POST', path: '/v1/access_policies/impact', body });
26
+ },
27
+ /** How often report-only policies would have intervened. */
28
+ insights(query = {}) {
29
+ return request({ method: 'GET', path: `/v1/access_policies/insights${query.days ? `?days=${query.days}` : ''}` });
30
+ },
23
31
  /** What would the policies decide for this request? */
24
32
  simulate(body) {
25
33
  return request({ method: 'POST', path: '/v1/access_policies/simulate', body });
@@ -1 +1 @@
1
- {"version":3,"file":"access-policies.js","sourceRoot":"","sources":["../../src/client/access-policies.ts"],"names":[],"mappings":";;AAmFA,wDAsBC;AAzGD,uCAAgD;AAkFhD,wEAAwE;AACxE,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,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,MAAM,CAAC,IAA4B,EAAE,cAAuB;YAC1D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA4B;YAC7C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,uDAAuD;QACvD,QAAQ,CAAC,IAAwB;YAC/B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"access-policies.js","sourceRoot":"","sources":["../../src/client/access-policies.ts"],"names":[],"mappings":";;AA8JA,wDA8BC;AA5LD,uCAAgD;AA6JhD,wEAAwE;AACxE,SAAgB,sBAAsB,CAAC,OAAkB;IACvD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjE,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,MAAM,CAAC,IAA4B,EAAE,cAAuB;YAC1D,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAA4B;YAC7C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,+GAA+G;QAC/G,MAAM,CAAC,IAAgF;YACrF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,4DAA4D;QAC5D,QAAQ,CAAC,QAA2B,EAAE;YACpC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,uDAAuD;QACvD,QAAQ,CAAC,IAAwB;YAC/B,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type RequestFn } from './request';
2
2
  import type { ListPage } from './types';
3
3
  /** The fixed point in the auth pipeline an action runs at. */
4
- export type ActionTrigger = 'post_login' | 'pre_user_registration' | 'post_user_registration' | 'pre_organization_create' | 'pre_member_add' | 'pre_invitation_create' | 'pre_authentication' | 'pre_token' | 'post_token_exchange' | 'pre_user_update' | 'mfa_verification_attempt' | 'password_verification_attempt' | 'account_link_decision' | 'billing_plan_selected' | 'post_change_password' | 'post_password_reset' | 'post_user_update' | 'post_email_verified' | 'post_mfa_enroll' | 'post_mfa_remove' | 'post_logout' | 'org_membership_changed' | 'custom_challenge_create' | 'custom_challenge_verify' | 'workflow_step';
4
+ export type ActionTrigger = 'post_login' | 'pre_user_registration' | 'post_user_registration' | 'pre_organization_create' | 'pre_member_add' | 'pre_invitation_create' | 'pre_authentication' | 'pre_token' | 'post_token_exchange' | 'custom_token_exchange' | 'pre_user_update' | 'mfa_verification_attempt' | 'password_verification_attempt' | 'account_link_decision' | 'billing_plan_selected' | 'post_change_password' | 'post_password_reset' | 'post_user_update' | 'post_email_verified' | 'post_mfa_enroll' | 'post_mfa_remove' | 'post_logout' | 'org_membership_changed' | 'custom_challenge_create' | 'custom_challenge_verify' | 'workflow_step';
5
5
  /**
6
6
  * Tenant code run in the hardened isolate at a trigger. Secret VALUES are
7
7
  * write-only and never returned — a read reports only `secret_names`. Timestamps
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/client/actions.ts"],"names":[],"mappings":";;AA8MA,0CAyCC;AAvPD,uCAAgD;AA8MhD,SAAgB,eAAe,CAAC,OAAkB;IAChD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,IAAsB,EAAE,cAAuB;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAAsB;YACvC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,2EAA2E;QAC3E,IAAI,CAAC,EAAU,EAAE,QAAyB,EAAE;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,0EAA0E;QAC1E,KAAK,CACH,EAAU,EACV,QAAqJ,EAAE;YAEvJ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,oDAAoD;QACpD,WAAW,CAAC,OAAsB;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,+CAA+C;QAC/C,WAAW,CAAC,OAAsB,EAAE,SAAmB;YACrD,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/client/actions.ts"],"names":[],"mappings":";;AA+MA,0CAyCC;AAxPD,uCAAgD;AA+MhD,SAAgB,eAAe,CAAC,OAAkB;IAChD,OAAO;QACL,IAAI;YACF,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,IAAsB,EAAE,cAAuB;YACpD,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC,EAAU,EAAE,IAAsB;YACvC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,EAAU;YACf,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,2EAA2E;QAC3E,IAAI,CAAC,EAAU,EAAE,QAAyB,EAAE;YAC1C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,0EAA0E;QAC1E,KAAK,CACH,EAAU,EACV,QAAqJ,EAAE;YAEvJ,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,IAAA,aAAG,EAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,oDAAoD;QACpD,WAAW,CAAC,OAAsB;YAChC,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,+CAA+C;QAC/C,WAAW,CAAC,OAAsB,EAAE,SAAmB;YACrD,OAAO,OAAO,CAAC;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,wBAAwB,IAAA,aAAG,EAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -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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"}
@@ -82,7 +82,7 @@ export interface AccessByAppRow {
82
82
  active_grants: number;
83
83
  users_in_window: number;
84
84
  }
85
- export type AlertMetric = 'sign_in_success_rate' | 'failed_passkey_ratio' | 'failed_sign_ins' | 'sign_in_p95_seconds' | 'api_usage_spike';
85
+ export type AlertMetric = 'sign_in_success_rate' | 'failed_passkey_ratio' | 'failed_sign_ins' | 'sign_in_p95_seconds' | 'api_usage_spike' | 'unused_permissions';
86
86
  export type UsageSubjectType = 'api_key' | 'end_user_api_key' | 'organization';
87
87
  /** One key's or organization's API usage against its 7-day hourly baseline. */
88
88
  export interface ApiUsageSubject {