@janssenproject/cedarling_wasm 2.0.0 → 2.0.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.
@@ -1,125 +1,405 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
- * Create a new instance of the Cedarling application.
5
- * This function can take as config parameter the eather `Map` other `Object`
4
+ * The `ReadableStreamType` enum.
5
+ *
6
+ * *This API requires the following crate features to be activated: `ReadableStreamType`*
6
7
  */
7
- export function init(config: any): Promise<Cedarling>;
8
+
9
+ type ReadableStreamType = "bytes";
10
+
8
11
  /**
9
12
  * A WASM wrapper for the Rust `cedarling::AuthorizeResult` struct.
10
13
  * Represents the result of an authorization request.
11
14
  */
12
15
  export class AuthorizeResult {
13
- private constructor();
14
- free(): void;
15
- /**
16
- * Convert `AuthorizeResult` to json string value
17
- */
18
- json_string(): string;
19
- principal(principal: string): AuthorizeResultResponse | undefined;
20
- /**
21
- * Result of authorization where principal is `Jans::Workload`
22
- */
23
- get workload(): AuthorizeResultResponse | undefined;
24
- /**
25
- * Result of authorization where principal is `Jans::Workload`
26
- */
27
- set workload(value: AuthorizeResultResponse | null | undefined);
28
- /**
29
- * Result of authorization where principal is `Jans::User`
30
- */
31
- get person(): AuthorizeResultResponse | undefined;
32
- /**
33
- * Result of authorization where principal is `Jans::User`
34
- */
35
- set person(value: AuthorizeResultResponse | null | undefined);
36
- /**
37
- * Result of authorization
38
- * true means `ALLOW`
39
- * false means `Deny`
40
- *
41
- * this field is [`bool`] type to be compatible with [authzen Access Evaluation Decision](https://openid.github.io/authzen/#section-6.2.1).
42
- */
43
- decision: boolean;
44
- /**
45
- * Request ID of the authorization request
46
- */
47
- request_id: string;
16
+ private constructor();
17
+ free(): void;
18
+ [Symbol.dispose](): void;
19
+ /**
20
+ * Convert `AuthorizeResult` to json string value
21
+ */
22
+ json_string(): string;
23
+ /**
24
+ * Result of authorization
25
+ * true means `ALLOW`
26
+ * false means `Deny`
27
+ *
28
+ * this field is [`bool`] type to be compatible with [authzen Access Evaluation Decision](https://openid.github.io/authzen/#section-6.2.1).
29
+ */
30
+ decision: boolean;
31
+ /**
32
+ * Request ID of the authorization request
33
+ */
34
+ request_id: string;
35
+ /**
36
+ * Cedar authorization response for the request.
37
+ */
38
+ response: AuthorizeResultResponse;
48
39
  }
40
+
49
41
  /**
50
42
  * A WASM wrapper for the Rust `cedar_policy::Response` struct.
51
43
  * Represents the result of an authorization request.
52
44
  */
53
45
  export class AuthorizeResultResponse {
54
- private constructor();
55
- free(): void;
56
- /**
57
- * Authorization decision
58
- */
59
- readonly decision: boolean;
60
- /**
61
- * Diagnostics providing more information on how this decision was reached
62
- */
63
- readonly diagnostics: Diagnostics;
46
+ private constructor();
47
+ free(): void;
48
+ [Symbol.dispose](): void;
49
+ /**
50
+ * Authorization decision
51
+ */
52
+ readonly decision: boolean;
53
+ /**
54
+ * Diagnostics providing more information on how this decision was reached
55
+ */
56
+ readonly diagnostics: Diagnostics;
64
57
  }
58
+
65
59
  /**
66
60
  * The instance of the Cedarling application.
67
61
  */
