system HF Staff commited on
Commit
d40f0d8
ยท
verified ยท
1 Parent(s): 856802f

Sync from felladrin/MiniSearch@1fa2482

Browse files
changelog.md CHANGED
@@ -2,6 +2,10 @@
2
 
3
  Notable changes, grouped by date, most recent first.
4
 
 
 
 
 
5
  ## 2026-11-09
6
 
7
  - The in-browser engine, wllama, moves from 3.8.1 to 3.13.0. It now handles a model download that stopped midway by itself, so MiniSearch no longer deletes those files before each load.
 
2
 
3
  Notable changes, grouped by date, most recent first.
4
 
5
+ ## 2026-11-12
6
+
7
+ - The follow-up question field and its Send button now look like one control: the field has square right corners and shares a single border with the button. The microphone button no longer turns into a solid gray block while an answer is being generated, and its hover and recording fills stay inside the field's border, in the follow-up field and in the search field.
8
+
9
  ## 2026-11-09
10
 
11
  - The in-browser engine, wllama, moves from 3.8.1 to 3.13.0. It now handles a model download that stopped midway by itself, so MiniSearch no longer deletes those files before each load.
client/components/AiResponse/ChatInputArea.test.tsx CHANGED
@@ -67,9 +67,10 @@ it("places the dictation button left of the send button", () => {
67
  const send = screen.getByRole("button", { name: "Send message" });
68
 
69
  // Both float over the right end of the field, so only the offsets say
70
- // which is where. Send keeps the edge; dictation sits inside the field.
 
71
  expect(send).toHaveStyle({ right: "0px" });
72
- expect(dictate).toHaveStyle({ right: "54px" });
73
 
74
  // And the tab order follows the same left-to-right reading.
75
  expect(
 
67
  const send = screen.getByRole("button", { name: "Send message" });
68
 
69
  // Both float over the right end of the field, so only the offsets say
70
+ // which is where. Send keeps the edge; dictation sits inside the field,
71
+ // clear of the 1px border it shares with send.
72
  expect(send).toHaveStyle({ right: "0px" });
73
+ expect(dictate).toHaveStyle({ right: "55px" });
74
 
75
  // And the tab order follows the same left-to-right reading.
76
  expect(
client/components/AiResponse/ChatInputArea.tsx CHANGED
@@ -100,7 +100,13 @@ function ChatInputArea({ onKeyDown, handleSend }: ChatInputAreaProps) {
100
  maxRows={8}
101
  style={{ flexGrow: 1, paddingRight: `${sendButtonWidth}px` }}
102
  styles={{
103
- input: { paddingRight: dictationButtonWidth + dictationGutter },
 
 
 
 
 
 
104
  }}
105
  disabled={isGenerating}
106
  />
@@ -126,6 +132,7 @@ function ChatInputArea({ onKeyDown, handleSend }: ChatInputAreaProps) {
126
  bottom: 0,
127
  borderTopLeftRadius: 0,
128
  borderBottomLeftRadius: 0,
 
129
  }}
130
  >
131
  <IconSend size={16} />
 
100
  maxRows={8}
101
  style={{ flexGrow: 1, paddingRight: `${sendButtonWidth}px` }}
102
  styles={{
103
+ // Square on the right, where the send button attaches, so the two
104
+ // read as one control instead of meeting at a rounded notch.
105
+ input: {
106
+ paddingRight: dictationButtonWidth + dictationGutter,
107
+ borderTopRightRadius: 0,
108
+ borderBottomRightRadius: 0,
109
+ },
110
  }}
111
  disabled={isGenerating}
112
  />
 
132
  bottom: 0,
133
  borderTopLeftRadius: 0,
134
  borderBottomLeftRadius: 0,
135
+ borderLeft: 0,
136
  }}
137
  >
138
  <IconSend size={16} />
client/components/DictationButton.test.tsx CHANGED
@@ -421,6 +421,19 @@ describe("the disabled prop", () => {
421
  expect(startDictation).not.toHaveBeenCalled();
422
  });
423
 
 
 
 
 
 
 
 
 
 
 
 
 
 
424
  it("stops a running session when the field becomes disabled", async () => {
425
  const user = userEvent.setup();
426
  const { rerender } = renderButton();
 
421
  expect(startDictation).not.toHaveBeenCalled();
422
  });
423
 
424
+ it("keeps the fill off the field it sits in while disabled", () => {
425
+ // Mantine's disabled ActionIcon has a solid fill whatever the variant,
426
+ // which shows as an opaque block over the faded field.
427
+ // Read inline: jsdom loads no Mantine CSS, so a computed-style check
428
+ // would pass with or without the override.
429
+ renderButton({ disabled: true });
430
+
431
+ expect(
432
+ screen.getByRole("button", { name: "Dictate the search query" }).style
433
+ .backgroundColor,
434
+ ).toBe("transparent");
435
+ });
436
+
437
  it("stops a running session when the field becomes disabled", async () => {
438
  const user = userEvent.setup();
439
  const { rerender } = renderButton();
client/components/DictationButton.tsx CHANGED
@@ -19,6 +19,12 @@ import {
19
  */
20
  export const dictationButtonWidth = 34;
21
 
 
 
 
 
 
 
22
  interface DictationButtonProps {
23
  /** Reads the current field content, so dictation appends to it. */
24
  getValue: () => string;
@@ -29,7 +35,7 @@ interface DictationButtonProps {
29
  * "Stop dictating": "the search query", "a follow-up question".
30
  */
31
  labelScope: string;
32
- /** Distance from the right edge of the positioned ancestor, in pixels. */
33
  rightOffset?: number;
34
  /** Blocks a new session and stops one already running. */
35
  disabled?: boolean;
@@ -306,11 +312,14 @@ export default memo(function DictationButton({
306
  data-dictation-phase={phase}
307
  style={{
308
  position: "absolute",
309
- right: rightOffset,
310
- top: 0,
311
- bottom: 0,
312
- height: "100%",
313
  width: dictationButtonWidth,
 
 
 
314
  }}
315
  >
316
  {phase === "loading" || phase === "transcribing" ? (
 
19
  */
20
  export const dictationButtonWidth = 34;
21
 
22
+ /**
23
+ * Mantine's input border. The button is inset by it so its hover and
24
+ * recording fills stay inside the field instead of painting over its border.
25
+ */
26
+ const fieldBorderWidth = 1;
27
+
28
  interface DictationButtonProps {
29
  /** Reads the current field content, so dictation appends to it. */
30
  getValue: () => string;
 
35
  * "Stop dictating": "the search query", "a follow-up question".
36
  */
37
  labelScope: string;
38
+ /** Distance from the field's right edge to the positioned ancestor's, in pixels. */
39
  rightOffset?: number;
40
  /** Blocks a new session and stops one already running. */
41
  disabled?: boolean;
 
312
  data-dictation-phase={phase}
313
  style={{
314
  position: "absolute",
315
+ right: rightOffset + fieldBorderWidth,
316
+ top: fieldBorderWidth,
317
+ bottom: fieldBorderWidth,
318
+ height: `calc(100% - ${2 * fieldBorderWidth}px)`,
319
  width: dictationButtonWidth,
320
+ // Mantine paints a disabled ActionIcon with a solid fill whatever
321
+ // its variant, which shows as an opaque block over the faded field.
322
+ ...(disabled && { backgroundColor: "transparent" }),
323
  }}
324
  >
325
  {phase === "loading" || phase === "transcribing" ? (
package-lock.json CHANGED
@@ -33,7 +33,7 @@
33
  "embla-carousel-react": "^8.3.0",
34
  "franc-min": "^6.2.0",
35
  "gpt-tokenizer": "^4.0.0",
36
- "hash-wasm": "4.12.0",
37
  "helper-git-hash": "^1.0.0",
38
  "html-to-text": "^10.0.0",
39
  "http-compression": "^1.0.20",
@@ -96,13 +96,13 @@
96
  "license": "MIT"
97
  },
98
  "node_modules/@ai-sdk/gateway": {
99
- "version": "4.0.137",
100
- "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-4.0.137.tgz",
101
- "integrity": "sha512-AYAoZmMGEGOWnMpBvEYc3lONumD3WZIc3GqTv2Q2QLHXr7BY1JVwCbm6ZA3dd8tT1xx5eSJSBbYfZZ3xSRfskQ==",
102
  "license": "Apache-2.0",
103
  "dependencies": {
104
- "@ai-sdk/provider": "4.0.36",
105
- "@ai-sdk/provider-utils": "5.0.75",
106
  "@vercel/oidc": "3.2.0"
107
  },
108
  "engines": {
@@ -112,14 +112,54 @@
112
  "zod": "^3.25.76 || ^4.1.8"
113
  }
114
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  "node_modules/@ai-sdk/openai-compatible": {
116
- "version": "3.0.86",
117
- "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-3.0.86.tgz",
118
- "integrity": "sha512-yZ/opPIih5uaisLhjY6FT1uI94VcC0bDE7LLhhKMeOMVFCSEWwrN+WGOmoTo8CxRjLBUflvrnUExwLLdJrArmA==",
119
  "license": "Apache-2.0",
120
  "dependencies": {
121
- "@ai-sdk/provider": "4.0.36",
122
- "@ai-sdk/provider-utils": "5.0.75"
123
  },
124
  "engines": {
125
  "node": ">=22"
@@ -128,10 +168,10 @@
128
  "zod": "^3.25.76 || ^4.1.8"
129
  }
130
  },
131
- "node_modules/@ai-sdk/provider": {
132
- "version": "4.0.36",
133
- "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.36.tgz",
134
- "integrity": "sha512-GqvWZSZdBelCGughlBdOoupT258rgM3YMbaLAS9WSZJ0vlt8c9vm3My+ZT31mYhiReMCMCF2qF2axnGbILpk1A==",
135
  "license": "Apache-2.0",
136
  "dependencies": {
137
  "json-schema": "^0.4.0"
@@ -140,13 +180,13 @@
140
  "node": ">=22"
141
  }
142
  },
143
- "node_modules/@ai-sdk/provider-utils": {
144
- "version": "5.0.75",
145
- "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.75.tgz",
146
- "integrity": "sha512-k4yAsFliGZwoTpyTpm3ptxwIeaPvRh5vGh/UWoqDiLLXKoyz4zuBGS7p3ygf8to5Bh4fAOHynotLBsWLIYdu2A==",
147
  "license": "Apache-2.0",
148
  "dependencies": {
149
- "@ai-sdk/provider": "4.0.36",
150
  "@standard-schema/spec": "^1.1.0",
151
  "@workflow/serde": "4.1.0",
152
  "eventsource-parser": "^3.0.8",
@@ -159,10 +199,10 @@
159
  "zod": "^3.25.76 || ^4.1.8"
160
  }
161
  },
162
- "node_modules/@ai-sdk/provider-utils/node_modules/undici": {
163
- "version": "7.30.1",
164
- "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.1.tgz",
165
- "integrity": "sha512-03KrMbjIFDWQR5RNPrSw3bd1r12JpyFQl9/yxjUbJtqkjmllqC5lFjZh6ujeuJCKr8EOQvRW872Oy/az+nLYxg==",
166
  "license": "MIT",
167
  "engines": {
168
  "node": ">=20.18.1"
@@ -952,9 +992,9 @@
952
  }
953
  },
954
  "node_modules/@oxc-parser/binding-android-arm-eabi": {
955
- "version": "0.155.0",
956
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.155.0.tgz",
957
- "integrity": "sha512-A6xv7hDtnTm+xlZ7utn6rRQpRMJHRhVr3gjRGqlx0RUX84mNk0pAsy6YN/wWhuOTkaZhRrrzaLxf0NfbH77j2w==",
958
  "cpu": [
959
  "arm"
960
  ],
@@ -969,9 +1009,9 @@
969
  }
970
  },
971
  "node_modules/@oxc-parser/binding-android-arm64": {
972
- "version": "0.155.0",
973
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.155.0.tgz",
974
- "integrity": "sha512-T1wWwH9/JI5g7Z4kEQwDOwhToxdDhRyOTklH+uuNpJ16m3MZFmGl+l2rKc0NHQdbVRG2LTOBsNjpW3h1BWytPA==",
975
  "cpu": [
976
  "arm64"
977
  ],
@@ -986,9 +1026,9 @@
986
  }
987
  },
988
  "node_modules/@oxc-parser/binding-darwin-arm64": {
989
- "version": "0.155.0",
990
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.155.0.tgz",
991
- "integrity": "sha512-ZoRB3qJxJ8DWA41jHja+YeB0lLfjBy4T+Kr15vnN1k65X3zbJt3rPZftEwN4Ju4tmA4K/T9dWWD7Z8ewQLnrVA==",
992
  "cpu": [
993
  "arm64"
994
  ],
@@ -1003,9 +1043,9 @@
1003
  }
1004
  },
1005
  "node_modules/@oxc-parser/binding-darwin-x64": {
1006
- "version": "0.155.0",
1007
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.155.0.tgz",
1008
- "integrity": "sha512-vxtL86BtM+IgrpejA86nbTk5j0HKTIMeuaJ1fQciw6p9RfavPtIPjI7gN34owap0yG9txXBaAWpGdxokNwdqIw==",
1009
  "cpu": [
1010
  "x64"
1011
  ],
@@ -1020,9 +1060,9 @@
1020
  }
1021
  },
1022
  "node_modules/@oxc-parser/binding-freebsd-x64": {
1023
- "version": "0.155.0",
1024
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.155.0.tgz",
1025
- "integrity": "sha512-tN6Ru5e0UVnWaIuiH8jEwnvxuxg7FvhWwSd3oe5oDhOD4ObsSr9/N6WfHLjilUWlPPj65ptwrSDH0Y7lzwTzmw==",
1026
  "cpu": [
1027
  "x64"
1028
  ],
@@ -1037,9 +1077,9 @@
1037
  }
1038
  },
1039
  "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
1040
- "version": "0.155.0",
1041
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.155.0.tgz",
1042
- "integrity": "sha512-h4ozA5n6L6lwolsz9iwunEhKWnIVbmFRots5QxEix0H6nJ5ICpuDa7PuShuhfpIDFe3+Qvyscioyiv+9g+4Syg==",
1043
  "cpu": [
1044
  "arm"
1045
  ],
@@ -1054,9 +1094,9 @@
1054
  }
1055
  },
1056
  "node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
1057
- "version": "0.155.0",
1058
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.155.0.tgz",
1059
- "integrity": "sha512-058/+LardpfuUlsKIvBGk/CYoakEVcMgqYx8GgyUZeOxFWTojYLlCc1Gb60/y21v3esDhHidgiY/Zbq9LpBhaQ==",
1060
  "cpu": [
1061
  "arm"
1062
  ],
@@ -1071,9 +1111,9 @@
1071
  }
1072
  },
1073
  "node_modules/@oxc-parser/binding-linux-arm64-gnu": {
1074
- "version": "0.155.0",
1075
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.155.0.tgz",
1076
- "integrity": "sha512-nrOt2Y3xIAzu+lSPzH0864ieO+iCCXgoo9qFlGANE8Xh0cQ+RP8Wstfp+/wXN2YCyb98cAGzX0VruKYw7it/jw==",
1077
  "cpu": [
1078
  "arm64"
1079
  ],
@@ -1091,9 +1131,9 @@
1091
  }
1092
  },
1093
  "node_modules/@oxc-parser/binding-linux-arm64-musl": {
1094
- "version": "0.155.0",
1095
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.155.0.tgz",
1096
- "integrity": "sha512-KYAayyN5hQbJPtGKtRxlyc8XYmyntOplyXSQzTDrmbz7l/GCrzQbSswvyJFBTH1LGtsZrbXOAfN52i/Kz6kLKg==",
1097
  "cpu": [
1098
  "arm64"
1099
  ],
@@ -1111,9 +1151,9 @@
1111
  }
1112
  },
1113
  "node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
1114
- "version": "0.155.0",
1115
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.155.0.tgz",
1116
- "integrity": "sha512-CSuSY5hfjtsBnHXydOj8jiNfS1qHbdPZuPz1YL1cSgK7VmNYP+QlZIbG0BBYYBgX/vYEgZwbG9mBdW4YairZ5w==",
1117
  "cpu": [
1118
  "ppc64"
1119
  ],
@@ -1131,9 +1171,9 @@
1131
  }
1132
  },
1133
  "node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
1134
- "version": "0.155.0",
1135
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.155.0.tgz",
1136
- "integrity": "sha512-7KCfOQm+Nz2N8trAXbQkal4TQ5756WVEmhm35y816YHvyFnEfVsICsiV5k0pEszNf/fRm4cm2i6i18SJ6/iCWg==",
1137
  "cpu": [
1138
  "riscv64"
1139
  ],
@@ -1151,9 +1191,9 @@
1151
  }
1152
  },
