@cedar-policy/cedar-wasm 4.2.2 → 4.3.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.
@@ -1,24 +1,26 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export function getValidRequestEnvsTemplate(a: number, b: number): number;
5
- export function getValidRequestEnvsPolicy(a: number, b: number): number;
6
- export function getCedarVersion(a: number): void;
7
- export function formatPolicies(a: number): number;
8
- export function policyToText(a: number): number;
9
- export function templateToText(a: number): number;
10
- export function policyToJson(a: number): number;
11
- export function templateToJson(a: number): number;
12
- export function schemaToText(a: number): number;
13
- export function schemaToJson(a: number): number;
14
- export function isAuthorized(a: number): number;
15
- export function validate(a: number): number;
16
- export function checkParsePolicySet(a: number): number;
17
- export function checkParseSchema(a: number): number;
18
- export function checkParseEntities(a: number): number;
19
- export function checkParseContext(a: number): number;
20
- export function __wbindgen_malloc(a: number, b: number): number;
21
- export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number;
22
- export function __wbindgen_add_to_stack_pointer(a: number): number;
23
- export function __wbindgen_free(a: number, b: number, c: number): void;
24
- export function __wbindgen_exn_store(a: number): void;
4
+ export const getValidRequestEnvsTemplate: (a: number, b: number) => number;
5
+ export const getValidRequestEnvsPolicy: (a: number, b: number) => number;
6
+ export const getCedarSDKVersion: (a: number) => void;
7
+ export const getCedarVersion: (a: number) => void;
8
+ export const validate: (a: number) => number;
9
+ export const getCedarLangVersion: (a: number) => void;
10
+ export const policyToText: (a: number) => number;
11
+ export const templateToText: (a: number) => number;
12
+ export const policyToJson: (a: number) => number;
13
+ export const templateToJson: (a: number) => number;
14
+ export const schemaToText: (a: number) => number;
15
+ export const schemaToJson: (a: number) => number;
16
+ export const checkParsePolicySet: (a: number) => number;
17
+ export const checkParseSchema: (a: number) => number;
18
+ export const checkParseEntities: (a: number) => number;
19
+ export const checkParseContext: (a: number) => number;
20
+ export const isAuthorized: (a: number) => number;
21
+ export const formatPolicies: (a: number) => number;
22
+ export const __wbindgen_exn_store: (a: number) => void;
23
+ export const __wbindgen_malloc: (a: number, b: number) => number;
24
+ export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
25
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
26
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cedar-policy/cedar-wasm",
3
3
  "description": "Wasm bindings and typescript types for Cedar lib",
4
- "version": "4.2.2",
4
+ "version": "4.3.0",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
7
7
  "cedar_wasm_bg.wasm",
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@cedar-policy/cedar-wasm",
3
- "type": "module",
4
3
  "description": "Wasm bindings and typescript types for Cedar lib",
5
- "version": "4.2.2",
4
+ "version": "4.3.0",
6
5
  "license": "Apache-2.0",
7
6
  "files": [
8
7
  "esm/package.json",
@@ -25,12 +24,11 @@
25
24
  "web/cedar_wasm.js",
26
25
  "web/cedar_wasm.d.ts"
27
26
  ],
28
- "main": "cedar_wasm.js",
27
+ "module": "esm/cedar_wasm.js",
29
28
  "types": "esm/cedar_wasm.d.ts",
30
29
  "sideEffects": [
31
30
  "./snippets/*"
32
31
  ],
