@cubist-labs/cubesigner-sdk 0.4.209 → 0.4.217

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 (45) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/acl.d.ts +12 -0
  3. package/dist/src/acl.d.ts.map +1 -0
  4. package/dist/src/acl.js +3 -0
  5. package/dist/src/client/api_client.d.ts +24 -6
  6. package/dist/src/client/api_client.d.ts.map +1 -1
  7. package/dist/src/client/api_client.js +40 -14
  8. package/dist/src/client/base_client.d.ts +1 -0
  9. package/dist/src/client/base_client.d.ts.map +1 -1
  10. package/dist/src/client/base_client.js +1 -1
  11. package/dist/src/contact.d.ts +9 -1
  12. package/dist/src/contact.d.ts.map +1 -1
  13. package/dist/src/contact.js +14 -1
  14. package/dist/src/evm/index.d.ts +7 -0
  15. package/dist/src/evm/index.d.ts.map +1 -1
  16. package/dist/src/evm/index.js +28 -29
  17. package/dist/src/index.d.ts +2 -0
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +3 -1
  20. package/dist/src/org.d.ts +60 -19
  21. package/dist/src/org.d.ts.map +1 -1
  22. package/dist/src/org.js +82 -25
  23. package/dist/src/policy.d.ts +109 -35
  24. package/dist/src/policy.d.ts.map +1 -1
  25. package/dist/src/policy.js +88 -42
  26. package/dist/src/schema.d.ts +158 -16
  27. package/dist/src/schema.d.ts.map +1 -1
  28. package/dist/src/schema.js +1 -1
  29. package/dist/src/schema_types.d.ts +12 -2
  30. package/dist/src/schema_types.d.ts.map +1 -1
  31. package/dist/src/schema_types.js +1 -1
  32. package/dist/src/scopes.d.ts.map +1 -1
  33. package/dist/src/scopes.js +2 -1
  34. package/package.json +1 -1
  35. package/src/acl.ts +13 -0
  36. package/src/client/api_client.ts +54 -12
  37. package/src/client/base_client.ts +1 -1
  38. package/src/contact.ts +16 -1
  39. package/src/evm/index.ts +4 -4
  40. package/src/index.ts +2 -0
  41. package/src/org.ts +118 -31
  42. package/src/policy.ts +144 -49
  43. package/src/schema.ts +184 -25
  44. package/src/schema_types.ts +14 -3
  45. package/src/scopes.ts +1 -0
@@ -1,46 +1,85 @@
1
- import type { ApiClient, CubeSignerResponse, EditPolicy, Empty, InvokePolicyResponse, JsonValue, KeyPolicy, KeyPolicyRule, MfaReceipts, PolicyAttachedToId, PolicyInfo, PolicyType, RolePolicy, RolePolicyRule, UpdatePolicyRequest, WasmPolicyResponse, WasmRule } from ".";
1
+ import type { ApiClient, C2FResponse, CubeSignerResponse, EditPolicy, Empty, InvokeC2FResponse, JsonValue, KeyPolicy, KeyPolicyRule, MfaReceipts, PolicyAttachedToId, PolicyInfo, PolicyType, RolePolicy, RolePolicyRule, UpdatePolicyRequest, WasmRule, Acl, AceAttribute, PolicyAction } from ".";
2
2
  /**
3
3
  * Named policy rule type.
4
4
  */
5
5
  export type PolicyRule = KeyPolicyRule | RolePolicyRule | WasmRule;
6
+ /**
7
+ * A helper type for {@link PolicyInfo} with a more detailed `acl` type.
8
+ */
9
+ type NamedPolicyInfo = PolicyInfo & {
10
+ acl?: Acl<PolicyAction, PolicyCtx>;
11
+ };
6
12
  /**
7
13
  * The policy info for a named key policy.
8
14
  */