1153
  "node_modules/@oxc-parser/binding-linux-riscv64-musl": {
1154
- "version": "0.155.0",
1155
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.155.0.tgz",
1156
- "integrity": "sha512-JSlhgoK+/g1TGJI5NuADx2+6syhxnQNLCWLXyO5QLFyetomcr/vIxSdiNlmyAv963YXUzCuwAwRG6npZ5xyJ1A==",
1157
  "cpu": [
1158
  "riscv64"
1159
  ],
@@ -1171,9 +1211,9 @@
1171
  }
1172
  },
1173
  "node_modules/@oxc-parser/binding-linux-s390x-gnu": {
1174
- "version": "0.155.0",
1175
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.155.0.tgz",
1176
- "integrity": "sha512-WFIX+dPokWp64mi434Md3U3lJaTwNxAphvGjpltoyQjGUsdXavOIRrnp9dOS34Hd75HOAwDxAI+YwWOwqmJbtg==",
1177
  "cpu": [
1178
  "s390x"
1179
  ],
@@ -1191,9 +1231,9 @@
1191
  }
1192
  },
1193
  "node_modules/@oxc-parser/binding-linux-x64-gnu": {
1194
- "version": "0.155.0",
1195
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.155.0.tgz",
1196
- "integrity": "sha512-g6xSDC/JpbnVOz5uafMGyK3txBVRFMQTx8opv/yHXGxqV3ZMVl3bf7W8XrSnF68dmy3gM4dgReNryuE53+WkeQ==",
1197
  "cpu": [
1198
  "x64"
1199
  ],
@@ -1211,9 +1251,9 @@
1211
  }
