@codyswann/lisa 1.31.0 → 1.32.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.
@@ -10,6 +10,21 @@ The following files are managed by Lisa and will be overwritten on every `lisa`
10
10
  | `jest.config.ts` | `jest.config.local.ts` |
11
11
  | `tsconfig.json` | `tsconfig.local.json` |
12
12
  | `eslint.ignore.config.json` | `eslint.config.local.ts` |
13
+
14
+ ## Create-only files (edit freely, Lisa won't overwrite)
15
+
16
+ - `.claude/rules/PROJECT_RULES.md`
17
+ - `eslint.thresholds.json`
18
+ - `jest.thresholds.json`
19
+
20
+ ## Directories with both Lisa-managed and project content
21
+
22
+ These directories contain files deployed by Lisa **and** files you create. Do not edit or delete Lisa-managed files — they will be overwritten. You **can** freely add your own. Check `.lisa-manifest` to see which specific files Lisa manages.
23
+
24
+ - `.claude/skills/` — Add your own skill directories alongside Lisa's
25
+ - `.claude/commands/` — Add your own command namespaces alongside Lisa's
26
+ - `.claude/hooks/` — Add your own hook scripts alongside Lisa's
27
+ - `.claude/agents/` — Add your own agent files alongside Lisa's
13
28
  | `eslint.thresholds.json` | Edit directly (create-only, Lisa won't overwrite) |
14
29
  | `jest.thresholds.json` | Edit directly (create-only, Lisa won't overwrite) |
15
30
  | `.claude/rules/coding-philosophy.md` | `.claude/rules/PROJECT_RULES.md` |
@@ -19,6 +34,7 @@ The following files are managed by Lisa and will be overwritten on every `lisa`
19
34
 
20
35
  ## Files and directories with NO local override (do not edit at all)
21
36
 
37
+ - `.claude/rules/coding-philosophy.md`, `.claude/rules/plan.md`, `.claude/rules/verfication.md`
22
38
  - `CLAUDE.md`, `HUMAN.md`, `.safety-net.json`
23
39
  - `.prettierrc.json`, `.prettierignore`, `.lintstagedrc.json`, `.versionrc`, `.nvmrc`
24
40
  - `.yamllint`, `.gitleaksignore`, `commitlint.config.cjs`, `sgconfig.yml`, `knip.json`
@@ -27,7 +43,7 @@ The following files are managed by Lisa and will be overwritten on every `lisa`
27
43
  - `tsconfig.base.json`, `tsconfig.typescript.json`, `tsconfig.expo.json`, `tsconfig.nestjs.json`, `tsconfig.cdk.json`
28
44
  - `tsconfig.eslint.json`, `tsconfig.build.json`, `tsconfig.spec.json`
29
45
  - `eslint-plugin-code-organization/*`, `eslint-plugin-component-structure/*`, `eslint-plugin-ui-standards/*`
30
- - `.claude/settings.json`, `.claude/hooks/*`, `.claude/skills/*` (hyphen-named, e.g. `plan-create`), `.claude/commands/*`, `.claude/agents/*`
46
+ - `.claude/settings.json`
31
47
  - `.claude/README.md`, `.claude/REFERENCE.md`
32
48
  - `.github/workflows/quality.yml`, `.github/workflows/release.yml`, `.github/workflows/claude.yml`
33
49
  - `.github/workflows/build.yml`, `.github/workflows/lighthouse.yml` (Expo)
@@ -185,7 +185,7 @@ Include all required tasks defined in `@.claude/rules/plan-governance.md` (Requi
185
185
 
186
186
  ## Step 10: Implementation Team Instructions
187
187
 
188
- The plan must include instructions to spawn an Agent Team for implementation. Recommend these specialized agents:
188
+ The plan must include explict instructions to "Create an agent team" for implementation. Recommend these specialized agents:
189
189
 
190
190
  | Agent | Use For |
191
191
  |-------|---------|
@@ -9,6 +9,8 @@ Implement the requirements in $ARGUMENTS.
9
9
 
10
10
  If no argument provided, search for plan files in the `plans/` directory and present them to the user for selection.
11
11
 
12
+ Critical: you must create an agent team to implement the plan. Do not try to skip this!
13
+
12
14
  ## Step 1: Parse Plan
13
15
 
14
16
  1. **Read the plan file** specified in `$ARGUMENTS`
@@ -1,32 +1,56 @@
1
1
  /**
2
- * Fibonacci sequence utilities providing safe, validated computation
3
- * within JavaScript's integer precision limits.
4
- *
5
- * Caps at fibonacci(78) / sequence length 79 because fibonacci(79)
6
- * exceeds Number.MAX_SAFE_INTEGER, which would silently corrupt results.
7
- *
2
+ * @file fibonacci.ts
3
+ * @description BigInt Fibonacci utilities using a lazy generator pattern.
4
+ * Uses BigInt instead of Number to eliminate the precision ceiling at
5
+ * fibonacci(78) BigInt supports arbitrarily large integers, so callers
6
+ * can compute fibonacci(1000) or beyond without silent corruption.
7
+ * The generator pattern enables lazy evaluation, letting consumers pull
8
+ * only the values they need without allocating the full sequence upfront.
8
9
  * @module fibonacci
9
10
  */
10
11
  /**
11
- * Compute the nth Fibonacci number (0-indexed).
12
+ * Infinite lazy generator yielding Fibonacci numbers as BigInt.
12
13
  *
13
- * Uses an iterative tuple-reduce approach to avoid stack overflow
14
- * and keep computation O(n) time, O(1) space.
14
+ * @returns Generator that yields successive Fibonacci numbers (0n, 1n, 1n, 2n, 3n, ...)
15
+ * @remarks The generator never terminates do not spread or collect without a length limit.
16
+ * Each call creates an independent generator instance — safe for concurrent iteration.
17
+ * @example
18
+ * ```typescript
19
+ * const gen = fibonacciGenerator();
20
+ * gen.next().value; // 0n
21
+ * gen.next().value; // 1n
15
22
  *
16
- * @param n - The zero-based index in the Fibonacci sequence
17
- * @returns The nth Fibonacci number
18
- * @throws {RangeError} If n is negative, non-integer, NaN, Infinity, or greater than 78
23
+ * // Collect first 5 values:
24
+ * const first5 = Array.from({ length: 5 }, () => gen.next().value);
25
+ * ```
19
26
  */
20
- export declare function fibonacci(n: number): number;
27
+ export declare function fibonacciGenerator(): Generator<bigint, never, unknown>;
21
28
  /**
22
- * Generate the first `length` Fibonacci numbers as a readonly array.
29
+ * Compute the nth Fibonacci number (0-indexed) using BigInt.
23
30
  *
24
- * Builds the sequence incrementally with reduce so each element derives
25
- * from its two predecessors without recomputing from scratch.
31
+ * @param n - Zero-based index in the Fibonacci sequence (must be a non-negative integer)
32
+ * @returns The nth Fibonacci number as a BigInt — compare with `===` against bigint literals (e.g. `55n`), not numbers
33
+ * @throws {RangeError} If n is negative, non-integer, NaN, or Infinity
34
+ * @remarks Delegates to fibonacciGenerator — O(n) time, consistent with the lazy generator approach
35
+ * @example
36
+ * ```typescript
37
+ * fibonacci(10); // 55n (bigint, not number)
38
+ * fibonacci(10) === 55n; // true
39
+ * fibonacci(10) === 55; // false — bigint !== number
40
+ * ```
41
+ */
42
+ export declare function fibonacci(n: number): bigint;
43
+ /**
44
+ * Generate the first `length` Fibonacci numbers as a readonly BigInt array.
26
45
  *
27
- * @param length - How many Fibonacci numbers to generate
28
- * @returns A readonly array of Fibonacci numbers
29
- * @throws {RangeError} If length is negative, non-integer, NaN, Infinity, or greater than 79
46
+ * @param length - How many Fibonacci numbers to generate (must be a non-negative integer)
47
+ * @returns A readonly array of the first `length` Fibonacci numbers as BigInt
48
+ * @throws {RangeError} If length is negative, non-integer, NaN, or Infinity
49
+ * @remarks Wraps fibonacciGenerator so the sequence is computed once, not per-element
50
+ * @example
51
+ * ```typescript
52
+ * fibonacciSequence(5); // [0n, 1n, 1n, 2n, 3n]
53
+ * ```
30
54
  */
31
- export declare function fibonacciSequence(length: number): readonly number[];
55
+ export declare function fibonacciSequence(length: number): readonly bigint[];
32
56
  //# sourceMappingURL=fibonacci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fibonacci.d.ts","sourceRoot":"","sources":["../../src/utils/fibonacci.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAiBnE"}
1
+ {"version":3,"file":"fibonacci.d.ts","sourceRoot":"","sources":["../../src/utils/fibonacci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,wBAAiB,kBAAkB,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CASvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAY3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAUnE"}
@@ -1,56 +1,78 @@
1
1
  /**
2
- * Fibonacci sequence utilities providing safe, validated computation
3
- * within JavaScript's integer precision limits.
4
- *
5
- * Caps at fibonacci(78) / sequence length 79 because fibonacci(79)
6
- * exceeds Number.MAX_SAFE_INTEGER, which would silently corrupt results.
7
- *
2
+ * @file fibonacci.ts
3
+ * @description BigInt Fibonacci utilities using a lazy generator pattern.
4
+ * Uses BigInt instead of Number to eliminate the precision ceiling at
5
+ * fibonacci(78) BigInt supports arbitrarily large integers, so callers
6
+ * can compute fibonacci(1000) or beyond without silent corruption.
7
+ * The generator pattern enables lazy evaluation, letting consumers pull
8
+ * only the values they need without allocating the full sequence upfront.
8
9
  * @module fibonacci
9
10
  */
10
- /** Largest n for which fibonacci(n) fits in a safe JS integer. */
11
- const MAX_SAFE_N = 78;
12
- /** Largest sequence length where all elements remain safe JS integers. */
13
- const MAX_SAFE_LENGTH = 79;
14
11
  /**
15
- * Compute the nth Fibonacci number (0-indexed).
12
+ * Infinite lazy generator yielding Fibonacci numbers as BigInt.
16
13
  *
17
- * Uses an iterative tuple-reduce approach to avoid stack overflow
18
- * and keep computation O(n) time, O(1) space.
14
+ * @returns Generator that yields successive Fibonacci numbers (0n, 1n, 1n, 2n, 3n, ...)
15
+ * @remarks The generator never terminates do not spread or collect without a length limit.
16
+ * Each call creates an independent generator instance — safe for concurrent iteration.
17
+ * @example
18
+ * ```typescript
19
+ * const gen = fibonacciGenerator();
20
+ * gen.next().value; // 0n
21
+ * gen.next().value; // 1n
19
22
  *
20
- * @param n - The zero-based index in the Fibonacci sequence
21
- * @returns The nth Fibonacci number
22
- * @throws {RangeError} If n is negative, non-integer, NaN, Infinity, or greater than 78
23
+ * // Collect first 5 values:
24
+ * const first5 = Array.from({ length: 5 }, () => gen.next().value);
25
+ * ```
26
+ */
27
+ export function* fibonacciGenerator() {
28
+ /* eslint-disable functional/no-let -- generator requires mutable state for iterative Fibonacci computation */
29
+ let a = 0n;
30
+ let b = 1n;
31
+ /* eslint-enable functional/no-let -- re-enable after generator state declarations */
32
+ while (true) {
33
+ yield a;
34
+ [a, b] = [b, a + b];
35
+ }
36
+ }
37
+ /**
38
+ * Compute the nth Fibonacci number (0-indexed) using BigInt.
39
+ *
40
+ * @param n - Zero-based index in the Fibonacci sequence (must be a non-negative integer)
41
+ * @returns The nth Fibonacci number as a BigInt — compare with `===` against bigint literals (e.g. `55n`), not numbers
42
+ * @throws {RangeError} If n is negative, non-integer, NaN, or Infinity
43
+ * @remarks Delegates to fibonacciGenerator — O(n) time, consistent with the lazy generator approach
44
+ * @example
45
+ * ```typescript
46
+ * fibonacci(10); // 55n (bigint, not number)
47
+ * fibonacci(10) === 55n; // true
48
+ * fibonacci(10) === 55; // false — bigint !== number
49
+ * ```
23
50
  */
24
51
  export function fibonacci(n) {
25
52
  if (!Number.isInteger(n) || n < 0) {
26
53
  throw new RangeError(`Expected a non-negative integer for n, got ${String(n)}`);
27
54
  }
28
- if (n > MAX_SAFE_N) {
29
- throw new RangeError("fibonacci(n) exceeds Number.MAX_SAFE_INTEGER for n > 78");
30
- }
31
- if (n <= 1) {
32
- return n;
33
- }
34
- const [, result] = Array.from({ length: n - 1 }).reduce(([prev, curr]) => [curr, prev + curr], [0, 1]);
35
- return result;
55
+ const gen = fibonacciGenerator();
56
+ Array.from({ length: n }, () => gen.next());
57
+ return gen.next().value;
36
58
  }
37
59
  /**
38
- * Generate the first `length` Fibonacci numbers as a readonly array.
60
+ * Generate the first `length` Fibonacci numbers as a readonly BigInt array.
39
61
  *
40
- * Builds the sequence incrementally with reduce so each element derives
41
- * from its two predecessors without recomputing from scratch.
42
- *
43
- * @param length - How many Fibonacci numbers to generate
44
- * @returns A readonly array of Fibonacci numbers
45
- * @throws {RangeError} If length is negative, non-integer, NaN, Infinity, or greater than 79
62
+ * @param length - How many Fibonacci numbers to generate (must be a non-negative integer)
63
+ * @returns A readonly array of the first `length` Fibonacci numbers as BigInt
64
+ * @throws {RangeError} If length is negative, non-integer, NaN, or Infinity
65
+ * @remarks Wraps fibonacciGenerator so the sequence is computed once, not per-element
66
+ * @example
67
+ * ```typescript
68
+ * fibonacciSequence(5); // [0n, 1n, 1n, 2n, 3n]
69
+ * ```
46
70
  */
47
71
  export function fibonacciSequence(length) {
48
72
  if (!Number.isInteger(length) || length < 0) {
49
73
  throw new RangeError(`Expected a non-negative integer for length, got ${String(length)}`);
50
74
  }
51
- if (length > MAX_SAFE_LENGTH) {
52
- throw new RangeError("fibonacciSequence(length) exceeds Number.MAX_SAFE_INTEGER for length > 79");
53
- }
54
- return Array.from({ length }).reduce((acc, _, i) => [...acc, i < 2 ? i : (acc[i - 1] ?? 0) + (acc[i - 2] ?? 0)], []);
75
+ const gen = fibonacciGenerator();
76
+ return Array.from({ length }, () => gen.next().value);
55
77
  }
56
78
  //# sourceMappingURL=fibonacci.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fibonacci.js","sourceRoot":"","sources":["../../src/utils/fibonacci.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kEAAkE;AAClE,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,0EAA0E;AAC1E,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAClB,8CAA8C,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAErD,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,UAAU,CAClB,mDAAmD,MAAM,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,UAAU,CAClB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC1E,EAAE,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fibonacci.js","sourceRoot":"","sources":["../../src/utils/fibonacci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,SAAS,CAAC,CAAC,kBAAkB;IACjC,8GAA8G;IAC9G,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,qFAAqF;IACrF,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,CAAC;QACR,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,UAAU,CAClB,8CAA8C,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAE5C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,UAAU,CAClB,mDAAmD,MAAM,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
@@ -70,6 +70,7 @@
70
70
  "@shopify/flash-list",
71
71
  "@shopify/react-native-skia",
72
72
  "aws-exports",
73
+ "axios",
73
74
  "base-64",
74
75
  "baseline-browser-mapping",
75
76
  "date-fns",
package/package.json CHANGED
@@ -88,7 +88,7 @@
88
88
  "@isaacs/brace-expansion": "^5.0.1"
89
89
  },
90
90
  "name": "@codyswann/lisa",
91
- "version": "1.31.0",
91
+ "version": "1.32.0",
92
92
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
93
93
  "main": "dist/index.js",
94
94
  "bin": {
@@ -84,7 +84,12 @@ elif [ "$PACKAGE_MANAGER" = "bun" ]; then
84
84
  # Transitive dependency via @react-native-community/cli (Android/iOS build tooling)
85
85
  # Parent packages pin ^4.4.1; fix requires major version 5.x (incompatible)
86
86
  # Risk: None - CLI build tool, not a production runtime dependency
87
- if ! bun audit --audit-level=high --ignore GHSA-5j98-mcp5-4vw2 --ignore GHSA-8qq5-rm4j-mr97 --ignore GHSA-37qj-frw5-hhjh; then
87
+
88
+ # Excluding GHSA-43fc-jf86-j433: axios DoS via __proto__ key in mergeConfig
89
+ # Transitive dependency via aws-amplify > @aws-amplify/api-rest > axios
90
+ # bun overrides/resolutions cannot reach nested node_modules copies
91
+ # Risk: Low - only affects server-side mergeConfig with attacker-controlled input
92
+ if ! bun audit --audit-level=high --ignore GHSA-5j98-mcp5-4vw2 --ignore GHSA-8qq5-rm4j-mr97 --ignore GHSA-37qj-frw5-hhjh --ignore GHSA-43fc-jf86-j433; then
88
93
  echo "⚠️ Security audit failed. Please fix high/critical vulnerabilities before pushing."
89
94
  exit 1
90
95
  fi
@@ -1014,7 +1014,12 @@ jobs:
1014
1014
  # Transitive dependency via @react-native-community/cli (Android/iOS build tooling)
1015
1015
  # Parent packages pin ^4.4.1; fix requires major version 5.x (incompatible)
1016
1016
  # Risk: None - CLI build tool, not a production runtime dependency
1017
- if ! bun audit --audit-level=high --ignore GHSA-5j98-mcp5-4vw2 --ignore GHSA-8qq5-rm4j-mr97 --ignore GHSA-37qj-frw5-hhjh; then
1017
+
1018
+ # Excluding GHSA-43fc-jf86-j433: axios DoS via __proto__ key in mergeConfig
1019
+ # Transitive dependency via aws-amplify > @aws-amplify/api-rest > axios
1020
+ # bun overrides/resolutions cannot reach nested node_modules copies
1021
+ # Risk: Low - only affects server-side mergeConfig with attacker-controlled input
1022
+ if ! bun audit --audit-level=high --ignore GHSA-5j98-mcp5-4vw2 --ignore GHSA-8qq5-rm4j-mr97 --ignore GHSA-37qj-frw5-hhjh --ignore GHSA-43fc-jf86-j433; then
1018
1023
  echo "::warning::Found high or critical vulnerabilities"
1019
1024
  exit 1
1020
1025
  fi
@@ -55,7 +55,8 @@
55
55
  "ts-jest": "^29.4.6"
56
56
  },
57
57
  "resolutions": {
58
- "@isaacs/brace-expansion": "^5.0.1"
58
+ "@isaacs/brace-expansion": "^5.0.1",
59
+ "axios": ">=1.13.5"
59
60
  }
60
61
  },
61
62
  "defaults": {