@cubist-labs/cubesigner-sdk 0.4.227 → 0.4.229

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.
@@ -63,6 +63,10 @@ import type {
63
63
  AuditLogRequest,
64
64
  AuditLogResponse,
65
65
  AuditLogEntry,
66
+ RoleInfoJwt,
67
+ KeyAttestationQuery,
68
+ RoleAttestationQuery,
69
+ ErrorResponse,
66
70
  } from "../schema_types";
67
71
  import { encodeToBase64 } from "../util";
68
72
  import {
@@ -79,80 +83,85 @@ import { Page, Paginator } from "../paginator";
79
83
  import type { KeyPolicy } from "../role";
80
84
  import { loadSubtleCrypto } from "../user_export";
81
85
  import type * as policy from "../policy";
82
- import type {
83
- AddIdentityRequest,
84
- AvaChain,
85
- EnvInterface,
86
- EotsCreateNonceRequest,
87
- EotsCreateNonceResponse,
88
- EotsSignRequest,
89
- EotsSignResponse,
90
- JrpcResponse,
91
- JsonArray,
92
- ListIdentityResponse,
93
- ListKeyRolesResponse,
94
- ListKeysResponse,
95
- ListRoleKeysResponse,
96
- ListRoleUsersResponse,
97
- ListRolesResponse,
98
- MmiJrpcMethod,
99
- PendingMessageInfo,
100
- PendingMessageSignResponse,
101
- RatchetConfig,
102
- Scope,
103
- SessionData,
104
- SessionLifetime,
105
- SessionsResponse,
106
- TaprootSignRequest,
107
- TaprootSignResponse,
108
- BabylonRegistrationRequest,
109
- BabylonRegistrationResponse,
110
- BabylonStakingRequest,
111
- BabylonStakingResponse,
112
- UpdateUserMembershipRequest,
113
- HistoricalTx,
114
- ListHistoricalTxResponse,
115
- PublicOrgInfo,
116
- ImportDeriveKeyProperties,
117
- PasswordResetRequest,
118
- EmailOtpResponse,
119
- AuthenticationRequest,
120
- AuthenticationResponse,
121
- CreateKeyProperties,
122
- InvitationAcceptRequest,
123
- MfaReceipts,
124
- SuiSignRequest,
125
- SuiSignResponse,
126
- QueryMetricsRequest,
127
- QueryMetricsResponse,
128
- CreateOrgRequest,
129
- KeyTypeAndDerivationPath,
130
- DeriveMultipleKeyTypesProperties,
131
- ContactInfo,
132
- ListContactsResponse,
133
- JsonValue,
134
- EditPolicy,
135
- UpdateContactRequest,
136
- AddressMap,
137
- RolePolicy,
138
- InvokePolicyResponse,
139
- InvokePolicyRequest,
140
- UploadWasmPolicyRequest,
141
- UploadWasmPolicyResponse,
142
- LoginRequest,
143
- PasskeyAssertAnswer,
144
- schemas,
145
- KeyWithPoliciesInfo,
146
- GetRoleKeyOptions,
147
- GetUserByEmailResponse,
148
- GetUserByOidcResponse,
149
- EmailTemplatePurpose,
86
+ import {
87
+ type AddIdentityRequest,
88
+ type AvaChain,
89
+ type EnvInterface,
90
+ type EotsCreateNonceRequest,
91
+ type EotsCreateNonceResponse,
92
+ type EotsSignRequest,
93
+ type EotsSignResponse,
94
+ type JrpcResponse,
95
+ type JsonArray,
96
+ type ListIdentityResponse,
97
+ type ListKeyRolesResponse,
98
+ type ListKeysResponse,
99
+ type ListRoleKeysResponse,
100
+ type ListRoleUsersResponse,
101
+ type ListRolesResponse,
102
+ type MmiJrpcMethod,
103
+ type PendingMessageInfo,
104
+ type PendingMessageSignResponse,
105
+ type RatchetConfig,
106
+ type Scope,
107
+ type SessionData,
108
+ type SessionLifetime,
109
+ type SessionsResponse,
110
+ type TaprootSignRequest,
111
+ type TaprootSignResponse,
112
+ type BabylonRegistrationRequest,
113
+ type BabylonRegistrationResponse,
114
+ type BabylonStakingRequest,
115
+ type BabylonStakingResponse,
116
+ type UpdateUserMembershipRequest,
117
+ type HistoricalTx,
118
+ type ListHistoricalTxResponse,
119
+ type PublicOrgInfo,
120
+ type ImportDeriveKeyProperties,
121
+ type PasswordResetRequest,
122
+ type EmailOtpResponse,
123
+ type AuthenticationRequest,
124
+ type AuthenticationResponse,
125
+ type CreateKeyProperties,
126
+ type InvitationAcceptRequest,
127
+ type MfaReceipts,
128
+ type SuiSignRequest,
129
+ type SuiSignResponse,
130
+ type QueryMetricsRequest,
131
+ type QueryMetricsResponse,
132
+ type CreateOrgRequest,
133
+ type KeyTypeAndDerivationPath,
134
+ type DeriveMultipleKeyTypesProperties,
135
+ type ContactInfo,
136
+ type ListContactsResponse,
137
+ type JsonValue,
138
+ type EditPolicy,
139
+ type UpdateContactRequest,
140
+ type AddressMap,
141
+ type RolePolicy,
142
+ type InvokePolicyResponse,
143
+ type InvokePolicyRequest,
144
+ type UploadWasmPolicyRequest,
145
+ type UploadWasmPolicyResponse,
146
+ type LoginRequest,
147
+ type PasskeyAssertAnswer,
148
+ type schemas,
149
+ type KeyWithPoliciesInfo,
150
+ type GetRoleKeyOptions,
151
+ type GetUserByEmailResponse,
152
+ type GetUserByOidcResponse,
153
+ type EmailTemplatePurpose,
154
+ ErrResponse,
150
155
  } from "../index";
151
156
  import { assertOk, op, type Op, type Operation, apiFetch } from "../fetch";
152
157
  import { BaseClient, type ClientConfig, signerSessionFromSessionInfo } from "./base_client";
153
158
  import { retryOn5XX } from "../retry";
154
159
  import { PasskeyLoginChallenge } from "../passkey";
155
160
 
161
+ // these types are used in doc comments only
162
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
163
+ import type { RoleAttestationClaims, KeyAttestationClaims } from "../schema_types";
164
+
156
165
  /**
157
166
  * String returned by API when a user does not have an email address (for backwards compatibility)
158
167
  */
@@ -817,12 +826,17 @@ export class ApiClient extends BaseClient {
817
826
  * The response is a JWT whose claims are the properties of the requested key.
818
827
  *
819
828
  * @param keyId The id of the key.
820
- * @returns A JWT whose claims are the properties of the key.
829
+ * @param query Query parameters:
830
+ * @param query.include_roles if specified, include all the roles the key is in.
831
+ * @returns A JWT whose claims are the properties of the key. The type of the returned JWT payload is {@link KeyAttestationClaims}.
821
832
  */
822
- async keyAttest(keyId: string): Promise<KeyInfoJwt> {
833
+ async keyAttest(keyId: string, query?: KeyAttestationQuery): Promise<KeyInfoJwt> {
823
834
  const o = op("/v0/org/{org_id}/keys/{key_id}/attest", "get");
824
835
  return this.exec(o, {
825
- params: { path: { key_id: keyId } },
836
+ params: {
837
+ path: { key_id: keyId },
838
+ query,
839
+ },
826
840
  });
827
841
  }
828
842
 
@@ -1184,7 +1198,7 @@ export class ApiClient extends BaseClient {
1184
1198
 
1185
1199
  // #endregion
1186
1200
 
1187
- // #region ROLES: roleCreate, roleRead, roleUpdate, roleDelete, rolesList
1201
+ // #region ROLES: roleCreate, roleGet, roleAttest, roleRead, roleUpdate, roleDelete, rolesList
1188
1202
 
1189
1203
  /**
1190
1204
  * Create a new role.
@@ -1216,6 +1230,27 @@ export class ApiClient extends BaseClient {
1216
1230
  });
1217
1231
  }
1218
1232
 
1233
+ /**
1234
+ * Attest to role properties.
1235
+ *
1236
+ * The response is a JWT whose claims are the properties of the requested role.
1237
+ *
1238
+ * @param roleId The id of the role.
1239
+ * @param query Query parameters:
1240
+ * @param query.verbosity Role properties to include in an attestation. Defaults to basic role properties, including associated users, but excluding associated keys.
1241
+ * @param query.key_filter Filter down to a single associated key. Defaults to including all associated keys.
1242
+ * @returns A JWT whose claims are the role properties. The type of the returned JWT payload is {@link RoleAttestationClaims}.
1243
+ */
1244
+ async roleAttest(roleId: string, query?: RoleAttestationQuery): Promise<RoleInfoJwt> {
1245
+ const o = op("/v0/org/{org_id}/roles/{role_id}/attest", "get");
1246
+ return this.exec(o, {
1247
+ params: {
1248
+ path: { role_id: roleId },
1249
+ query,
1250
+ },
1251
+ });
1252
+ }
1253
+
1219
1254
  /**
1220
1255
  * Update a role.
1221
1256
  *
@@ -2680,9 +2715,35 @@ export class ApiClient extends BaseClient {
2680
2715
  method: method,
2681
2716
  params: params,
2682
2717
  };
2683
- const func = async (headers?: HeadersInit) => this.exec(o, { headers, body });
2684
- const resp = (await CubeSignerResponse.create(this.env, func)).data();
2685
- return resp;
2718
+ const func = async (headers?: HeadersInit) => {
2719
+ const resp = await this.exec(o, { headers, body });
2720
+ if (resp.error) {
2721
+ const data = resp.error.data as ErrorResponse | undefined;
2722
+ throw new ErrResponse({
2723
+ message: resp.error.message,
2724
+ errorCode: data?.error_code,
2725
+ requestId: data?.request_id,
2726
+ });
2727
+ }
2728
+ return resp;
2729
+ };
2730
+ const resp = await CubeSignerResponse.create(this.env, func);
2731
+ return resp.data();
2732
+ }
2733
+
2734
+ /**
2735
+ * Retrieve a proof of this session's CubeSigner identity.
2736
+ *
2737
+ * @returns a JWT that can be validated against the JWKS from {@link customerProofJwksUrl}.
2738
+ */
2739
+ async getCustomerProof(): Promise<string> {
2740
+ const resp = await this.mmi("custodian_getCustomerProof", []);
2741
+ const jwt = resp.result?.jwt;
2742
+ if (!jwt || typeof jwt !== "string") {
2743
+ console.warn("Unexpected getCustomerProof response", resp);
2744
+ throw new Error("The type JWT included in the customer proof response is not string");
2745
+ }
2746
+ return jwt;
2686
2747
  }
2687
2748
 
2688
2749
  /**
@@ -2728,6 +2789,24 @@ export class ApiClient extends BaseClient {
2728
2789
  return await this.exec(o, { params: { path: { msg_id: msgId } } });
2729
2790
  }
2730
2791
 
2792
+ /**
2793
+ * @returns JSON Web Key Set (JWKS) URL with the keys used for key/role attestations (see {@link keyAttest} and {@link roleAttest}).
2794
+ */
2795
+ attestationJwksUrl(): URL {
2796
+ const url = "/v0/attestation/.well-known/jwks.json";
2797
+ op(url, "get"); // just to type check the url above
2798
+ return new URL(`${this.env.SignerApiRoot.replace(/\/$/, "")}${url}`);
2799
+ }
2800
+
2801
+ /**
2802
+ * @returns JSON Web Key Set (JWKS) URL with the keys used for validating JWTs returned by the {@link customerProof} method.
2803
+ */
2804
+ customerProofJwksUrl(): URL {
2805
+ const url = "/v0/mmi/v3/.well-known/jwks.json";
2806
+ op(url, "get"); // just to type check the url above
2807
+ return new URL(`${this.env.SignerApiRoot.replace(/\/$/, "")}${url}`);
2808
+ }
2809
+
2731
2810
  // #endregion
2732
2811
 
2733
2812
  /**
@@ -2748,7 +2827,7 @@ export class ApiClient extends BaseClient {
2748
2827
  }
2749
2828
 
2750
2829
  /**
2751
- * Returns a JSON Web Key Set (JWKS) with the keys used for key attestations (see {@link keyAttest}).
2830
+ * Returns a JSON Web Key Set (JWKS) with the keys used for key attestations (see {@link keyAttest} and {@link roleAttest}).
2752
2831
  *
2753
2832
  * @param env The CubeSigner environment
2754
2833
  * @returns A JWKS with they keys used for key attestation.
package/src/key.ts CHANGED
@@ -28,6 +28,7 @@ import type {
28
28
  DiffieHellmanRequest,
29
29
  DiffieHellmanResponse,
30
30
  KeyInfoJwt,
31
+ KeyAttestationQuery,
31
32
  } from "./schema_types";
32
33
  import type {
33
34
  ApiClient,
@@ -51,6 +52,10 @@ import { CubeSignerClient, delay } from ".";
51
52
  import { loadSubtleCrypto } from "./user_export";
52
53
  import { encodeToHex, encodeToBase64 } from "./util";
53
54
 
55
+ // these types are used in doc comments only
56
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
57
+ import type { KeyAttestationClaims } from "./schema_types";
58
+
54
59
  /** Secp256k1 key type */
55
60
  export enum Secp256k1 {
56
61
  Evm = "SecpEthAddr",
@@ -165,10 +170,12 @@ export class Key {
165
170
  /**
166
171
  * Attest to key properties.
167
172
  *
168
- * @returns A JWT whose claims are the key properties.
173
+ * @param query Query parameters:
174
+ * @param query.include_roles If specified, include all the roles the key is in.
175
+ * @returns A JWT whose claims are the properties of the key. The type of the returned JWT payload is {@link KeyAttestationClaims}.
169
176
  */
170
- async attest(): Promise<KeyInfoJwt> {
171
- return await this.#apiClient.keyAttest(this.id);
177
+ async attest(query?: KeyAttestationQuery): Promise<KeyInfoJwt> {
178
+ return await this.#apiClient.keyAttest(this.id, query);
172
179
  }
173
180
 
174
181
  /** @returns The type of key. */
package/src/role.ts CHANGED
@@ -19,9 +19,14 @@ import type {
19
19
  GetRoleKeyOptions,
20
20
  EditPolicy,
21
21
  MfaPolicy,
22
+ RoleInfoJwt,
22
23
  } from ".";
23
24
  import { Key, SignerSessionInfo } from ".";
24
25
 
26
+ // these types are used in doc comments only
27
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
+ import type { RoleAttestationClaims, RoleAttestationQuery } from "./schema_types";
29
+
25
30
  type NameOrAddressOrNull = string | null;
26
31
 
27
32
  /**
@@ -610,6 +615,18 @@ export class Role {
610
615
  return this.#data;
611
616
  }
612
617
 
618
+ /**
619
+ * Attest to role properties.
620
+ *
621
+ * @param query Query parameters:
622
+ * @param query.verbosity Role properties to include in an attestation. Defaults to basic role properties, including associated users, but excluding associated keys.
623
+ * @param query.key_filter Filter down to a single associated key. Defaults to including all associated keys.
624
+ * @returns A JWT whose claims are the role properties. The type of the returned JWT payload is {@link RoleAttestationClaims}.
625
+ */
626
+ async attest(query?: RoleAttestationQuery): Promise<RoleInfoJwt> {
627
+ return await this.#apiClient.roleAttest(this.id, query);
628
+ }
629
+
613
630
  /**
614
631
  * Delete the role.
615
632
  *
package/src/schema.ts CHANGED
@@ -1129,6 +1129,15 @@ export interface paths {
1129
1129
  */
1130
1130
  put: operations["addUserToRole"];
1131
1131
  };
1132
+ "/v0/org/{org_id}/roles/{role_id}/attest": {
1133
+ /**
1134
+ * Attest to Role Properties
1135
+ * @description Attest to Role Properties
1136
+ *
1137
+ * The response is a JWT whose claims are the requested role properties.
1138
+ */
1139
+ get: operations["attestRole"];
1140
+ };
1132
1141
  "/v0/org/{org_id}/roles/{role_id}/keys": {
1133
1142
  /**
1134
1143
  * List Role Keys
@@ -2923,6 +2932,7 @@ export interface components {
2923
2932
  | "ResetMemberMfa"
2924
2933
  | "CompleteResetMemberMfa"
2925
2934
  | "CreateRole"
2935
+ | "AttestRole"
2926
2936
  | "GetRole"
2927
2937
  | "ListTokenKeys"
2928
2938
  | "ListRoles"
@@ -4614,6 +4624,7 @@ export interface components {
4614
4624
  | "manage:role:create"
4615
4625
  | "manage:role:delete"
4616
4626
  | "manage:role:get:*"
4627
+ | "manage:role:attest"
4617
4628
  | "manage:role:get:keys"
4618
4629
  | "manage:role:get:keys:list"
4619
4630
  | "manage:role:get:keys:get"
@@ -5320,6 +5331,13 @@ export interface components {
5320
5331
  /** @description The keys included in this set */
5321
5332
  keys: Record<string, never>[];
5322
5333
  };
5334
+ KeyAttestationClaims: {
5335
+ exp: components["schemas"]["EpochDateTime"];
5336
+ iat: components["schemas"]["EpochDateTime"];
5337
+ key_info: components["schemas"]["KeyInfo"];
5338
+ /** @description If requested, the roles the key is currently in. */
5339
+ key_roles?: components["schemas"]["KeyInRoleInfo"][] | null;
5340
+ };
5323
5341
  KeyCountDimensions: {
5324
5342
  /** @description The key type */
5325
5343
  key_type: string;
@@ -7552,13 +7570,32 @@ export interface components {
7552
7570
  * @enum {string}
7553
7571
  */
7554
7572
  RoleAction: "CreateToken" | "GetKey";
7573
+ RoleAttestationClaims: {
7574
+ exp: components["schemas"]["EpochDateTime"];
7575
+ iat: components["schemas"]["EpochDateTime"];
7576
+ query: components["schemas"]["RoleAttestationQuery"];
7577
+ role_info: components["schemas"]["RoleInfo"];
7578
+ /** @description The information about the keys currently in this role. */
7579
+ role_keys?: components["schemas"]["KeyInRoleInfo"][] | null;
7580
+ /** @description The IDs of the users who are currently in this role. */
7581
+ role_users: string[];
7582
+ };
7583
+ RoleAttestationQuery: {
7584
+ key_filter?: components["schemas"]["Id"] | null;
7585
+ verbosity?: components["schemas"]["RoleAttestationVerbosity"];
7586
+ };
7587
+ /**
7588
+ * @description Specifies which role properties to include in an attestation
7589
+ * @enum {string}
7590
+ */
7591
+ RoleAttestationVerbosity: "Summary" | "WithKeys" | "Full";
7555
7592
  RoleInfo: components["schemas"]["CommonFields"] & {
7556
7593
  /**
7557
7594
  * @description Whether the role is enabled
7558
7595
  * @example true
7559
7596
  */
7560
7597
  enabled: boolean;
7561
- /** @description Deprecated The CubeSigner IDs of at most 100 keys associated with this role */
7598
+ /** @description Deprecated. The CubeSigner IDs of at most 100 keys associated with this role. */
7562
7599
  keys?: components["schemas"]["KeyInRoleInfo"][] | null;
7563
7600
  /**
7564
7601
  * @description Whether the current user is a member of the role. This is always true,
@@ -7595,6 +7632,11 @@ export interface components {
7595
7632
  /** @description Deprecated. The list of at most 100 users with access to the role. */
7596
7633
  users?: string[] | null;
7597
7634
  };
7635
+ /** @description Response returned when requesting a role attestation. */
7636
+ RoleInfoJwt: {
7637
+ /** @description A JSON Web Token whose claims contain the `RoleInfo` structure. */
7638
+ jwt: string;
7639
+ };
7598
7640
  /** @description All scopes for accessing CubeSigner APIs */
7599
7641
  Scope: components["schemas"]["ExplicitScope"] | string;
7600
7642
  /** @description A set of scopes. */
@@ -10326,7 +10368,7 @@ export interface components {
10326
10368
  * @example true
10327
10369
  */
10328
10370
  enabled: boolean;
10329
- /** @description Deprecated The CubeSigner IDs of at most 100 keys associated with this role */
10371
+ /** @description Deprecated. The CubeSigner IDs of at most 100 keys associated with this role. */
10330
10372
  keys?: components["schemas"]["KeyInRoleInfo"][] | null;
10331
10373
  /**
10332
10374
  * @description Whether the current user is a member of the role. This is always true,
@@ -10365,6 +10407,15 @@ export interface components {
10365
10407
  };
10366
10408
  };
10367
10409
  };
10410
+ /** @description Response returned when requesting a role attestation. */
10411
+ RoleInfoJwt: {
10412
+ content: {
10413
+ "application/json": {
10414
+ /** @description A JSON Web Token whose claims contain the `RoleInfo` structure. */
10415
+ jwt: string;
10416
+ };
10417
+ };
10418
+ };
10368
10419
  SessionInfo: {
10369
10420
  content: {
10370
10421
  "application/json": components["schemas"]["SessionMetadata"] & {
@@ -12780,6 +12831,9 @@ export interface operations {
12780
12831
  */
12781
12832
  attestKey: {
12782
12833
  parameters: {
12834
+ query?: {
12835
+ include_roles?: boolean | null;
12836
+ };
12783
12837
  path: {
12784
12838
  /**
12785
12839
  * @description Name or ID of the desired Org
@@ -14234,6 +14288,9 @@ export interface operations {
14234
14288
  */
14235
14289
  getRole: {
14236
14290
  parameters: {
14291
+ query?: {
14292
+ summarize?: boolean | null;
14293
+ };
14237
14294
  path: {
14238
14295
  /**
14239
14296
  * @description Name or ID of the desired Org
@@ -14440,6 +14497,48 @@ export interface operations {
14440
14497
  };
14441
14498
  };
14442
14499
  };
14500
+ /**
14501
+ * Attest to Role Properties
14502
+ * @description Attest to Role Properties
14503
+ *
14504
+ * The response is a JWT whose claims are the requested role properties.
14505
+ */
14506
+ attestRole: {
14507
+ parameters: {
14508
+ query?: {
14509
+ /**
14510
+ * @description Role properties to include in an attestation. Defaults to basic role
14511
+ * properties, including associated users, but excluding associated keys.
14512
+ */
14513
+ verbosity?: components["schemas"]["RoleAttestationVerbosity"];
14514
+ /**
14515
+ * @description Associated keys filter, i.e., when specified, out all other associated
14516
+ * keys are filtered out. Defaults to including all associated keys.
14517
+ */
14518
+ key_filter?: components["schemas"]["Id"] | null;
14519
+ };
14520
+ path: {
14521
+ /**
14522
+ * @description Name or ID of the desired Org
14523
+ * @example Org#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
14524
+ */
14525
+ org_id: string;
14526
+ /**
14527
+ * @description Name or ID of the desired Role
14528
+ * @example Role#124dfe3e-3bbd-487d-80c0-53c55e8ab87a
14529
+ */
14530
+ role_id: string;
14531
+ };
14532
+ };
14533
+ responses: {
14534
+ 200: components["responses"]["RoleInfoJwt"];
14535
+ default: {
14536
+ content: {
14537
+ "application/json": components["schemas"]["ErrorResponse"];
14538
+ };
14539
+ };
14540
+ };
14541
+ };
14443
14542
  /**
14444
14543
  * List Role Keys
14445
14544
  * @description List Role Keys
@@ -1,4 +1,4 @@
1
- import type { components, operations } from "./schema";
1
+ import type { components, operations, paths } from "./schema";
2
2
  import type { JsonMap, JsonValue } from "./util";
3
3
 
4
4
  export type schemas = components["schemas"];
@@ -81,6 +81,14 @@ export type KeyProperties = schemas["CreateAndUpdateKeyProperties"];
81
81
  export type CreateKeyRequest = schemas["CreateKeyRequest"];
82
82
  export type KeyInfo = schemas["KeyInfo"];
83
83
  export type KeyInfoJwt = schemas["KeyInfoJwt"];
84
+ export type KeyAttestationClaims = schemas["KeyAttestationClaims"];
85
+ export type KeyAttestationQuery =
86
+ paths["/v0/org/{org_id}/keys/{key_id}/attest"]["get"]["parameters"]["query"];
87
+ export type RoleInfoJwt = schemas["RoleInfoJwt"];
88
+ export type RoleAttestationClaims = schemas["RoleAttestationClaims"];
89
+ export type RoleAttestationQuery =
90
+ paths["/v0/org/{org_id}/roles/{role_id}/attest"]["get"]["parameters"]["query"];
91
+ export type RoleAttestationVerbosity = schemas["RoleAttestationVerbosity"];
84
92
  export type KeyInRoleInfo = schemas["KeyInRoleInfo"];
85
93
  export type GetUsersInOrgResponse = schemas["PaginatedGetUsersInOrgResponse"];
86
94
  export type GetUserByEmailResponse = schemas["GetUserByEmailResponse"];
package/src/scopes.ts CHANGED
@@ -129,6 +129,7 @@ export const AllScopes: Record<ExplicitScope, string> =
129
129
  "manage:policy:createImportKey" : "Allows access only to the policy key endpoint",
130
130
  "manage:role:*" : "Allows access to all role endpoints",
131
131
  "manage:role:readonly" : "Allows access to all role readonly endpoints",
132
+ "manage:role:attest" : "Allows access only to the role 'attest' endpoint",
132
133
  "manage:role:create" : "Allows access only to the role 'create' endpoint",
133
134
  "manage:role:delete" : "Allows access only to the role 'delete' endpoint",
134
135
  "manage:role:get:*" : "Allows access only to the role 'get' endpoint",