1212
  },
1213
  "node_modules/@oxc-parser/binding-linux-x64-musl": {
1214
- "version": "0.155.0",
1215
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.155.0.tgz",
1216
- "integrity": "sha512-6/4xlxKlZJWrQ0uwDFPc0H9+xLu7068CKhX3vIDW3SbvP/lVgnVuT5v6dyugeWskWpuxqF/WJ4WKwhxjU3pG2w==",
1217
  "cpu": [
1218
  "x64"
1219
  ],
@@ -1231,9 +1271,9 @@
1231
  }
1232
  },
1233
  "node_modules/@oxc-parser/binding-openharmony-arm64": {
1234
- "version": "0.155.0",
1235
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.155.0.tgz",
1236
- "integrity": "sha512-tltklL0J0XjDxIRTBXWOBhvc2mitcmES45pIxhwDWfxRyqz7Vkeu0NekTZEIxGE4f/lXgq3vZcjjffteQOVorg==",
1237
  "cpu": [
1238
  "arm64"
1239
  ],
@@ -1248,9 +1288,9 @@
1248
  }
1249
  },
1250
  "node_modules/@oxc-parser/binding-win32-arm64-msvc": {
1251
- "version": "0.155.0",
1252
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.155.0.tgz",
1253
- "integrity": "sha512-alAb9TzjatUEsOeoncAziUnfdTDxfyswhalFZ9sC6plUgATIUx2NIZ0+bMn6aJ28AduS1OpG/OAisr/YISn4Ig==",
1254
  "cpu": [
1255
  "arm64"
1256
  ],
@@ -1265,9 +1305,9 @@
1265
  }
1266
  },
1267
  "node_modules/@oxc-parser/binding-win32-ia32-msvc": {
1268
- "version": "0.155.0",
1269
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.155.0.tgz",
1270
- "integrity": "sha512-yc5cbSfcGmRv/KpxDFuyk8adEBaWd/9HilWvBbQ4bFbus1V2PUh2mGB2Cfq9rqZTqLeiMT8x0skV+LKp9hOMgQ==",
1271
  "cpu": [
1272
  "ia32"
1273
  ],
@@ -1282,9 +1322,9 @@
1282
  }
1283
  },
1284
  "node_modules/@oxc-parser/binding-win32-x64-msvc": {
1285
- "version": "0.155.0",
1286
- "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.155.0.tgz",
1287
- "integrity": "sha512-8heq6jGq+rfpTDRDjoQiBHw0maQZf3IXkS99pdHQZPoTL5kyF5qyPS0RidUlSdnWDIqxXb5nux7GBD9cT+imUw==",
1288
  "cpu": [
1289
  "x64"
1290
  ],
@@ -2073,9 +2113,9 @@
2073
  "license": "MIT"
2074
  },
2075
  "node_modules/@tabler/icons": {
2076
- "version": "3.50.0",
2077
- "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.50.0.tgz",
2078
- "integrity": "sha512-HflLxyrH1cqC7s7jzQGSjpsTAVIoaf7+/yHjbdM59rJQBMjliibp+LYhDPFxOMcwa1M8DNpOk6ENzQiWn9a1Dg==",
2079
  "license": "MIT",
2080
  "funding": {
2081
  "type": "github",
@@ -2083,12 +2123,12 @@
2083
  }
2084
  },
2085
  "node_modules/@tabler/icons-react": {
2086
- "version": "3.50.0",
2087
- "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.50.0.tgz",
2088
- "integrity": "sha512-X9XhFbxAmSNimQ71VAd7opfd4z84x1pLrEbBT33VCIEsFs8zWVqdhh5r/Jyi/3iJjQ861kE5Wm9ixiJfS2nwBA==",
2089
  "license": "MIT",
2090
  "dependencies": {
2091
- "@tabler/icons": "3.50.0"
2092
  },
2093
  "funding": {
2094
  "type": "github",
@@ -2830,14 +2870,14 @@
2830
  }
2831
  },
2832
  "node_modules/ai": {
2833
- "version": "7.0.164",
2834
- "resolved": "https://registry.npmjs.org/ai/-/ai-7.0.164.tgz",
2835
- "integrity": "sha512-wZxQnJ53WntJ334Q/UuCIXmhnZ3X0+NcU3706VGSYAeW0lbEIJd9pOKCoRHN7HZTzyOyrl5o38BEgE+0duVwuw==",
2836
  "license": "Apache-2.0",
2837
  "dependencies": {
2838
- "@ai-sdk/gateway": "4.0.137",
2839
- "@ai-sdk/provider": "4.0.36",
2840
- "@ai-sdk/provider-utils": "5.0.75"
2841
  },
2842
  "engines": {
2843
  "node": ">=22"
@@ -2846,6 +2886,46 @@
2846
  "zod": "^3.25.76 || ^4.1.8"
2847
  }
2848
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2849
  "node_modules/ansi-regex": {
2850
  "version": "5.0.1",
2851
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -3472,12 +3552,12 @@
3472
  }
3473
  },
3474
  "node_modules/dotenv": {
3475
- "version": "18.0.9",
3476
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.9.tgz",
3477
- "integrity": "sha512-3fVOW4cB02R066PUSwn8O4TJyz9NckQl7F81blIbaq9jKBm2tSmOKky7ZHIXzGvkVPXCSn6jkpziBPZdGFs8Tw==",
3478
  "license": "BSD-2-Clause",
3479
  "bin": {
3480
- "dotenv": "dist/index.cjs"
3481
  },
3482
  "engines": {
3483
  "node": ">=12"
@@ -3645,9 +3725,9 @@
3645
  "license": "MIT"
3646
  },
3647
  "node_modules/fake-indexeddb": {
3648
- "version": "6.2.7",
3649
- "resolved": "https://registry.npmjs.org/fake-indexeddb/-/fake-indexeddb-6.2.7.tgz",
3650
- "integrity": "sha512-g0ghQ+BmU3CSZaHup5FigEAAtCmtNyxkrmID7OAeK2qONHghw1aQ2l2T1RxmfhP1H1tEXVRWArUTGVCk5832ww==",
3651
  "dev": true,
3652
  "license": "Apache-2.0",
3653
  "engines": {
@@ -3875,9 +3955,9 @@
3875
  }
3876
  },
3877
  "node_modules/hash-wasm": {
3878
- "version": "4.12.0",
3879
- "resolved": "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.12.0.tgz",
3880
- "integrity": "sha512-+/2B2rYLb48I/evdOIhP+K/DD2ca2fgBjp6O+GBEnCDk2e4rpeXIK8GvIyRPjTezgmWn9gmKwkQjjx6BtqDHVQ==",
3881
  "license": "MIT"
3882
  },
3883
  "node_modules/hast-util-is-element": {
@@ -4278,9 +4358,9 @@
4278
  "license": "MIT"
4279
  },
4280
  "node_modules/jscpd": {
4281
- "version": "5.4.2",
4282
- "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.4.2.tgz",
4283
- "integrity": "sha512-bxZ1ObA4NyWBcM7Zh+QoGrdcMovbCxrDofFaLo2Lwgk/Axe/e45VYu8EM+mpPx2CpU/QGCoktONRnaRZl8Yq2w==",
4284
  "dev": true,
4285
  "license": "MIT",
4286
  "bin": {
@@ -4293,20 +4373,20 @@
4293
  "url": "https://opencollective.com/jscpd"
4294
  },
4295
  "optionalDependencies": {
4296
- "jscpd-darwin-arm64": "5.4.2",
4297
- "jscpd-darwin-x64": "5.4.2",
4298
- "jscpd-linux-arm64-gnu": "5.4.2",
4299
- "jscpd-linux-arm64-musl": "5.4.2",
4300
- "jscpd-linux-x64-gnu": "5.4.2",
4301
- "jscpd-linux-x64-musl": "5.4.2",
4302
- "jscpd-windows-arm64-msvc": "5.4.2",
4303
- "jscpd-windows-x64-msvc": "5.4.2"
4304
  }
4305
  },
4306
  "node_modules/jscpd-darwin-arm64": {
4307
- "version": "5.4.2",
4308
- "resolved": "https://registry.npmjs.org/jscpd-darwin-arm64/-/jscpd-darwin-arm64-5.4.2.tgz",
4309
- "integrity": "sha512-EGoPYQZqESW2kJfxKZrUYsYWhzq2Irk6sBQQWZ7VPAGj2wwk3n8HtDP2FnJOiHWZtSz55I8zQWldzIrD55B5Vw==",
4310
  "cpu": [
4311
  "arm64"
4312
  ],
@@ -4318,9 +4398,9 @@
4318
  ]
4319
  },