68
62
  export class Cedarling {
69
- private constructor();
70
- free(): void;
71
- /**
72
- * Create a new instance of the Cedarling application.
73
- * Assume that config is `Object`
74
- */
75
- static new(config: object): Promise<Cedarling>;
76
- /**
77
- * Create a new instance of the Cedarling application.
78
- * Assume that config is `Map`
79
- */
80
- static new_from_map(config: Map<any, any>): Promise<Cedarling>;
81
- /**
82
- * Authorize request
83
- * makes authorization decision based on the [`Request`]
84
- */
85
- authorize(request: any): Promise<AuthorizeResult>;
86
- /**
87
- * Authorize request for unsigned principals.
88
- * makes authorization decision based on the [`RequestUnsigned`]
89
- */
90
- authorize_unsigned(request: any): Promise<AuthorizeResult>;
91
- /**
92
- * Get logs and remove them from the storage.
93
- * Returns `Array` of `Map`
94
- */
95
- pop_logs(): Array<any>;
96
- /**
97
- * Get specific log entry.
98
- * Returns `Map` with values or `null`.
99
- */
100
- get_log_by_id(id: string): any;
101
- /**
102
- * Returns a list of all log ids.
103
- * Returns `Array` of `String`
104
- */
105
- get_log_ids(): Array<any>;
106
- /**
107
- * Get logs by tag, like `log_kind` or `log level`.
108
- * Tag can be `log_kind`, `log_level`.
109
- */
110
- get_logs_by_tag(tag: string): any[];
111
- /**
112
- * Get logs by request_id.
113
- * Return log entries that match the given request_id.
114
- */
115
- get_logs_by_request_id(request_id: string): any[];
116
- /**
117
- * Get log by request_id and tag, like composite key `request_id` + `log_kind`.
118
- * Tag can be `log_kind`, `log_level`.
119
- * Return log entries that match the given request_id and tag.
120
- */
121
- get_logs_by_request_id_and_tag(request_id: string, tag: string): any[];
63
+ private constructor();
64
+ free(): void;
65
+ [Symbol.dispose](): void;
66
+ /**
67
+ * Authorize multi-issuer request.
68
+ * Makes authorization decision based on multiple JWT tokens from different issuers
69
+ */
70
+ authorize_multi_issuer(request: any): Promise<MultiIssuerAuthorizeResult>;
71
+ /**
72
+ * Authorize an unsigned request carrying an optional single principal.
73
+ * Makes an authorization decision based on the [`RequestUnsigned`].
74
+ *
75
+ * When `principal` is omitted / `null` on the JS side the core uses Cedar
76
+ * partial evaluation; residual-dependent requests fail closed with
77
+ * `Decision::Deny` and surface residual policy ids in
78
+ * `response.diagnostics.reason`.
79
+ */
80
+ authorize_unsigned(request: any): Promise<AuthorizeResult>;
81
+ /**
82
+ * Clear all entries from the data store.
83
+ *
84
+ * # Example
85
+ *
86
+ * ```javascript
87
+ * cedarling.clear_data_ctx();
88
+ * console.log("All data entries cleared");
89
+ * ```
90
+ */
91
+ clear_data_ctx(): void;
92
+ /**
93
+ * Get trusted issuer identifiers that failed to load.
94
+ *
95
+ * # Example
96
+ *
97
+ * ```javascript
98
+ * const ids = cedarling.failed_trusted_issuer_ids();
99
+ * ```
100
+ */
101
+ failed_trusted_issuer_ids(): Array<any>;
102
+ /**
103
+ * Get a value from the data store by key.
104
+ * Returns null if the key doesn't exist or the entry has expired.
105
+ *
106
+ * # Arguments
107
+ *
108
+ * * `key` - A string key for the data entry to retrieve
109
+ *
110
+ * # Example
111
+ *
112
+ * ```javascript
113
+ * const value = cedarling.get_data_ctx("user:123");
114
+ * if (value !== null) {
115
+ * console.log(value.name); // "John"
116
+ * }
117
+ * ```
118
+ */
119
+ get_data_ctx(key: string): any;
120
+ /**
121
+ * Get a data entry with full metadata by key.
122
+ * Returns null if the key doesn't exist or the entry has expired.
123
+ *
124
+ * # Arguments
125
+ *
126
+ * * `key` - A string key for the data entry to retrieve
127
+ *
128
+ * # Example
129
+ *
130
+ * ```javascript
131
+ * const entry = cedarling.get_data_entry_ctx("user:123");
132
+ * if (entry !== null) {
133
+ * console.log(entry.key); // "user:123"
134
+ * console.log(entry.value); // { name: "John", age: 30 }
135
+ * console.log(entry.data_type); // "Record"
136
+ * console.log(entry.created_at); // "2024-01-01T12:00:00Z"
137
+ * console.log(entry.access_count); // 5
138
+ * }
139
+ * ```
140
+ */
141
+ get_data_entry_ctx(key: string): DataEntry | undefined;
142
+ /**
143
+ * Get specific log entry.
144
+ * Returns `Map` with values or `null`.
145
+ */
146
+ get_log_by_id(id: string): any;
147
+ /**
148
+ * Returns a list of all log ids.
149
+ * Returns `Array` of `String`
150
+ */
151
+ get_log_ids(): Array<any>;
152
+ /**
153
+ * Get logs by request_id.
154
+ * Return log entries that match the given request_id.
155
+ */
156
+ get_logs_by_request_id(request_id: string): any[];
157
+ /**
158
+ * Get log by request_id and tag, like composite key `request_id` + `log_kind`.
159
+ * Tag can be `log_kind`, `log_level`.
160
+ * Return log entries that match the given request_id and tag.
161
+ */
162
+ get_logs_by_request_id_and_tag(request_id: string, tag: string): any[];
163
+ /**
164
+ * Get logs by tag, like `log_kind` or `log level`.
165
+ * Tag can be `log_kind`, `log_level`.
166
+ */
167
+ get_logs_by_tag(tag: string): any[];
168
+ /**
169
+ * Get statistics about the data store.
170
+ *
171
+ * # Example
172
+ *
173
+ * ```javascript
174
+ * const stats = cedarling.get_stats_ctx();
175
+ * console.log(`Entries: ${stats.entry_count}/${stats.max_entries || 'unlimited'}`);
176
+ * console.log(`Capacity: ${stats.capacity_usage_percent.toFixed(2)}%`);
177
+ * console.log(`Total size: ${stats.total_size_bytes} bytes`);
178
+ * ```
179
+ */
180
+ get_stats_ctx(): DataStoreStats;
181
+ /**
182
+ * Check whether a trusted issuer was loaded by `iss` claim.
183
+ *
184
+ * # Arguments
185
+ *
186
+ * * `iss_claim` - Issuer `iss` claim value to check.
187
+ *
188
+ * # Example
189
+ *
190
+ * ```javascript
191
+ * const ok = cedarling.is_trusted_issuer_loaded_by_iss("https://issuer.example.org");
192
+ * ```
193
+ */
194
+ is_trusted_issuer_loaded_by_iss(iss_claim: string): boolean;
195
+ /**
196
+ * Check whether a trusted issuer was loaded by issuer identifier.
197
+ *
198
+ * # Arguments
199
+ *
200
+ * * `issuer_id` - Trusted issuer identifier to check.
201
+ *
202
+ * # Example
203
+ *
204
+ * ```javascript
205
+ * const ok = cedarling.is_trusted_issuer_loaded_by_name("issuer_id");
206
+ * ```
207
+ */
208
+ is_trusted_issuer_loaded_by_name(issuer_id: string): boolean;
209
+ /**
210
+ * List all entries with their metadata.
211
+ * Returns an array of DataEntry objects.
212
+ *
213
+ * # Example
214
+ *
215
+ * ```javascript
216
+ * const entries = cedarling.list_data_ctx();
217
+ * entries.forEach(entry => {
218
+ * console.log(`${entry.key}: ${entry.data_type} (accessed ${entry.access_count} times)`);
219
+ * });
220
+ * ```
221
+ */
222
+ list_data_ctx(): Array<any>;
223
+ /**
224
+ * Get trusted issuer identifiers loaded successfully.
225
+ *
226
+ * # Example
227
+ *
228
+ * ```javascript
229
+ * const ids = cedarling.loaded_trusted_issuer_ids();
230
+ * ```
231
+ */
232
+ loaded_trusted_issuer_ids(): Array<any>;
233
+ /**
234
+ * Get the number of trusted issuers loaded successfully.
235
+ *
236
+ * # Example
237
+ *
238
+ * ```javascript
239
+ * const loadedCount = cedarling.loaded_trusted_issuers_count();
240
+ * ```
241
+ */
242
+ loaded_trusted_issuers_count(): number;
243
+ /**
244
+ * Create a new instance of the Cedarling application.
245
+ * Assume that config is `Object`
246
+ */
247
+ static new(config: object): Promise<Cedarling>;
248
+ /**
249
+ * Create a new instance of the Cedarling application.
250
+ * Assume that config is `Map`
251
+ */
252
+ static new_from_map(config: Map<any, any>): Promise<Cedarling>;
253
+ /**
254
+ * Get logs and remove them from the storage.
255
+ * Returns `Array` of `Map`
256
+ */
257
+ pop_logs(): Array<any>;
258
+ /**
259
+ * Push a value into the data store with an optional TTL.
260
+ * If the key already exists, the value will be replaced.
261
+ * If TTL is not provided, the default TTL from configuration is used.
262
+ *
263
+ * # Arguments
264
+ *
265
+ * * `key` - A string key for the data entry (must not be empty)
266
+ * * `value` - The value to store (any JSON-serializable JavaScript value: object, array, string, number, boolean)
267
+ * * `ttl_secs` - Optional TTL in seconds (undefined/null uses default from config)
268
+ *
269
+ * # Example
270
+ *
271
+ * ```javascript
272
+ * cedarling.push_data_ctx("user:123", { name: "John", age: 30 }, 3600);
273
+ * cedarling.push_data_ctx("config", { setting: "value" }); // Uses default TTL
274
+ * ```
275
+ */
276
+ push_data_ctx(key: string, value: any, ttl_secs?: bigint | null): void;
277
+ /**
278
+ * Remove a value from the data store by key.
279
+ * Returns true if the key existed and was removed, false otherwise.
280
+ *
281
+ * # Arguments
282
+ *
283
+ * * `key` - A string key for the data entry to remove
284
+ *
285
+ * # Example
286
+ *
287
+ * ```javascript
288
+ * const removed = cedarling.remove_data_ctx("user:123");
289
+ * if (removed) {
290
+ * console.log("Entry was successfully removed");
291
+ * }
292
+ * ```
293
+ */
294
+ remove_data_ctx(key: string): boolean;
295
+ /**
296
+ * Closes the connections to the Lock Server and pushes all available logs.
297
+ */
298
+ shut_down(): Promise<void>;
299
+ /**
300
+ * Get the total number of trusted issuer entries discovered.
301
+ *
302
+ * # Example
303
+ *
304
+ * ```javascript
305
+ * const total = cedarling.total_issuers();
306
+ * ```
307
+ */
308
+ total_issuers(): number;
122
309
  }
