@liminalfunctions/framework 1.0.49 → 1.0.51

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.
@@ -28,7 +28,7 @@ export declare class F_Collection<Collection_ID extends string, ZodSchema extend
28
28
  post_create_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
29
29
  post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
30
30
  post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
31
- constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema);
31
+ constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema, database?: typeof mongoose);
32
32
  add_layers(layers: string[], security_models: F_Security_Model<Collection_ID, ZodSchema>[]): void;
33
33
  on_create(hook: (session: mongoose.mongo.ClientSession, created_document: z.output<ZodSchema>) => Promise<void>): void;
34
34
  on_update(hook: (session: mongoose.mongo.ClientSession, updated_document: z.output<ZodSchema>) => Promise<void>): void;
@@ -19,12 +19,12 @@ export class F_Collection {
19
19
  post_create_hooks;
20
20
  post_update_hooks;
21
21
  post_delete_hooks;
22
- constructor(collection_name, collection_name_plural, validator) {
22
+ constructor(collection_name, collection_name_plural, validator, database = mongoose) {
23
23
  this.collection_id = collection_name;
24
24
  this.collection_name_plural = collection_name_plural;
25
25
  this.validator = validator;
26
26
  this.mongoose_schema = schema_from_zod(validator);
27
- this.mongoose_model = mongoose_from_zod(collection_name, validator);
27
+ this.mongoose_model = mongoose_from_zod(collection_name, validator, database);
28
28
  this.query_validator_server = query_validator_from_zod(validator, 'server');
29
29
  this.query_validator_client = query_validator_from_zod(validator, 'client');
30
30
  if (!Object.hasOwn(this.validator._zod.def.shape, '_id')) {
@@ -1 +1 @@
1
- {"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"F_Collection.js","sourceRoot":"","sources":["../src/F_Collection.ts"],"names":[],"mappings":"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"}
package/dist/F_Compile.js CHANGED
@@ -2,6 +2,7 @@ import * as z from "zod/v4";
2
2
  import { isValidObjectId } from "mongoose";
3
3
  import { F_Security_Model } from "./F_Security_Models/F_Security_Model.js";
4
4
  import { convert_null, query_object_to_mongodb_limits, query_object_to_mongodb_query } from "./utils/query_object_to_mongodb_query.js";
5
+ import { detect_malicious_keys } from "./utils/malicious_keys.js";
5
6
  export function compile(app, collection, api_prefix, collection_registry) {
6
7
  for (let access_layers of collection.access_layers) {
7
8
  for (let layer of access_layers.layers) {
@@ -181,6 +182,14 @@ export function compile(app, collection, api_prefix, collection_registry) {
181
182
  return;
182
183
  }
183
184
  }
185
+ try {
186
+ detect_malicious_keys(validated_request_body);
187
+ }
188
+ catch (err) {
189
+ res.status(403);
190
+ res.json({ error: `Found an unacceptable JSON key in the request body.` });
191
+ return;
192
+ }
184
193
  for (let layer of access_layers.layers) {
185
194
  if (validated_request_body[`${layer}_id`] && validated_request_body[`${layer}_id`] !== req.params[layer]) {
186
195
  res.status(403);
@@ -257,6 +266,14 @@ export function compile(app, collection, api_prefix, collection_registry) {
257
266
  return;
258
267
  }
259
268
  }
269
+ try {
270
+ detect_malicious_keys(validated_request_body);
271
+ }
272
+ catch (err) {
273
+ res.status(403);
274
+ res.json({ error: `Found an unacceptable JSON key in the request body.` });
275
+ return;
276
+ }
260
277
  for (let layer of access_layers.layers) {
261
278
  if (validated_request_body[`${layer}_id`] && validated_request_body[`${layer}_id`] !== req.params[layer]) {
262
279
  res.status(403);
@@ -1 +1 @@
1
- {"version":3,"file":"F_Compile.js","sourceRoot":"","sources":["../src/F_Compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"F_Compile.js","sourceRoot":"","sources":["../src/F_Compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function detect_malicious_keys(input: any): any;
@@ -0,0 +1,14 @@
1
+ export function detect_malicious_keys(input) {
2
+ if (Array.isArray(input)) {
3
+ input.map(detect_malicious_keys);
4
+ }
5
+ if (typeof input === 'object' && input !== null) {
6
+ for (let [key, value] of Object.entries(input)) {
7
+ if (key.trim().startsWith('$')) {
8
+ throw new Error(`Invalid key detected: ${key}`);
9
+ }
10
+ detect_malicious_keys(value);
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=malicious_keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malicious_keys.js","sourceRoot":"","sources":["../../src/utils/malicious_keys.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC5C,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAC,CAAC;QAC5C,KAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;YAC3C,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;YAAA,CAAC;YACjF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function detect_malicious_keys(input: any): any;
@@ -0,0 +1,14 @@
1
+ export function detect_malicious_keys(input) {
2
+ if (Array.isArray(input)) {
3
+ input.map(detect_malicious_keys);
4
+ }
5
+ if (typeof input === 'object' && input !== null) {
6
+ for (let [key, value] of Object.entries(input)) {
7
+ if (key.trim().startsWith('$')) {
8
+ throw new Error(`Invalid key detected: ${key}`);
9
+ }
10
+ detect_malicious_keys(value);
11
+ }
12
+ }
13
+ }
14
+ //# sourceMappingURL=mongoose_any_paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongoose_any_paths.js","sourceRoot":"","sources":["../../src/utils/mongoose_any_paths.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAU;IAC5C,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAC,CAAC;QAC5C,KAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC;YAC3C,IAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;YAAA,CAAC;YACjF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -4,7 +4,7 @@ import { validator_group } from './zod_loop_seperator.js';
4
4
  export declare const z_mongodb_id: z.ZodCustom<string, string>;
5
5
  export declare const z_mongodb_id_optional: z.ZodCustom<string, string>;
6
6
  export declare const z_mongodb_id_nullable: z.ZodCustom<string, string>;
7
- export declare function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType): mongoose.Model<T, {}, {}, {}, mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}, {}> & (mongoose.Require_id<T> extends infer T_1 ? T_1 extends mongoose.Require_id<T> ? T_1 extends {
7
+ export declare function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType, database?: typeof mongoose): mongoose.Model<T, {}, {}, {}, mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}, {}> & (mongoose.Require_id<T> extends infer T_1 ? T_1 extends mongoose.Require_id<T> ? T_1 extends {
8
8
  __v?: infer U;
9
9
  } ? T_1 : T_1 & {
10
10
  __v: number;
@@ -47,9 +47,9 @@ export const z_mongodb_id_nullable = z.custom((val) => {
47
47
  "type": "string",
48
48
  "format": "string",
49
49
  }).meta({ framework_override_type: 'mongodb_id', nullable: true });
50
- export function mongoose_from_zod(schema_name, zod_definition) {
50
+ export function mongoose_from_zod(schema_name, zod_definition, database = mongoose) {
51
51
  let mongoose_schema = schema_from_zod(zod_definition);
52
- return mongoose.model(schema_name, new Schema(mongoose_schema, { typeKey: 'mongoose_type' }));
52
+ return database.model(schema_name, new Schema(mongoose_schema, { typeKey: 'mongoose_type' }));
53
53
  }
54
54
  export function schema_from_zod(zod_definition) {
55
55
  let loops = find_loops(zod_definition);
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liminalfunctions/framework",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "main": "./dist/index.js",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -37,12 +37,12 @@ export class F_Collection<Collection_ID extends string, ZodSchema extends z.ZodO
37
37
  post_update_hooks: ((created_document: z.output<ZodSchema>) => Promise<void>)[];
38
38
  post_delete_hooks: ((deleted_document: z.output<ZodSchema>) => Promise<void>)[];
39
39
 
40
- constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema){
40
+ constructor(collection_name: Collection_ID, collection_name_plural: string, validator: ZodSchema, database: typeof mongoose = mongoose){
41
41
  this.collection_id = collection_name;
42
42
  this.collection_name_plural = collection_name_plural;
43
43
  this.validator = validator;
44
44
  this.mongoose_schema = schema_from_zod(validator);
45
- this.mongoose_model = mongoose_from_zod(collection_name, validator);
45
+ this.mongoose_model = mongoose_from_zod(collection_name, validator, database);
46
46
  // TODO: validate that the model doesn't use any fields that have special meaning in the query validator; for example: [param]_gt, [param]_in, sort,
47
47
  //@ts-ignore
48
48
  this.query_validator_server = query_validator_from_zod(validator, 'server');
package/src/F_Compile.ts CHANGED
@@ -7,6 +7,7 @@ import { F_Security_Model, Authenticated_Request } from "./F_Security_Models/F_S
7
7
  import { convert_null, query_object_to_mongodb_limits, query_object_to_mongodb_query } from "./utils/query_object_to_mongodb_query.js";
8
8
  import { z_mongodb_id } from "./utils/mongoose_from_zod.js";
9
9
  import { F_Collection_Registry } from "./F_Collection_Registry.js";
10
+ import { detect_malicious_keys } from "./utils/malicious_keys.js";
10
11
 
11
12
  /*process.on('unhandledRejection', (reason, promise) => {
12
13
  console.log(`CAUGHT UNHANDLED REJECTION`)
@@ -236,6 +237,14 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
236
237
  }
237
238
  }
238
239
 
240
+ try {
241
+ detect_malicious_keys(validated_request_body);
242
+ } catch(err){
243
+ res.status(403);
244
+ res.json({ error: `Found an unacceptable JSON key in the request body.` });
245
+ return;
246
+ }
247
+
239
248
  // if you're accessing the document from /x/:x/y/:y, then you can't change x or y. Note that this does mean if you can access
240
249
  // the document from /x/:x, then you'd be able to change y.
241
250
  for(let layer of access_layers.layers){
@@ -331,6 +340,14 @@ export function compile<Collection_ID extends string, ZodSchema extends z.ZodObj
331
340
  }
332
341
  }
333
342
 
343
+ try {
344
+ detect_malicious_keys(validated_request_body);
345
+ } catch(err){
346
+ res.status(403);
347
+ res.json({ error: `Found an unacceptable JSON key in the request body.` });
348
+ return;
349
+ }
350
+
334
351
  // if you're accessing the document from /x/:x/y/:y, then you can't change x or y. Note that this does mean if you can access
335
352
  // the document from /x/:x, then you'd be able to change y.
336
353
  for(let layer of access_layers.layers){
@@ -3,19 +3,6 @@ import mongoose, { Schema } from "mongoose";
3
3
  import { indent } from "./tab_indent.js";
4
4
  import { find_loops, validator_group } from '../../utils/zod_loop_seperator.js'
5
5
 
6
-
7
- /*export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
8
- let mongoose_schema = schema_from_zod(zod_definition);
9
- return mongoose.model<T>(schema_name, mongoose_schema);
10
- }*/
11
-
12
- /*export function schema_from_zod(zod_definition: z.core.$ZodType): any {
13
- let mongoose_schema = schema_entry_from_zod(zod_definition as z.ZodType);
14
- delete mongoose_schema.type.required;
15
- delete mongoose_schema.type._id;
16
- return mongoose_schema.type;
17
- }*/
18
-
19
6
  export function type_from_zod(zod_definition: z.ZodType){
20
7
  let loops = find_loops(zod_definition as z.ZodType);
21
8
  let results = parse_zod(zod_definition, 0, loops);
@@ -0,0 +1,12 @@
1
+ export function detect_malicious_keys(input: any): any {
2
+ if(Array.isArray(input)){
3
+ input.map(detect_malicious_keys);
4
+ }
5
+
6
+ if(typeof input === 'object' && input !== null){
7
+ for(let [key, value] of Object.entries(input)){
8
+ if(key.trim().startsWith('$')) { throw new Error(`Invalid key detected: ${key}`)}
9
+ detect_malicious_keys(value);
10
+ }
11
+ }
12
+ }
@@ -49,9 +49,9 @@ export const z_mongodb_id_nullable = z.custom<string>((val) => {
49
49
  "format": "string",
50
50
  }).meta({framework_override_type: 'mongodb_id', nullable: true});
51
51
 
52
- export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
52
+ export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType, database: typeof mongoose = mongoose) {
53
53
  let mongoose_schema = schema_from_zod(zod_definition);
54
- return mongoose.model<T>(schema_name, new Schema(mongoose_schema, {typeKey: 'mongoose_type'}));
54
+ return database.model<T>(schema_name, new Schema(mongoose_schema, {typeKey: 'mongoose_type', minimize: false}));
55
55
  }
56
56
 
57
57
  export function schema_from_zod(zod_definition: z.core.$ZodType): any {
@@ -120,7 +120,7 @@ describe('Cache', function () {
120
120
  const key = 'best_animal'
121
121
  const value = { 'test': 'flamingo' }
122
122
 
123
- assert.rejects(async() => {
123
+ await assert.rejects(async() => {
124
124
  await cache.first_get_then_fetch(key, async () => { throw new Error('bad data here bro') })
125
125
  }, {message: 'bad data here bro'})
126
126
  });
@@ -0,0 +1,58 @@
1
+ import assert from "assert";
2
+ import { z, ZodBoolean, ZodDate, ZodNumber, ZodString } from 'zod'
3
+
4
+ import { detect_malicious_keys } from '../dist/utils/mongoose_any_paths.js';
5
+
6
+
7
+ import { Schema } from 'mongoose'
8
+ import { required } from "zod/mini";
9
+
10
+ process.env.DEBUG = 'express:*'
11
+
12
+ describe('malcious key detection', function () {
13
+ it('should pass if there are no malicious keys', function () {
14
+ detect_malicious_keys({})
15
+ });
16
+
17
+ it('should throw if there is a malicious key', function () {
18
+ assert.throws(() => {
19
+ detect_malicious_keys({
20
+ $set: 5
21
+ })
22
+ })
23
+ });
24
+
25
+ it('should throw if there is a malicious key embedded as an array child', function () {
26
+ assert.throws(() => {
27
+ detect_malicious_keys({
28
+ array: [
29
+ {$set: 6}
30
+ ]
31
+ })
32
+ })
33
+ });
34
+
35
+ it('should throw if there is a malicious key embedded as a sub-item', function () {
36
+ assert.throws(() => {
37
+ detect_malicious_keys({
38
+ obj: {$set: 6}
39
+ })
40
+ })
41
+ });
42
+
43
+ it('should throw if there is a malicious key embedded as a sub-item of an array child', function () {
44
+ assert.throws(() => {
45
+ detect_malicious_keys({
46
+ arr: [
47
+ {
48
+ sub: {
49
+ obj: {$set: 6}
50
+ }
51
+ }
52
+ ]
53
+
54
+ })
55
+ })
56
+ });
57
+
58
+ });
@@ -28,6 +28,7 @@ describe('Basic Server', function () {
28
28
  const validate_institution = z.object({
29
29
  _id: z_mongodb_id,
30
30
  name: z.string(),
31
+ meta: z.any().optional()
31
32
  });
32
33
  const validate_client = z.object({
33
34
  _id: z_mongodb_id,
@@ -427,11 +428,36 @@ describe('Basic Server', function () {
427
428
  test_institutions.push(test_institution);
428
429
  }
429
430
 
430
- assert.rejects(async () => {
431
+ await assert.rejects(async () => {
431
432
  return await got.get(`http://localhost:${port}/api/institution?sort=name&cursor=${test_institutions[2]._id}`).json();
432
433
  })
433
434
  });
434
435
 
436
+ it(`should reject GET multiple operations with malicious keys in the query`, async function () {
437
+ let test_institutions = []
438
+ for(let q = 0; q < 5; q++){
439
+ let test_institution = await institution.mongoose_model.create({
440
+ name: ['spandex co',
441
+ 'the ordinary institute',
442
+ 'saliva branding collective',
443
+ 'united league of billionare communitsts',
444
+ 'geriatric co',
445
+ 'jousing club of omaha, nebraska',
446
+ 'dental hygenist paratrooper union',
447
+ 'martha stewart\'s cannibal fan club',
448
+ 'wrecking ball operator crochet club',
449
+ 'accidental co'
450
+ ][q]
451
+ });
452
+ //@ts-ignore
453
+ test_institutions.push(test_institution);
454
+ }
455
+
456
+ await assert.rejects(async () => {
457
+ let results = await got.get(`http://localhost:${port}/api/institution?$where=5`);
458
+ })
459
+ });
460
+
435
461
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
436
462
  ///////////////////////////////////////////////////////////// PUT ////////////////////////////////////////////////////////////////////////////////////
437
463
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -524,7 +550,7 @@ describe('Basic Server', function () {
524
550
  name: `Spandex Reincarnation`
525
551
  })
526
552
 
527
- assert.rejects(async () => {
553
+ await assert.rejects(async () => {
528
554
  let results = await got.put(`http://localhost:${port}/api/institution/${test_institution._id}/client/${test_client._id}/project/${test_project._id}`, {
529
555
  json: {
530
556
  name: `Leather Pants Transubstantiation`,
@@ -533,7 +559,26 @@ describe('Basic Server', function () {
533
559
  },
534
560
  }).json();
535
561
  }, {
536
- message: 'HTTPError: Response code 403 (Forbidden)'
562
+ message: 'Response code 403 (Forbidden)'
563
+ });
564
+ });
565
+
566
+ it(`should reject a PUT operation with a malicious key in the body`, async function () {
567
+ let test_institution = await institution.mongoose_model.create({
568
+ name: 'Spandex Co'
569
+ });
570
+
571
+ await assert.rejects(async () => {
572
+ let results = await got.put(`http://localhost:${port}/api/institution/${test_institution._id}`, {
573
+ json: {
574
+ name: 'Leather Pants Co',
575
+ meta: {
576
+ $sum: { test: true}
577
+ }
578
+ },
579
+ }).json();
580
+ }, {
581
+ message: 'Response code 403 (Forbidden)'
537
582
  });
538
583
  });
539
584
 
@@ -607,7 +652,7 @@ describe('Basic Server', function () {
607
652
  name: `Anna's Latex Emporium`
608
653
  })
609
654
 
610
- assert.rejects(async () => {
655
+ await assert.rejects(async () => {
611
656
  let results = await got.post(`http://localhost:${port}/api/institution/${test_institution._id}/client/${test_client._id}/project`, {
612
657
  json: {
613
658
  name: `Leather Pants Transubstantiation`,
@@ -616,9 +661,25 @@ describe('Basic Server', function () {
616
661
  },
617
662
  }).json();
618
663
  }, {
619
- message: 'HTTPError: Response code 403 (Forbidden)'
664
+ message: 'Response code 403 (Forbidden)'
665
+ });
666
+ });
667
+
668
+ it(`should reject a POST operation with malicious keys in the body`, async function () {
669
+ await assert.rejects(async () => {
670
+ let results = await got.post(`http://localhost:${port}/api/institution`, {
671
+ json: {
672
+ name: 'Leather Pants Co',
673
+ meta: {
674
+ $sum: {test: true}
675
+ }
676
+ },
677
+ }).json();
678
+ }, {
679
+ message: 'Response code 403 (Forbidden)'
620
680
  });
621
681
  });
682
+
622
683
 
623
684
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
624
685
  ///////////////////////////////////////////////////////////// DELETE /////////////////////////////////////////////////////////////////////////////////
@@ -131,14 +131,14 @@ describe('Security Model Ownership', function () {
131
131
  auth_id: 'sharon'
132
132
  });
133
133
 
134
- assert.rejects(async () => {
134
+ await assert.rejects(async () => {
135
135
  let results = await got.get(`http://localhost:${port}/api/user_display/${user_display.id}`, {
136
136
  headers: {
137
137
  authorization: 'sharon'
138
138
  }
139
139
  }).json();
140
140
  }, {
141
- message: 'HTTPError: Response code 403 (Forbidden)'
141
+ message: 'Response code 403 (Forbidden)'
142
142
  })
143
143
  });
144
144
 
@@ -190,14 +190,14 @@ describe('Security Model Ownership', function () {
190
190
  }
191
191
 
192
192
  //@ts-ignore
193
- assert.rejects(async () => {
193
+ await assert.rejects(async () => {
194
194
  let results = await got.get(`http://localhost:${port}/api/user_display?user_id=${user._id}`, {
195
195
  headers: {
196
196
  authorization: 'sharon'
197
197
  }
198
198
  }).json();
199
199
  }, {
200
- message: 'HTTPError: Response code 403 (Forbidden)'
200
+ message: 'Response code 403 (Forbidden)'
201
201
  })
202
202
  });
203
203
 
@@ -232,7 +232,7 @@ describe('Security Model Ownership', function () {
232
232
  auth_id: 'sharon'
233
233
  });
234
234
 
235
- assert.rejects(async () => {
235
+ await assert.rejects(async () => {
236
236
  let results = await got.put(`http://localhost:${port}/api/user_display/${user_display.id}`, {
237
237
  headers: {
238
238
  authorization: 'sharon'
@@ -242,7 +242,7 @@ describe('Security Model Ownership', function () {
242
242
  }
243
243
  }).json();
244
244
  }, {
245
- message: 'HTTPError: Response code 403 (Forbidden)'
245
+ message: 'Response code 403 (Forbidden)'
246
246
  })
247
247
  });
248
248
 
@@ -276,7 +276,7 @@ describe('Security Model Ownership', function () {
276
276
  auth_id: 'sharon'
277
277
  });
278
278
 
279
- assert.rejects(async () => {
279
+ await assert.rejects(async () => {
280
280
  let results = await got.post(`http://localhost:${port}/api/user_display`, {
281
281
  headers: {
282
282
  authorization: 'sharon'
@@ -288,7 +288,7 @@ describe('Security Model Ownership', function () {
288
288
  }
289
289
  }).json();
290
290
  }, {
291
- message: 'HTTPError: Response code 403 (Forbidden)'
291
+ message: 'Response code 403 (Forbidden)'
292
292
  })
293
293
  });
294
294
 
@@ -320,14 +320,14 @@ describe('Security Model Ownership', function () {
320
320
  auth_id: 'sharon'
321
321
  });
322
322
 
323
- assert.rejects(async () => {
323
+ await assert.rejects(async () => {
324
324
  let results = await got.delete(`http://localhost:${port}/api/user_display/${user_display.id}`, {
325
325
  headers: {
326
326
  authorization: 'sharon'
327
327
  }
328
328
  }).json();
329
329
  }, {
330
- message: 'HTTPError: Response code 403 (Forbidden)'
330
+ message: 'Response code 403 (Forbidden)'
331
331
  })
332
332
  });
333
333
  });
@@ -410,7 +410,7 @@ describe.skip('Security Model Role Membership', function () {
410
410
  it(`should reject a basic GET operation on a document where the user has a role membership without permission`, async function () {
411
411
  let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
412
412
 
413
- assert.rejects(async () => {
413
+ await assert.rejects(async () => {
414
414
  let results = await got.get(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
415
415
  headers: {
416
416
  authorization: 'steve'
@@ -423,7 +423,7 @@ describe.skip('Security Model Role Membership', function () {
423
423
  it(`should reject a basic GET operation on a document where the user has no role membership`, async function () {
424
424
  let { steve_institution, steve_client, steve_project } = await generate_test_setup();
425
425
 
426
- assert.rejects(async () => {
426
+ await assert.rejects(async () => {
427
427
  let results = await got.get(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
428
428
  headers: {
429
429
  authorization: 'edwin'
@@ -508,7 +508,7 @@ describe.skip('Security Model Role Membership', function () {
508
508
  }))
509
509
  }
510
510
 
511
- assert.rejects(async () => {
511
+ await assert.rejects(async () => {
512
512
  let results = await got.get(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project`, {
513
513
  headers: {
514
514
  authorization: 'steve'
@@ -530,7 +530,7 @@ describe.skip('Security Model Role Membership', function () {
530
530
  }))
531
531
  }
532
532
 
533
- assert.rejects(async () => {
533
+ await assert.rejects(async () => {
534
534
  let results = await got.get(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project`, {
535
535
  headers: {
536
536
  authorization: 'edwin'
@@ -587,7 +587,7 @@ describe.skip('Security Model Role Membership', function () {
587
587
  it(`should reject a basic PUT operation on a document where the user has a role membership without permission`, async function () {
588
588
  let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
589
589
 
590
- assert.rejects(async () => {
590
+ await assert.rejects(async () => {
591
591
  let results = await got.put(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
592
592
  headers: {
593
593
  authorization: 'steve'
@@ -603,7 +603,7 @@ describe.skip('Security Model Role Membership', function () {
603
603
  it(`should reject a basic PUT operation on a document where the user has no role membership`, async function () {
604
604
  let { steve_institution, steve_client, steve_project } = await generate_test_setup();
605
605
 
606
- assert.rejects(async () => {
606
+ await assert.rejects(async () => {
607
607
  let results = await got.put(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
608
608
  headers: {
609
609
  authorization: 'edwin'
@@ -659,7 +659,7 @@ describe.skip('Security Model Role Membership', function () {
659
659
  it(`should reject a basic POST operation on a document where the user has a role membership without permission`, async function () {
660
660
  let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
661
661
 
662
- assert.rejects(async () => {
662
+ await assert.rejects(async () => {
663
663
  let results = await got.post(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project`, {
664
664
  headers: {
665
665
  authorization: 'steve'
@@ -677,7 +677,7 @@ describe.skip('Security Model Role Membership', function () {
677
677
  it(`should reject a basic POST operation on a document where the user has no role membership`, async function () {
678
678
  let { steve_institution, steve_client, steve_project } = await generate_test_setup();
679
679
 
680
- assert.rejects(async () => {
680
+ await assert.rejects(async () => {
681
681
  let results = await got.post(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project`, {
682
682
  headers: {
683
683
  authorization: 'edwin'
@@ -730,7 +730,7 @@ describe.skip('Security Model Role Membership', function () {
730
730
  it(`should reject a basic DELETE operation on a document where the user has a role membership without permission`, async function () {
731
731
  let { edwin_institution, edna_client, edna_project } = await generate_test_setup();
732
732
 
733
- assert.rejects(async () => {
733
+ await assert.rejects(async () => {
734
734
  let results = await got.delete(`http://localhost:${port}/api/institution/${edwin_institution._id}/client/${edna_client._id}/project/${edna_project._id}`, {
735
735
  headers: {
736
736
  authorization: 'steve'
@@ -743,7 +743,7 @@ describe.skip('Security Model Role Membership', function () {
743
743
  it(`should reject a basic DELETE operation on a document where the user has no role membership`, async function () {
744
744
  let { steve_institution, steve_client, steve_project } = await generate_test_setup();
745
745
 
746
- assert.rejects(async () => {
746
+ await assert.rejects(async () => {
747
747
  let results = await got.delete(`http://localhost:${port}/api/institution/${steve_institution._id}/client/${steve_client._id}/project/${steve_project._id}`, {
748
748
  headers: {
749
749
  authorization: 'edwin'
@@ -16,9 +16,9 @@
16
16
  }
17
17
  },
18
18
  "node_modules/@esbuild/aix-ppc64": {
19
- "version": "0.25.11",
20
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz",
21
- "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==",
19
+ "version": "0.25.12",
20
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
21
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
22
22
  "cpu": [
23
23
  "ppc64"
24
24
  ],
@@ -33,9 +33,9 @@
33
33
  }
34
34
  },
35
35
  "node_modules/@esbuild/android-arm": {
36
- "version": "0.25.11",
37
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz",
38
- "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==",
36
+ "version": "0.25.12",
37
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
38
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
39
39
  "cpu": [
40
40
  "arm"
41
41
  ],
@@ -50,9 +50,9 @@
50
50
  }
51
51
  },
52
52
  "node_modules/@esbuild/android-arm64": {
53
- "version": "0.25.11",
54
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz",
55
- "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==",
53
+ "version": "0.25.12",
54
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
55
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
56
56
  "cpu": [
57
57
  "arm64"
58
58
  ],
@@ -67,9 +67,9 @@
67
67
  }
68
68
  },
69
69
  "node_modules/@esbuild/android-x64": {
70
- "version": "0.25.11",
71
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz",
72
- "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==",
70
+ "version": "0.25.12",
71
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
72
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
73
73
  "cpu": [
74
74
  "x64"
75
75
  ],
@@ -84,9 +84,9 @@
84
84
  }
85
85
  },
86
86
  "node_modules/@esbuild/darwin-arm64": {
87
- "version": "0.25.11",
88
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz",
89
- "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==",
87
+ "version": "0.25.12",
88
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
89
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
90
90
  "cpu": [
91
91
  "arm64"
92
92
  ],
@@ -101,9 +101,9 @@
101
101
  }
102
102
  },
103
103
  "node_modules/@esbuild/darwin-x64": {
104
- "version": "0.25.11",
105
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz",
106
- "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==",
104
+ "version": "0.25.12",
105
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
106
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
107
107
  "cpu": [
108
108
  "x64"
109
109
  ],
@@ -118,9 +118,9 @@
118
118
  }
119
119
  },
120
120
  "node_modules/@esbuild/freebsd-arm64": {
121
- "version": "0.25.11",
122
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz",
123
- "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==",
121
+ "version": "0.25.12",
122
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
123
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
124
124
  "cpu": [
125
125
  "arm64"
126
126
  ],
@@ -135,9 +135,9 @@
135
135
  }
136
136
  },
137
137
  "node_modules/@esbuild/freebsd-x64": {
138
- "version": "0.25.11",
139
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz",
140
- "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==",
138
+ "version": "0.25.12",
139
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
140
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
141
141
  "cpu": [
142
142
  "x64"
143
143
  ],
@@ -152,9 +152,9 @@
152
152
  }
153
153
  },
154
154
  "node_modules/@esbuild/linux-arm": {
155
- "version": "0.25.11",
156
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz",
157
- "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==",
155
+ "version": "0.25.12",
156
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
157
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
158
158
  "cpu": [
159
159
  "arm"
160
160
  ],
@@ -169,9 +169,9 @@
169
169
  }
170
170
  },
171
171
  "node_modules/@esbuild/linux-arm64": {
172
- "version": "0.25.11",
173
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz",
174
- "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==",
172
+ "version": "0.25.12",
173
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
174
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
175
175
  "cpu": [
176
176
  "arm64"
177
177
  ],
@@ -186,9 +186,9 @@
186
186
  }
187
187
  },
188
188
  "node_modules/@esbuild/linux-ia32": {
189
- "version": "0.25.11",
190
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz",
191
- "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==",
189
+ "version": "0.25.12",
190
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
191
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
192
192
  "cpu": [
193
193
  "ia32"
194
194
  ],
@@ -203,9 +203,9 @@
203
203
  }
204
204
  },
205
205
  "node_modules/@esbuild/linux-loong64": {
206
- "version": "0.25.11",
207
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz",
208
- "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==",
206
+ "version": "0.25.12",
207
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
208
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
209
209
  "cpu": [
210
210
  "loong64"
211
211
  ],
@@ -220,9 +220,9 @@
220
220
  }
221
221
  },
222
222
  "node_modules/@esbuild/linux-mips64el": {
223
- "version": "0.25.11",
224
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz",
225
- "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==",
223
+ "version": "0.25.12",
224
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
225
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
226
226
  "cpu": [
227
227
  "mips64el"
228
228
  ],
@@ -237,9 +237,9 @@
237
237
  }
238
238
  },
239
239
  "node_modules/@esbuild/linux-ppc64": {
240
- "version": "0.25.11",
241
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz",
242
- "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==",
240
+ "version": "0.25.12",
241
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
242
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
243
243
  "cpu": [
244
244
  "ppc64"
245
245
  ],
@@ -254,9 +254,9 @@
254
254
  }
255
255
  },
256
256
  "node_modules/@esbuild/linux-riscv64": {
257
- "version": "0.25.11",
258
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz",
259
- "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==",
257
+ "version": "0.25.12",
258
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
259
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
260
260
  "cpu": [
261
261
  "riscv64"
262
262
  ],
@@ -271,9 +271,9 @@
271
271
  }
272
272
  },
273
273
  "node_modules/@esbuild/linux-s390x": {
274
- "version": "0.25.11",
275
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz",
276
- "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==",
274
+ "version": "0.25.12",
275
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
276
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
277
277
  "cpu": [
278
278
  "s390x"
279
279
  ],
@@ -288,9 +288,9 @@
288
288
  }
289
289
  },
290
290
  "node_modules/@esbuild/linux-x64": {
291
- "version": "0.25.11",
292
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz",
293
- "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==",
291
+ "version": "0.25.12",
292
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
293
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
294
294
  "cpu": [
295
295
  "x64"
296
296
  ],
@@ -305,9 +305,9 @@
305
305
  }
306
306
  },
307
307
  "node_modules/@esbuild/netbsd-arm64": {
308
- "version": "0.25.11",
309
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz",
310
- "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==",
308
+ "version": "0.25.12",
309
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
310
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
311
311
  "cpu": [
312
312
  "arm64"
313
313
  ],
@@ -322,9 +322,9 @@
322
322
  }
323
323
  },
324
324
  "node_modules/@esbuild/netbsd-x64": {
325
- "version": "0.25.11",
326
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz",
327
- "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==",
325
+ "version": "0.25.12",
326
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
327
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
328
328
  "cpu": [
329
329
  "x64"
330
330
  ],
@@ -339,9 +339,9 @@
339
339
  }
340
340
  },
341
341
  "node_modules/@esbuild/openbsd-arm64": {
342
- "version": "0.25.11",
343
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz",
344
- "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==",
342
+ "version": "0.25.12",
343
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
344
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
345
345
  "cpu": [
346
346
  "arm64"
347
347
  ],
@@ -356,9 +356,9 @@
356
356
  }
357
357
  },
358
358
  "node_modules/@esbuild/openbsd-x64": {
359
- "version": "0.25.11",
360
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz",
361
- "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==",
359
+ "version": "0.25.12",
360
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
361
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
362
362
  "cpu": [
363
363
  "x64"
364
364
  ],
@@ -373,9 +373,9 @@
373
373
  }
374
374
  },
375
375
  "node_modules/@esbuild/openharmony-arm64": {
376
- "version": "0.25.11",
377
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz",
378
- "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==",
376
+ "version": "0.25.12",
377
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
378
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
379
379
  "cpu": [
380
380
  "arm64"
381
381
  ],
@@ -390,9 +390,9 @@
390
390
  }
391
391
  },
392
392
  "node_modules/@esbuild/sunos-x64": {
393
- "version": "0.25.11",
394
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz",
395
- "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==",
393
+ "version": "0.25.12",
394
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
395
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
396
396
  "cpu": [
397
397
  "x64"
398
398
  ],
@@ -407,9 +407,9 @@
407
407
  }
408
408
  },
409
409
  "node_modules/@esbuild/win32-arm64": {
410
- "version": "0.25.11",
411
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz",
412
- "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==",
410
+ "version": "0.25.12",
411
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
412
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
413
413
  "cpu": [
414
414
  "arm64"
415
415
  ],
@@ -424,9 +424,9 @@
424
424
  }
425
425
  },
426
426
  "node_modules/@esbuild/win32-ia32": {
427
- "version": "0.25.11",
428
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz",
429
- "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==",
427
+ "version": "0.25.12",
428
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
429
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
430
430
  "cpu": [
431
431
  "ia32"
432
432
  ],
@@ -441,9 +441,9 @@
441
441
  }
442
442
  },
443
443
  "node_modules/@esbuild/win32-x64": {
444
- "version": "0.25.11",
445
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz",
446
- "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==",
444
+ "version": "0.25.12",
445
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
446
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
447
447
  "cpu": [
448
448
  "x64"
449
449
  ],
@@ -458,9 +458,9 @@
458
458
  }
459
459
  },
460
460
  "node_modules/esbuild": {
461
- "version": "0.25.11",
462
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz",
463
- "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==",
461
+ "version": "0.25.12",
462
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
463
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
464
464
  "dev": true,
465
465
  "hasInstallScript": true,
466
466
  "license": "MIT",
@@ -471,32 +471,32 @@
471
471
  "node": ">=18"
472
472
  },
473
473
  "optionalDependencies": {
474
- "@esbuild/aix-ppc64": "0.25.11",
475
- "@esbuild/android-arm": "0.25.11",
476
- "@esbuild/android-arm64": "0.25.11",
477
- "@esbuild/android-x64": "0.25.11",
478
- "@esbuild/darwin-arm64": "0.25.11",
479
- "@esbuild/darwin-x64": "0.25.11",
480
- "@esbuild/freebsd-arm64": "0.25.11",
481
- "@esbuild/freebsd-x64": "0.25.11",
482
- "@esbuild/linux-arm": "0.25.11",
483
- "@esbuild/linux-arm64": "0.25.11",
484
- "@esbuild/linux-ia32": "0.25.11",
485
- "@esbuild/linux-loong64": "0.25.11",
486
- "@esbuild/linux-mips64el": "0.25.11",
487
- "@esbuild/linux-ppc64": "0.25.11",
488
- "@esbuild/linux-riscv64": "0.25.11",
489
- "@esbuild/linux-s390x": "0.25.11",
490
- "@esbuild/linux-x64": "0.25.11",
491
- "@esbuild/netbsd-arm64": "0.25.11",
492
- "@esbuild/netbsd-x64": "0.25.11",
493
- "@esbuild/openbsd-arm64": "0.25.11",
494
- "@esbuild/openbsd-x64": "0.25.11",
495
- "@esbuild/openharmony-arm64": "0.25.11",
496
- "@esbuild/sunos-x64": "0.25.11",
497
- "@esbuild/win32-arm64": "0.25.11",
498
- "@esbuild/win32-ia32": "0.25.11",
499
- "@esbuild/win32-x64": "0.25.11"
474
+ "@esbuild/aix-ppc64": "0.25.12",
475
+ "@esbuild/android-arm": "0.25.12",
476
+ "@esbuild/android-arm64": "0.25.12",
477
+ "@esbuild/android-x64": "0.25.12",
478
+ "@esbuild/darwin-arm64": "0.25.12",
479
+ "@esbuild/darwin-x64": "0.25.12",
480
+ "@esbuild/freebsd-arm64": "0.25.12",
481
+ "@esbuild/freebsd-x64": "0.25.12",
482
+ "@esbuild/linux-arm": "0.25.12",
483
+ "@esbuild/linux-arm64": "0.25.12",
484
+ "@esbuild/linux-ia32": "0.25.12",
485
+ "@esbuild/linux-loong64": "0.25.12",
486
+ "@esbuild/linux-mips64el": "0.25.12",
487
+ "@esbuild/linux-ppc64": "0.25.12",
488
+ "@esbuild/linux-riscv64": "0.25.12",
489
+ "@esbuild/linux-s390x": "0.25.12",
490
+ "@esbuild/linux-x64": "0.25.12",
491
+ "@esbuild/netbsd-arm64": "0.25.12",
492
+ "@esbuild/netbsd-x64": "0.25.12",
493
+ "@esbuild/openbsd-arm64": "0.25.12",
494
+ "@esbuild/openbsd-x64": "0.25.12",
495
+ "@esbuild/openharmony-arm64": "0.25.12",
496
+ "@esbuild/sunos-x64": "0.25.12",
497
+ "@esbuild/win32-arm64": "0.25.12",
498
+ "@esbuild/win32-ia32": "0.25.12",
499
+ "@esbuild/win32-x64": "0.25.12"
500
500
  }
501
501
  },
502
502
  "node_modules/fsevents": {
@@ -528,9 +528,9 @@
528
528
  }
529
529
  },
530
530
  "node_modules/ky": {
531
- "version": "1.13.0",
532
- "resolved": "https://registry.npmjs.org/ky/-/ky-1.13.0.tgz",
533
- "integrity": "sha512-JeNNGs44hVUp2XxO3FY9WV28ymG7LgO4wju4HL/dCq1A8eKDcFgVrdCn1ssn+3Q/5OQilv5aYsL0DMt5mmAV9w==",
531
+ "version": "1.14.0",
532
+ "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.0.tgz",
533
+ "integrity": "sha512-Rczb6FMM6JT0lvrOlP5WUOCB7s9XKxzwgErzhKlKde1bEV90FXplV1o87fpt4PU/asJFiqjYJxAJyzJhcrxOsQ==",
534
534
  "license": "MIT",
535
535
  "engines": {
536
536
  "node": ">=18"