4320
  "node_modules/jscpd-darwin-x64": {
4321
- "version": "5.4.2",
4322
- "resolved": "https://registry.npmjs.org/jscpd-darwin-x64/-/jscpd-darwin-x64-5.4.2.tgz",
4323
- "integrity": "sha512-/bz/rgoahqeK0p5r+KjeTTS59d7bZpMxD7hQ4CaQ0qKZWBZIyu7hRdExzJ7/KrCEJ5cmRogvXX1jhFqldYLNXw==",
4324
  "cpu": [
4325
  "x64"
4326
  ],
@@ -4332,9 +4412,9 @@
4332
  ]
4333
  },
4334
  "node_modules/jscpd-linux-arm64-gnu": {
4335
- "version": "5.4.2",
4336
- "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-gnu/-/jscpd-linux-arm64-gnu-5.4.2.tgz",
4337
- "integrity": "sha512-YW/eX+mOYZmT/A3QEARYmJQoVQNV/cfecKCobNXZcD3mE57drpKHmJnvuL9uS85z0cUKWGCM57JVkVz6Y9oxxw==",
4338
  "cpu": [
4339
  "arm64"
4340
  ],
@@ -4349,9 +4429,9 @@
4349
  ]
4350
  },
4351
  "node_modules/jscpd-linux-arm64-musl": {
4352
- "version": "5.4.2",
4353
- "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-musl/-/jscpd-linux-arm64-musl-5.4.2.tgz",
4354
- "integrity": "sha512-jOLTO8YVRz65NaeYNeXoIf13yOPWhbM61xKXpv51DXQ2BXce6XfgPaJVeDCOM5s+8mt6aDtq0BZ8zptNeqGuIw==",
4355
  "cpu": [
4356
  "arm64"
4357
  ],
@@ -4366,9 +4446,9 @@
4366
  ]
4367
  },
4368
  "node_modules/jscpd-linux-x64-gnu": {
4369
- "version": "5.4.2",
4370
- "resolved": "https://registry.npmjs.org/jscpd-linux-x64-gnu/-/jscpd-linux-x64-gnu-5.4.2.tgz",
4371
- "integrity": "sha512-eAmKLxx+pIOEX4lZ342CCCjL5bvf+a3gdmaaVHXiGIx2Zr3zKkF32YkfuN2sCvCui5I/wnely80XsRvVVFO47Q==",
4372
  "cpu": [
4373
  "x64"
4374
  ],
@@ -4383,9 +4463,9 @@
4383
  ]
4384
  },
4385
  "node_modules/jscpd-linux-x64-musl": {
4386
- "version": "5.4.2",
4387
- "resolved": "https://registry.npmjs.org/jscpd-linux-x64-musl/-/jscpd-linux-x64-musl-5.4.2.tgz",
4388
- "integrity": "sha512-ers9YFscD6DrmhyjBDXo/L+yBKcclHdWTFLMulYVGLcoGRKfBFhmK08MI3ajN/GMmCpJu7rkDYKL3egdfE8OIw==",
4389
  "cpu": [
4390
  "x64"
4391
  ],
@@ -4400,9 +4480,9 @@
4400
  ]
4401
  },
4402
  "node_modules/jscpd-windows-arm64-msvc": {
4403
- "version": "5.4.2",
4404
- "resolved": "https://registry.npmjs.org/jscpd-windows-arm64-msvc/-/jscpd-windows-arm64-msvc-5.4.2.tgz",
4405
- "integrity": "sha512-kOhVw4cVhN8T9jr3OVThB3pPpbff0ITHTwpJ/+4EGzMkbf0y6QtPpHDzRgiHJj7u1FSTBXTI6VhPhDUhT/os1g==",
4406
  "cpu": [
4407
  "arm64"
4408
  ],
@@ -4414,9 +4494,9 @@
4414
  ]
4415
  },
4416
  "node_modules/jscpd-windows-x64-msvc": {
4417
- "version": "5.4.2",
4418
- "resolved": "https://registry.npmjs.org/jscpd-windows-x64-msvc/-/jscpd-windows-x64-msvc-5.4.2.tgz",
4419
- "integrity": "sha512-BuR5DCV7F/G5ukMEIzCrz43ea5C0t0ALcP7v+opOWefoi4aiQYCEmtoRwfXMM/zjOmNYmvJBDDfeH05U9uuzEg==",
4420
  "cpu": [
4421
  "x64"
4422
  ],
@@ -4489,9 +4569,9 @@
4489
  }
4490
  },
4491
  "node_modules/knip": {
4492
- "version": "6.44.1",
4493
- "resolved": "https://registry.npmjs.org/knip/-/knip-6.44.1.tgz",
4494
- "integrity": "sha512-Hbd8nvkIsNgFfXgC7Jsb5LHv7jj6VwA3tmfHd53XPX2z9Vc9RnAZqV0BIiP4OrtYqKwCoLseFHQZerb1bNlbSw==",
4495
  "dev": true,
4496
  "funding": [
4497
  {
@@ -4508,7 +4588,7 @@
4508
  "formatly": "^0.11.4",
4509
  "get-tsconfig": "4.14.3",
4510
  "jiti": "^2.7.0",
4511
- "oxc-parser": "^0.155.0",
4512
  "oxc-resolver": "11.24.2",
4513
  "picomatch": "^4.0.7",
4514
  "smol-toml": "^1.9.0",
@@ -5976,13 +6056,13 @@
5976
  }
5977
  },
5978
  "node_modules/oxc-parser": {
5979
- "version": "0.155.0",
5980
- "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.155.0.tgz",
5981
- "integrity": "sha512-C/ReSf1JUFukK/zvk6jhcNibSssvas5+ktIzK7fbKVd3CedWe59C3QwHEOrEZj/4Rt9+xg0Jeis/Jv1F/KM1mw==",
5982
  "dev": true,
5983
  "license": "MIT",
5984
  "dependencies": {
5985
- "@oxc-project/types": "^0.155.0"
5986
  },
5987
  "engines": {
5988
  "node": "^20.19.0 || >=22.12.0"
@@ -5991,35 +6071,25 @@
5991
  "url": "https://github.com/sponsors/oxc-project"
5992
  },
5993
  "optionalDependencies": {
5994
- "@oxc-parser/binding-android-arm-eabi": "0.155.0",
5995
- "@oxc-parser/binding-android-arm64": "0.155.0",
5996
- "@oxc-parser/binding-darwin-arm64": "0.155.0",
5997
- "@oxc-parser/binding-darwin-x64": "0.155.0",
5998
- "@oxc-parser/binding-freebsd-x64": "0.155.0",
5999
- "@oxc-parser/binding-linux-arm-gnueabihf": "0.155.0",
6000
- "@oxc-parser/binding-linux-arm-musleabihf": "0.155.0",
6001
- "@oxc-parser/binding-linux-arm64-gnu": "0.155.0",
6002
- "@oxc-parser/binding-linux-arm64-musl": "0.155.0",
6003
- "@oxc-parser/binding-linux-ppc64-gnu": "0.155.0",
6004
- "@oxc-parser/binding-linux-riscv64-gnu": "0.155.0",
6005
- "@oxc-parser/binding-linux-riscv64-musl": "0.155.0",
6006
- "@oxc-parser/binding-linux-s390x-gnu": "0.155.0",
6007
- "@oxc-parser/binding-linux-x64-gnu": "0.155.0",
6008
- "@oxc-parser/binding-linux-x64-musl": "0.155.0",
6009
- "@oxc-parser/binding-openharmony-arm64": "0.155.0",
6010
- "@oxc-parser/binding-win32-arm64-msvc": "0.155.0",
6011
- "@oxc-parser/binding-win32-ia32-msvc": "0.155.0",
6012
- "@oxc-parser/binding-win32-x64-msvc": "0.155.0"
6013
- }
6014
- },
6015
- "node_modules/oxc-parser/node_modules/@oxc-project/types": {
6016
- "version": "0.155.0",
6017
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.155.0.tgz",
6018
- "integrity": "sha512-SeE8JPwW1xs1tHeNycjUtUBdhorRa8o4jlvjwk49R7/Z291i+4DQa7JJIgOm/TaYQZx+QrPQbVJ/9c8dMIZN8Q==",
6019
- "dev": true,
6020
- "license": "MIT",
6021
- "funding": {
6022
- "url": "https://github.com/sponsors/oxc-project"
6023
  }
6024
  },
6025
  "node_modules/oxc-resolver": {
@@ -6564,9 +6634,9 @@
6564
  }
6565
  },