310
+
311
+ /**
312
+ * A WASM wrapper for the Rust `cedarling::DataEntry` struct.
313
+ * Represents a data entry in the DataStore with value and metadata.
314
+ */
315
+ export class DataEntry {
316
+ private constructor();
317
+ free(): void;
318
+ [Symbol.dispose](): void;
319
+ /**
320
+ * Convert `DataEntry` to json string value
321
+ */
322
+ json_string(): string;
323
+ /**
324
+ * Get the value stored in this entry as a JavaScript object
325
+ */
326
+ value(): any;
327
+ /**
328
+ * Number of times this entry has been accessed
329
+ */
330
+ access_count: bigint;
331
+ /**
332
+ * Timestamp when this entry was created (RFC 3339 format)
333
+ */
334
+ created_at: string;
335
+ /**
336
+ * The inferred Cedar type of the value
337
+ */
338
+ data_type: string;
339
+ /**
340
+ * Timestamp when this entry expires (RFC 3339 format), or null if no TTL
341
+ */
342
+ get expires_at(): string | undefined;
343
+ /**
344
+ * Timestamp when this entry expires (RFC 3339 format), or null if no TTL
345
+ */
346
+ set expires_at(value: string | null | undefined);
347
+ /**
348
+ * The key for this entry
349
+ */
350
+ key: string;
351
+ }
352
+
353
+ /**
354
+ * A WASM wrapper for the Rust `cedarling::DataStoreStats` struct.
355
+ * Statistics about the DataStore.
356
+ */
357
+ export class DataStoreStats {
358
+ private constructor();
359
+ free(): void;
360
+ [Symbol.dispose](): void;
361
+ /**
362
+ * Convert `DataStoreStats` to json string value
363
+ */
364
+ json_string(): string;
365
+ /**
366
+ * Average size per entry in bytes (0 if no entries)
367
+ */
368
+ avg_entry_size_bytes: number;
369
+ /**
370
+ * Percentage of capacity used (0.0-100.0, based on entry count)
371
+ */
372
+ capacity_usage_percent: number;
373
+ /**
374
+ * Number of entries currently stored
375
+ */
376
+ entry_count: number;
377
+ /**
378
+ * Maximum number of entries allowed (0 = unlimited)
379
+ */
380
+ max_entries: number;
381
+ /**
382
+ * Maximum size per entry in bytes (0 = unlimited)
383
+ */
384
+ max_entry_size: number;
385
+ /**
386
+ * Memory usage threshold percentage (from config)
387
+ */
388
+ memory_alert_threshold: number;
389
+ /**
390
+ * Whether memory usage exceeds the alert threshold
391
+ */
392
+ memory_alert_triggered: boolean;
393
+ /**
394
+ * Whether metrics tracking is enabled
395
+ */
396
+ metrics_enabled: boolean;
397
+ /**
398
+ * Total size of all entries in bytes (approximate, based on JSON serialization)
399
+ */
400
+ total_size_bytes: number;
401
+ }
402
+
123
403
  /**
124
404
  * Diagnostics
125
405
  * ===========
@@ -127,26 +407,79 @@ export class Cedarling {
127
407
  * Provides detailed information about how a policy decision was made, including policies that contributed to the decision and any errors encountered during evaluation.
128
408
  */
