@metamask/permission-controller 9.0.2 → 9.1.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.
Files changed (113) hide show
  1. package/CHANGELOG.md +20 -4
  2. package/dist/Caveat.js +5 -5
  3. package/dist/Caveat.mjs +4 -4
  4. package/dist/Permission.js +3 -3
  5. package/dist/Permission.mjs +2 -2
  6. package/dist/PermissionController.js +8 -8
  7. package/dist/PermissionController.mjs +7 -7
  8. package/dist/SubjectMetadataController.js +3 -3
  9. package/dist/SubjectMetadataController.mjs +2 -2
  10. package/dist/chunk-2L4QPE5A.mjs +25 -0
  11. package/dist/chunk-3R56AY2L.mjs +35 -0
  12. package/dist/chunk-3R56AY2L.mjs.map +1 -0
  13. package/dist/{chunk-U5LTEXSU.js → chunk-3X6WO7UG.js} +28 -2
  14. package/dist/chunk-3X6WO7UG.js.map +1 -0
  15. package/dist/{chunk-VFQJB7BG.mjs → chunk-4B6NOD2D.mjs} +401 -115
  16. package/dist/chunk-4B6NOD2D.mjs.map +1 -0
  17. package/dist/{chunk-FEXS6SJF.mjs → chunk-AZUM6CBY.mjs} +27 -1
  18. package/dist/chunk-AZUM6CBY.mjs.map +1 -0
  19. package/dist/{chunk-SFKE5HHK.js → chunk-C73QV75D.js} +1 -4
  20. package/dist/chunk-C73QV75D.js.map +1 -0
  21. package/dist/{chunk-YVXIWLBE.mjs → chunk-DUZPZORW.mjs} +2 -2
  22. package/dist/{chunk-7CTPRFQ3.js → chunk-DV74ZDGD.js} +7 -7
  23. package/dist/{chunk-ZVO26XPN.js → chunk-GHOOCGN3.js} +4 -4
  24. package/dist/chunk-GHOOCGN3.js.map +1 -0
  25. package/dist/{chunk-ODCVB4BB.mjs → chunk-HYMS7IGB.mjs} +1 -1
  26. package/dist/chunk-HYMS7IGB.mjs.map +1 -0
  27. package/dist/{chunk-Q4TESWPE.js → chunk-I3DJ23QH.js} +449 -163
  28. package/dist/chunk-I3DJ23QH.js.map +1 -0
  29. package/dist/chunk-PTE4672I.js +35 -0
  30. package/dist/chunk-PTE4672I.js.map +1 -0
  31. package/dist/{chunk-XBFHEZRU.mjs → chunk-RJKSCKTD.mjs} +2 -2
  32. package/dist/chunk-RJKSCKTD.mjs.map +1 -0
  33. package/dist/{chunk-EGNDXGRG.js → chunk-RKDXFKNN.js} +4 -4
  34. package/dist/chunk-RKDXFKNN.js.map +1 -0
  35. package/dist/{chunk-N4KQ2BHF.mjs → chunk-RXC2KFRK.mjs} +2 -2
  36. package/dist/{chunk-5C5SZO74.mjs → chunk-TBOKQ5NP.mjs} +4 -4
  37. package/dist/{chunk-AQ35E2HU.js → chunk-VM4LI55W.js} +3 -3
  38. package/dist/{chunk-4D2RVWNF.mjs → chunk-W4CPVA4J.mjs} +1 -4
  39. package/dist/chunk-W4CPVA4J.mjs.map +1 -0
  40. package/dist/{chunk-YRNH4R3G.js → chunk-XM622CMP.js} +3 -3
  41. package/dist/{chunk-BEQEQLRE.mjs → chunk-Y6GRGXOL.mjs} +2 -2
  42. package/dist/chunk-Y6GRGXOL.mjs.map +1 -0
  43. package/dist/chunk-Z2XKIXLS.js +25 -0
  44. package/dist/{chunk-6CID6TBW.js → chunk-ZH4MLSXX.js} +1 -1
  45. package/dist/chunk-ZH4MLSXX.js.map +1 -0
  46. package/dist/errors.js +9 -3
  47. package/dist/errors.mjs +8 -2
  48. package/dist/index.js +18 -12
  49. package/dist/index.mjs +17 -11
  50. package/dist/permission-middleware.js +4 -4
  51. package/dist/permission-middleware.mjs +3 -3
  52. package/dist/rpc-methods/getPermissions.js +2 -2
  53. package/dist/rpc-methods/getPermissions.mjs +2 -2
  54. package/dist/rpc-methods/index.js +7 -7
  55. package/dist/rpc-methods/index.mjs +6 -6
  56. package/dist/rpc-methods/requestPermissions.js +5 -5
  57. package/dist/rpc-methods/requestPermissions.mjs +4 -4
  58. package/dist/rpc-methods/revokePermissions.js +5 -5
  59. package/dist/rpc-methods/revokePermissions.mjs +4 -4
  60. package/dist/tsconfig.build.tsbuildinfo +1 -1
  61. package/dist/types/Caveat.d.ts +45 -18
  62. package/dist/types/Caveat.d.ts.map +1 -1
  63. package/dist/types/Permission.d.ts +39 -39
  64. package/dist/types/Permission.d.ts.map +1 -1
  65. package/dist/types/PermissionController.d.ts +152 -56
  66. package/dist/types/PermissionController.d.ts.map +1 -1
  67. package/dist/types/SubjectMetadataController.d.ts +13 -13
  68. package/dist/types/SubjectMetadataController.d.ts.map +1 -1
  69. package/dist/types/errors.d.ts +21 -2
  70. package/dist/types/errors.d.ts.map +1 -1
  71. package/dist/types/index.d.ts +2 -1
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/permission-middleware.d.ts +1 -1
  74. package/dist/types/permission-middleware.d.ts.map +1 -1
  75. package/dist/types/rpc-methods/getPermissions.d.ts +1 -1
  76. package/dist/types/rpc-methods/getPermissions.d.ts.map +1 -1
  77. package/dist/types/rpc-methods/index.d.ts +2 -4
  78. package/dist/types/rpc-methods/index.d.ts.map +1 -1
  79. package/dist/types/rpc-methods/requestPermissions.d.ts +2 -2
  80. package/dist/types/rpc-methods/requestPermissions.d.ts.map +1 -1
  81. package/dist/types/rpc-methods/revokePermissions.d.ts +3 -3
  82. package/dist/types/rpc-methods/revokePermissions.d.ts.map +1 -1
  83. package/dist/types/utils.d.ts +23 -6
  84. package/dist/types/utils.d.ts.map +1 -1
  85. package/dist/utils.js +5 -3
  86. package/dist/utils.mjs +6 -4
  87. package/package.json +6 -6
  88. package/dist/chunk-4D2RVWNF.mjs.map +0 -1
  89. package/dist/chunk-6CID6TBW.js.map +0 -1
  90. package/dist/chunk-BEQEQLRE.mjs.map +0 -1
  91. package/dist/chunk-CSAU5B4Q.js +0 -10
  92. package/dist/chunk-EGNDXGRG.js.map +0 -1
  93. package/dist/chunk-FEXS6SJF.mjs.map +0 -1
  94. package/dist/chunk-K5R57Y57.js +0 -12
  95. package/dist/chunk-K5R57Y57.js.map +0 -1
  96. package/dist/chunk-KVKKNDYV.mjs +0 -12
  97. package/dist/chunk-KVKKNDYV.mjs.map +0 -1
  98. package/dist/chunk-ODCVB4BB.mjs.map +0 -1
  99. package/dist/chunk-Q4TESWPE.js.map +0 -1
  100. package/dist/chunk-SFKE5HHK.js.map +0 -1
  101. package/dist/chunk-U5LTEXSU.js.map +0 -1
  102. package/dist/chunk-VFQJB7BG.mjs.map +0 -1
  103. package/dist/chunk-XBFHEZRU.mjs.map +0 -1
  104. package/dist/chunk-ZSTKOCBT.mjs +0 -10
  105. package/dist/chunk-ZVO26XPN.js.map +0 -1
  106. /package/dist/{chunk-ZSTKOCBT.mjs.map → chunk-2L4QPE5A.mjs.map} +0 -0
  107. /package/dist/{chunk-YVXIWLBE.mjs.map → chunk-DUZPZORW.mjs.map} +0 -0
  108. /package/dist/{chunk-7CTPRFQ3.js.map → chunk-DV74ZDGD.js.map} +0 -0
  109. /package/dist/{chunk-N4KQ2BHF.mjs.map → chunk-RXC2KFRK.mjs.map} +0 -0
  110. /package/dist/{chunk-5C5SZO74.mjs.map → chunk-TBOKQ5NP.mjs.map} +0 -0
  111. /package/dist/{chunk-AQ35E2HU.js.map → chunk-VM4LI55W.js.map} +0 -0
  112. /package/dist/{chunk-YRNH4R3G.js.map → chunk-XM622CMP.js.map} +0 -0
  113. /package/dist/{chunk-CSAU5B4Q.js.map → chunk-Z2XKIXLS.js.map} +0 -0