6566
  "node_modules/rate-limiter-flexible": {
6567
- "version": "11.3.0",
6568
- "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-11.3.0.tgz",
6569
- "integrity": "sha512-j9ajqvqkF+UqPanM0bKTu4uLg71Y3lOs5cDGMM4HL1lshE+Xur9NL3PGjrjOgEA52G0/VjaETA2aBBiDcvWJRg==",
6570
  "license": "ISC"
6571
  },
6572
  "node_modules/react": {
@@ -6909,9 +6979,9 @@
6909
  }
6910
  },
6911
  "node_modules/rollup-plugin-visualizer": {
6912
- "version": "7.1.2",
6913
- "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-7.1.2.tgz",
6914
- "integrity": "sha512-+yrEz9LJ7fxd7T0yj4GPvcKHKfJNzTzKT7FHiF3f/US+7EaWlgB8PoGbUOlobD4Al8v6TeCCl/Fgbov5FV/DaA==",
6915
  "license": "MIT",
6916
  "dependencies": {
6917
  "open": "^11.0.0",
 
33
  "embla-carousel-react": "^8.3.0",
34
  "franc-min": "^6.2.0",
35
  "gpt-tokenizer": "^4.0.0",
36
+ "hash-wasm": "4.13.0",
37
  "helper-git-hash": "^1.0.0",
38
  "html-to-text": "^10.0.0",
39
  "http-compression": "^1.0.20",
 
96
  "license": "MIT"
97
  },
98
  "node_modules/@ai-sdk/gateway": {
99
+ "version": "4.0.138",
100
+ "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-4.0.138.tgz",
101
+ "integrity": "sha512-7a/LGqioUyU2CmjRjMwnX4WR5V4vP3+YdPZEAbh7CH9OXf1GcPSsiySsHxNbqiDlDnL+KdqPvWeipIR7u/VFHA==",
102
  "license": "Apache-2.0",
103
  "dependencies": {
104
+ "@ai-sdk/provider": "4.0.37",
105
+ "@ai-sdk/provider-utils": "5.0.76",
106
  "@vercel/oidc": "3.2.0"
107
  },
108
  "engines": {
 
112
  "zod": "^3.25.76 || ^4.1.8"
113
  }
114
  },
115
+ "node_modules/@ai-sdk/gateway/node_modules/@ai-sdk/provider": {
116
+ "version": "4.0.37",
117
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.37.tgz",
118
+ "integrity": "sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==",
119
+ "license": "Apache-2.0",
120
+ "dependencies": {
121
+ "json-schema": "^0.4.0"
122
+ },
123
+ "engines": {
124
+ "node": ">=22"
125
+ }
126
+ },
127
+ "node_modules/@ai-sdk/gateway/node_modules/@ai-sdk/provider-utils": {
128
+ "version": "5.0.76",
129
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.76.tgz",
130
+ "integrity": "sha512-76QcCmVtSunSAbQBJtgQTTE8e+Yaz4rJJe1MRWnJ3GAQYUvNPHJejKx4jZTbhGGTdSSLaYcMBT62SISNgnGq9w==",
131
+ "license": "Apache-2.0",
132
+ "dependencies": {
133
+ "@ai-sdk/provider": "4.0.37",
134
+ "@standard-schema/spec": "^1.1.0",
135
+ "@workflow/serde": "4.1.0",
136
+ "eventsource-parser": "^3.0.8",
137
+ "undici": "^7.29.1"
138
+ },
139
+ "engines": {
140
+ "node": ">=22"
141
+ },
142
+ "peerDependencies": {
143
+ "zod": "^3.25.76 || ^4.1.8"
144
+ }
145
+ },
146
+ "node_modules/@ai-sdk/gateway/node_modules/undici": {
147
+ "version": "7.30.2",
148
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.2.tgz",
149
+ "integrity": "sha512-mLyPQnHwUxaM/rideoK/+KL8DaAJLRl4aBCfmX444aCSLnIaomqPLtNRe2jdCYcsk5wZzXrDIQC8ZeYNRAYyIA==",
150
+ "license": "MIT",
151
+ "engines": {
152
+ "node": ">=20.18.1"
153
+ }
154
+ },
155
  "node_modules/@ai-sdk/openai-compatible": {
156
+ "version": "3.0.87",
157
+ "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-3.0.87.tgz",
158
+ "integrity": "sha512-8eODsrV/DKW9KYoVXi1AhATGitZ1ANZrA5poa192EHUWCmrNjWL6fW7ymVQx+Svx7WtAGJcU+5hlxTG58zDzGw==",
159
  "license": "Apache-2.0",
160
  "dependencies": {
161
+ "@ai-sdk/provider": "4.0.37",
162
+ "@ai-sdk/provider-utils": "5.0.76"
163
  },
164
  "engines": {
165
  "node": ">=22"
 
168
  "zod": "^3.25.76 || ^4.1.8"
169
  }
170
  },
171
+ "node_modules/@ai-sdk/openai-compatible/node_modules/@ai-sdk/provider": {
172
+ "version": "4.0.37",
173
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.37.tgz",
174
+ "integrity": "sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==",
175
  "license": "Apache-2.0",
176
  "dependencies": {
177
  "json-schema": "^0.4.0"
 
180
  "node": ">=22"
181
  }
182
  },
183
+ "node_modules/@ai-sdk/openai-compatible/node_modules/@ai-sdk/provider-utils": {
184
+ "version": "5.0.76",
185
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.76.tgz",
186
+ "integrity": "sha512-76QcCmVtSunSAbQBJtgQTTE8e+Yaz4rJJe1MRWnJ3GAQYUvNPHJejKx4jZTbhGGTdSSLaYcMBT62SISNgnGq9w==",
187
  "license": "Apache-2.0",
188
  "dependencies": {
189
+ "@ai-sdk/provider": "4.0.37",
190
  "@standard-schema/spec": "^1.1.0",
191
  "@workflow/serde": "4.1.0",
192
  "eventsource-parser": "^3.0.8",
 
199
  "zod": "^3.25.76 || ^4.1.8"
200
  }
201
  },
202
+ "node_modules/@ai-sdk/openai-compatible/node_modules/undici": {
203
+ "version": "7.30.2",
204
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.2.tgz",
205
+ "integrity": "sha512-mLyPQnHwUxaM/rideoK/+KL8DaAJLRl4aBCfmX444aCSLnIaomqPLtNRe2jdCYcsk5wZzXrDIQC8ZeYNRAYyIA==",
206
  "license": "MIT",
207
  "engines": {
208
  "node": ">=20.18.1"
 
992
  }
993
  },
994
  "node_modules/@oxc-parser/binding-android-arm-eabi": {
995
+ "version": "0.156.0",
996
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.156.0.tgz",
997
+ "integrity": "sha512-RMq7DKNzEp1T51QKNLTn0NryNEt2IYfh7mZBlIdi2Ju52ltOEDMeIXv0XBpA6dL7j7ChjlcovtGcc1Jv4qMipg==",
998
  "cpu": [
999
  "arm"
1000
  ],
 
1009
  }
1010
  },
1011
  "node_modules/@oxc-parser/binding-android-arm64": {
1012
+ "version": "0.156.0",
1013
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.156.0.tgz",
1014
+ "integrity": "sha512-mwkWKhOBpmh8fWc3m4MiLsmEAtx0YuHmvyo9ff557cnb3QZ2kt2eauSz75wCGIpiZG3gUsJ4WwzEjm4R4/BHig==",
1015
  "cpu": [
1016
  "arm64"
1017
  ],
 
1026
  }