33
- "module": "esm/cedar_wasm.js",
34
32
  "exports": {
35
33
  ".": {
36
34
  "import": "./esm/cedar_wasm.js",
@@ -2,118 +2,91 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * Get valid request environment
5
- * @param {Template} t
6
- * @param {Schema} s
7
- * @returns {GetValidRequestEnvsResult}
8
5
  */
9
6
  export function getValidRequestEnvsTemplate(t: Template, s: Schema): GetValidRequestEnvsResult;
10
7
  /**
11
8
  * Get valid request environment
12
- * @param {Policy} t
13
- * @param {Schema} s
14
- * @returns {GetValidRequestEnvsResult}
15
9
  */
16
10
  export function getValidRequestEnvsPolicy(t: Policy, s: Schema): GetValidRequestEnvsResult;
11
+ export function getCedarVersion(): string;
12
+ export function getCedarSDKVersion(): string;
17
13
  /**
18
- * @returns {string}
14
+ * Parse a policy set and optionally validate it against a provided schema
15
+ *
16
+ * This is the basic validator interface, using [`ValidationCall`] and
17
+ * [`ValidationAnswer`] types
19
18
  */
20
- export function getCedarVersion(): string;
19
+ export function validate(call: ValidationCall): ValidationAnswer;
21
20
  /**
22
- * Apply the Cedar policy formatter to a policy set in the Cedar policy format
23
- * @param {FormattingCall} call
24
- * @returns {FormattingAnswer}
21
+ * Get language version of Cedar
25
22
  */
26
- export function formatPolicies(call: FormattingCall): FormattingAnswer;
23
+ export function getCedarLangVersion(): string;
27
24
  /**
28
25
  * Return the Cedar (textual) representation of a policy.
29
- * @param {Policy} policy
30
- * @returns {PolicyToTextAnswer}
31
26
  */
32
27
  export function policyToText(policy: Policy): PolicyToTextAnswer;
33
28
  /**
34
29
  * Return the Cedar (textual) representation of a template.
35
- * @param {Template} template
36
- * @returns {PolicyToTextAnswer}
37
30
  */
38
31
  export function templateToText(template: Template): PolicyToTextAnswer;
39
32
  /**
40
33
  * Return the JSON representation of a policy.
41
- * @param {Policy} policy
42
- * @returns {PolicyToJsonAnswer}
43
34
  */
44
35
  export function policyToJson(policy: Policy): PolicyToJsonAnswer;
45
36
  /**
46
37
  * Return the JSON representation of a template.
47
- * @param {Template} template
48
- * @returns {PolicyToJsonAnswer}
49
38
  */
50
39
  export function templateToJson(template: Template): PolicyToJsonAnswer;
51
40
  /**
52
41
  * Return the Cedar (textual) representation of a schema.
53
- * @param {Schema} schema
54
- * @returns {SchemaToTextAnswer}
55
42
  */
56
43
  export function schemaToText(schema: Schema): SchemaToTextAnswer;
57
44
  /**
58
45
  * Return the JSON representation of a schema.
59
- * @param {Schema} schema
60
- * @returns {SchemaToJsonAnswer}
61
46
  */
62
47
  export function schemaToJson(schema: Schema): SchemaToJsonAnswer;
63
- /**
64
- * Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
65
- * @param {AuthorizationCall} call
66
- * @returns {AuthorizationAnswer}
67
- */
68
- export function isAuthorized(call: AuthorizationCall): AuthorizationAnswer;
69
- /**
70
- * Parse a policy set and optionally validate it against a provided schema
71
- *
72
- * This is the basic validator interface, using [`ValidationCall`] and
73
- * [`ValidationAnswer`] types
74
- * @param {ValidationCall} call
75
- * @returns {ValidationAnswer}
76
- */
77
- export function validate(call: ValidationCall): ValidationAnswer;
78
48
  /**
79
49
  * Check whether a policy set successfully parses.
80
- * @param {PolicySet} policies
81
- * @returns {CheckParseAnswer}
82
50
  */
83
51
  export function checkParsePolicySet(policies: PolicySet): CheckParseAnswer;
84
52
  /**
85
53
  * Check whether a schema successfully parses.
86
- * @param {Schema} schema
87
- * @returns {CheckParseAnswer}
88
54
  */
89
55
  export function checkParseSchema(schema: Schema): CheckParseAnswer;
90
56
  /**
91
57
  * Check whether a set of entities successfully parses.
92
- * @param {EntitiesParsingCall} call
93
- * @returns {CheckParseAnswer}
94
58
  */
95
59
  export function checkParseEntities(call: EntitiesParsingCall): CheckParseAnswer;
96
60
  /**
97
61
  * Check whether a context successfully parses.
98
- * @param {ContextParsingCall} call
99
- * @returns {CheckParseAnswer}
100
62
  */
101
63
  export function checkParseContext(call: ContextParsingCall): CheckParseAnswer;
64
+ /**
65
+ * Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
66
+ */
67
+ export function isAuthorized(call: AuthorizationCall): AuthorizationAnswer;
68
+ /**
69
+ * Apply the Cedar policy formatter to a policy set in the Cedar policy format
70
+ */
71
+ export function formatPolicies(call: FormattingCall): FormattingAnswer;
102
72
  export type GetValidRequestEnvsResult = { type: "success"; principals: string[]; actions: string[]; resources: string[] } | { type: "failure"; error: string };
103
73
 
104
- export type SlotId = string;
105
-
106
- export type PolicyId = string;
74
+ export interface ValidationCall {
75
+ validationSettings?: ValidationSettings;
76
+ schema: Schema;
77
+ policies: PolicySet;
78
+ }
107
79
 
108
- export type ValidationMode = "strict";
80
+ export interface ValidationSettings {
81
+ mode: ValidationMode;
82
+ }
109
83
 
110
- export interface FormattingCall {
111
- policyText: string;
112
- lineWidth?: number;
113
- indentWidth?: number;
84
+ export interface ValidationError {
85
+ policyId: string;
86
+ error: DetailedError;
114
87
  }
115
88
 
116
- export type FormattingAnswer = { type: "failure"; errors: DetailedError[] } | { type: "success"; formatted_policy: string };
89
+ export type ValidationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; validationErrors: ValidationError[]; validationWarnings: ValidationError[]; otherWarnings: DetailedError[] };
117
90
 
118
91
  export type PolicyToTextAnswer = { type: "success"; text: string } | { type: "failure"; errors: DetailedError[] };
119
92
 
@@ -123,6 +96,23 @@ export type SchemaToTextAnswer = { type: "success"; text: string; warnings: Deta
123
96
 
124
97
  export type SchemaToJsonAnswer = { type: "success"; json: SchemaJson<string>; warnings: DetailedError[] } | { type: "failure"; errors: DetailedError[] };
125
98
 
99
+ export type SlotId = string;
100
+
101
+ export type PolicyId = string;
102
+
103
+ export type CheckParseAnswer = { type: "success" } | { type: "failure"; errors: DetailedError[] };
104
+
105
+ export interface EntitiesParsingCall {
106
+ entities: Entities;
107
+ schema?: Schema | null;
108
+ }
109
+
110
+ export interface ContextParsingCall {
111
+ context: Context;
112
+ schema?: Schema | null;
113
+ action?: EntityUid | null;
114
+ }
115
+
126
116
  export interface Response {
127
117
  decision: Decision;
128
118
  diagnostics: Diagnostics;
@@ -151,35 +141,13 @@ export interface AuthorizationCall {
151
141
  entities: Entities;
152
142
  }
153
143
 
154
- export interface ValidationCall {
155
- validationSettings?: ValidationSettings;
156
- schema: Schema;
157
- policies: PolicySet;
158
- }
159
-
160
- export interface ValidationSettings {
161
- mode: ValidationMode;
162
- }
163
-
164
- export interface ValidationError {
165
- policyId: string;
166
- error: DetailedError;
167
- }
168
-
169
- export type ValidationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; validationErrors: ValidationError[]; validationWarnings: ValidationError[]; otherWarnings: DetailedError[] };
170
-
171
- export type CheckParseAnswer = { type: "success" } | { type: "failure"; errors: DetailedError[] };
172
-
173
- export interface EntitiesParsingCall {
174
- entities: Entities;
175
- schema?: Schema | null;
144
+ export interface FormattingCall {
145
+ policyText: string;
146
+ lineWidth?: number;
147
+ indentWidth?: number;
176
148
  }
177
149
 
178
- export interface ContextParsingCall {
179
- context: Context;
180
- schema?: Schema | null;
181
- action?: EntityUid | null;
182
- }
150
+ export type FormattingAnswer = { type: "failure"; errors: DetailedError[] } | { type: "success"; formatted_policy: string };
183
151
 
184
152
  export type Schema = string | SchemaJson<string>;
185
153
 
@@ -228,6 +196,8 @@ export interface DetailedError {
228
196
  related?: DetailedError[];
229
197
  }
230
198
 
199
+ export type ValidationMode = "strict";
200
+
231
201
  export type TypeVariant<N> = { type: "String" } | { type: "Long" } | { type: "Boolean" } | { type: "Set"; element: Type<N> } | ({ type: "Record" } & RecordType<N>) | { type: "Entity"; name: N } | { type: "EntityOrCommon"; name: N } | { type: "Extension"; name: UnreservedId };
232
202
 
233
203
  export interface RecordType<N> {
@@ -235,7 +205,7 @@ export interface RecordType<N> {
235
205
  additionalAttributes?: boolean;
236
206
  }
237
207
 
238
- export type Type<N> = TypeVariant<N> | { type: N };
208
+ export type Type<N> = ({} & TypeVariant<N>) | { type: N };
239
209
 
240
210
  export interface ActionEntityUID<N> {
241
211
  id: SmolStr;
@@ -252,6 +222,7 @@ export interface ActionType<N> {
252
222
  attributes?: Record<SmolStr, CedarValueJson>;
253
223
  appliesTo?: ApplySpec<N>;
254
224
  memberOf?: ActionEntityUID<N>[];
225
+ annotations?: Annotations;
255
226
  }
256
227
 
257
228
  export type AttributesOrContext<N> = Type<N>;
@@ -260,51 +231,38 @@ export interface EntityType<N> {
260
231
  memberOfTypes?: N[];
261
232
  shape?: AttributesOrContext<N>;
262
233
  tags?: Type<N>;
234
+ annotations?: Annotations;
263
235
  }
264
236
 
265
237
  export interface NamespaceDefinition<N> {
266
- commonTypes?: Record<CommonTypeId, Type<N>>;
238
+ commonTypes?: Record<CommonTypeId, CommonType<N>>;
267
239
  entityTypes: Record<UnreservedId, EntityType<N>>;
268
240
  actions: Record<SmolStr, ActionType<N>>;
241
+ annotations?: Annotations;
269
242
  }
270
243
 
271
244
  export type CommonTypeId = string;
272
245
 
273
246
  export type SchemaJson<N> = Record<string, NamespaceDefinition<N>>;
274
247
 
275
- export type Clause = { kind: "when"; body: Expr } | { kind: "unless"; body: Expr };
276
-
277
- export interface PolicyJson {
278
- effect: Effect;
279
- principal: PrincipalConstraint;
280
- action: ActionConstraint;
281
- resource: ResourceConstraint;
282
- conditions: Clause[];
283
- annotations?: Record<string, string>;
284
- }
285
-
286
- export type Effect = "permit" | "forbid";
287
-
288
- export type UnreservedId = string;
248
+ export type ActionInConstraint = { entity: EntityUidJson } | { entities: EntityUidJson[] };
289
249
 
290
- export interface EntityJson {
291
- uid: EntityUidJson;
292
- attrs: Record<string, CedarValueJson>;
293
- parents: EntityUidJson[];
294
- tags?: Record<string, CedarValueJson>;
250
+ export interface PrincipalOrResourceIsConstraint {
251
+ entity_type: string;
252
+ in?: PrincipalOrResourceInConstraint;
295
253
  }
296
254
 
297
- export type Decision = "allow" | "deny";
255
+ export type PrincipalOrResourceInConstraint = { entity: EntityUidJson } | { slot: string };
298
256
 
299
- export type Var = "principal" | "action" | "resource" | "context";
257
+ export type EqConstraint = { entity: EntityUidJson } | { slot: string };
300
258
 
301
- export type ExtFuncCall = {} & Record<string, Array<Expr>>;
259
+ export type ResourceConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
302
260
 
303
- export type ExprNoExt = { Value: CedarValueJson } | { Var: Var } | { Slot: string } | { "!": { arg: Expr } } | { neg: { arg: Expr } } | { "==": { left: Expr; right: Expr } } | { "!=": { left: Expr; right: Expr } } | { in: { left: Expr; right: Expr } } | { "<": { left: Expr; right: Expr } } | { "<=": { left: Expr; right: Expr } } | { ">": { left: Expr; right: Expr } } | { ">=": { left: Expr; right: Expr } } | { "&&": { left: Expr; right: Expr } } | { "||": { left: Expr; right: Expr } } | { "+": { left: Expr; right: Expr } } | { "-": { left: Expr; right: Expr } } | { "*": { left: Expr; right: Expr } } | { contains: { left: Expr; right: Expr } } | { containsAll: { left: Expr; right: Expr } } | { containsAny: { left: Expr; right: Expr } } | { getTag: { left: Expr; right: Expr } } | { hasTag: { left: Expr; right: Expr } } | { ".": { left: Expr; attr: SmolStr } } | { has: { left: Expr; attr: SmolStr } } | { like: { left: Expr; pattern: PatternElem[] } } | { is: { left: Expr; entity_type: SmolStr; in?: Expr } } | { "if-then-else": { if: Expr; then: Expr; else: Expr } } | { Set: Expr[] } | { Record: Record<string, Expr> };
261
+ export type ActionConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & ActionInConstraint);
304
262
 
305
- export type PatternElem = "Wildcard" | { Literal: SmolStr };
263
+ export type PrincipalConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
306
264
 
307
- export type Expr = ExprNoExt | ExtFuncCall;
265
+ export type Var = "principal" | "action" | "resource" | "context";
308
266
 
309
267
  export type EntityUidJson = { __entity: TypeAndId } | TypeAndId;
310
268
 
@@ -320,22 +278,43 @@ export interface TypeAndId {
320
278
 
321
279
  export type CedarValueJson = { __entity: TypeAndId } | { __extn: FnAndArg } | boolean | number | string | CedarValueJson[] | { [key: string]: CedarValueJson } | null;
322
280
 
323
- export type ActionInConstraint = { entity: EntityUidJson } | { entities: EntityUidJson[] };
281
+ export type Annotations = Record<string, Annotation>;
324
282
 
325
- export interface PrincipalOrResourceIsConstraint {
326
- entity_type: string;
327
- in?: PrincipalOrResourceInConstraint;
283
+ export interface EntityJson {
284
+ uid: EntityUidJson;
285
+ attrs: Record<string, CedarValueJson>;
286
+ parents: EntityUidJson[];
287
+ tags?: Record<string, CedarValueJson>;
328
288
  }
329
289
 
330
- export type PrincipalOrResourceInConstraint = { entity: EntityUidJson } | { slot: string };
290
+ export type Decision = "allow" | "deny";
331
291
 
332
- export type EqConstraint = { entity: EntityUidJson } | { slot: string };
292
+ export type Annotation = SmolStr;
333
293
 
334
- export type ResourceConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
294
+ export type Clause = { kind: "when"; body: Expr } | { kind: "unless"; body: Expr };
335
295
 
336
- export type ActionConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & ActionInConstraint);
296
+ export interface PolicyJson {
297
+ effect: Effect;
298
+ principal: PrincipalConstraint;
299
+ action: ActionConstraint;
300
+ resource: ResourceConstraint;
301
+ conditions: Clause[];
302
+ annotations?: Annotations;
303
+ }
337
304
 
338
- export type PrincipalConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
305
+ export type ExtFuncCall = {} & Record<string, Array<Expr>>;
306
+
307
+ export type ExprNoExt = { Value: CedarValueJson } | { Var: Var } | { Slot: string } | { "!": { arg: Expr } } | { neg: { arg: Expr } } | { "==": { left: Expr; right: Expr } } | { "!=": { left: Expr; right: Expr } } | { in: { left: Expr; right: Expr } } | { "<": { left: Expr; right: Expr } } | { "<=": { left: Expr; right: Expr } } | { ">": { left: Expr; right: Expr } } | { ">=": { left: Expr; right: Expr } } | { "&&": { left: Expr; right: Expr } } | { "||": { left: Expr; right: Expr } } | { "+": { left: Expr; right: Expr } } | { "-": { left: Expr; right: Expr } } | { "*": { left: Expr; right: Expr } } | { contains: { left: Expr; right: Expr } } | { containsAll: { left: Expr; right: Expr } } | { containsAny: { left: Expr; right: Expr } } | { isEmpty: { arg: Expr } } | { getTag: { left: Expr; right: Expr } } | { hasTag: { left: Expr; right: Expr } } | { ".": { left: Expr; attr: SmolStr } } | { has: { left: Expr; attr: SmolStr } } | { like: { left: Expr; pattern: PatternElem[] } } | { is: { left: Expr; entity_type: SmolStr; in?: Expr } } | { "if-then-else": { if: Expr; then: Expr; else: Expr } } | { Set: Expr[] } | { Record: Record<string, Expr> };
308
+
309
+ export type PatternElem = "Wildcard" | { Literal: SmolStr };
310
+
311
+ export type Expr = ExprNoExt | ExtFuncCall;
312
+
313
+ export type AnyId = SmolStr;
314
+
315
+ export type UnreservedId = string;
316
+
317
+ export type Effect = "permit" | "forbid";
339
318
 
340
319
 
341
320
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
@@ -344,25 +323,27 @@ export interface InitOutput {
344
323
  readonly memory: WebAssembly.Memory;
345
324
  readonly getValidRequestEnvsTemplate: (a: number, b: number) => number;
346
325
  readonly getValidRequestEnvsPolicy: (a: number, b: number) => number;
326
+ readonly getCedarSDKVersion: (a: number) => void;
347
327
  readonly getCedarVersion: (a: number) => void;
348
- readonly formatPolicies: (a: number) => number;
328
+ readonly validate: (a: number) => number;
329
+ readonly getCedarLangVersion: (a: number) => void;
349
330
  readonly policyToText: (a: number) => number;
350
331
  readonly templateToText: (a: number) => number;
351
332
  readonly policyToJson: (a: number) => number;
352
333
  readonly templateToJson: (a: number) => number;
353
334
  readonly schemaToText: (a: number) => number;
354
335
  readonly schemaToJson: (a: number) => number;
355
- readonly isAuthorized: (a: number) => number;
356
- readonly validate: (a: number) => number;
357
336
  readonly checkParsePolicySet: (a: number) => number;
358
337
  readonly checkParseSchema: (a: number) => number;
359
338
  readonly checkParseEntities: (a: number) => number;
360
339
  readonly checkParseContext: (a: number) => number;
340
+ readonly isAuthorized: (a: number) => number;
341
+ readonly formatPolicies: (a: number) => number;
342
+ readonly __wbindgen_exn_store: (a: number) => void;
361
343
  readonly __wbindgen_malloc: (a: number, b: number) => number;
362
344
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
363
345
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
364
346
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
365
- readonly __wbindgen_exn_store: (a: number) => void;
366
347
  }
367
348
 
368
349
  export type SyncInitInput = BufferSource | WebAssembly.Module;
@@ -387,3 +368,4 @@ export function initSync(module: { module: SyncInitInput } | SyncInitInput): Ini
387
368
  export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
388
369
  type SmolStr = string;
389
370
  export type TypeOfAttribute<N> = Type<N> & { required?: boolean };
371
+ export type CommonType<N> = Type<N> & { annotations?: Annotations };