@@ -3,38 +3,57 @@ import type { RestrictedControllerMessenger, ActionConstraint, EventConstraint,
3
3
  import { BaseController } from '@metamask/base-controller';
4
4
  import type { NonEmptyArray } from '@metamask/controller-utils';
5
5
  import type { Json } from '@metamask/utils';
6
- import type { CaveatConstraint, CaveatSpecificationConstraint, CaveatSpecificationMap, ExtractCaveat, ExtractCaveats, ExtractCaveatValue } from './Caveat';
6
+ import type { CaveatConstraint, CaveatDiffMap, CaveatSpecificationConstraint, CaveatSpecificationMap, ExtractCaveat, ExtractCaveats, ExtractCaveatValue } from './Caveat';
7
7
  import type { EndowmentSpecificationConstraint, ExtractAllowedCaveatTypes, OriginString, PermissionConstraint, PermissionSpecificationConstraint, PermissionSpecificationMap, RequestedPermissions, RestrictedMethod, RestrictedMethodParameters, RestrictedMethodSpecificationConstraint, SideEffectHandler, ValidPermission, ValidPermissionSpecification } from './Permission';
8
8
  import { getPermissionMiddlewareFactory } from './permission-middleware';
9
9
  import type { GetSubjectMetadata } from './SubjectMetadataController';
10
10
  /**
11
11
  * Metadata associated with {@link PermissionController} subjects.
12
12
  */
13
- export declare type PermissionSubjectMetadata = {
13
+ export type PermissionSubjectMetadata = {
14
14
  origin: OriginString;
15
15
  };
16
16
  /**
17
17
  * Metadata associated with permission requests.
18
18
  */
19
- export declare type PermissionsRequestMetadata = PermissionSubjectMetadata & {
19
+ export type PermissionsRequestMetadata = PermissionSubjectMetadata & {
20
20
  id: string;
21
+ [key: string]: Json;
21
22
  };
23
+ /**
24
+ * A diff produced by an incremental permissions request.
25
+ */
26
+ export type PermissionDiffMap<TargetName extends string, AllowedCaveats extends CaveatConstraint> = Record<TargetName, CaveatDiffMap<AllowedCaveats>>;
22
27
  /**
23
28
  * Used for prompting the user about a proposed new permission.
24
- * Includes information about the grantee subject, requested permissions, and
25
- * any additional information added by the consumer.
29
+ * Includes information about the grantee subject, requested permissions, the
30
+ * diff relative to the previously granted permissions (if relevant), and any
31
+ * additional information added by the consumer.
26
32
  *
27
- * All properties except `permissions` are passed to any factories found for
28
- * the requested permissions.
33
+ * All properties except `diff` and `permissions` are passed to any factories
34
+ * for the requested permissions.
29
35
  */
30
- export declare type PermissionsRequest = {
36
+ export type PermissionsRequest = {
31
37
  metadata: PermissionsRequestMetadata;
32
38
  permissions: RequestedPermissions;
33
39
  [key: string]: Json;
40
+ } & {
41
+ diff?: {
42
+ currentPermissions: SubjectPermissions<PermissionConstraint>;
43
+ permissionDiffMap: PermissionDiffMap<string, CaveatConstraint>;
44
+ };
45
+ };
46
+ /**
47
+ * Metadata associated with an approved permission request.
48
+ */
49
+ type ApprovedPermissionsMetadata = {
50
+ data?: Record<string, unknown>;
51
+ id: string;
52
+ origin: OriginString;
34
53
  };
35
- export declare type SideEffects = {
36
- permittedHandlers: Record<string, SideEffectHandler<any, any>>;
37
- failureHandlers: Record<string, SideEffectHandler<any, any>>;
54
+ export type SideEffects = {
55
+ permittedHandlers: Record<string, SideEffectHandler<ActionConstraint, EventConstraint>>;
56
+ failureHandlers: Record<string, SideEffectHandler<ActionConstraint, EventConstraint>>;
38
57
  };
39
58
  /**
40
59
  * The name of the {@link PermissionController}.
@@ -43,12 +62,12 @@ declare const controllerName = "PermissionController";
43
62
  /**
44
63
  * Permissions associated with a {@link PermissionController} subject.
45
64
  */
46
- export declare type SubjectPermissions<Permission extends PermissionConstraint> = Record<Permission['parentCapability'], Permission>;
65
+ export type SubjectPermissions<Permission extends PermissionConstraint> = Record<Permission['parentCapability'], Permission>;
47
66
  /**
48
67
  * Permissions and metadata associated with a {@link PermissionController}
49
68
  * subject.
50
69
  */
51
- export declare type PermissionSubjectEntry<SubjectPermission extends PermissionConstraint> = {
70
+ export type PermissionSubjectEntry<SubjectPermission extends PermissionConstraint> = {
52
71
  origin: SubjectPermission['invoker'];
53
72
  permissions: SubjectPermissions<SubjectPermission>;
54
73
  };
@@ -57,72 +76,86 @@ export declare type PermissionSubjectEntry<SubjectPermission extends PermissionC
57
76
  *
58
77
  * @template SubjectPermission - The permissions of the subject.
59
78
  */
60
- export declare type PermissionControllerSubjects<SubjectPermission extends PermissionConstraint> = Record<SubjectPermission['invoker'], PermissionSubjectEntry<SubjectPermission>>;
79
+ export type PermissionControllerSubjects<SubjectPermission extends PermissionConstraint> = Record<SubjectPermission['invoker'], PermissionSubjectEntry<SubjectPermission>>;
61
80
  /**
62
81
  * The state of a {@link PermissionController}.
63
82
  *
64
83
  * @template Permission - The controller's permission type union.
65
84
  */
66
- export declare type PermissionControllerState<Permission> = Permission extends PermissionConstraint ? {
85
+ export type PermissionControllerState<Permission> = Permission extends PermissionConstraint ? {
67
86
  subjects: PermissionControllerSubjects<Permission>;
68
87
  } : never;
69
88
  /**
70
89
  * Gets the state of the {@link PermissionController}.
71
90
  */
72
- export declare type GetPermissionControllerState = ControllerGetStateAction<typeof controllerName, PermissionControllerState<PermissionConstraint>>;
91
+ export type GetPermissionControllerState = ControllerGetStateAction<typeof controllerName, PermissionControllerState<PermissionConstraint>>;
73
92
  /**
74
93
  * Gets the names of all subjects from the {@link PermissionController}.
75
94
  */
76
- export declare type GetSubjects = {
95
+ export type GetSubjects = {
77
96
  type: `${typeof controllerName}:getSubjectNames`;
78
97
  handler: () => (keyof PermissionControllerSubjects<PermissionConstraint>)[];
79
98
  };
80
99
  /**
81
100
  * Gets the permissions for specified subject
82
101
  */
83
- export declare type GetPermissions = {
102
+ export type GetPermissions = {
84
103
  type: `${typeof controllerName}:getPermissions`;
85
104
  handler: GenericPermissionController['getPermissions'];
86
105
  };
87
106
  /**
88
107
  * Checks whether the specified subject has any permissions.
89
108
  */
90
- export declare type HasPermissions = {
109
+ export type HasPermissions = {
91
110
  type: `${typeof controllerName}:hasPermissions`;
92
111
  handler: GenericPermissionController['hasPermissions'];
93
112
  };
94
113
  /**
95
114
  * Checks whether the specified subject has a specific permission.
96
115
  */
97
- export declare type HasPermission = {
116
+ export type HasPermission = {
98
117
  type: `${typeof controllerName}:hasPermission`;
99
118
  handler: GenericPermissionController['hasPermission'];
100
119
  };
101
120
  /**
102
121
  * Directly grants given permissions for a specificed origin without requesting user approval
103
122
  */
104
- export declare type GrantPermissions = {
123
+ export type GrantPermissions = {
105
124
  type: `${typeof controllerName}:grantPermissions`;
106
125
  handler: GenericPermissionController['grantPermissions'];
107
126
  };
127
+ /**
128
+ * Directly grants given permissions for a specificed origin without requesting user approval
129
+ */
130
+ export type GrantPermissionsIncremental = {
131
+ type: `${typeof controllerName}:grantPermissionsIncremental`;
132
+ handler: GenericPermissionController['grantPermissionsIncremental'];
133
+ };
108
134
  /**
109
135
  * Requests given permissions for a specified origin
110
136
  */
111
- export declare type RequestPermissions = {
137
+ export type RequestPermissions = {
112
138
  type: `${typeof controllerName}:requestPermissions`;
113
139
  handler: GenericPermissionController['requestPermissions'];
114
140
  };
141
+ /**
142
+ * Requests given permissions for a specified origin
143
+ */
144
+ export type RequestPermissionsIncremental = {
145
+ type: `${typeof controllerName}:requestPermissionsIncremental`;
146
+ handler: GenericPermissionController['requestPermissionsIncremental'];
147
+ };
115
148
  /**
116
149
  * Removes the specified permissions for each origin.
117
150
  */
118
- export declare type RevokePermissions = {
151
+ export type RevokePermissions = {
119
152
  type: `${typeof controllerName}:revokePermissions`;
120
153
  handler: GenericPermissionController['revokePermissions'];
121
154
  };
122
155
  /**
123
156
  * Removes all permissions for a given origin
124
157
  */
125
- export declare type RevokeAllPermissions = {
158
+ export type RevokeAllPermissions = {
126
159
  type: `${typeof controllerName}:revokeAllPermissions`;
127
160
  handler: GenericPermissionController['revokeAllPermissions'];
128
161
  };
@@ -130,39 +163,39 @@ export declare type RevokeAllPermissions = {
130
163
  * Revokes all permissions corresponding to the specified target for all subjects.
131
164
  * Does nothing if no subjects or no such permission exists.
132
165
  */
133
- export declare type RevokePermissionForAllSubjects = {
166
+ export type RevokePermissionForAllSubjects = {
134
167
  type: `${typeof controllerName}:revokePermissionForAllSubjects`;
135
168
  handler: GenericPermissionController['revokePermissionForAllSubjects'];
136
169
  };
137
170
  /**
138
171
  * Updates a caveat value for a specified caveat type belonging to a specific target and origin.
139
172
  */
140
- export declare type UpdateCaveat = {
173
+ export type UpdateCaveat = {
141
174
  type: `${typeof controllerName}:updateCaveat`;
142
175
  handler: GenericPermissionController['updateCaveat'];
143
176
  };
144
177
  /**
145
178
  * Clears all permissions from the {@link PermissionController}.
146
179
  */
147
- export declare type ClearPermissions = {
180
+ export type ClearPermissions = {
148
181
  type: `${typeof controllerName}:clearPermissions`;
149
182
  handler: () => void;
150
183
  };
151
184
  /**
152
185
  * Gets the endowments for the given subject and permission.
153
186
  */
154
- export declare type GetEndowments = {
187
+ export type GetEndowments = {
155
188
  type: `${typeof controllerName}:getEndowments`;
156
189
  handler: GenericPermissionController['getEndowments'];
157
190
  };
158
191
  /**
159
192
  * The {@link ControllerMessenger} actions of the {@link PermissionController}.
160
193
  */
161
- export declare type PermissionControllerActions = ClearPermissions | GetEndowments | GetPermissionControllerState | GetSubjects | GetPermissions | HasPermission | HasPermissions | GrantPermissions | RequestPermissions | RevokeAllPermissions | RevokePermissionForAllSubjects | RevokePermissions | UpdateCaveat;
194
+ export type PermissionControllerActions = ClearPermissions | GetEndowments | GetPermissionControllerState | GetSubjects | GetPermissions | HasPermission | HasPermissions | GrantPermissions | GrantPermissionsIncremental | RequestPermissions | RequestPermissionsIncremental | RevokeAllPermissions | RevokePermissionForAllSubjects | RevokePermissions | UpdateCaveat;
162
195
  /**
163
196
  * The generic state change event of the {@link PermissionController}.
164
197
  */
165
- export declare type PermissionControllerStateChange = ControllerStateChangeEvent<typeof controllerName, PermissionControllerState<PermissionConstraint>>;
198
+ export type PermissionControllerStateChange = ControllerStateChangeEvent<typeof controllerName, PermissionControllerState<PermissionConstraint>>;
166
199
  /**
167
200
  * The {@link ControllerMessenger} events of the {@link PermissionController}.
168
201
  *
@@ -170,21 +203,21 @@ export declare type PermissionControllerStateChange = ControllerStateChangeEvent
170
203
  * Consumers should use selector subscriptions to subscribe to relevant
171
204
  * substate.
172
205
  */
173
- export declare type PermissionControllerEvents = PermissionControllerStateChange;
206
+ export type PermissionControllerEvents = PermissionControllerStateChange;
174
207
  /**
175
208
  * The external {@link ControllerMessenger} actions available to the
176
209
  * {@link PermissionController}.
177
210
  */
178
- declare type AllowedActions = AddApprovalRequest | HasApprovalRequest | AcceptApprovalRequest | RejectApprovalRequest | GetSubjectMetadata;
211
+ type AllowedActions = AddApprovalRequest | HasApprovalRequest | AcceptApprovalRequest | RejectApprovalRequest | GetSubjectMetadata;
179
212
  /**
180
213
  * The messenger of the {@link PermissionController}.
181
214
  */
182
- export declare type PermissionControllerMessenger = RestrictedControllerMessenger<typeof controllerName, PermissionControllerActions | AllowedActions, PermissionControllerEvents, AllowedActions['type'], never>;
183
- export declare type SideEffectMessenger<Actions extends ActionConstraint, Events extends EventConstraint> = RestrictedControllerMessenger<typeof controllerName, Actions | AllowedActions, Events, AllowedActions['type'] | Actions['type'], Events['type']>;
215
+ export type PermissionControllerMessenger = RestrictedControllerMessenger<typeof controllerName, PermissionControllerActions | AllowedActions, PermissionControllerEvents, AllowedActions['type'], never>;
216
+ export type SideEffectMessenger<Actions extends ActionConstraint, Events extends EventConstraint> = RestrictedControllerMessenger<typeof controllerName, Actions | AllowedActions, Events, AllowedActions['type'] | Actions['type'], Events['type']>;
184
217
  /**
185
218
  * A generic {@link PermissionController}.
186
219
  */
187
- export declare type GenericPermissionController = PermissionController<PermissionSpecificationConstraint, CaveatSpecificationConstraint>;
220
+ export type GenericPermissionController = PermissionController<PermissionSpecificationConstraint, CaveatSpecificationConstraint>;
188
221
  /**
189
222
  * Describes the possible results of a {@link CaveatMutator} function.
190
223
  */
@@ -204,8 +237,8 @@ export declare enum CaveatMutatorOperation {
204
237
  * @returns A tuple of the mutation result and, optionally, the new caveat
205
238
  * value.
206
239
  */
207
- export declare type CaveatMutator<TargetCaveat extends CaveatConstraint> = (caveatValue: TargetCaveat['value']) => CaveatMutatorResult;
208
- declare type CaveatMutatorResult = Readonly<{
240
+ export type CaveatMutator<TargetCaveat extends CaveatConstraint> = (caveatValue: TargetCaveat['value']) => CaveatMutatorResult;
241
+ type CaveatMutatorResult = Readonly<{
209
242
  operation: CaveatMutatorOperation.updateValue;
210
243
  value: CaveatConstraint['value'];
211
244
  }> | Readonly<{
@@ -221,7 +254,7 @@ declare type CaveatMutatorResult = Readonly<{
221
254
  * extract from. Necessary because {@link Permission} has a generic parameter
222
255
  * that describes the allowed caveats for the permission.
223
256
  */
224
- export declare type ExtractPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ControllerPermissionSpecification extends ValidPermissionSpecification<ControllerPermissionSpecification> ? ValidPermission<ControllerPermissionSpecification['targetName'], ExtractCaveats<ControllerCaveatSpecification>> : never;
257
+ export type ExtractPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ControllerPermissionSpecification extends ValidPermissionSpecification<ControllerPermissionSpecification> ? ValidPermission<ControllerPermissionSpecification['targetName'], ExtractCaveats<ControllerCaveatSpecification>> : never;
225
258
  /**
226
259
  * Extracts the restricted method permission(s) specified by the given
227
260
  * permission and caveat specifications.
@@ -232,7 +265,7 @@ export declare type ExtractPermission<ControllerPermissionSpecification extends
232
265
  * extract from. Necessary because {@link Permission} has a generic parameter
233
266
  * that describes the allowed caveats for the permission.
234
267
  */
235
- export declare type ExtractRestrictedMethodPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ExtractPermission<Extract<ControllerPermissionSpecification, RestrictedMethodSpecificationConstraint>, ControllerCaveatSpecification>;
268
+ export type ExtractRestrictedMethodPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ExtractPermission<Extract<ControllerPermissionSpecification, RestrictedMethodSpecificationConstraint>, ControllerCaveatSpecification>;
236
269
  /**
237
270
  * Extracts the endowment permission(s) specified by the given permission and
238
271
  * caveat specifications.
@@ -243,7 +276,7 @@ export declare type ExtractRestrictedMethodPermission<ControllerPermissionSpecif
243
276
  * extract from. Necessary because {@link Permission} has a generic parameter
244
277
  * that describes the allowed caveats for the permission.
245
278
  */
246
- export declare type ExtractEndowmentPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ExtractPermission<Extract<ControllerPermissionSpecification, EndowmentSpecificationConstraint>, ControllerCaveatSpecification>;
279
+ export type ExtractEndowmentPermission<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = ExtractPermission<Extract<ControllerPermissionSpecification, EndowmentSpecificationConstraint>, ControllerCaveatSpecification>;
247
280
  /**
248
281
  * Options for the {@link PermissionController} constructor.
249
282
  *
@@ -253,7 +286,7 @@ export declare type ExtractEndowmentPermission<ControllerPermissionSpecification
253
286
  * @template ControllerCaveatSpecification - A union of the types of all
254
287
  * caveat specifications available to the controller.
255
288
  */
256
- export declare type PermissionControllerOptions<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = {
289
+ export type PermissionControllerOptions<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> = {
257
290
  messenger: PermissionControllerMessenger;
258
291
  caveatSpecifications: CaveatSpecificationMap<ControllerCaveatSpecification>;
259
292
  permissionSpecifications: PermissionSpecificationMap<ControllerPermissionSpecification>;
@@ -274,6 +307,7 @@ export declare type PermissionControllerOptions<ControllerPermissionSpecificatio
274
307
  * caveat specifications available to the controller.
275
308
  */
276
309
  export declare class PermissionController<ControllerPermissionSpecification extends PermissionSpecificationConstraint, ControllerCaveatSpecification extends CaveatSpecificationConstraint> extends BaseController<typeof controllerName, PermissionControllerState<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>, PermissionControllerMessenger> {
310
+ #private;
277
311
  private readonly _caveatSpecifications;
278
312
  private readonly _permissionSpecifications;
279
313
  private readonly _unrestrictedMethods;
@@ -584,7 +618,7 @@ export declare class PermissionController<ControllerPermissionSpecification exte
584
618
  * @param target - The target name of the permission.
585
619
  * @param caveatType - The type of the caveat to remove.
586
620
  */
587
- removeCaveat<TargetName extends ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>['parentCapability'], CaveatType extends ExtractAllowedCaveatTypes<ControllerPermissionSpecification>>(origin: OriginString, target: TargetName, caveatType: CaveatType): void;
621
+ removeCaveat<TargetName extends ControllerPermissionSpecification['targetName'], CaveatType extends ExtractAllowedCaveatTypes<ControllerPermissionSpecification>>(origin: OriginString, target: TargetName, caveatType: CaveatType): void;
588
622
  /**
589
623
  * Deletes the specified caveat from the specified permission. If no caveats
590
624
  * remain after deletion, the permission's caveat property is set to `null`.
@@ -620,10 +654,11 @@ export declare class PermissionController<ControllerPermissionSpecification exte
620
654
  private targetExists;
621
655
  /**
622
656
  * Grants _approved_ permissions to the specified subject. Every permission and
623
- * caveat is stringently validatedincluding by calling every specification
624
- * validator – and an error is thrown if any validation fails.
657
+ * caveat is stringently validatedincluding by calling their specification
658
+ * validators—and an error is thrown if validation fails.
625
659
  *
626
- * ATTN: This method does **not** prompt the user for approval.
660
+ * ATTN: This method does **not** prompt the user for approval. User consent must
661
+ * first be obtained through some other means.
627
662
  *
628
663
  * @see {@link PermissionController.requestPermissions} For initiating a
629
664
  * permissions request requiring user approval.
@@ -635,14 +670,37 @@ export declare class PermissionController<ControllerPermissionSpecification exte
635
670
  * @param options.preserveExistingPermissions - Whether to preserve the
636
671
  * subject's existing permissions.
637
672
  * @param options.subject - The subject to grant permissions to.
638
- * @returns The granted permissions.
673
+ * @returns The subject's new permission state. It may or may not have changed.
639
674
  */
640
675
  grantPermissions({ approvedPermissions, requestData, preserveExistingPermissions, subject, }: {
641
676
  approvedPermissions: RequestedPermissions;
642
677
  subject: PermissionSubjectMetadata;
643
678
  preserveExistingPermissions?: boolean;
644
679
  requestData?: Record<string, unknown>;
645
- }): SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>;
680
+ }): Partial<SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>>;
681
+ /**
682
+ * Incrementally grants _approved_ permissions to the specified subject. Every
683
+ * permission and caveat is stringently validated—including by calling their
684
+ * specification validators—and an error is thrown if validation fails.
685
+ *
686
+ * ATTN: This method does **not** prompt the user for approval. User consent must
687
+ * first be obtained through some other means.
688
+ *
689
+ * @see {@link PermissionController.requestPermissionsIncremental} For initiating
690
+ * an incremental permissions request requiring user approval.
691
+ * @param options - Options bag.
692
+ * @param options.approvedPermissions - The requested permissions approved by
693
+ * the user.
694
+ * @param options.requestData - Permission request data. Passed to permission
695
+ * factory functions.
696
+ * @param options.subject - The subject to grant permissions to.
697
+ * @returns The subject's new permission state. It may or may not have changed.
698
+ */
699
+ grantPermissionsIncremental({ approvedPermissions, requestData, subject, }: {
700
+ approvedPermissions: RequestedPermissions;
701
+ subject: PermissionSubjectMetadata;
702
+ requestData?: Record<string, unknown>;
703
+ }): Partial<SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>>;
646
704
  /**
647
705
  * Validates the specified permission by:
648
706
  * - Ensuring that if `subjectTypes` is specified, the subject requesting the permission is of a type in the list.
@@ -703,9 +761,11 @@ export declare class PermissionController<ControllerPermissionSpecification exte
703
761
  */
704
762
  private validateCaveat;
705
763
  /**
706
- * Initiates a permission request that requires user approval. This should
707
- * always be used to grant additional permissions to a subject, unless user
708
- * approval has been obtained through some other means.
764
+ * Initiates a permission request that requires user approval.
765
+ *
766
+ * Either this or {@link PermissionController.requestPermissionsIncremental}
767
+ * should always be used to grant additional permissions to a subject,
768
+ * unless user approval has been obtained through some other means.
709
769
  *
710
770
  * Permissions are validated at every step of the approval process, and this
711
771
  * method will reject if validation fails.
@@ -722,19 +782,55 @@ export declare class PermissionController<ControllerPermissionSpecification exte
722
782
  * id.
723
783
  * @param options.preserveExistingPermissions - Whether to preserve the
724
784
  * subject's existing permissions. Defaults to `true`.
785
+ * @param options.metadata - Additional metadata about the permission request.
725
786
  * @returns The granted permissions and request metadata.
726
787
  */
727
788
  requestPermissions(subject: PermissionSubjectMetadata, requestedPermissions: RequestedPermissions, options?: {
728
789
  id?: string;
729
790
  preserveExistingPermissions?: boolean;
791
+ metadata?: Record<string, Json>;
730
792
  }): Promise<[
731
- SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>,
732
- {
733
- data?: Record<string, unknown>;
734
- id: string;
735
- origin: OriginString;
736
- }
793
+ Partial<SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>>,
794
+ ApprovedPermissionsMetadata
737
795
  ]>;
796
+ /**
797
+ * Initiates an incremental permission request that prompts for user approval.
798
+ * Incremental permission requests allow the caller to replace existing and/or
799
+ * add brand new permissions and caveats for the specified subject.
800
+ *
801
+ * Incremental permission request are merged with the subject's existing permissions
802
+ * through a right-biased union, where the incremental permission are the right-hand
803
+ * side of the merger. If both sides of the merger specify the same caveats for a
804
+ * given permission, the caveats are merged using their specification's caveat value
805
+ * merger property.
806
+ *
807
+ * Either this or {@link PermissionController.requestPermissions} should
808
+ * always be used to grant additional permissions to a subject, unless user
809
+ * approval has been obtained through some other means.
810
+ *
811
+ * Permissions are validated at every step of the approval process, and this
812
+ * method will reject if validation fails.
813
+ *
814
+ * @see {@link ApprovalController} For the user approval logic.
815
+ * @see {@link PermissionController.acceptPermissionsRequest} For the method
816
+ * that _accepts_ the request and resolves the user approval promise.
817
+ * @see {@link PermissionController.rejectPermissionsRequest} For the method
818
+ * that _rejects_ the request and the user approval promise.
819
+ * @param subject - The grantee subject.
820
+ * @param requestedPermissions - The requested permissions.
821
+ * @param options - Additional options.
822
+ * @param options.id - The id of the permissions request. Defaults to a unique
823
+ * id.
824
+ * @param options.metadata - Additional metadata about the permission request.
825
+ * @returns The granted permissions and request metadata.
826
+ */
827
+ requestPermissionsIncremental(subject: PermissionSubjectMetadata, requestedPermissions: RequestedPermissions, options?: {
828
+ id?: string;
829
+ metadata?: Record<string, Json>;
830
+ }): Promise<[
831
+ Partial<SubjectPermissions<ExtractPermission<ControllerPermissionSpecification, ControllerCaveatSpecification>>>,
832
+ ApprovedPermissionsMetadata
833
+ ] | []>;
738
834
  /**
739
835
  * Validates requested permissions. Throws if validation fails.
740
836
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionController.d.ts","sourceRoot":"","sources":["../../src/PermissionController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,IAAI,qBAAqB,EACtC,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,IAAI,qBAAqB,EACvC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAEV,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQhE,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,iBAAiB,CAAC;AAKrD,OAAO,KAAK,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,kBAAkB,EACnB,MAAM,UAAU,CAAC;AA8BlB,OAAO,KAAK,EACV,gCAAgC,EAChC,yBAAyB,EAEzB,YAAY,EACZ,oBAAoB,EACpB,iCAAiC,EACjC,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,uCAAuC,EACvC,iBAAiB,EACjB,eAAe,EACf,4BAA4B,EAC7B,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtE;;GAEG;AACH,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,oBAAY,0BAA0B,GAAG,yBAAyB,GAAG;IACnE,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;;;GAOG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,0BAA0B,CAAC;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,oBAAY,WAAW,GAAG;IAGxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAG/D,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,cAAc,yBAAyB,CAAC;AAE9C;;GAEG;AACH,oBAAY,kBAAkB,CAAC,UAAU,SAAS,oBAAoB,IACpE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,CAAC;AAErD;;;GAGG;AACH,oBAAY,sBAAsB,CAChC,iBAAiB,SAAS,oBAAoB,IAC5C;IACF,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrC,WAAW,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;GAIG;AACH,oBAAY,4BAA4B,CACtC,iBAAiB,SAAS,oBAAoB,IAC5C,MAAM,CACR,iBAAiB,CAAC,SAAS,CAAC,EAC5B,sBAAsB,CAAC,iBAAiB,CAAC,CAC1C,CAAC;AAGF;;;;GAIG;AACH,oBAAY,yBAAyB,CAAC,UAAU,IAC9C,UAAU,SAAS,oBAAoB,GACnC;IACE,QAAQ,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;CACpD,GACD,KAAK,CAAC;AAwBZ;;GAEG;AACH,oBAAY,4BAA4B,GAAG,wBAAwB,CACjE,OAAO,cAAc,EACrB,yBAAyB,CAAC,oBAAoB,CAAC,CAChD,CAAC;AAEF;;GAEG;AACH,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,GAAG,OAAO,cAAc,kBAAkB,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,4BAA4B,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,GAAG,OAAO,cAAc,iBAAiB,CAAC;IAChD,OAAO,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC;AAEF;;GAEG;AACH,oBAAY,cAAc,GAAG;IAC3B,IAAI,EAAE,GAAG,OAAO,cAAc,iBAAiB,CAAC;IAChD,OAAO,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC;AAEF;;GAEG;AACH,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,GAAG,OAAO,cAAc,gBAAgB,CAAC;IAC/C,OAAO,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,EAAE,GAAG,OAAO,cAAc,mBAAmB,CAAC;IAClD,OAAO,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,GAAG,OAAO,cAAc,qBAAqB,CAAC;IACpD,OAAO,EAAE,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,OAAO,cAAc,oBAAoB,CAAC;IACnD,OAAO,EAAE,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,GAAG,OAAO,cAAc,uBAAuB,CAAC;IACtD,OAAO,EAAE,2BAA2B,CAAC,sBAAsB,CAAC,CAAC;CAC9D,CAAC;AAEF;;;GAGG;AACH,oBAAY,8BAA8B,GAAG;IAC3C,IAAI,EAAE,GAAG,OAAO,cAAc,iCAAiC,CAAC;IAChE,OAAO,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;CACxE,CAAC;AAEF;;GAEG;AACH,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,GAAG,OAAO,cAAc,eAAe,CAAC;IAC9C,OAAO,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,EAAE,GAAG,OAAO,cAAc,mBAAmB,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,GAAG,OAAO,cAAc,gBAAgB,CAAC;IAC/C,OAAO,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,oBAAY,2BAA2B,GACnC,gBAAgB,GAChB,aAAa,GACb,4BAA4B,GAC5B,WAAW,GACX,cAAc,GACd,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,8BAA8B,GAC9B,iBAAiB,GACjB,YAAY,CAAC;AAEjB;;GAEG;AACH,oBAAY,+BAA+B,GAAG,0BAA0B,CACtE,OAAO,cAAc,EACrB,yBAAyB,CAAC,oBAAoB,CAAC,CAChD,CAAC;AAEF;;;;;;GAMG;AACH,oBAAY,0BAA0B,GAAG,+BAA+B,CAAC;AAEzE;;;GAGG;AACH,aAAK,cAAc,GACf,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB;;GAEG;AACH,oBAAY,6BAA6B,GAAG,6BAA6B,CACvE,OAAO,cAAc,EACrB,2BAA2B,GAAG,cAAc,EAC5C,0BAA0B,EAC1B,cAAc,CAAC,MAAM,CAAC,EACtB,KAAK,CACN,CAAC;AAEF,oBAAY,mBAAmB,CAC7B,OAAO,SAAS,gBAAgB,EAChC,MAAM,SAAS,eAAe,IAC5B,6BAA6B,CAC/B,OAAO,cAAc,EACrB,OAAO,GAAG,cAAc,EACxB,MAAM,EACN,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EACxC,MAAM,CAAC,MAAM,CAAC,CACf,CAAC;AAEF;;GAEG;AACH,oBAAY,2BAA2B,GAAG,oBAAoB,CAC5D,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC;AAEF;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,gBAAgB,IAAA;CACjB;AAED;;;;;;;;;GASG;AACH,oBAAY,aAAa,CAAC,YAAY,SAAS,gBAAgB,IAAI,CACjE,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,KAC/B,mBAAmB,CAAC;AAEzB,aAAK,mBAAmB,GACpB,QAAQ,CAAC;IACP,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC;IAC9C,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC,GACF,QAAQ,CAAC;IACP,SAAS,EAAE,OAAO,CAChB,sBAAsB,EACtB,sBAAsB,CAAC,WAAW,CACnC,CAAC;CACH,CAAC,CAAC;AAEP;;;;;;;;;GASG;AACH,oBAAY,iBAAiB,CAC3B,iCAAiC,SAAS,iCAAiC,EAC3E,6BAA6B,SAAS,6BAA6B,IACjE,iCAAiC,SAAS,4BAA4B,CAAC,iCAAiC,CAAC,GACzG,eAAe,CACb,iCAAiC,CAAC,YAAY,CAAC,EAC/C,cAAc,CAAC,6BAA6B,CAAC,CAC9C,GACD,KAAK,CAAC;AAEV;;;;;;;;;GASG;AACH,oBAAY,iCAAiC,CAC3C,iCAAiC,SAAS,iCAAiC,EAC3E,6BAA6B,SAAS,6BAA6B,IACjE,iBAAiB,CACnB,OAAO,CACL,iCAAiC,EACjC,uCAAuC,CACxC,EACD,6BAA6B,CAC9B,CAAC;AAEF;;;;;;;;;GASG;AACH,oBAAY,0BAA0B,CACpC,iCAAiC,SAAS,iCAAiC,EAC3E,6BAA6B,SAAS,6BAA6B,IACjE,iBAAiB,CACnB,OAAO,CAAC,iCAAiC,EAAE,gCAAgC,CAAC,EAC5E,6BAA6B,CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,oBAAY,2BAA2B,CACrC,iCAAiC,SAAS,iCAAiC,EAC3E,6BAA6B,SAAS,6BAA6B,IACjE;IACF,SAAS,EAAE,6BAA6B,CAAC;IACzC,oBAAoB,EAAE,sBAAsB,CAAC,6BAA6B,CAAC,CAAC;IAC5E,wBAAwB,EAAE,0BAA0B,CAAC,iCAAiC,CAAC,CAAC;IACxF,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CACb,yBAAyB,CACvB,iBAAiB,CACf,iCAAiC,EACjC,6BAA6B,CAC9B,CACF,CACF,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB,CAC/B,iCAAiC,SAAS,iCAAiC,EAC3E,6BAA6B,SAAS,6BAA6B,CACnE,SAAQ,cAAc,CACtB,OAAO,cAAc,EACrB,yBAAyB,CACvB,iBAAiB,CACf,iCAAiC,EACjC,6BAA6B,CAC9B,CACF,EACD,6BAA6B,CAC9B;IACC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAEpC;IAEF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAExC;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsB;IAE3D;;;;OAIG;IACH,IAAW,mBAAmB,IAAI,WAAW,CAAC,MAAM,CAAC,CAEpD;IAED;;;;;;;OAOG;IACI,0BAA0B,EAAE,UAAU,CAC3C,OAAO,8BAA8B,CACtC,CAAC;IAEF;;;;;;;;;;;;;;;;OAgBG;gBAED,OAAO,EAAE,2BAA2B,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B;IAqDH;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;;;;;;;;OASG;IACH,OAAO,CAAC,gCAAgC;IAuDxC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6E/B;;OAEG;IACH,UAAU,IAAI,IAAI;IAalB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,+BAA+B;IA4BvC;;;;;;;;;;;OAWG;IACH,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC;IAQrD;;;;OAIG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;;;;;;;OAQG;IACH,aAAa,CACX,iBAAiB,SAAS,iBAAiB,CACzC,iCAAiC,EACjC,6BAA6B,CAC9B,EAED,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAChD,iBAAiB,GAAG,SAAS;IAMhC;;;;;OAKG;IACH,cAAc,CACZ,MAAM,EAAE,YAAY,GAElB,kBAAkB,CAChB,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,6BAA6B,CAAC,CAAC,CACvE,GACD,SAAS;IAIb;;;;;;;OAOG;IACH,aAAa,CACX,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,iBAAiB,CACvB,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,GACpB,OAAO;IAIV;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAShD;;;;;;;;OAQG;IACH,gBAAgB,CACd,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,iBAAiB,CACvB,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,GACpB,IAAI;IAIP;;;;;;;OAOG;IACH,iBAAiB,CACf,sBAAsB,EAAE,MAAM,CAC5B,YAAY,EACZ,aAAa,CACX,iBAAiB,CACf,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,CACtB,CACF,GACA,IAAI;IAmBP;;;;;OAKG;IACH,8BAA8B,CAC5B,MAAM,EAAE,iBAAiB,CACvB,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,GACpB,IAAI;IAgBP;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,UAAU,SAAS,iBAAiB,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,UAAU,SAAS,yBAAyB,CAAC,iCAAiC,CAAC,EAC/E,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO;IAI5E;;;;;;;;;;;;;;OAcG;IACH,SAAS,CACP,UAAU,SAAS,iBAAiB,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,UAAU,SAAS,yBAAyB,CAAC,iCAAiC,CAAC,EAE/E,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,GACrB,aAAa,CAAC,6BAA6B,EAAE,UAAU,CAAC,GAAG,SAAS;IAWvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CACP,UAAU,SAAS,iBAAiB,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,UAAU,SAAS,yBAAyB,CAAC,iCAAiC,CAAC,EAE/E,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,kBAAkB,CAAC,6BAA6B,EAAE,UAAU,CAAC,GACzE,IAAI;IAQP;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACV,UAAU,SAAS,iBAAiB,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,UAAU,SAAS,yBAAyB,CAAC,iCAAiC,CAAC,EAC/E,WAAW,SAAS,kBAAkB,CACpC,6BAA6B,EAC7B,UAAU,CACX,EAED,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACvB,IAAI;IAQP;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,SAAS;IA2DjB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,yBAAyB,CACvB,UAAU,SAAS,cAAc,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,EACxE,YAAY,SAAS,aAAa,CAChC,6BAA6B,EAC7B,UAAU,CACX,EACD,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI;IAqE3E;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,UAAU,SAAS,iBAAiB,CAClC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,UAAU,SAAS,yBAAyB,CAAC,iCAAiC,CAAC,EAC/E,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAezE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAqCpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAMpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,EACf,mBAAmB,EACnB,WAAW,EACX,2BAAkC,EAClC,OAAO,GACR,EAAE;QACD,mBAAmB,EAAE,oBAAoB,CAAC;QAC1C,OAAO,EAAE,yBAAyB,CAAC;QACnC,2BAA2B,CAAC,EAAE,OAAO,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,GAAG,kBAAkB,CACpB,iBAAiB,CACf,iCAAiC,EACjC,6BAA6B,CAC9B,CACF;IAwFD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,kBAAkB,CACtB,OAAO,EAAE,yBAAyB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,GAAE;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,2BAA2B,CAAC,EAAE,OAAO,CAAC;KAClC,GACL,OAAO,CACR;QACE,kBAAkB,CAChB,iBAAiB,CACf,iCAAiC,EACjC,6BAA6B,CAC9B,CACF;QACD;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,YAAY,CAAA;SAAE;KACrE,CACF;IAqDD;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,4BAA4B;IAgDpC;;;;;;;OAOG;YACW,mBAAmB;IAiBjC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;;;OAOG;YACW,kBAAkB;IAoDhC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,2BAA2B;IAkDnC;;;;;OAKG;IACG,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1E;;;;;OAKG;IACG,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,0BAA0B,CACpC,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,uBAAuB,CAC3B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,iCAAiC,CAC3C,iCAAiC,EACjC,6BAA6B,CAC9B,CAAC,kBAAkB,CAAC,EACrB,MAAM,CAAC,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,wBAAwB;CAsBjC"}
1
+ {"version":3,"file":"PermissionController.d.ts","sourceRoot":"","sources":["../../src/PermissionController.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { BaseController } from '@metamask/base-controller';
3
3
  import type { Json } from '@metamask/utils';
4
4
  import type { HasPermissions, PermissionSubjectMetadata } from './PermissionController';
5
5
  declare const controllerName = "SubjectMetadataController";
6
- declare type SubjectOrigin = string;
6
+ type SubjectOrigin = string;
7
7
  /**
8
8
  * The different kinds of subjects that MetaMask may interact with, including
9
9
  * third parties and itself (e.g., when the background communicated with the UI).
@@ -15,37 +15,37 @@ export declare enum SubjectType {
15
15
  Website = "website",
16
16
  Snap = "snap"
17
17
  }
18
- export declare type SubjectMetadata = PermissionSubjectMetadata & {
18
+ export type SubjectMetadata = PermissionSubjectMetadata & {
19
19
  [key: string]: Json;
20
20
  name: string | null;
21
21
  subjectType: SubjectType | null;
22
22
  extensionId: string | null;
23
23
  iconUrl: string | null;
24
24
  };
25
- declare type SubjectMetadataToAdd = PermissionSubjectMetadata & {
25
+ type SubjectMetadataToAdd = PermissionSubjectMetadata & {
26
26
  name?: string | null;
27
27
  subjectType?: SubjectType | null;
28
28
  extensionId?: string | null;
29
29
  iconUrl?: string | null;
30
30
  } & Record<string, Json>;
31
- export declare type SubjectMetadataControllerState = {
31
+ export type SubjectMetadataControllerState = {
32
32
  subjectMetadata: Record<SubjectOrigin, SubjectMetadata>;
33
33
  };
34
- export declare type GetSubjectMetadataState = ControllerGetStateAction<typeof controllerName, SubjectMetadataControllerState>;
35
- export declare type GetSubjectMetadata = {
34
+ export type GetSubjectMetadataState = ControllerGetStateAction<typeof controllerName, SubjectMetadataControllerState>;
35
+ export type GetSubjectMetadata = {
36
36
  type: `${typeof controllerName}:getSubjectMetadata`;
37
37
  handler: (origin: SubjectOrigin) => SubjectMetadata | undefined;
38
38
  };
39
- export declare type AddSubjectMetadata = {
39
+ export type AddSubjectMetadata = {
40
40
  type: `${typeof controllerName}:addSubjectMetadata`;
41
41
  handler: (metadata: SubjectMetadataToAdd) => void;
42
42
  };
43
- export declare type SubjectMetadataControllerActions = GetSubjectMetadataState | GetSubjectMetadata | AddSubjectMetadata;
44
- export declare type SubjectMetadataStateChange = ControllerStateChangeEvent<typeof controllerName, SubjectMetadataControllerState>;
45
- export declare type SubjectMetadataControllerEvents = SubjectMetadataStateChange;
46
- declare type AllowedActions = HasPermissions;
47
- export declare type SubjectMetadataControllerMessenger = RestrictedControllerMessenger<typeof controllerName, SubjectMetadataControllerActions | AllowedActions, SubjectMetadataControllerEvents, AllowedActions['type'], never>;
48
- declare type SubjectMetadataControllerOptions = {
43
+ export type SubjectMetadataControllerActions = GetSubjectMetadataState | GetSubjectMetadata | AddSubjectMetadata;
44
+ export type SubjectMetadataStateChange = ControllerStateChangeEvent<typeof controllerName, SubjectMetadataControllerState>;
45
+ export type SubjectMetadataControllerEvents = SubjectMetadataStateChange;
46
+ type AllowedActions = HasPermissions;
47
+ export type SubjectMetadataControllerMessenger = RestrictedControllerMessenger<typeof controllerName, SubjectMetadataControllerActions | AllowedActions, SubjectMetadataControllerEvents, AllowedActions['type'], never>;
48
+ type SubjectMetadataControllerOptions = {
49
49
  messenger: SubjectMetadataControllerMessenger;
50
50
  subjectCacheLimit: number;
51
51
  state?: Partial<SubjectMetadataControllerState>;
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectMetadataController.d.ts","sourceRoot":"","sources":["../../src/SubjectMetadataController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubjectMetadataController.d.ts","sourceRoot":"","sources":["../../src/SubjectMetadataController.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { DataWithOptionalCause } from '@metamask/rpc-errors';
2
2
  import { JsonRpcError } from '@metamask/rpc-errors';
3
+ import type { CaveatConstraint } from './Caveat';
3
4
  import type { PermissionType } from './Permission';
4
- declare type UnauthorizedArg = {
5
+ import type { PermissionDiffMap } from './PermissionController';
6
+ type UnauthorizedArg = {
5
7
  data?: Record<string, unknown>;
6
8
  message?: string;
7
9
  };
@@ -20,7 +22,7 @@ export declare function unauthorized(opts: UnauthorizedArg): import("@metamask/r
20
22
  * @returns The built error
21
23
  */
22
24
  export declare function methodNotFound(method: string, data?: DataWithOptionalCause): JsonRpcError<import("@metamask/rpc-errors").OptionalDataWithOptionalCause>;
23
- declare type InvalidParamsArg = {
25
+ type InvalidParamsArg = {
24
26
  message?: string;
25
27
  data?: DataWithOptionalCause;
26
28
  };
@@ -57,6 +59,16 @@ export declare class InvalidSubjectIdentifierError extends Error {
57
59
  export declare class UnrecognizedSubjectError extends Error {
58
60
  constructor(origin: string);
59
61
  }
62
+ export declare class CaveatMergerDoesNotExistError extends Error {
63
+ constructor(caveatType: string);
64
+ }
65
+ export declare class InvalidMergedPermissionsError extends Error {
66
+ cause: Error;
67
+ data: {
68
+ diff: PermissionDiffMap<string, CaveatConstraint>;
69
+ };
70
+ constructor(origin: string, cause: Error, diff: PermissionDiffMap<string, CaveatConstraint>);
71
+ }
60
72
  export declare class InvalidApprovedPermissionError extends Error {
61
73
  data: {
62
74
  origin: string;
@@ -152,6 +164,13 @@ export declare class DuplicateCaveatError extends Error {
152
164
  };
153
165
  constructor(caveatType: string, origin: string, targetName: string);
154
166
  }
167
+ export declare class CaveatMergeTypeMismatchError extends Error {
168
+ data: {
169
+ leftCaveatType: string;
170
+ rightCaveatType: string;
171
+ };
172
+ constructor(leftCaveatType: string, rightCaveatType: string);
173
+ }
155
174
  export declare class CaveatSpecificationMismatchError extends Error {
156
175
  data: {
157
176
  caveatSpec: Record<string, unknown>;