129
409
  export class Diagnostics {
130
- private constructor();
131
- free(): void;
132
- /**
133
- * `PolicyId`s of the policies that contributed to the decision.
134
- * If no policies applied to the request, this set will be empty.
135
- *
136
- * The ids should be treated as unordered,
137
- */
138
- readonly reason: string[];
139
- /**
140
- * Errors that occurred during authorization. The errors should be
141
- * treated as unordered, since policies may be evaluated in any order.
142
- */
143
- readonly errors: PolicyEvaluationError[];
410
+ private constructor();
411
+ free(): void;
412
+ [Symbol.dispose](): void;
413
+ /**
414
+ * Errors that occurred during authorization. The errors should be
415
+ * treated as unordered, since policies may be evaluated in any order.
416
+ */
417
+ readonly errors: PolicyEvaluationError[];
418
+ /**
419
+ * `PolicyId`s of the policies that contributed to the decision.
420
+ * If no policies applied to the request, this set will be empty.
421
+ *
422
+ * The ids should be treated as unordered,
423
+ */
424
+ readonly reason: string[];
425
+ }
426
+
427
+ export class IntoUnderlyingByteSource {
428
+ private constructor();
429
+ free(): void;
430
+ [Symbol.dispose](): void;
431
+ cancel(): void;
432
+ pull(controller: ReadableByteStreamController): Promise<any>;
433
+ start(controller: ReadableByteStreamController): void;
434
+ readonly autoAllocateChunkSize: number;
435
+ readonly type: ReadableStreamType;
436
+ }
437
+
438
+ export class IntoUnderlyingSink {
439
+ private constructor();
440
+ free(): void;
441
+ [Symbol.dispose](): void;
442
+ abort(reason: any): Promise<any>;
443
+ close(): Promise<any>;
444
+ write(chunk: any): Promise<any>;
445
+ }
446
+
447
+ export class IntoUnderlyingSource {
448
+ private constructor();
449
+ free(): void;
450
+ [Symbol.dispose](): void;
451
+ cancel(): void;
452
+ pull(controller: ReadableStreamDefaultController): Promise<any>;
144
453
  }