9
- export type KeyPolicyInfo = PolicyInfo & {
15
+ export type KeyPolicyInfo = NamedPolicyInfo & {
10
16
  policy_type: "Key";
11
17
  };
12
18
  /**
13
19
  * The policy info for a named role policy.
14
20
  */
15
- export type RolePolicyInfo = PolicyInfo & {
21
+ export type RolePolicyInfo = NamedPolicyInfo & {
16
22
  policy_type: "Role";
17
23
  };
18
24
  /**
19
25
  * The policy info for a named wasm policy.
20
26
  */
21
- export type WasmPolicyInfo = PolicyInfo & {
27
+ export type WasmPolicyInfo = NamedPolicyInfo & {
22
28
  policy_type: "Wasm";
23
29
  };
30
+ /**
31
+ * The policy info for a Confidential Cloud Function.
32
+ */
33
+ export type C2FInfo = WasmPolicyInfo;
24
34
  /**
25
35
  * A helper type for valid named policy version strings.
26
36
  */
27
37
  export type Version = `v${number}` | `latest`;
38
+ /** A policy access control entry. */
39
+ export type PolicyAcl = Acl<PolicyAction, PolicyCtx>;
40
+ /** Additional contexts when using policies. */
41
+ export type PolicyCtx = {
42
+ /**
43
+ * The resources (keys, roles, and key-in-roles) that the access control entry
44
+ * applies to.
45
+ */
46
+ resources: AceAttribute<PolicyResource>;
47
+ };
48
+ /** A resource a policy is invoked with or attached to. */
49
+ export type PolicyResource =
50
+ /** A key or role id. */
51
+ string
52
+ /** Keys attached to roles. */
53
+ | {
54
+ key_ids: "*" | string[];
55
+ role_ids: "*" | string[];
56
+ };
28
57
  /**
29
- * Upload the given Wasm policy object.
58
+ * Upload the given Wasm Confidential Cloud Function.
30
59
  *
31
60
  * @param apiClient The API client to use.
32
- * @param policy The Wasm policy object.
33
- * @returns The Wasm policy object hash to use for creating/updating policies.
61
+ * @param policy The Wasm function.
62
+ * @returns The Wasm function object hash to use for creating/updating C2F policies.
34
63
  * @throws if uploading the policy fails.
35
64
  * @internal
36
65
  */
37
- export declare function uploadWasmPolicy(apiClient: ApiClient, policy: Uint8Array): Promise<string>;
66
+ export declare function uploadWasmFunction(apiClient: ApiClient, policy: Uint8Array): Promise<string>;
67
+ /**
68
+ * Upload the given Wasm policy.
69
+ *
70
+ * @param apiClient The API client to use.
71
+ * @param policy The Wasm function.
72
+ * @returns The Wasm function object hash to use for creating/updating C2F policies.
73
+ * @throws if uploading the policy fails.
74
+ * @internal
75
+ */
76
+ export declare const uploadWasmPolicy: typeof uploadWasmFunction;
38
77
  /**
39
78
  * Abstract class for shared methods between key, role and Wasm policies.
40
79
  */
41
80
  export declare abstract class NamedPolicy {
42
81
  protected readonly apiClient: ApiClient;
43
- protected data: PolicyInfo;
82
+ protected data: NamedPolicyInfo;
44
83
  /**
45
84
  * Helper method for creating a named policy from a policy info.
46
85
  *
@@ -102,15 +141,15 @@ export declare abstract class NamedPolicy {
102
141
  */
103
142
  metadata(): Promise<JsonValue>;
104
143
  /**
105
- * Sets a new metadata value for the contact (overwriting the existing value).
144
+ * Sets a new metadata value for the named policy (overwriting the existing value).
106
145
  *
107
- * @param metadata The new metadata for the contact.
146
+ * @param metadata The new metadata for the named policy.
108
147
  * @param mfaReceipt Optional MFA receipt(s).
109
148
  * @throws if MFA is required and no receipts are provided
110
149
  */
111
150
  setMetadata(metadata: JsonValue, mfaReceipt?: MfaReceipts): Promise<void>;
112
151
  /**
113
- * Fetch and return the edit policy for the contact.
152
+ * Fetch and return the edit policy for the named policy.
114
153
  *
115
154
  * @returns The edit policy for this named policy.
116
155
  */
@@ -123,6 +162,20 @@ export declare abstract class NamedPolicy {
123
162
  * @throws if MFA is required and no receipts are provided
124
163
  */
125
164
  setEditPolicy(editPolicy: EditPolicy, mfaReceipt?: MfaReceipts): Promise<void>;
165
+ /**
166
+ * Fetch and return the access control entries for the named policy.
167
+ *
168
+ * @returns The access control entries for this named policy.
169
+ */
170
+ acl(): Promise<PolicyAcl | undefined>;
171
+ /**
172
+ * Sets new access control entries for the named policy (overwriting the existing entries).
173
+ *
174
+ * @param acl The access control entries to set.
175
+ * @param mfaReceipt Optional MFA receipt(s).
176
+ * @throws if MFA is required and no receipts are provided
177
+ */
178
+ setAcl(acl: PolicyAcl, mfaReceipt?: MfaReceipts): Promise<void>;
126
179
  /**
127
180
  * @returns a list of all keys, roles, and key-in-roles that all versions of this policy
128
181
  * are attached to.
@@ -145,7 +198,7 @@ export declare abstract class NamedPolicy {
145
198
  * @param data The JSON response from the API server.
146
199
  * @internal
147
200
  */
148
- protected constructor(apiClient: ApiClient, data: PolicyInfo);
201
+ protected constructor(apiClient: ApiClient, data: NamedPolicyInfo);
149
202
  /**
150
203
  * Update the policy.
151
204
  *
@@ -155,7 +208,7 @@ export declare abstract class NamedPolicy {
155
208
  * @throws if MFA is required and no receipts are provided
156
209
  * @internal
157
210
  */
158
- protected update(request: UpdatePolicyRequest, mfaReceipt?: MfaReceipts): Promise<PolicyInfo>;
211
+ protected update(request: UpdatePolicyRequest, mfaReceipt?: MfaReceipts): Promise<NamedPolicyInfo>;
159
212
  /**
160
213
  * Fetch the policy information.
161
214
  *
@@ -163,7 +216,7 @@ export declare abstract class NamedPolicy {
163
216
  * @returns The policy information.
164
217
  * @internal
165
218
  */
166
- protected fetch(version?: Version): Promise<PolicyInfo>;
219
+ protected fetch(version?: Version): Promise<NamedPolicyInfo>;
167
220
  }
168
221
  /**
169
222
  * A representation of a named key policy.
@@ -210,30 +263,42 @@ export declare class NamedRolePolicy extends NamedPolicy {
210
263
  constructor(apiClient: ApiClient, data: RolePolicyInfo);
211
264
  }
212
265
  /**
213
- * A representation of a Wasm policy.
266
+ * A representation of a Confidential Cloud Function (C2F).
267
+ *
268
+ * This class extends NamedPolicy because C2F functions can be attached
269
+ * to keys and roles like a named policy.
214
270
  */
215
- export declare class NamedWasmPolicy extends NamedPolicy {
216
- data: WasmPolicyInfo;
271
+ export declare class C2FFunction extends NamedPolicy {
272
+ data: C2FInfo;
217
273
  /**
218
- * Update the policy with the new Wasm policy.
274
+ * Update this C2F function with a new Wasm function.
219
275
  *
220
- * @param policy The new Wasm policy object.
276
+ * @param policy The new Wasm function.
221
277
  * @param mfaReceipt Optional MFA receipt(s).
222
- * @throws if uploading the policy object fails.
278
+ * @throws if uploading the function fails.
223
279
  * @throws if MFA is required and no receipts are provided.
224
280
  */
225
- setWasmPolicy(policy: Uint8Array, mfaReceipt?: MfaReceipts): Promise<void>;
281
+ setWasmFunction(policy: Uint8Array, mfaReceipt?: MfaReceipts): Promise<void>;
226
282
  /**
227
- * Invoke this wasm policy.
283
+ * Invoke this Confidential Cloud Function.
228
284
  *
229
- * @param keyId The optional key id that the policy will be invoked with.
230
- * @param version The version of the policy to invoke. Defaults to "latest".
231
- * @param request The optional sign request body that will be sent to the policy.
232
- * @param roleId The optional role id that the policy will be invoked by.
285
+ * @param keyId The optional key id that the function will be invoked with.
286
+ * @param version The version of the function to invoke. Defaults to "latest".
287
+ * @param request The optional sign request body that will be sent to the function.
288
+ * @param roleId The optional role id that the function will be invoked by.
233
289
  * If `undefined`, the policy will be invoked by the user session.
234
- * @returns The result of invoking the policy.
290
+ * @returns The result of invoking the function.
291
+ */
292
+ invoke(keyId?: string, version?: Version, request?: JsonValue, roleId?: string): Promise<C2FInvocation>;
293
+ /**
294
+ * Update the policy with the new Wasm policy.
295
+ *
296
+ * @param policy The new Wasm policy object.
297
+ * @param mfaReceipt Optional MFA receipt(s).
298
+ * @throws if uploading the policy object fails.
299
+ * @throws if MFA is required and no receipts are provided.
235
300
  */
236
- invoke(keyId?: string, version?: Version, request?: JsonValue, roleId?: string): Promise<PolicyInvocation>;
301
+ setWasmPolicy: (policy: Uint8Array, mfaReceipt?: MfaReceipts) => Promise<void>;
237
302
  /**
238
303
  * Constructor.
239
304
  *
@@ -241,7 +306,7 @@ export declare class NamedWasmPolicy extends NamedPolicy {
241
306
  * @param data The JSON response from the API server.
242
307
  * @internal
243
308
  */
244
- constructor(apiClient: ApiClient, data: WasmPolicyInfo);
309
+ constructor(apiClient: ApiClient, data: C2FInfo);
245
310
  }
246
311
  /**
247
312
  * A specific version of a named policy.
@@ -276,7 +341,7 @@ export declare class NamedPolicyRules {
276
341
  * @param data The JSON response from the API server.
277
342
  * @internal
278
343
  */
279
- constructor(apiClient: ApiClient, data: PolicyInfo);
344
+ constructor(apiClient: ApiClient, data: NamedPolicyInfo);
280
345
  /**
281
346
  * Fetch the policy information.
282
347
  *
@@ -286,12 +351,12 @@ export declare class NamedPolicyRules {
286
351
  private fetch;
287
352
  }
288
353
  /**
289
- * The result of invoking a named wasm policy.
354
+ * The result of invoking a Confidential Cloud Function.
290
355
  */
291
- export declare class PolicyInvocation {
356
+ export declare class C2FInvocation {
292
357
  #private;
293
358
  /** @returns The policy response itself. */
294
- get response(): WasmPolicyResponse;
359
+ get response(): C2FResponse;
295
360
  /** @returns The standard output stream. Usually a UTF-8 encoded string. */
296
361
  get stdout(): Buffer;
297
362
  /** @returns The standard error stream. Usually a UTF-8 encoded string. */
@@ -309,6 +374,15 @@ export declare class PolicyInvocation {
309
374
  * @param data The JSON response from the API server.
310
375
  * @internal
311
376
  */
312
- constructor(data: InvokePolicyResponse);
377
+ constructor(data: InvokeC2FResponse);
313
378
  }
379
+ /** A representation of a Wasm policy. */
380
+ export type NamedWasmPolicy = C2FFunction;
381
+ /** A representation of a Wasm policy. */
382
+ export declare const NamedWasmPolicy: typeof C2FFunction;
383
+ /** The result of invoking a named WASM policy. */
384
+ export type PolicyInvocation = C2FInvocation;
385
+ /** The result of invoking a named WASM policy. */
386
+ export declare const PolicyInvocation: typeof C2FInvocation;
387
+ export {};
314
388
  //# sourceMappingURL=policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"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"}