1027
  },
1028
  "node_modules/@oxc-parser/binding-darwin-arm64": {
1029
+ "version": "0.156.0",
1030
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.156.0.tgz",
1031
+ "integrity": "sha512-6pGR5fUszM9M4eBBapqpGjCRJolFwuCldx8bRQjqXyM09cQysBTWVF2Ttg4UNJVxYSaw5RRINbveCOOCrsuGvA==",
1032
  "cpu": [
1033
  "arm64"
1034
  ],
 
1043
  }
1044
  },
1045
  "node_modules/@oxc-parser/binding-darwin-x64": {
1046
+ "version": "0.156.0",
1047
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.156.0.tgz",
1048
+ "integrity": "sha512-M9QghL7uCAqMKjYJv1rDGblfEvkeQu3QzTPd7Uwo16gG3uO7m9ikVQ9OL8FZTnKzU4vbCEby6kTlEkqN+JeEMA==",
1049
  "cpu": [
1050
  "x64"
1051
  ],
 
1060
  }
1061
  },
1062
  "node_modules/@oxc-parser/binding-freebsd-x64": {
1063
+ "version": "0.156.0",
1064
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.156.0.tgz",
1065
+ "integrity": "sha512-lX0ANxSwAOrpOT7NHB+YsrBqDJ8sOVon5m7GS9eQtkuUeNzQMMGpFsJLsStawTbrdwOF5KDVxgPWcKmt/DIZUQ==",
1066
  "cpu": [
1067
  "x64"
1068
  ],
 
1077
  }
1078
  },
1079
  "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
1080
+ "version": "0.156.0",
1081
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.156.0.tgz",
1082
+ "integrity": "sha512-iPgYpasRcqk7X3TGncQg7B+6RotDvG8weug0UrgF+FXLf4KmaNDyT91BKONlqbHcNgK9Nryp7AEZGuQn32fP6g==",
1083
  "cpu": [
1084
  "arm"
1085
  ],
 
1094
  }
1095
  },
1096
  "node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
1097
+ "version": "0.156.0",
1098
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.156.0.tgz",
1099
+ "integrity": "sha512-sJqJDEZevtkEfoxrXfaRTkSt6Itckr549cIfBbs11UgXv8bFyqQsXTQa6iKm8mTiWYmCDDFJf7TLnqxcbqzPOw==",
1100
  "cpu": [
1101
  "arm"
1102
  ],
 
1111
  }
1112
  },
1113
  "node_modules/@oxc-parser/binding-linux-arm64-gnu": {
1114
+ "version": "0.156.0",
1115
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.156.0.tgz",
1116
+ "integrity": "sha512-mrQs5OdRiqKskRuWEORPKT6YGIFhrpVvCvL9hqVaIh60EzgR4qjPvSsV6hWZcOfyWHBTbdEvfnDJPh/eQlxPRQ==",
1117
  "cpu": [
1118
  "arm64"
1119
  ],
 
1131
  }
1132
  },
1133
  "node_modules/@oxc-parser/binding-linux-arm64-musl": {
1134
+ "version": "0.156.0",
1135
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.156.0.tgz",
1136
+ "integrity": "sha512-ZtPqgCU3+wpU7dvX7YbaEiw71r0UdguzuPhcx4PIEZSs4XFqc6F5wXCtNdb6M7m3DMErlxrwosryoXrzYOY/Gg==",
1137
  "cpu": [
1138
  "arm64"
1139
  ],
 
1151
  }
1152
  },
1153
  "node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
1154
+ "version": "0.156.0",
1155
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.156.0.tgz",
1156
+ "integrity": "sha512-ZuGRT/adReZZJn3PYNneb1HQIOH0iIZ2fzFgC1/XJYpMQ5KsRKmWIEzy3wEFsUwIOTomCmnmTZ/zbFYo9z9VeA==",
1157
  "cpu": [
1158
  "ppc64"
1159
  ],
 
1171
  }
1172
  },
1173
  "node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
1174
+ "version": "0.156.0",
1175
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.156.0.tgz",
1176
+ "integrity": "sha512-T+iWCeAOoEAJpHqr6/pogHIv98g9p8Ctccysm/h962hG4ayX5OL2c0Ih4oYe+JuFndLXy/OASvwMlTPe76sIiw==",
1177
  "cpu": [
1178
  "riscv64"
1179
  ],
 
1191
  }
1192
  },
1193
  "node_modules/@oxc-parser/binding-linux-riscv64-musl": {
1194
+ "version": "0.156.0",
1195
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.156.0.tgz",
1196
+ "integrity": "sha512-wL55bI2kVKfwdxScbw60zVgzAqbQbmE5zpSPWPZoZ9RSG8egm6ITE/UWE5mDWlglxz1QElJCcUbpaJCtHD11BQ==",
1197
  "cpu": [
1198
  "riscv64"
1199
  ],
 
1211
  }
1212
  },
1213
  "node_modules/@oxc-parser/binding-linux-s390x-gnu": {
1214
+ "version": "0.156.0",
1215
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.156.0.tgz",
1216
+ "integrity": "sha512-+D+JilhLqwrDLODYEl4qtovVwgxKALb23FkAWBiPvgmUWYgjCV83KKuwwxZJM8GCdKlNA1vt3iKtow8HUFjXtg==",
1217
  "cpu": [
1218
  "s390x"
1219
  ],
 
1231
  }
1232
  },
1233
  "node_modules/@oxc-parser/binding-linux-x64-gnu": {
1234
+ "version": "0.156.0",
1235
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.156.0.tgz",
1236
+ "integrity": "sha512-jRfwpN4xKrsEpC+SgrUPY5k0mINYZn7aLrt22I3uQFoumiSgHgsLYgS9f84ntbkvSydH4HiwGuDa2b1XCHaJzw==",
1237
  "cpu": [
1238
  "x64"
1239
  ],
 
1251
  }
1252
  },
1253
  "node_modules/@oxc-parser/binding-linux-x64-musl": {
1254
+ "version": "0.156.0",
1255
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.156.0.tgz",
1256
+ "integrity": "sha512-P/ajnypgLmxmuRRyCIZcp2o4lOwmCaXYH5+eqDTcCW+MCTI+csKSw/Zc6GB67jZoVa4ey3q1jXEt7S60adBEMQ==",
1257
  "cpu": [
1258
  "x64"
1259
  ],
 
1271
  }
1272
  },
1273
  "node_modules/@oxc-parser/binding-openharmony-arm64": {
1274
+ "version": "0.156.0",
1275
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.156.0.tgz",
1276
+ "integrity": "sha512-WSN6rQZZc9KqgZ4lMfjVDvqKhVOCjey/YEZIPisGXmwBqwgWOzru207dyiH50LHcf1n9LO2oceGk/id6RL9v0g==",
1277
  "cpu": [
1278
  "arm64"
1279
  ],
 
1288
  }
1289
  },
1290
  "node_modules/@oxc-parser/binding-win32-arm64-msvc": {
1291
+ "version": "0.156.0",
1292
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.156.0.tgz",
1293
+ "integrity": "sha512-l21Tz6tjraGBC3JefVeJZ9pojD0fCiB62PydAv+i9nrqJX7z/pDmyDNYLamDr/PRcQ4UQbFwkSnz7NKBB9UMLw==",
1294
  "cpu": [
1295
  "arm64"
1296
  ],
 
1305
  }
1306
  },
1307
  "node_modules/@oxc-parser/binding-win32-ia32-msvc": {
1308
+ "version": "0.156.0",
1309
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.156.0.tgz",
1310
+ "integrity": "sha512-CUq0ZFl/RODqPiIgfNNSamkpTj5x8AjBTkR/y1DNVIQiTGnmWqjHcn3o08ZW3q/LgkI4g9G9g6UirmmQFvuOZw==",
1311
  "cpu": [
1312
  "ia32"
1313
  ],
 
1322
  }
1323
  },
1324
  "node_modules/@oxc-parser/binding-win32-x64-msvc": {
1325
+ "version": "0.156.0",
1326
+ "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.156.0.tgz",
1327
+ "integrity": "sha512-dcpx5Y1x2v/cs7U/q3SZMvmxfyXjVvqC86jMuw2ZZUbHDd7W2cW7uSMQfg3GLVaE68Su3H9xd/Pc4v6QNyeSRg==",
1328
  "cpu": [
1329
  "x64"
1330
  ],
 
2113
  "license": "MIT"
2114
  },