145
- export class JsJsonLogic {
146
- free(): void;
147
- constructor();
148
- apply(logic: any, data: any): any;
454
+
455
+ /**
456
+ * A WASM wrapper for the Rust `cedarling::MultiIssuerAuthorizeResult` struct.
457
+ * Represents the result of a multi-issuer authorization request.
458
+ */
459
+ export class MultiIssuerAuthorizeResult {
460
+ private constructor();
461
+ free(): void;
462
+ [Symbol.dispose](): void;
463
+ /**
464
+ * Convert `MultiIssuerAuthorizeResult` to json string value
465
+ */
466
+ json_string(): string;
467
+ /**
468
+ * Result of authorization
469
+ * true means `ALLOW`
470
+ * false means `Deny`
471
+ */
472
+ decision: boolean;
473
+ /**
474
+ * Request ID of the authorization request
475
+ */
476
+ request_id: string;
477
+ /**
478
+ * Result of Cedar policy authorization
479
+ */
480
+ response: AuthorizeResultResponse;
149
481
  }
482
+
150
483
  /**
151
484
  * PolicyEvaluationError
152
485
  * =====================
@@ -154,86 +487,190 @@ export class JsJsonLogic {
154
487
  * Represents an error that occurred when evaluating a Cedar policy.
155
488
  */
156
489
  export class PolicyEvaluationError {
157
- private constructor();
158
- free(): void;
159
- /**
160
- * Id of the policy with an error
161
- */
162
- readonly id: string;
163
- /**
164
- * Underlying evaluation error string representation
165
- */
166
- readonly error: string;
490
+ private constructor();
491
+ free(): void;
492
+ [Symbol.dispose](): void;
493
+ /**
494
+ * Underlying evaluation error string representation
495
+ */
496
+ readonly error: string;
497
+ /**
498
+ * Id of the policy with an error
499
+ */
500
+ readonly id: string;
167
501
  }
168
502
 
503
+ /**
504
+ * Create a new instance of the Cedarling application.
505
+ * This function can take as config parameter the eather `Map` other `Object`
506
+ */
507
+ export function init(config: any): Promise<Cedarling>;
508
+
509
+ /**
510
+ * Create a new instance of the Cedarling application from archive bytes.
511
+ *
512
+ * This function allows loading a policy store from a Cedar Archive (.cjar)
513
+ * that was fetched with custom logic (e.g., with authentication headers).
514
+ *
515
+ * # Arguments
516
+ * * `config` - Bootstrap configuration (Map or Object). Policy store config is ignored.
517
+ * * `archive_bytes` - The .cjar archive bytes (Uint8Array)
518
+ *
519
+ * # Example
520
+ * ```javascript
521
+ * const response = await fetch(url, { headers: { Authorization: 'Bearer ...' } });
522
+ * const bytes = new Uint8Array(await response.arrayBuffer());
523
+ * const cedarling = await init_from_archive_bytes(config, bytes);
524
+ * ```
525
+ */
526
+ export function init_from_archive_bytes(config: any, archive_bytes: Uint8Array): Promise<Cedarling>;
527
+
169
528
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
170
529
 
171
530
  export interface InitOutput {
172
- readonly memory: WebAssembly.Memory;
173
- readonly __wbg_cedarling_free: (a: number, b: number) => void;
174
- readonly init: (a: number) => number;
175
- readonly cedarling_new: (a: number) => number;
176
- readonly cedarling_new_from_map: (a: number) => number;
177
- readonly cedarling_authorize: (a: number, b: number) => number;
178
- readonly cedarling_authorize_unsigned: (a: number, b: number) => number;
179
- readonly cedarling_pop_logs: (a: number, b: number) => void;
180
- readonly cedarling_get_log_by_id: (a: number, b: number, c: number, d: number) => void;
181
- readonly cedarling_get_log_ids: (a: number) => number;
182
- readonly cedarling_get_logs_by_tag: (a: number, b: number, c: number, d: number) => void;
183
- readonly cedarling_get_logs_by_request_id: (a: number, b: number, c: number, d: number) => void;
184
- readonly cedarling_get_logs_by_request_id_and_tag: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
185
- readonly __wbg_authorizeresult_free: (a: number, b: number) => void;
186
- readonly __wbg_get_authorizeresult_workload: (a: number) => number;
187
- readonly __wbg_set_authorizeresult_workload: (a: number, b: number) => void;
188
- readonly __wbg_get_authorizeresult_person: (a: number) => number;
189
- readonly __wbg_set_authorizeresult_person: (a: number, b: number) => void;
190
- readonly __wbg_get_authorizeresult_decision: (a: number) => number;
191
- readonly __wbg_set_authorizeresult_decision: (a: number, b: number) => void;
192
- readonly __wbg_get_authorizeresult_request_id: (a: number, b: number) => void;
193
- readonly __wbg_set_authorizeresult_request_id: (a: number, b: number, c: number) => void;
194
- readonly authorizeresult_json_string: (a: number, b: number) => void;
195
- readonly authorizeresult_principal: (a: number, b: number, c: number) => number;
196
- readonly __wbg_authorizeresultresponse_free: (a: number, b: number) => void;
197
- readonly authorizeresultresponse_decision: (a: number) => number;
198
- readonly authorizeresultresponse_diagnostics: (a: number) => number;
199
- readonly __wbg_diagnostics_free: (a: number, b: number) => void;
200
- readonly diagnostics_reason: (a: number, b: number) => void;
201
- readonly diagnostics_errors: (a: number, b: number) => void;
202
- readonly __wbg_policyevaluationerror_free: (a: number, b: number) => void;
203
- readonly policyevaluationerror_id: (a: number, b: number) => void;
204
- readonly policyevaluationerror_error: (a: number, b: number) => void;
205
- readonly __wbg_jsjsonlogic_free: (a: number, b: number) => void;
206
- readonly jsjsonlogic_new: () => number;
207
- readonly jsjsonlogic_apply: (a: number, b: number, c: number, d: number) => void;
208
- readonly ring_core_0_17_14__bn_mul_mont: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
209
- readonly __wbindgen_export_0: (a: number, b: number) => number;
210
- readonly __wbindgen_export_1: (a: number, b: number, c: number, d: number) => number;
211
- readonly __wbindgen_export_2: (a: number) => void;
212
- readonly __wbindgen_export_3: WebAssembly.Table;
213
- readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
214
- readonly __wbindgen_export_4: (a: number, b: number, c: number) => void;
215
- readonly __wbindgen_export_5: (a: number, b: number) => void;
216
- readonly __wbindgen_export_6: (a: number, b: number, c: number) => void;
217
- readonly __wbindgen_export_7: (a: number, b: number, c: number, d: number) => void;
531
+ readonly memory: WebAssembly.Memory;
532
+ readonly __wbg_authorizeresult_free: (a: number, b: number) => void;
533
+ readonly __wbg_authorizeresultresponse_free: (a: number, b: number) => void;
534
+ readonly __wbg_cedarling_free: (a: number, b: number) => void;
535
+ readonly __wbg_dataentry_free: (a: number, b: number) => void;
536
+ readonly __wbg_datastorestats_free: (a: number, b: number) => void;
537
+ readonly __wbg_diagnostics_free: (a: number, b: number) => void;
538
+ readonly __wbg_get_authorizeresult_decision: (a: number) => number;
539
+ readonly __wbg_get_authorizeresult_request_id: (a: number) => [number, number];
540
+ readonly __wbg_get_authorizeresult_response: (a: number) => number;
541
+ readonly __wbg_get_dataentry_access_count: (a: number) => bigint;
542
+ readonly __wbg_get_dataentry_created_at: (a: number) => [number, number];
543
+ readonly __wbg_get_dataentry_data_type: (a: number) => [number, number];
544
+ readonly __wbg_get_dataentry_expires_at: (a: number) => [number, number];
545
+ readonly __wbg_get_dataentry_key: (a: number) => [number, number];
546
+ readonly __wbg_get_datastorestats_avg_entry_size_bytes: (a: number) => number;
547
+ readonly __wbg_get_datastorestats_capacity_usage_percent: (a: number) => number;
548
+ readonly __wbg_get_datastorestats_entry_count: (a: number) => number;
549
+ readonly __wbg_get_datastorestats_max_entries: (a: number) => number;
550
+ readonly __wbg_get_datastorestats_max_entry_size: (a: number) => number;
551
+ readonly __wbg_get_datastorestats_memory_alert_threshold: (a: number) => number;
552
+ readonly __wbg_get_datastorestats_memory_alert_triggered: (a: number) => number;
553
+ readonly __wbg_get_datastorestats_metrics_enabled: (a: number) => number;
554
+ readonly __wbg_get_datastorestats_total_size_bytes: (a: number) => number;
555
+ readonly __wbg_policyevaluationerror_free: (a: number, b: number) => void;
556
+ readonly __wbg_set_authorizeresult_decision: (a: number, b: number) => void;
557
+ readonly __wbg_set_authorizeresult_request_id: (a: number, b: number, c: number) => void;
558
+ readonly __wbg_set_authorizeresult_response: (a: number, b: number) => void;
559
+ readonly __wbg_set_dataentry_access_count: (a: number, b: bigint) => void;
560
+ readonly __wbg_set_dataentry_created_at: (a: number, b: number, c: number) => void;
561
+ readonly __wbg_set_dataentry_data_type: (a: number, b: number, c: number) => void;
562
+ readonly __wbg_set_dataentry_expires_at: (a: number, b: number, c: number) => void;
563
+ readonly __wbg_set_dataentry_key: (a: number, b: number, c: number) => void;
564
+ readonly __wbg_set_datastorestats_avg_entry_size_bytes: (a: number, b: number) => void;
565
+ readonly __wbg_set_datastorestats_capacity_usage_percent: (a: number, b: number) => void;
566
+ readonly __wbg_set_datastorestats_entry_count: (a: number, b: number) => void;
567
+ readonly __wbg_set_datastorestats_max_entries: (a: number, b: number) => void;
568
+ readonly __wbg_set_datastorestats_max_entry_size: (a: number, b: number) => void;
569
+ readonly __wbg_set_datastorestats_memory_alert_threshold: (a: number, b: number) => void;
570
+ readonly __wbg_set_datastorestats_memory_alert_triggered: (a: number, b: number) => void;
571
+ readonly __wbg_set_datastorestats_metrics_enabled: (a: number, b: number) => void;
572
+ readonly __wbg_set_datastorestats_total_size_bytes: (a: number, b: number) => void;
573
+ readonly authorizeresult_json_string: (a: number) => [number, number];
574
+ readonly authorizeresultresponse_decision: (a: number) => number;
575
+ readonly authorizeresultresponse_diagnostics: (a: number) => number;
576
+ readonly cedarling_authorize_multi_issuer: (a: number, b: any) => any;
577
+ readonly cedarling_authorize_unsigned: (a: number, b: any) => any;
578
+ readonly cedarling_clear_data_ctx: (a: number) => [number, number];
579
+ readonly cedarling_failed_trusted_issuer_ids: (a: number) => any;
580
+ readonly cedarling_get_data_ctx: (a: number, b: number, c: number) => [number, number, number];
581
+ readonly cedarling_get_data_entry_ctx: (a: number, b: number, c: number) => [number, number, number];
582
+ readonly cedarling_get_log_by_id: (a: number, b: number, c: number) => [number, number, number];
583
+ readonly cedarling_get_log_ids: (a: number) => any;
584
+ readonly cedarling_get_logs_by_request_id: (a: number, b: number, c: number) => [number, number, number, number];
585
+ readonly cedarling_get_logs_by_request_id_and_tag: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
586
+ readonly cedarling_get_logs_by_tag: (a: number, b: number, c: number) => [number, number, number, number];
587
+ readonly cedarling_get_stats_ctx: (a: number) => [number, number, number];
588
+ readonly cedarling_is_trusted_issuer_loaded_by_iss: (a: number, b: number, c: number) => number;
589
+ readonly cedarling_is_trusted_issuer_loaded_by_name: (a: number, b: number, c: number) => number;
590
+ readonly cedarling_list_data_ctx: (a: number) => [number, number, number];
591
+ readonly cedarling_loaded_trusted_issuer_ids: (a: number) => any;
592
+ readonly cedarling_loaded_trusted_issuers_count: (a: number) => number;
593
+ readonly cedarling_new: (a: any) => any;
594
+ readonly cedarling_new_from_map: (a: any) => any;
595
+ readonly cedarling_pop_logs: (a: number) => [number, number, number];
596
+ readonly cedarling_push_data_ctx: (a: number, b: number, c: number, d: any, e: number, f: bigint) => [number, number];
597
+ readonly cedarling_remove_data_ctx: (a: number, b: number, c: number) => [number, number, number];
598
+ readonly cedarling_shut_down: (a: number) => any;
599
+ readonly cedarling_total_issuers: (a: number) => number;
600
+ readonly dataentry_json_string: (a: number) => [number, number];
601
+ readonly dataentry_value: (a: number) => [number, number, number];
602
+ readonly datastorestats_json_string: (a: number) => [number, number];
603
+ readonly diagnostics_errors: (a: number) => [number, number];
604
+ readonly diagnostics_reason: (a: number) => [number, number];
605
+ readonly init: (a: any) => any;
606
+ readonly init_from_archive_bytes: (a: any, b: any) => any;
607
+ readonly multiissuerauthorizeresult_json_string: (a: number) => [number, number];
608
+ readonly policyevaluationerror_error: (a: number) => [number, number];
609
+ readonly policyevaluationerror_id: (a: number) => [number, number];
610
+ readonly __wbg_get_multiissuerauthorizeresult_response: (a: number) => number;
611
+ readonly __wbg_get_multiissuerauthorizeresult_decision: (a: number) => number;
612
+ readonly __wbg_set_multiissuerauthorizeresult_response: (a: number, b: number) => void;
613
+ readonly __wbg_set_multiissuerauthorizeresult_request_id: (a: number, b: number, c: number) => void;
614
+ readonly __wbg_set_multiissuerauthorizeresult_decision: (a: number, b: number) => void;
615
+ readonly __wbg_get_multiissuerauthorizeresult_request_id: (a: number) => [number, number];
616
+ readonly __wbg_multiissuerauthorizeresult_free: (a: number, b: number) => void;
617
+ readonly __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
618
+ readonly __wbg_intounderlyingsink_free: (a: number, b: number) => void;
619
+ readonly __wbg_intounderlyingsource_free: (a: number, b: number) => void;
620
+ readonly intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
621
+ readonly intounderlyingbytesource_cancel: (a: number) => void;
622
+ readonly intounderlyingbytesource_pull: (a: number, b: any) => any;
623
+ readonly intounderlyingbytesource_start: (a: number, b: any) => void;
624
+ readonly intounderlyingbytesource_type: (a: number) => number;
625
+ readonly intounderlyingsink_abort: (a: number, b: any) => any;
626
+ readonly intounderlyingsink_close: (a: number) => any;
627
+ readonly intounderlyingsink_write: (a: number, b: any) => any;
628
+ readonly intounderlyingsource_cancel: (a: number) => void;
629
+ readonly intounderlyingsource_pull: (a: number, b: any) => any;
630
+ readonly rust_zstd_wasm_shim_calloc: (a: number, b: number) => number;
631
+ readonly rust_zstd_wasm_shim_free: (a: number) => void;
632
+ readonly rust_zstd_wasm_shim_malloc: (a: number) => number;
633
+ readonly rust_zstd_wasm_shim_memcmp: (a: number, b: number, c: number) => number;
634
+ readonly rust_zstd_wasm_shim_memcpy: (a: number, b: number, c: number) => number;
635
+ readonly rust_zstd_wasm_shim_memmove: (a: number, b: number, c: number) => number;
636
+ readonly rust_zstd_wasm_shim_memset: (a: number, b: number, c: number) => number;
637
+ readonly rust_zstd_wasm_shim_qsort: (a: number, b: number, c: number, d: number) => void;
638
+ readonly wasm_bindgen__convert__closures_____invoke__h80274e53af2c4a90: (a: number, b: number, c: any) => [number, number];
639
+ readonly wasm_bindgen__convert__closures_____invoke__h66f11f9242c621fe: (a: number, b: number, c: any, d: any) => void;
640
+ readonly wasm_bindgen__convert__closures_____invoke__h170c6019ccfd853a: (a: number, b: number, c: any) => void;
641
+ readonly wasm_bindgen__convert__closures_____invoke__ha272cf34a0c89527: (a: number, b: number) => void;
642
+ readonly wasm_bindgen__convert__closures_____invoke__h1f68ebdd661f92ac: (a: number, b: number) => void;
643
+ readonly wasm_bindgen__convert__closures_____invoke__hc6d79abdb072c199: (a: number, b: number) => void;
644
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
645
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
646
+ readonly __wbindgen_exn_store: (a: number) => void;
647
+ readonly __externref_table_alloc: () => number;
648
+ readonly __wbindgen_externrefs: WebAssembly.Table;
649
+ readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
650
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
651
+ readonly __externref_table_dealloc: (a: number) => void;
652
+ readonly __externref_drop_slice: (a: number, b: number) => void;
653
+ readonly __wbindgen_start: () => void;
218
654
  }
219
655
 
220
656
  export type SyncInitInput = BufferSource | WebAssembly.Module;
657
+
221
658
  /**
222
- * Instantiates the given `module`, which can either be bytes or
223
- * a precompiled `WebAssembly.Module`.
224
- *
225
- * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
226
- *
227
- * @returns {InitOutput}
228
- */
659
+ * Instantiates the given `module`, which can either be bytes or
660
+ * a precompiled `WebAssembly.Module`.
661
+ *
662
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
663
+ *
664
+ * @returns {InitOutput}
665
+ */
229
666
  export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
230
667
 
231
668
  /**
232
- * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
233
- * for everything else, calls `WebAssembly.instantiate` directly.
234
- *
235
- * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
236
- *
237
- * @returns {Promise<InitOutput>}
238
- */
669
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
670
+ * for everything else, calls `WebAssembly.instantiate` directly.
671
+ *
672
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
673
+ *
674
+ * @returns {Promise<InitOutput>}
675
+ */
239
676
  export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;