2115
  "node_modules/@tabler/icons": {
2116
+ "version": "3.51.0",
2117
+ "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.51.0.tgz",
2118
+ "integrity": "sha512-0pinvPZz7YeX+OSfxuEAbnEPWbocVXW5iU8h5lh41pYG8sZuQfpWECC980lxOT0clGIcNGn8xsBr+zKaRGdA/g==",
2119
  "license": "MIT",
2120
  "funding": {
2121
  "type": "github",
 
2123
  }
2124
  },
2125
  "node_modules/@tabler/icons-react": {
2126
+ "version": "3.51.0",
2127
+ "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.51.0.tgz",
2128
+ "integrity": "sha512-F3GGChIUspsCq+HhXtJezc1W9QRcRlEG07Jb4dKUR1TV+mq1uvY7+G46n1fZE02jhQUOVuOoi445Bk1O9mFrDg==",
2129
  "license": "MIT",
2130
  "dependencies": {
2131
+ "@tabler/icons": "3.51.0"
2132
  },
2133
  "funding": {
2134
  "type": "github",
 
2870
  }
2871
  },
2872
  "node_modules/ai": {
2873
+ "version": "7.0.165",
2874
+ "resolved": "https://registry.npmjs.org/ai/-/ai-7.0.165.tgz",
2875
+ "integrity": "sha512-cEeORsLF+9+fNzvo4nQo9hxgQoEfupjc9Xmq6OM2NGUwQQQdkHxByBdFoqnNfBE0H+qwhGQaZejvbCFFD84tBA==",
2876
  "license": "Apache-2.0",
2877
  "dependencies": {
2878
+ "@ai-sdk/gateway": "4.0.138",
2879
+ "@ai-sdk/provider": "4.0.37",
2880
+ "@ai-sdk/provider-utils": "5.0.76"
2881
  },
2882
  "engines": {
2883
  "node": ">=22"
 
2886
  "zod": "^3.25.76 || ^4.1.8"
2887
  }
2888
  },
2889
+ "node_modules/ai/node_modules/@ai-sdk/provider": {
2890
+ "version": "4.0.37",
2891
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.37.tgz",
2892
+ "integrity": "sha512-4uPgZ3qiX/JaQFr0dQoibUzHImZit9u05ro2BxGUnJwU4fV28BOAbKUa2OjQvqtM1tMac3bTKkaXdyzGovQXqg==",
2893
+ "license": "Apache-2.0",
2894
+ "dependencies": {
2895
+ "json-schema": "^0.4.0"
2896
+ },
2897
+ "engines": {
2898
+ "node": ">=22"
2899
+ }
2900
+ },
2901
+ "node_modules/ai/node_modules/@ai-sdk/provider-utils": {
2902
+ "version": "5.0.76",
2903
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.76.tgz",
2904
+ "integrity": "sha512-76QcCmVtSunSAbQBJtgQTTE8e+Yaz4rJJe1MRWnJ3GAQYUvNPHJejKx4jZTbhGGTdSSLaYcMBT62SISNgnGq9w==",
2905
+ "license": "Apache-2.0",
2906
+ "dependencies": {
2907
+ "@ai-sdk/provider": "4.0.37",
2908
+ "@standard-schema/spec": "^1.1.0",
2909
+ "@workflow/serde": "4.1.0",
2910
+ "eventsource-parser": "^3.0.8",
2911
+ "undici": "^7.29.1"
2912
+ },
2913
+ "engines": {
2914
+ "node": ">=22"
2915
+ },
2916
+ "peerDependencies": {
2917
+ "zod": "^3.25.76 || ^4.1.8"
2918
+ }
2919
+ },
2920
+ "node_modules/ai/node_modules/undici": {
2921
+ "version": "7.30.2",
2922
+ "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.2.tgz",
2923
+ "integrity": "sha512-mLyPQnHwUxaM/rideoK/+KL8DaAJLRl4aBCfmX444aCSLnIaomqPLtNRe2jdCYcsk5wZzXrDIQC8ZeYNRAYyIA==",
2924
+ "license": "MIT",
2925
+ "engines": {
2926
+ "node": ">=20.18.1"
2927
+ }
2928
+ },
2929
  "node_modules/ansi-regex": {
2930
  "version": "5.0.1",
2931
  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
 
3552
  }
3553
  },
3554
  "node_modules/dotenv": {
3555
+ "version": "18.0.10",
3556
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-18.0.10.tgz",
3557
+ "integrity": "sha512-89FAA1xchzK2mxVWdr5F/0rldwiueXs6zJM86rO66EzekR1iBdiXRthyG+m5GvkJaFH3C2LESzamTkgndmLT2A==",
3558
  "license": "BSD-2-Clause",
3559
  "bin": {
3560
+ "dotenv": "dist/cli.cjs"
3561
  },
3562
  "engines": {
3563
  "node": ">=12"
 
3725
  "license": "MIT"
3726
  },
3727
  "node_modules/fake-indexeddb": {
3728
+ "version": "6.2.8",
3729
+ "resolved": "https://registry.npmjs.org/fake-indexeddb/-/fake-indexeddb-6.2.8.tgz",
3730
+ "integrity": "sha512-mpVW/HLUqwKXJ6F/s0hMgdK1eQfM4ncTHDioNGHWL0WKV3VcZCoZq1NKgboBbAge07aRCO7L48yziKssL59XEQ==",
3731
  "dev": true,
3732
  "license": "Apache-2.0",
3733
  "engines": {
 
3955
  }
3956
  },
3957
  "node_modules/hash-wasm": {
3958
+ "version": "4.13.0",
3959
+ "resolved": "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.13.0.tgz",
3960
+ "integrity": "sha512-GrWl7wsV46fKIXQZB5ebskLZLAmKL6d9RS0fspCxDeQyjoNu1AfTJTMLPOJyfzaQm0ldFiwFN21/w+sE/kgEFQ==",
3961
  "license": "MIT"
3962
  },
3963
  "node_modules/hast-util-is-element": {
 
4358
  "license": "MIT"
4359
  },
4360
  "node_modules/jscpd": {
4361
+ "version": "5.4.3",
4362
+ "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.4.3.tgz",
4363
+ "integrity": "sha512-2Ult/j407sgAx4Z8kW4nOB3wfGwvtyKyPN9XE+tbvNEP/QemBN8pijKtG6zC+8nfMuIiiWjNcez7VZo5ZjJRtA==",
4364
  "dev": true,
4365
  "license": "MIT",
4366
  "bin": {
 
4373
  "url": "https://opencollective.com/jscpd"
4374
  },
4375
  "optionalDependencies": {
4376
+ "jscpd-darwin-arm64": "5.4.3",
4377
+ "jscpd-darwin-x64": "5.4.3",
4378
+ "jscpd-linux-arm64-gnu": "5.4.3",
4379
+ "jscpd-linux-arm64-musl": "5.4.3",
4380
+ "jscpd-linux-x64-gnu": "5.4.3",
4381
+ "jscpd-linux-x64-musl": "5.4.3",
4382
+ "jscpd-windows-arm64-msvc": "5.4.3",
4383
+ "jscpd-windows-x64-msvc": "5.4.3"
4384
  }
4385
  },
4386
  "node_modules/jscpd-darwin-arm64": {
4387
+ "version": "5.4.3",
4388
+ "resolved": "https://registry.npmjs.org/jscpd-darwin-arm64/-/jscpd-darwin-arm64-5.4.3.tgz",
4389
+ "integrity": "sha512-2Zu6FrML6exhznj4hryUrnfVRM6dmfH0N7nldeY09cs7fA2TRQD+xzo5wA7SIqzhRDaUo0CBPBNVJz/XFmUEbg==",
4390
  "cpu": [
4391
  "arm64"
4392
  ],
 
4398
  ]
4399
  },
4400
  "node_modules/jscpd-darwin-x64": {
4401
+ "version": "5.4.3",
4402
+ "resolved": "https://registry.npmjs.org/jscpd-darwin-x64/-/jscpd-darwin-x64-5.4.3.tgz",
4403
+ "integrity": "sha512-Y4KykQqxMtVEV3pdjtfYbzONCmLOEgAyX8d2fUbwLW+uH/IZqUVCIwB3LrgCVv4Y+b/7mbOsdrGuIragTGpC/Q==",
4404
  "cpu": [
4405
  "x64"
4406
  ],
 
4412
  ]
4413
  },
4414
  "node_modules/jscpd-linux-arm64-gnu": {
4415
+ "version": "5.4.3",
4416
+ "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-gnu/-/jscpd-linux-arm64-gnu-5.4.3.tgz",
4417
+ "integrity": "sha512-08d2DKt9BELglfZj0ZfhEs7I4gxiAk9Iflgjnsd0z4pB1OjWA4+DGDbfWmGOf6W2sVMDpwkVoa5Q5DWaOMPyoA==",
4418
  "cpu": [
4419
  "arm64"
4420
  ],
 
4429
  ]
4430
  },
4431
  "node_modules/jscpd-linux-arm64-musl": {
4432
+ "version": "5.4.3",
4433
+ "resolved": "https://registry.npmjs.org/jscpd-linux-arm64-musl/-/jscpd-linux-arm64-musl-5.4.3.tgz",
4434
+ "integrity": "sha512-YbgJ7tQzztL441UCKX6UVN6n8zXc7eEwuJ4MHCdFtTf5w6EGpfFDi7+lgBi+MtwampG2k1PoltCYYiRZyPg4/g==",
4435
  "cpu": [
4436
  "arm64"
4437
  ],
 
4446
  ]
4447
  },
4448
  "node_modules/jscpd-linux-x64-gnu": {
4449
+ "version": "5.4.3",
4450
+ "resolved": "https://registry.npmjs.org/jscpd-linux-x64-gnu/-/jscpd-linux-x64-gnu-5.4.3.tgz",
4451
+ "integrity": "sha512-BbL0HypadbjpxNfK/KY4CfpD4sCd2zf9HpFnGwwOjdryjdTG098isft/95BiS/XvZjVT3p6lwLf5ToI97OoqCg==",
4452
  "cpu": [
4453
  "x64"
4454
  ],
 
4463
  ]
4464
  },
4465
  "node_modules/jscpd-linux-x64-musl": {
4466
+ "version": "5.4.3",
4467
+ "resolved": "https://registry.npmjs.org/jscpd-linux-x64-musl/-/jscpd-linux-x64-musl-5.4.3.tgz",
4468
+ "integrity": "sha512-0DlkzVDuuZ83JRZMOc4Fd2tBFKIrtXDHkHvxdF6d4HK+b954PZxuKhwBMArg76CtVSOQcuiICd/zxU9HtdT+mg==",
4469
  "cpu": [
4470
  "x64"
4471
  ],
 
4480
  ]
4481
  },
4482
  "node_modules/jscpd-windows-arm64-msvc": {
4483
+ "version": "5.4.3",
4484
+ "resolved": "https://registry.npmjs.org/jscpd-windows-arm64-msvc/-/jscpd-windows-arm64-msvc-5.4.3.tgz",
4485
+ "integrity": "sha512-BUD8kCzLyXUomw3vWRDbaBcIPByX6yU3VyqsKSf7/sjzr8y9ZmTRcn0cwmCV2WChrzD5JF4HeQl+hZlb7+s8lg==",
4486
  "cpu": [
4487
  "arm64"
4488
  ],
 
4494
  ]
4495
  },
4496
  "node_modules/jscpd-windows-x64-msvc": {
4497
+ "version": "5.4.3",
4498
+ "resolved": "https://registry.npmjs.org/jscpd-windows-x64-msvc/-/jscpd-windows-x64-msvc-5.4.3.tgz",
4499
+ "integrity": "sha512-qYSVGZE2WP0NNdZU1S8DsfcCDpjwKSExvsUd86c4Vx9eWwZdw1i+V7h/9FWazo3PxEa+FzPLsCD5YjVawaarRA==",
4500
  "cpu": [
4501
  "x64"
4502
  ],
 
4569
  }
4570
  },
4571
  "node_modules/knip": {
4572
+ "version": "6.44.2",
4573
+ "resolved": "https://registry.npmjs.org/knip/-/knip-6.44.2.tgz",
4574
+ "integrity": "sha512-6URO7pnqtOnyvSsXfW6+8C9j1lfcicxUCysXO0RgMtHTZ96HqCXh29op8iabeQW5JeIc8dJWwzSdJVWDokeScQ==",
4575
  "dev": true,
4576
  "funding": [
4577
  {
 
4588
  "formatly": "^0.11.4",
4589
  "get-tsconfig": "4.14.3",
4590
  "jiti": "^2.7.0",
4591
+ "oxc-parser": "^0.156.0",
4592
  "oxc-resolver": "11.24.2",
4593
  "picomatch": "^4.0.7",
4594
  "smol-toml": "^1.9.0",
 
6056
  }
6057
  },
6058
  "node_modules/oxc-parser": {
6059
+ "version": "0.156.0",
6060
+ "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.156.0.tgz",
6061
+ "integrity": "sha512-7JhjgOfZjrIFJH5TlHrpRua864Si5GvwrPr5+eIRCY2sszhKXo6pyhP0HQKOGTtfO4UowwZ72XTGba0+lZphOQ==",
6062
  "dev": true,
6063
  "license": "MIT",
6064
  "dependencies": {
6065
+ "@oxc-project/types": "^0.156.0"
6066
  },
6067
  "engines": {
6068
  "node": "^20.19.0 || >=22.12.0"
 
6071
  "url": "https://github.com/sponsors/oxc-project"
6072
  },
6073
  "optionalDependencies": {
6074
+ "@oxc-parser/binding-android-arm-eabi": "0.156.0",
6075
+ "@oxc-parser/binding-android-arm64": "0.156.0",
6076
+ "@oxc-parser/binding-darwin-arm64": "0.156.0",
6077
+ "@oxc-parser/binding-darwin-x64": "0.156.0",
6078
+ "@oxc-parser/binding-freebsd-x64": "0.156.0",
6079
+ "@oxc-parser/binding-linux-arm-gnueabihf": "0.156.0",
6080
+ "@oxc-parser/binding-linux-arm-musleabihf": "0.156.0",
6081
+ "@oxc-parser/binding-linux-arm64-gnu": "0.156.0",
6082
+ "@oxc-parser/binding-linux-arm64-musl": "0.156.0",
6083
+ "@oxc-parser/binding-linux-ppc64-gnu": "0.156.0",
6084
+ "@oxc-parser/binding-linux-riscv64-gnu": "0.156.0",
6085
+ "@oxc-parser/binding-linux-riscv64-musl": "0.156.0",
6086
+ "@oxc-parser/binding-linux-s390x-gnu": "0.156.0",
6087
+ "@oxc-parser/binding-linux-x64-gnu": "0.156.0",
6088
+ "@oxc-parser/binding-linux-x64-musl": "0.156.0",
6089
+ "@oxc-parser/binding-openharmony-arm64": "0.156.0",
6090
+ "@oxc-parser/binding-win32-arm64-msvc": "0.156.0",
6091
+ "@oxc-parser/binding-win32-ia32-msvc": "0.156.0",
6092
+ "@oxc-parser/binding-win32-x64-msvc": "0.156.0"
 
 
 
 
 
 
 
 
 
 
6093
  }
6094
  },
6095
  "node_modules/oxc-resolver": {
 
6634
  }
6635
  },
6636
  "node_modules/rate-limiter-flexible": {
6637
+ "version": "11.4.0",
6638
+ "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-11.4.0.tgz",
6639
+ "integrity": "sha512-+RyuiXEG3odp5c9aZP83H8cld0L7swvz1FxlVzy/7N4zYo4i0GDy5tBhZlPFFOdXXwEilyBREKbVIKDq5bfjlw==",
6640
  "license": "ISC"
6641
  },
6642
  "node_modules/react": {
 
6979
  }
6980
  },
6981
  "node_modules/rollup-plugin-visualizer": {
6982
+ "version": "7.1.3",
6983
+ "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-7.1.3.tgz",
6984
+ "integrity": "sha512-P7G0p9RowDd0ahXXBtx4MOHlSVzclyW5pDeZ2Z0HensWSI9vJdu2bqdZDsD375g+0AxND8VJzWYuKD9yH38etw==",
6985
  "license": "MIT",
6986
  "dependencies": {
6987
  "open": "^11.0.0",
package.json CHANGED
@@ -66,7 +66,7 @@
66
  "embla-carousel-react": "^8.3.0",
67
  "franc-min": "^6.2.0",
68
  "gpt-tokenizer": "^4.0.0",
69
- "hash-wasm": "4.12.0",
70
  "helper-git-hash": "^1.0.0",
71
  "html-to-text": "^10.0.0",
72
  "http-compression": "^1.0.20",
 
66
  "embla-carousel-react": "^8.3.0",
67
  "franc-min": "^6.2.0",
68
  "gpt-tokenizer": "^4.0.0",
69
+ "hash-wasm": "4.13.0",
70
  "helper-git-hash": "^1.0.0",
71
  "html-to-text": "^10.0.0",
72
  "http-compression": "^1.0.20",