fix tokens (#75)
Browse filesCo-authored-by: Victor Muštar (aider) <[email protected]>
- package.json +1 -0
- pnpm-lock.yaml +449 -0
- src/lib/components/inference-playground/conversation-header.svelte +2 -2
- src/lib/components/inference-playground/model-selector-modal.svelte +2 -2
- src/lib/components/inference-playground/model-selector.svelte +2 -3
- src/lib/components/inference-playground/playground.svelte +13 -6
- src/lib/components/inference-playground/utils.ts +41 -6
- src/lib/state/models.svelte.ts +2 -2
- src/lib/state/session.svelte.ts +2 -3
- src/lib/types.ts +5 -5
- src/routes/+page.ts +2 -2
- src/routes/api/models/+server.ts +5 -76
package.json
CHANGED
@@ -18,6 +18,7 @@
|
|
18 |
"@eslint/js": "^9.22.0",
|
19 |
"@floating-ui/dom": "^1.6.13",
|
20 |
"@huggingface/hub": "^1.0.1",
|
|
|
21 |
"@huggingface/inference": "^3.5.1",
|
22 |
"@huggingface/tasks": "^0.17.1",
|
23 |
"@iconify-json/carbon": "^1.2.8",
|
|
|
18 |
"@eslint/js": "^9.22.0",
|
19 |
"@floating-ui/dom": "^1.6.13",
|
20 |
"@huggingface/hub": "^1.0.1",
|
21 |
+
"@huggingface/transformers": "^3.4.2",
|
22 |
"@huggingface/inference": "^3.5.1",
|
23 |
"@huggingface/tasks": "^0.17.1",
|
24 |
"@iconify-json/carbon": "^1.2.8",
|
pnpm-lock.yaml
CHANGED
@@ -33,6 +33,9 @@ importers:
|
|
33 |
'@huggingface/tasks':
|
34 |
specifier: ^0.17.1
|
35 |
version: 0.17.1
|
|
|
|
|
|
|
36 |
'@iconify-json/carbon':
|
37 |
specifier: ^1.2.8
|
38 |
version: 1.2.8
|
@@ -152,6 +155,9 @@ packages:
|
|
152 |
'@antfu/[email protected]':
|
153 |
resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
|
154 |
|
|
|
|
|
|
|
155 |
'@esbuild/[email protected]':
|
156 |
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
|
157 |
engines: {node: '>=12'}
|
@@ -495,12 +501,19 @@ packages:
|
|
495 |
resolution: {integrity: sha512-NwTj5MS1eb4HfSp/O1/PyH1bEhTXl/iFh/K+8yYkUTHtK4AHXi/NDsV2LblhACaTEIhpOpYswL9cZx7z3y1tlg==}
|
496 |
engines: {node: '>=18'}
|
497 |
|
|
|
|
|
|
|
|
|
498 |
'@huggingface/[email protected]':
|
499 |
resolution: {integrity: sha512-cbnZcpMHKdhURWIplVP4obHxAZcxjyRm0zI7peTPksZN4CtIOMmJC4ZqGEymo0lk+0VNkXD7ULwFJ3JjT/VpkQ==}
|
500 |
|
501 |
'@huggingface/[email protected]':
|
502 |
resolution: {integrity: sha512-kN5F/pzwxtmdZ0jORumNyegNKOX/ciU5G/DMZcqK3SJShod4C6yfvBRCMn5sEDzanxtU8VjX+7TaInQFmmU8Nw==}
|
503 |
|
|
|
|
|
|
|
504 |
'@humanfs/[email protected]':
|
505 |
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
|
506 |
engines: {node: '>=18.18.0'}
|
@@ -533,6 +546,115 @@ packages:
|
|
533 |
'@iconify/[email protected]':
|
534 |
resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
|
535 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
'@jest/[email protected]':
|
537 |
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
|
538 |
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
@@ -574,6 +696,36 @@ packages:
|
|
574 |
'@polka/[email protected]':
|
575 |
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
|
576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
577 |
'@rollup/[email protected]':
|
578 |
resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==}
|
579 |
engines: {node: '>=16.0.0 || 14 >= 14.17'}
|
@@ -998,6 +1150,10 @@ packages:
|
|
998 |
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
|
999 |
engines: {node: '>= 14.16.0'}
|
1000 |
|
|
|
|
|
|
|
|
|
1001 | |
1002 |
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
|
1003 |
engines: {node: '>=8'}
|
@@ -1025,6 +1181,13 @@ packages:
|
|
1025 | |
1026 |
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
1027 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1028 | |
1029 |
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
1030 |
engines: {node: '>= 0.8'}
|
@@ -1107,6 +1270,10 @@ packages:
|
|
1107 |
engines: {node: '>=0.10'}
|
1108 |
hasBin: true
|
1109 |
|
|
|
|
|
|
|
|
|
1110 | |
1111 |
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
|
1112 |
|
@@ -1324,6 +1491,9 @@ packages:
|
|
1324 |
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
|
1325 |
engines: {node: '>=16'}
|
1326 |
|
|
|
|
|
|
|
1327 | |
1328 |
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
|
1329 |
|
@@ -1388,6 +1558,9 @@ packages:
|
|
1388 | |
1389 |
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
1390 |
|
|
|
|
|
|
|
1391 | |
1392 |
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
1393 |
engines: {node: '>=8'}
|
@@ -1448,6 +1621,9 @@ packages:
|
|
1448 |
resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
|
1449 |
engines: {node: '>=12.0.0'}
|
1450 |
|
|
|
|
|
|
|
1451 | |
1452 |
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
|
1453 |
engines: {node: '>= 0.4'}
|
@@ -1639,6 +1815,9 @@ packages:
|
|
1639 |
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
|
1640 |
engines: {node: '>=10'}
|
1641 |
|
|
|
|
|
|
|
1642 | |
1643 |
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
1644 |
|
@@ -1682,6 +1861,19 @@ packages:
|
|
1682 | |
1683 |
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
1684 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1685 | |
1686 |
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
|
1687 |
|
@@ -1729,6 +1921,19 @@ packages:
|
|
1729 |
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
1730 |
engines: {node: '>=6'}
|
1731 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1732 | |
1733 |
resolution: {integrity: sha512-YCuHMMycqtCg1B8G9ezkOF0j8UnBWD3Al/zYaelpuXwU1yhCEv+Y4n9G20MnyGy6cH4GsFwOMrgstQ+bgG1PtA==}
|
1734 |
hasBin: true
|
@@ -1818,6 +2023,9 @@ packages:
|
|
1818 | |
1819 |
resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==}
|
1820 |
|
|
|
|
|
|
|
1821 | |
1822 |
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
|
1823 |
engines: {node: '>= 10'}
|
@@ -1928,6 +2136,10 @@ packages:
|
|
1928 |
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
|
1929 |
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
1930 |
|
|
|
|
|
|
|
|
|
1931 | |
1932 |
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
1933 |
engines: {node: '>=6'}
|
@@ -2021,6 +2233,10 @@ packages:
|
|
2021 | |
2022 |
resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
|
2023 |
|
|
|
|
|
|
|
|
|
2024 | |
2025 |
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
2026 |
engines: {node: '>=8'}
|
@@ -2032,6 +2248,9 @@ packages:
|
|
2032 | |
2033 |
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
2034 |
|
|
|
|
|
|
|
2035 | |
2036 |
resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
|
2037 |
engines: {node: '>=18'}
|
@@ -2098,6 +2317,10 @@ packages:
|
|
2098 |
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
2099 |
engines: {node: '>=6'}
|
2100 |
|
|
|
|
|
|
|
|
|
2101 | |
2102 |
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
2103 |
|
@@ -2331,6 +2554,10 @@ packages:
|
|
2331 |
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
|
2332 |
engines: {node: '>=8'}
|
2333 |
|
|
|
|
|
|
|
|
|
2334 | |
2335 |
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
2336 |
engines: {node: '>= 6'}
|
@@ -2367,6 +2594,11 @@ snapshots:
|
|
2367 |
|
2368 |
'@antfu/[email protected]': {}
|
2369 |
|
|
|
|
|
|
|
|
|
|
|
2370 |
'@esbuild/[email protected]':
|
2371 |
optional: true
|
2372 |
|
@@ -2574,10 +2806,19 @@ snapshots:
|
|
2574 |
dependencies:
|
2575 |
'@huggingface/tasks': 0.17.1
|
2576 |
|
|
|
|
|
2577 |
'@huggingface/[email protected]': {}
|
2578 |
|
2579 |
'@huggingface/[email protected]': {}
|
2580 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2581 |
'@humanfs/[email protected]': {}
|
2582 |
|
2583 |
'@humanfs/[email protected]':
|
@@ -2614,6 +2855,85 @@ snapshots:
|
|
2614 |
transitivePeerDependencies:
|
2615 |
- supports-color
|
2616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2617 |
'@jest/[email protected]':
|
2618 |
dependencies:
|
2619 |
'@sinclair/typebox': 0.27.8
|
@@ -2651,6 +2971,29 @@ snapshots:
|
|
2651 |
|
2652 |
'@polka/[email protected]': {}
|
2653 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2654 |
'@rollup/[email protected]([email protected])':
|
2655 |
dependencies:
|
2656 |
'@rollup/pluginutils': 5.1.4([email protected])
|
@@ -3085,6 +3428,8 @@ snapshots:
|
|
3085 |
dependencies:
|
3086 |
readdirp: 4.1.2
|
3087 |
|
|
|
|
|
3088 | |
3089 |
dependencies:
|
3090 |
restore-cursor: 3.1.0
|
@@ -3103,6 +3448,16 @@ snapshots:
|
|
3103 |
|
3104 | |
3105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3106 | |
3107 |
dependencies:
|
3108 |
delayed-stream: 1.0.0
|
@@ -3161,6 +3516,8 @@ snapshots:
|
|
3161 |
|
3162 | |
3163 |
|
|
|
|
|
3164 | |
3165 |
|
3166 | |
@@ -3436,6 +3793,8 @@ snapshots:
|
|
3436 |
flatted: 3.3.3
|
3437 |
keyv: 4.5.4
|
3438 |
|
|
|
|
|
3439 | |
3440 |
|
3441 | |
@@ -3501,6 +3860,8 @@ snapshots:
|
|
3501 |
|
3502 | |
3503 |
|
|
|
|
|
3504 | |
3505 |
|
3506 | |
@@ -3560,6 +3921,8 @@ snapshots:
|
|
3560 |
through: 2.3.8
|
3561 |
wrap-ansi: 6.2.0
|
3562 |
|
|
|
|
|
3563 | |
3564 |
dependencies:
|
3565 |
hasown: 2.0.2
|
@@ -3716,6 +4079,8 @@ snapshots:
|
|
3716 |
chalk: 4.1.2
|
3717 |
is-unicode-supported: 0.1.0
|
3718 |
|
|
|
|
|
3719 | |
3720 |
dependencies:
|
3721 |
'@jridgewell/sourcemap-codec': 1.5.0
|
@@ -3756,6 +4121,14 @@ snapshots:
|
|
3756 |
|
3757 | |
3758 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3759 | |
3760 |
dependencies:
|
3761 |
acorn: 8.14.0
|
@@ -3787,6 +4160,24 @@ snapshots:
|
|
3787 |
dependencies:
|
3788 |
mimic-fn: 2.1.0
|
3789 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3790 | |
3791 |
dependencies:
|
3792 |
'@types/node': 18.19.84
|
@@ -3880,6 +4271,8 @@ snapshots:
|
|
3880 |
exsolve: 1.0.4
|
3881 |
pathe: 2.0.3
|
3882 |
|
|
|
|
|
3883 | |
3884 |
dependencies:
|
3885 |
lilconfig: 2.1.0
|
@@ -3931,6 +4324,21 @@ snapshots:
|
|
3931 |
ansi-styles: 5.2.0
|
3932 |
react-is: 18.3.1
|
3933 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3934 | |
3935 |
|
3936 | |
@@ -4028,6 +4436,32 @@ snapshots:
|
|
4028 |
|
4029 | |
4030 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4031 | |
4032 |
dependencies:
|
4033 |
shebang-regex: 3.0.0
|
@@ -4036,6 +4470,10 @@ snapshots:
|
|
4036 |
|
4037 | |
4038 |
|
|
|
|
|
|
|
|
|
4039 | |
4040 |
dependencies:
|
4041 |
'@polka/url': 1.0.0-next.28
|
@@ -4117,6 +4555,15 @@ snapshots:
|
|
4117 |
|
4118 | |
4119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4120 | |
4121 |
|
4122 | |
@@ -4279,6 +4726,8 @@ snapshots:
|
|
4279 |
string-width: 4.2.3
|
4280 |
strip-ansi: 6.0.1
|
4281 |
|
|
|
|
|
4282 | |
4283 |
|
4284 |
|
|
33 |
'@huggingface/tasks':
|
34 |
specifier: ^0.17.1
|
35 |
version: 0.17.1
|
36 |
+
'@huggingface/transformers':
|
37 |
+
specifier: ^3.4.2
|
38 |
+
version: 3.4.2
|
39 |
'@iconify-json/carbon':
|
40 |
specifier: ^1.2.8
|
41 |
version: 1.2.8
|
|
|
155 |
'@antfu/[email protected]':
|
156 |
resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==}
|
157 |
|
158 |
+
'@emnapi/[email protected]':
|
159 |
+
resolution: {integrity: sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==}
|
160 |
+
|
161 |
'@esbuild/[email protected]':
|
162 |
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
|
163 |
engines: {node: '>=12'}
|
|
|
501 |
resolution: {integrity: sha512-NwTj5MS1eb4HfSp/O1/PyH1bEhTXl/iFh/K+8yYkUTHtK4AHXi/NDsV2LblhACaTEIhpOpYswL9cZx7z3y1tlg==}
|
502 |
engines: {node: '>=18'}
|
503 |
|
504 |
+
'@huggingface/[email protected]':
|
505 |
+
resolution: {integrity: sha512-vQQr2JyWvVFba3Lj9es4q9vCl1sAc74fdgnEMoX8qHrXtswap9ge9uO3ONDzQB0cQ0PUyaKY2N6HaVbTBvSXvw==}
|
506 |
+
engines: {node: '>=18'}
|
507 |
+
|
508 |
'@huggingface/[email protected]':
|
509 |
resolution: {integrity: sha512-cbnZcpMHKdhURWIplVP4obHxAZcxjyRm0zI7peTPksZN4CtIOMmJC4ZqGEymo0lk+0VNkXD7ULwFJ3JjT/VpkQ==}
|
510 |
|
511 |
'@huggingface/[email protected]':
|
512 |
resolution: {integrity: sha512-kN5F/pzwxtmdZ0jORumNyegNKOX/ciU5G/DMZcqK3SJShod4C6yfvBRCMn5sEDzanxtU8VjX+7TaInQFmmU8Nw==}
|
513 |
|
514 |
+
'@huggingface/[email protected]':
|
515 |
+
resolution: {integrity: sha512-B7K7SCkpqjlfhrV0z18icmnCqgdU2zq+gI3ttBRQ8xl6mIzfxeeKht/vCa8y7pbewY/hJmirKdQClpw0IUaSaw==}
|
516 |
+
|
517 |
'@humanfs/[email protected]':
|
518 |
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
|
519 |
engines: {node: '>=18.18.0'}
|
|
|
546 |
'@iconify/[email protected]':
|
547 |
resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==}
|
548 |
|
549 |
+
'@img/[email protected]':
|
550 |
+
resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
|
551 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
552 |
+
cpu: [arm64]
|
553 |
+
os: [darwin]
|
554 |
+
|
555 |
+
'@img/[email protected]':
|
556 |
+
resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
|
557 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
558 |
+
cpu: [x64]
|
559 |
+
os: [darwin]
|
560 |
+
|
561 |
+
'@img/[email protected]':
|
562 |
+
resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
|
563 |
+
cpu: [arm64]
|
564 |
+
os: [darwin]
|
565 |
+
|
566 |
+
'@img/[email protected]':
|
567 |
+
resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
|
568 |
+
cpu: [x64]
|
569 |
+
os: [darwin]
|
570 |
+
|
571 |
+
'@img/[email protected]':
|
572 |
+
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
|
573 |
+
cpu: [arm64]
|
574 |
+
os: [linux]
|
575 |
+
|
576 |
+
'@img/[email protected]':
|
577 |
+
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
|
578 |
+
cpu: [arm]
|
579 |
+
os: [linux]
|
580 |
+
|
581 |
+
'@img/[email protected]':
|
582 |
+
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
|
583 |
+
cpu: [s390x]
|
584 |
+
os: [linux]
|
585 |
+
|
586 |
+
'@img/[email protected]':
|
587 |
+
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
|
588 |
+
cpu: [x64]
|
589 |
+
os: [linux]
|
590 |
+
|
591 |
+
'@img/[email protected]':
|
592 |
+
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
|
593 |
+
cpu: [arm64]
|
594 |
+
os: [linux]
|
595 |
+
|
596 |
+
'@img/[email protected]':
|
597 |
+
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
|
598 |
+
cpu: [x64]
|
599 |
+
os: [linux]
|
600 |
+
|
601 |
+
'@img/[email protected]':
|
602 |
+
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
|
603 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
604 |
+
cpu: [arm64]
|
605 |
+
os: [linux]
|
606 |
+
|
607 |
+
'@img/[email protected]':
|
608 |
+
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
|
609 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
610 |
+
cpu: [arm]
|
611 |
+
os: [linux]
|
612 |
+
|
613 |
+
'@img/[email protected]':
|
614 |
+
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
|
615 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
616 |
+
cpu: [s390x]
|
617 |
+
os: [linux]
|
618 |
+
|
619 |
+
'@img/[email protected]':
|
620 |
+
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
|
621 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
622 |
+
cpu: [x64]
|
623 |
+
os: [linux]
|
624 |
+
|
625 |
+
'@img/[email protected]':
|
626 |
+
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
|
627 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
628 |
+
cpu: [arm64]
|
629 |
+
os: [linux]
|
630 |
+
|
631 |
+
'@img/[email protected]':
|
632 |
+
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
|
633 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
634 |
+
cpu: [x64]
|
635 |
+
os: [linux]
|
636 |
+
|
637 |
+
'@img/[email protected]':
|
638 |
+
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
|
639 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
640 |
+
cpu: [wasm32]
|
641 |
+
|
642 |
+
'@img/[email protected]':
|
643 |
+
resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
|
644 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
645 |
+
cpu: [ia32]
|
646 |
+
os: [win32]
|
647 |
+
|
648 |
+
'@img/[email protected]':
|
649 |
+
resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
|
650 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
651 |
+
cpu: [x64]
|
652 |
+
os: [win32]
|
653 |
+
|
654 |
+
'@isaacs/[email protected]':
|
655 |
+
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
|
656 |
+
engines: {node: '>=18.0.0'}
|
657 |
+
|
658 |
'@jest/[email protected]':
|
659 |
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
|
660 |
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
|
696 |
'@polka/[email protected]':
|
697 |
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
|
698 |
|
699 |
+
'@protobufjs/[email protected]':
|
700 |
+
resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
|
701 |
+
|
702 |
+
'@protobufjs/[email protected]':
|
703 |
+
resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
|
704 |
+
|
705 |
+
'@protobufjs/[email protected]':
|
706 |
+
resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
|
707 |
+
|
708 |
+
'@protobufjs/[email protected]':
|
709 |
+
resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
|
710 |
+
|
711 |
+
'@protobufjs/[email protected]':
|
712 |
+
resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
|
713 |
+
|
714 |
+
'@protobufjs/[email protected]':
|
715 |
+
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
|
716 |
+
|
717 |
+
'@protobufjs/[email protected]':
|
718 |
+
resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
|
719 |
+
|
720 |
+
'@protobufjs/[email protected]':
|
721 |
+
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
|
722 |
+
|
723 |
+
'@protobufjs/[email protected]':
|
724 |
+
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
|
725 |
+
|
726 |
+
'@protobufjs/[email protected]':
|
727 |
+
resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
|
728 |
+
|
729 |
'@rollup/[email protected]':
|
730 |
resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==}
|
731 |
engines: {node: '>=16.0.0 || 14 >= 14.17'}
|
|
|
1150 |
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
|
1151 |
engines: {node: '>= 14.16.0'}
|
1152 |
|
1153 | |
1154 |
+
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
1155 |
+
engines: {node: '>=18'}
|
1156 |
+
|
1157 | |
1158 |
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
|
1159 |
engines: {node: '>=8'}
|
|
|
1181 | |
1182 |
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
1183 |
|
1184 | |
1185 |
+
resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
|
1186 |
+
|
1187 | |
1188 |
+
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
1189 |
+
engines: {node: '>=12.5.0'}
|
1190 |
+
|
1191 | |
1192 |
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
1193 |
engines: {node: '>= 0.8'}
|
|
|
1270 |
engines: {node: '>=0.10'}
|
1271 |
hasBin: true
|
1272 |
|
1273 | |
1274 |
+
resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
|
1275 |
+
engines: {node: '>=8'}
|
1276 |
+
|
1277 | |
1278 |
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
|
1279 |
|
|
|
1491 |
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
|
1492 |
engines: {node: '>=16'}
|
1493 |
|
1494 | |
1495 |
+
resolution: {integrity: sha512-7JlN9ZvLDG1McO3kbX0k4v+SUAg48L1rIwEvN6ZQl/eCtgJz9UylTMzE9wrmYrcorgxm3CX/3T/w5VAub99UUw==}
|
1496 |
+
|
1497 | |
1498 |
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
|
1499 |
|
|
|
1558 | |
1559 |
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
1560 |
|
1561 | |
1562 |
+
resolution: {integrity: sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==}
|
1563 |
+
|
1564 | |
1565 |
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
1566 |
engines: {node: '>=8'}
|
|
|
1621 |
resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
|
1622 |
engines: {node: '>=12.0.0'}
|
1623 |
|
1624 | |
1625 |
+
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
|
1626 |
+
|
1627 | |
1628 |
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
|
1629 |
engines: {node: '>= 0.4'}
|
|
|
1815 |
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
|
1816 |
engines: {node: '>=10'}
|
1817 |
|
1818 | |
1819 |
+
resolution: {integrity: sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==}
|
1820 |
+
|
1821 | |
1822 |
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
1823 |
|
|
|
1861 | |
1862 |
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
1863 |
|
1864 | |
1865 |
+
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
|
1866 |
+
engines: {node: '>=16 || 14 >=14.17'}
|
1867 |
+
|
1868 | |
1869 |
+
resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
|
1870 |
+
engines: {node: '>= 18'}
|
1871 |
+
|
1872 | |
1873 |
+
resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
|
1874 |
+
engines: {node: '>=10'}
|
1875 |
+
hasBin: true
|
1876 |
+
|
1877 | |
1878 |
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
|
1879 |
|
|
|
1921 |
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
1922 |
engines: {node: '>=6'}
|
1923 |
|
1924 | |
1925 |
+
resolution: {integrity: sha512-YiU0s0IzYYC+gWvqD1HzLc46Du1sXpSiwzKb63PACIJr6LfL27VsXSXQvt68EzD3V0D5Bc0vyJTjmMxp0ylQiw==}
|
1926 |
+
|
1927 | |
1928 |
+
resolution: {integrity: sha512-NfIQnW4lIk/8LnhnYqknYPeet0U0+AADgKQRlKex36QrNoVSCY+aNaX6wyy2VzQ4CNWxsYh0E203ajRD/zxn0g==}
|
1929 |
+
|
1930 | |
1931 |
+
resolution: {integrity: sha512-di/I4HDXRw+FLgq+TyHmQEDd3cEp9iFFZm0r4uJ1Wd7b/WE1VXtKWo8yemex347c6GNF/3Pv86ZfPhIWxORr0w==}
|
1932 |
+
os: [win32, darwin, linux]
|
1933 |
+
|
1934 | |
1935 |
+
resolution: {integrity: sha512-YwqS9Qqx2eKFXIx+HQloqRUG5/STHPUuNk8wn+qVVmwXBIfNdXX0/Lm7wgo5CnC2k+yqZmjDV5V1dZi4PeSPGQ==}
|
1936 |
+
|
1937 | |
1938 |
resolution: {integrity: sha512-YCuHMMycqtCg1B8G9ezkOF0j8UnBWD3Al/zYaelpuXwU1yhCEv+Y4n9G20MnyGy6cH4GsFwOMrgstQ+bgG1PtA==}
|
1939 |
hasBin: true
|
|
|
2023 | |
2024 |
resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==}
|
2025 |
|
2026 | |
2027 |
+
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
|
2028 |
+
|
2029 | |
2030 |
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
|
2031 |
engines: {node: '>= 10'}
|
|
|
2136 |
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
|
2137 |
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
2138 |
|
2139 | |
2140 |
+
resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==}
|
2141 |
+
engines: {node: '>=12.0.0'}
|
2142 |
+
|
2143 | |
2144 |
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
2145 |
engines: {node: '>=6'}
|
|
|
2233 | |
2234 |
resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
|
2235 |
|
2236 | |
2237 |
+
resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
|
2238 |
+
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
2239 |
+
|
2240 | |
2241 |
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
2242 |
engines: {node: '>=8'}
|
|
|
2248 | |
2249 |
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
2250 |
|
2251 | |
2252 |
+
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
|
2253 |
+
|
2254 | |
2255 |
resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
|
2256 |
engines: {node: '>=18'}
|
|
|
2317 |
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
2318 |
engines: {node: '>=6'}
|
2319 |
|
2320 | |
2321 |
+
resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
|
2322 |
+
engines: {node: '>=18'}
|
2323 |
+
|
2324 | |
2325 |
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
2326 |
|
|
|
2554 |
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
|
2555 |
engines: {node: '>=8'}
|
2556 |
|
2557 | |
2558 |
+
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
|
2559 |
+
engines: {node: '>=18'}
|
2560 |
+
|
2561 | |
2562 |
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
2563 |
engines: {node: '>= 6'}
|
|
|
2594 |
|
2595 |
'@antfu/[email protected]': {}
|
2596 |
|
2597 |
+
'@emnapi/[email protected]':
|
2598 |
+
dependencies:
|
2599 |
+
tslib: 2.8.1
|
2600 |
+
optional: true
|
2601 |
+
|
2602 |
'@esbuild/[email protected]':
|
2603 |
optional: true
|
2604 |
|
|
|
2806 |
dependencies:
|
2807 |
'@huggingface/tasks': 0.17.1
|
2808 |
|
2809 |
+
'@huggingface/[email protected]': {}
|
2810 |
+
|
2811 |
'@huggingface/[email protected]': {}
|
2812 |
|
2813 |
'@huggingface/[email protected]': {}
|
2814 |
|
2815 |
+
'@huggingface/[email protected]':
|
2816 |
+
dependencies:
|
2817 |
+
'@huggingface/jinja': 0.3.3
|
2818 |
+
onnxruntime-node: 1.20.1
|
2819 |
+
onnxruntime-web: 1.22.0-dev.20250306-ccf8fdd9ea
|
2820 |
+
sharp: 0.33.5
|
2821 |
+
|
2822 |
'@humanfs/[email protected]': {}
|
2823 |
|
2824 |
'@humanfs/[email protected]':
|
|
|
2855 |
transitivePeerDependencies:
|
2856 |
- supports-color
|
2857 |
|
2858 |
+
'@img/[email protected]':
|
2859 |
+
optionalDependencies:
|
2860 |
+
'@img/sharp-libvips-darwin-arm64': 1.0.4
|
2861 |
+
optional: true
|
2862 |
+
|
2863 |
+
'@img/[email protected]':
|
2864 |
+
optionalDependencies:
|
2865 |
+
'@img/sharp-libvips-darwin-x64': 1.0.4
|
2866 |
+
optional: true
|
2867 |
+
|
2868 |
+
'@img/[email protected]':
|
2869 |
+
optional: true
|
2870 |
+
|
2871 |
+
'@img/[email protected]':
|
2872 |
+
optional: true
|
2873 |
+
|
2874 |
+
'@img/[email protected]':
|
2875 |
+
optional: true
|
2876 |
+
|
2877 |
+
'@img/[email protected]':
|
2878 |
+
optional: true
|
2879 |
+
|
2880 |
+
'@img/[email protected]':
|
2881 |
+
optional: true
|
2882 |
+
|
2883 |
+
'@img/[email protected]':
|
2884 |
+
optional: true
|
2885 |
+
|
2886 |
+
'@img/[email protected]':
|
2887 |
+
optional: true
|
2888 |
+
|
2889 |
+
'@img/[email protected]':
|
2890 |
+
optional: true
|
2891 |
+
|
2892 |
+
'@img/[email protected]':
|
2893 |
+
optionalDependencies:
|
2894 |
+
'@img/sharp-libvips-linux-arm64': 1.0.4
|
2895 |
+
optional: true
|
2896 |
+
|
2897 |
+
'@img/[email protected]':
|
2898 |
+
optionalDependencies:
|
2899 |
+
'@img/sharp-libvips-linux-arm': 1.0.5
|
2900 |
+
optional: true
|
2901 |
+
|
2902 |
+
'@img/[email protected]':
|
2903 |
+
optionalDependencies:
|
2904 |
+
'@img/sharp-libvips-linux-s390x': 1.0.4
|
2905 |
+
optional: true
|
2906 |
+
|
2907 |
+
'@img/[email protected]':
|
2908 |
+
optionalDependencies:
|
2909 |
+
'@img/sharp-libvips-linux-x64': 1.0.4
|
2910 |
+
optional: true
|
2911 |
+
|
2912 |
+
'@img/[email protected]':
|
2913 |
+
optionalDependencies:
|
2914 |
+
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
|
2915 |
+
optional: true
|
2916 |
+
|
2917 |
+
'@img/[email protected]':
|
2918 |
+
optionalDependencies:
|
2919 |
+
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
|
2920 |
+
optional: true
|
2921 |
+
|
2922 |
+
'@img/[email protected]':
|
2923 |
+
dependencies:
|
2924 |
+
'@emnapi/runtime': 1.4.0
|
2925 |
+
optional: true
|
2926 |
+
|
2927 |
+
'@img/[email protected]':
|
2928 |
+
optional: true
|
2929 |
+
|
2930 |
+
'@img/[email protected]':
|
2931 |
+
optional: true
|
2932 |
+
|
2933 |
+
'@isaacs/[email protected]':
|
2934 |
+
dependencies:
|
2935 |
+
minipass: 7.1.2
|
2936 |
+
|
2937 |
'@jest/[email protected]':
|
2938 |
dependencies:
|
2939 |
'@sinclair/typebox': 0.27.8
|
|
|
2971 |
|
2972 |
'@polka/[email protected]': {}
|
2973 |
|
2974 |
+
'@protobufjs/[email protected]': {}
|
2975 |
+
|
2976 |
+
'@protobufjs/[email protected]': {}
|
2977 |
+
|
2978 |
+
'@protobufjs/[email protected]': {}
|
2979 |
+
|
2980 |
+
'@protobufjs/[email protected]': {}
|
2981 |
+
|
2982 |
+
'@protobufjs/[email protected]':
|
2983 |
+
dependencies:
|
2984 |
+
'@protobufjs/aspromise': 1.1.2
|
2985 |
+
'@protobufjs/inquire': 1.1.0
|
2986 |
+
|
2987 |
+
'@protobufjs/[email protected]': {}
|
2988 |
+
|
2989 |
+
'@protobufjs/[email protected]': {}
|
2990 |
+
|
2991 |
+
'@protobufjs/[email protected]': {}
|
2992 |
+
|
2993 |
+
'@protobufjs/[email protected]': {}
|
2994 |
+
|
2995 |
+
'@protobufjs/[email protected]': {}
|
2996 |
+
|
2997 |
'@rollup/[email protected]([email protected])':
|
2998 |
dependencies:
|
2999 |
'@rollup/pluginutils': 5.1.4([email protected])
|
|
|
3428 |
dependencies:
|
3429 |
readdirp: 4.1.2
|
3430 |
|
3431 |
+
[email protected]: {}
|
3432 |
+
|
3433 | |
3434 |
dependencies:
|
3435 |
restore-cursor: 3.1.0
|
|
|
3448 |
|
3449 | |
3450 |
|
3451 | |
3452 |
+
dependencies:
|
3453 |
+
color-name: 1.1.4
|
3454 |
+
simple-swizzle: 0.2.2
|
3455 |
+
|
3456 | |
3457 |
+
dependencies:
|
3458 |
+
color-convert: 2.0.1
|
3459 |
+
color-string: 1.9.1
|
3460 |
+
|
3461 | |
3462 |
dependencies:
|
3463 |
delayed-stream: 1.0.0
|
|
|
3516 |
|
3517 | |
3518 |
|
3519 |
+
[email protected]: {}
|
3520 |
+
|
3521 | |
3522 |
|
3523 | |
|
|
3793 |
flatted: 3.3.3
|
3794 |
keyv: 4.5.4
|
3795 |
|
3796 |
+
[email protected]: {}
|
3797 |
+
|
3798 | |
3799 |
|
3800 | |
|
|
3860 |
|
3861 | |
3862 |
|
3863 |
+
[email protected]: {}
|
3864 |
+
|
3865 | |
3866 |
|
3867 | |
|
|
3921 |
through: 2.3.8
|
3922 |
wrap-ansi: 6.2.0
|
3923 |
|
3924 |
+
[email protected]: {}
|
3925 |
+
|
3926 | |
3927 |
dependencies:
|
3928 |
hasown: 2.0.2
|
|
|
4079 |
chalk: 4.1.2
|
4080 |
is-unicode-supported: 0.1.0
|
4081 |
|
4082 |
+
[email protected]: {}
|
4083 |
+
|
4084 | |
4085 |
dependencies:
|
4086 |
'@jridgewell/sourcemap-codec': 1.5.0
|
|
|
4121 |
|
4122 | |
4123 |
|
4124 |
+
[email protected]: {}
|
4125 |
+
|
4126 | |
4127 |
+
dependencies:
|
4128 |
+
minipass: 7.1.2
|
4129 |
+
|
4130 |
+
[email protected]: {}
|
4131 |
+
|
4132 | |
4133 |
dependencies:
|
4134 |
acorn: 8.14.0
|
|
|
4160 |
dependencies:
|
4161 |
mimic-fn: 2.1.0
|
4162 |
|
4163 |
+
[email protected]: {}
|
4164 |
+
|
4165 |
+
[email protected]: {}
|
4166 |
+
|
4167 | |
4168 |
+
dependencies:
|
4169 |
+
onnxruntime-common: 1.20.1
|
4170 |
+
tar: 7.4.3
|
4171 |
+
|
4172 | |
4173 |
+
dependencies:
|
4174 |
+
flatbuffers: 25.2.10
|
4175 |
+
guid-typescript: 1.0.9
|
4176 |
+
long: 5.3.1
|
4177 |
+
onnxruntime-common: 1.22.0-dev.20250306-aafa8d170a
|
4178 |
+
platform: 1.3.6
|
4179 |
+
protobufjs: 7.4.0
|
4180 |
+
|
4181 | |
4182 |
dependencies:
|
4183 |
'@types/node': 18.19.84
|
|
|
4271 |
exsolve: 1.0.4
|
4272 |
pathe: 2.0.3
|
4273 |
|
4274 |
+
[email protected]: {}
|
4275 |
+
|
4276 | |
4277 |
dependencies:
|
4278 |
lilconfig: 2.1.0
|
|
|
4324 |
ansi-styles: 5.2.0
|
4325 |
react-is: 18.3.1
|
4326 |
|
4327 | |
4328 |
+
dependencies:
|
4329 |
+
'@protobufjs/aspromise': 1.1.2
|
4330 |
+
'@protobufjs/base64': 1.1.2
|
4331 |
+
'@protobufjs/codegen': 2.0.4
|
4332 |
+
'@protobufjs/eventemitter': 1.1.0
|
4333 |
+
'@protobufjs/fetch': 1.1.0
|
4334 |
+
'@protobufjs/float': 1.0.2
|
4335 |
+
'@protobufjs/inquire': 1.1.0
|
4336 |
+
'@protobufjs/path': 1.1.2
|
4337 |
+
'@protobufjs/pool': 1.1.0
|
4338 |
+
'@protobufjs/utf8': 1.1.0
|
4339 |
+
'@types/node': 18.19.84
|
4340 |
+
long: 5.3.1
|
4341 |
+
|
4342 | |
4343 |
|
4344 | |
|
|
4436 |
|
4437 | |
4438 |
|
4439 | |
4440 |
+
dependencies:
|
4441 |
+
color: 4.2.3
|
4442 |
+
detect-libc: 2.0.3
|
4443 |
+
semver: 7.7.1
|
4444 |
+
optionalDependencies:
|
4445 |
+
'@img/sharp-darwin-arm64': 0.33.5
|
4446 |
+
'@img/sharp-darwin-x64': 0.33.5
|
4447 |
+
'@img/sharp-libvips-darwin-arm64': 1.0.4
|
4448 |
+
'@img/sharp-libvips-darwin-x64': 1.0.4
|
4449 |
+
'@img/sharp-libvips-linux-arm': 1.0.5
|
4450 |
+
'@img/sharp-libvips-linux-arm64': 1.0.4
|
4451 |
+
'@img/sharp-libvips-linux-s390x': 1.0.4
|
4452 |
+
'@img/sharp-libvips-linux-x64': 1.0.4
|
4453 |
+
'@img/sharp-libvips-linuxmusl-arm64': 1.0.4
|
4454 |
+
'@img/sharp-libvips-linuxmusl-x64': 1.0.4
|
4455 |
+
'@img/sharp-linux-arm': 0.33.5
|
4456 |
+
'@img/sharp-linux-arm64': 0.33.5
|
4457 |
+
'@img/sharp-linux-s390x': 0.33.5
|
4458 |
+
'@img/sharp-linux-x64': 0.33.5
|
4459 |
+
'@img/sharp-linuxmusl-arm64': 0.33.5
|
4460 |
+
'@img/sharp-linuxmusl-x64': 0.33.5
|
4461 |
+
'@img/sharp-wasm32': 0.33.5
|
4462 |
+
'@img/sharp-win32-ia32': 0.33.5
|
4463 |
+
'@img/sharp-win32-x64': 0.33.5
|
4464 |
+
|
4465 | |
4466 |
dependencies:
|
4467 |
shebang-regex: 3.0.0
|
|
|
4470 |
|
4471 | |
4472 |
|
4473 | |
4474 |
+
dependencies:
|
4475 |
+
is-arrayish: 0.3.2
|
4476 |
+
|
4477 | |
4478 |
dependencies:
|
4479 |
'@polka/url': 1.0.0-next.28
|
|
|
4555 |
|
4556 | |
4557 |
|
4558 | |
4559 |
+
dependencies:
|
4560 |
+
'@isaacs/fs-minipass': 4.0.1
|
4561 |
+
chownr: 3.0.0
|
4562 |
+
minipass: 7.1.2
|
4563 |
+
minizlib: 3.0.2
|
4564 |
+
mkdirp: 3.0.1
|
4565 |
+
yallist: 5.0.0
|
4566 |
+
|
4567 | |
4568 |
|
4569 | |
|
|
4726 |
string-width: 4.2.3
|
4727 |
strip-ansi: 6.0.1
|
4728 |
|
4729 |
+
[email protected]: {}
|
4730 |
+
|
4731 | |
4732 |
|
4733 |
src/lib/components/inference-playground/conversation-header.svelte
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import { isConversationWithHFModel, type Conversation, type
|
3 |
|
4 |
import { createEventDispatcher } from "svelte";
|
5 |
|
@@ -21,7 +21,7 @@
|
|
21 |
|
22 |
let modelSelectorOpen = $state(false);
|
23 |
|
24 |
-
function changeModel(newModelId:
|
25 |
const model = models.all.find(m => m.id === newModelId);
|
26 |
if (!model) {
|
27 |
return;
|
|
|
1 |
<script lang="ts">
|
2 |
+
import { isConversationWithHFModel, type Conversation, type Model } from "$lib/types.js";
|
3 |
|
4 |
import { createEventDispatcher } from "svelte";
|
5 |
|
|
|
21 |
|
22 |
let modelSelectorOpen = $state(false);
|
23 |
|
24 |
+
function changeModel(newModelId: Model["id"]) {
|
25 |
const model = models.all.find(m => m.id === newModelId);
|
26 |
if (!model) {
|
27 |
return;
|
src/lib/components/inference-playground/model-selector-modal.svelte
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<script lang="ts">
|
2 |
import { autofocus } from "$lib/actions/autofocus.js";
|
3 |
import { models } from "$lib/state/models.svelte.js";
|
4 |
-
import type { Conversation, CustomModel,
|
5 |
import { noop } from "$lib/utils/noop.js";
|
6 |
import fuzzysearch from "$lib/utils/search.js";
|
7 |
import { sleep } from "$lib/utils/sleep.js";
|
@@ -92,7 +92,7 @@
|
|
92 |
/>
|
93 |
</div>
|
94 |
<div class="max-h-[300px] overflow-x-hidden overflow-y-auto" {...combobox.content} popover={undefined}>
|
95 |
-
{#snippet modelEntry(model:
|
96 |
{@const [nameSpace, modelName] = model.id.split("/")}
|
97 |
<button
|
98 |
class="flex w-full cursor-pointer items-center px-2 py-1.5 text-sm
|
|
|
1 |
<script lang="ts">
|
2 |
import { autofocus } from "$lib/actions/autofocus.js";
|
3 |
import { models } from "$lib/state/models.svelte.js";
|
4 |
+
import type { Conversation, CustomModel, Model } from "$lib/types.js";
|
5 |
import { noop } from "$lib/utils/noop.js";
|
6 |
import fuzzysearch from "$lib/utils/search.js";
|
7 |
import { sleep } from "$lib/utils/sleep.js";
|
|
|
92 |
/>
|
93 |
</div>
|
94 |
<div class="max-h-[300px] overflow-x-hidden overflow-y-auto" {...combobox.content} popover={undefined}>
|
95 |
+
{#snippet modelEntry(model: Model | CustomModel, trending?: boolean)}
|
96 |
{@const [nameSpace, modelName] = model.id.split("/")}
|
97 |
<button
|
98 |
class="flex w-full cursor-pointer items-center px-2 py-1.5 text-sm
|
src/lib/components/inference-playground/model-selector.svelte
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import { isConversationWithHFModel, isCustomModel, type Conversation, type ModelWithTokenizer } from "$lib/types.js";
|
3 |
-
|
4 |
import { models } from "$lib/state/models.svelte.js";
|
|
|
5 |
import IconCaret from "~icons/carbon/chevron-down";
|
6 |
import Avatar from "../avatar.svelte";
|
7 |
import ModelSelectorModal from "./model-selector-modal.svelte";
|
@@ -17,7 +16,7 @@
|
|
17 |
let showModelPickerModal = $state(false);
|
18 |
|
19 |
// Model
|
20 |
-
function changeModel(modelId:
|
21 |
const model = models.all.find(m => m.id === modelId);
|
22 |
if (!model) {
|
23 |
return;
|
|
|
1 |
<script lang="ts">
|
|
|
|
|
2 |
import { models } from "$lib/state/models.svelte.js";
|
3 |
+
import { isConversationWithHFModel, isCustomModel, type Conversation, type Model } from "$lib/types.js";
|
4 |
import IconCaret from "~icons/carbon/chevron-down";
|
5 |
import Avatar from "../avatar.svelte";
|
6 |
import ModelSelectorModal from "./model-selector-modal.svelte";
|
|
|
16 |
let showModelPickerModal = $state(false);
|
17 |
|
18 |
// Model
|
19 |
+
function changeModel(modelId: Model["id"]) {
|
20 |
const model = models.all.find(m => m.id === modelId);
|
21 |
if (!model) {
|
22 |
return;
|
src/lib/components/inference-playground/playground.svelte
CHANGED
@@ -1,13 +1,14 @@
|
|
1 |
<script lang="ts">
|
2 |
-
import { type ConversationMessage, type
|
3 |
|
4 |
-
import { handleNonStreamingResponse, handleStreamingResponse, isSystemPromptSupported } from "./utils.js";
|
5 |
|
6 |
import { AbortManager } from "$lib/spells/abort-manager.svelte.js";
|
7 |
import { models } from "$lib/state/models.svelte.js";
|
8 |
import { session } from "$lib/state/session.svelte.js";
|
9 |
import { token } from "$lib/state/token.svelte.js";
|
10 |
import { isMac } from "$lib/utils/platform.js";
|
|
|
11 |
import typia from "typia";
|
12 |
import IconExternal from "~icons/carbon/arrow-up-right";
|
13 |
import IconCode from "~icons/carbon/code";
|
@@ -48,6 +49,15 @@
|
|
48 |
| [GenerationStatistics, GenerationStatistics]
|
49 |
);
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
const systemPromptSupported = $derived(
|
52 |
session.project.conversations.some(conversation => isSystemPromptSupported(conversation.model))
|
53 |
);
|
@@ -83,9 +93,6 @@
|
|
83 |
conversation.messages = [...conversation.messages, streamingMessage];
|
84 |
addedMessage = true;
|
85 |
}
|
86 |
-
// session.project.conversations[conversationIdx] = conversation;
|
87 |
-
const c = generationStats[conversationIdx];
|
88 |
-
if (c) c.generatedTokensCount += 1;
|
89 |
},
|
90 |
abortManager.createController()
|
91 |
);
|
@@ -176,7 +183,7 @@
|
|
176 |
}
|
177 |
}
|
178 |
|
179 |
-
function addCompareModel(modelId:
|
180 |
const model = models.all.find(m => m.id === modelId);
|
181 |
if (!model || session.project.conversations.length === 2) {
|
182 |
return;
|
|
|
1 |
<script lang="ts">
|
2 |
+
import { type ConversationMessage, type Model, type Project } from "$lib/types.js";
|
3 |
|
4 |
+
import { getTokens, handleNonStreamingResponse, handleStreamingResponse, isSystemPromptSupported } from "./utils.js";
|
5 |
|
6 |
import { AbortManager } from "$lib/spells/abort-manager.svelte.js";
|
7 |
import { models } from "$lib/state/models.svelte.js";
|
8 |
import { session } from "$lib/state/session.svelte.js";
|
9 |
import { token } from "$lib/state/token.svelte.js";
|
10 |
import { isMac } from "$lib/utils/platform.js";
|
11 |
+
import { watch } from "runed";
|
12 |
import typia from "typia";
|
13 |
import IconExternal from "~icons/carbon/arrow-up-right";
|
14 |
import IconCode from "~icons/carbon/code";
|
|
|
49 |
| [GenerationStatistics, GenerationStatistics]
|
50 |
);
|
51 |
|
52 |
+
watch(
|
53 |
+
() => $state.snapshot(session.project),
|
54 |
+
() => {
|
55 |
+
session.project.conversations.forEach(async (c, i) => {
|
56 |
+
generationStats[i] = { latency: 0, ...generationStats[i], generatedTokensCount: await getTokens(c) };
|
57 |
+
});
|
58 |
+
}
|
59 |
+
);
|
60 |
+
|
61 |
const systemPromptSupported = $derived(
|
62 |
session.project.conversations.some(conversation => isSystemPromptSupported(conversation.model))
|
63 |
);
|
|
|
93 |
conversation.messages = [...conversation.messages, streamingMessage];
|
94 |
addedMessage = true;
|
95 |
}
|
|
|
|
|
|
|
96 |
},
|
97 |
abortManager.createController()
|
98 |
);
|
|
|
183 |
}
|
184 |
}
|
185 |
|
186 |
+
function addCompareModel(modelId: Model["id"]) {
|
187 |
const model = models.all.find(m => m.id === modelId);
|
188 |
if (!model || session.project.conversations.length === 2) {
|
189 |
return;
|
src/lib/components/inference-playground/utils.ts
CHANGED
@@ -1,9 +1,10 @@
|
|
|
|
1 |
import {
|
2 |
isCustomModel,
|
3 |
type Conversation,
|
4 |
type ConversationMessage,
|
5 |
type CustomModel,
|
6 |
-
type
|
7 |
} from "$lib/types.js";
|
8 |
import type { ChatCompletionInputMessage, InferenceSnippet } from "@huggingface/tasks";
|
9 |
import { type ChatCompletionOutputMessage } from "@huggingface/tasks";
|
@@ -174,10 +175,9 @@ export async function handleNonStreamingResponse(
|
|
174 |
throw new Error("No response from the model");
|
175 |
}
|
176 |
|
177 |
-
export function isSystemPromptSupported(model:
|
178 |
if (isCustomModel(model)) return true; // OpenAI-compatible models support system messages
|
179 |
-
|
180 |
-
return false;
|
181 |
}
|
182 |
|
183 |
export const defaultSystemMessage: { [key: string]: string } = {
|
@@ -251,7 +251,7 @@ const GET_SNIPPET_FN = {
|
|
251 |
export type GetInferenceSnippetReturn = (InferenceSnippet & { language: InferenceSnippetLanguage })[];
|
252 |
|
253 |
export function getInferenceSnippet(
|
254 |
-
model:
|
255 |
provider: InferenceProvider,
|
256 |
language: InferenceSnippetLanguage,
|
257 |
accessToken: string,
|
@@ -277,10 +277,45 @@ export function getInferenceSnippet(
|
|
277 |
* - If language is defined, the function checks if in an inference snippet is available for that specific language
|
278 |
*/
|
279 |
export function hasInferenceSnippet(
|
280 |
-
model:
|
281 |
provider: InferenceProvider,
|
282 |
language: InferenceSnippetLanguage
|
283 |
): boolean {
|
284 |
if (isCustomModel(model)) return false;
|
285 |
return getInferenceSnippet(model, provider, language, "").length > 0;
|
286 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { AutoTokenizer, PreTrainedTokenizer } from "@huggingface/transformers";
|
2 |
import {
|
3 |
isCustomModel,
|
4 |
type Conversation,
|
5 |
type ConversationMessage,
|
6 |
type CustomModel,
|
7 |
+
type Model,
|
8 |
} from "$lib/types.js";
|
9 |
import type { ChatCompletionInputMessage, InferenceSnippet } from "@huggingface/tasks";
|
10 |
import { type ChatCompletionOutputMessage } from "@huggingface/tasks";
|
|
|
175 |
throw new Error("No response from the model");
|
176 |
}
|
177 |
|
178 |
+
export function isSystemPromptSupported(model: Model | CustomModel) {
|
179 |
if (isCustomModel(model)) return true; // OpenAI-compatible models support system messages
|
180 |
+
return model?.config.tokenizer_config?.chat_template?.includes("system");
|
|
|
181 |
}
|
182 |
|
183 |
export const defaultSystemMessage: { [key: string]: string } = {
|
|
|
251 |
export type GetInferenceSnippetReturn = (InferenceSnippet & { language: InferenceSnippetLanguage })[];
|
252 |
|
253 |
export function getInferenceSnippet(
|
254 |
+
model: Model,
|
255 |
provider: InferenceProvider,
|
256 |
language: InferenceSnippetLanguage,
|
257 |
accessToken: string,
|
|
|
277 |
* - If language is defined, the function checks if in an inference snippet is available for that specific language
|
278 |
*/
|
279 |
export function hasInferenceSnippet(
|
280 |
+
model: Model,
|
281 |
provider: InferenceProvider,
|
282 |
language: InferenceSnippetLanguage
|
283 |
): boolean {
|
284 |
if (isCustomModel(model)) return false;
|
285 |
return getInferenceSnippet(model, provider, language, "").length > 0;
|
286 |
}
|
287 |
+
|
288 |
+
const tokenizers = new Map<string, PreTrainedTokenizer>();
|
289 |
+
|
290 |
+
export async function getTokenizer(model: Model) {
|
291 |
+
if (tokenizers.has(model.id)) return tokenizers.get(model.id)!;
|
292 |
+
const tokenizer = await AutoTokenizer.from_pretrained(model.id);
|
293 |
+
tokenizers.set(model.id, tokenizer);
|
294 |
+
return tokenizer;
|
295 |
+
}
|
296 |
+
|
297 |
+
export async function getTokens(conversation: Conversation): Promise<number> {
|
298 |
+
const model = conversation.model;
|
299 |
+
if (isCustomModel(model)) return 0;
|
300 |
+
const tokenizer = await getTokenizer(model);
|
301 |
+
|
302 |
+
// This is a simplified version - you might need to adjust based on your exact needs
|
303 |
+
let formattedText = "";
|
304 |
+
|
305 |
+
conversation.messages.forEach((message, index) => {
|
306 |
+
let content = `<|start_header_id|>${message.role}<|end_header_id|>\n\n${message.content?.trim()}<|eot_id|>`;
|
307 |
+
|
308 |
+
// Add BOS token to the first message
|
309 |
+
if (index === 0) {
|
310 |
+
content = "<|begin_of_text|>" + content;
|
311 |
+
}
|
312 |
+
|
313 |
+
formattedText += content;
|
314 |
+
});
|
315 |
+
|
316 |
+
// Encode the text to get tokens
|
317 |
+
const encodedInput = tokenizer.encode(formattedText);
|
318 |
+
|
319 |
+
// Return the number of tokens
|
320 |
+
return encodedInput.length;
|
321 |
+
}
|
src/lib/state/models.svelte.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import { page } from "$app/state";
|
2 |
import { createInit } from "$lib/spells/create-init.svelte";
|
3 |
-
import type { CustomModel,
|
4 |
import { safeParse } from "$lib/utils/json.js";
|
5 |
import typia from "typia";
|
6 |
import { session } from "./session.svelte";
|
@@ -9,7 +9,7 @@ import { randomPick } from "$lib/utils/array.js";
|
|
9 |
const LOCAL_STORAGE_KEY = "hf_inference_playground_custom_models";
|
10 |
|
11 |
class Models {
|
12 |
-
remote = $derived(page.data.models as
|
13 |
trending = $derived(this.remote.toSorted((a, b) => b.trendingScore - a.trendingScore).slice(0, 5));
|
14 |
nonTrending = $derived(this.remote.filter(m => !this.trending.includes(m)));
|
15 |
|
|
|
1 |
import { page } from "$app/state";
|
2 |
import { createInit } from "$lib/spells/create-init.svelte";
|
3 |
+
import type { CustomModel, Model } from "$lib/types.js";
|
4 |
import { safeParse } from "$lib/utils/json.js";
|
5 |
import typia from "typia";
|
6 |
import { session } from "./session.svelte";
|
|
|
9 |
const LOCAL_STORAGE_KEY = "hf_inference_playground_custom_models";
|
10 |
|
11 |
class Models {
|
12 |
+
remote = $derived(page.data.models as Model[]);
|
13 |
trending = $derived(this.remote.toSorted((a, b) => b.trendingScore - a.trendingScore).slice(0, 5));
|
14 |
nonTrending = $derived(this.remote.filter(m => !this.trending.includes(m)));
|
15 |
|
src/lib/state/session.svelte.ts
CHANGED
@@ -5,7 +5,7 @@ import {
|
|
5 |
type Conversation,
|
6 |
type ConversationMessage,
|
7 |
type DefaultProject,
|
8 |
-
type
|
9 |
type Project,
|
10 |
type Session,
|
11 |
} from "$lib/types.js";
|
@@ -22,14 +22,13 @@ const systemMessage: ConversationMessage = {
|
|
22 |
content: "",
|
23 |
};
|
24 |
|
25 |
-
export const emptyModel:
|
26 |
_id: "",
|
27 |
inferenceProviderMapping: [],
|
28 |
pipeline_tag: PipelineTag.TextGeneration,
|
29 |
trendingScore: 0,
|
30 |
tags: ["text-generation"],
|
31 |
id: "",
|
32 |
-
tokenizerConfig: {},
|
33 |
config: {
|
34 |
architectures: [] as string[],
|
35 |
model_type: "",
|
|
|
5 |
type Conversation,
|
6 |
type ConversationMessage,
|
7 |
type DefaultProject,
|
8 |
+
type Model,
|
9 |
type Project,
|
10 |
type Session,
|
11 |
} from "$lib/types.js";
|
|
|
22 |
content: "",
|
23 |
};
|
24 |
|
25 |
+
export const emptyModel: Model = {
|
26 |
_id: "",
|
27 |
inferenceProviderMapping: [],
|
28 |
pipeline_tag: PipelineTag.TextGeneration,
|
29 |
trendingScore: 0,
|
30 |
tags: ["text-generation"],
|
31 |
id: "",
|
|
|
32 |
config: {
|
33 |
architectures: [] as string[],
|
34 |
model_type: "",
|
src/lib/types.ts
CHANGED
@@ -8,7 +8,7 @@ export type ConversationMessage = Pick<ChatCompletionInputMessage, "name" | "rol
|
|
8 |
};
|
9 |
|
10 |
export type Conversation = {
|
11 |
-
model:
|
12 |
config: GenerationConfig;
|
13 |
messages: ConversationMessage[];
|
14 |
systemMessage: ConversationMessage;
|
@@ -21,7 +21,7 @@ export type ConversationWithCustomModel = Conversation & {
|
|
21 |
};
|
22 |
|
23 |
export type ConversationWithHFModel = Conversation & {
|
24 |
-
model:
|
25 |
};
|
26 |
|
27 |
export const isConversationWithHFModel = typia.createIs<ConversationWithHFModel>();
|
@@ -50,9 +50,9 @@ interface TokenizerConfig {
|
|
50 |
model_max_length?: number;
|
51 |
}
|
52 |
|
53 |
-
export type ModelWithTokenizer = Model & {
|
54 |
-
|
55 |
-
};
|
56 |
|
57 |
export type Model = {
|
58 |
_id: string;
|
|
|
8 |
};
|
9 |
|
10 |
export type Conversation = {
|
11 |
+
model: Model | CustomModel;
|
12 |
config: GenerationConfig;
|
13 |
messages: ConversationMessage[];
|
14 |
systemMessage: ConversationMessage;
|
|
|
21 |
};
|
22 |
|
23 |
export type ConversationWithHFModel = Conversation & {
|
24 |
+
model: Model;
|
25 |
};
|
26 |
|
27 |
export const isConversationWithHFModel = typia.createIs<ConversationWithHFModel>();
|
|
|
50 |
model_max_length?: number;
|
51 |
}
|
52 |
|
53 |
+
// export type ModelWithTokenizer = Model & {
|
54 |
+
// tokenizerConfig: TokenizerConfig;
|
55 |
+
// };
|
56 |
|
57 |
export type Model = {
|
58 |
_id: string;
|
src/routes/+page.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
import type {
|
2 |
import type { PageLoad } from "./$types.js";
|
3 |
|
4 |
export const load: PageLoad = async ({ fetch }) => {
|
5 |
const res = await fetch("/api/models");
|
6 |
-
const models:
|
7 |
return { models };
|
8 |
};
|
|
|
1 |
+
import type { Model } from "$lib/types.js";
|
2 |
import type { PageLoad } from "./$types.js";
|
3 |
|
4 |
export const load: PageLoad = async ({ fetch }) => {
|
5 |
const res = await fetch("/api/models");
|
6 |
+
const models: Model[] = await res.json();
|
7 |
return { models };
|
8 |
};
|
src/routes/api/models/+server.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
import type { Model
|
2 |
import { json } from "@sveltejs/kit";
|
3 |
import type { RequestHandler } from "./$types.js";
|
4 |
|
@@ -9,7 +9,7 @@ enum CacheStatus {
|
|
9 |
}
|
10 |
|
11 |
type Cache = {
|
12 |
-
data:
|
13 |
timestamp: number;
|
14 |
status: CacheStatus;
|
15 |
// Track failed models to selectively refetch them
|
@@ -107,7 +107,7 @@ export const GET: RequestHandler = async ({ fetch }) => {
|
|
107 |
const needImgTextFetch = elapsed >= FULL_CACHE_REFRESH || cache.failedApiCalls.imageTextToText;
|
108 |
|
109 |
// Track the existing models we'll keep
|
110 |
-
const existingModels = new Map<string,
|
111 |
if (cache.data) {
|
112 |
cache.data.forEach(model => {
|
113 |
existingModels.set(model.id, model);
|
@@ -181,84 +181,13 @@ export const GET: RequestHandler = async ({ fetch }) => {
|
|
181 |
.map(model => model as Model);
|
182 |
}
|
183 |
|
184 |
-
const
|
185 |
-
|
186 |
-
const modelsNeedingTokenizer: Model[] = [];
|
187 |
-
|
188 |
-
// First, use existing model data when possible
|
189 |
-
allModels.forEach(model => {
|
190 |
-
const existingModel = existingModels.get(model.id);
|
191 |
-
|
192 |
-
// Only fetch tokenizer if:
|
193 |
-
// 1. We don't have this model yet, OR
|
194 |
-
// 2. It's in our failed tokenizers list AND we're doing a refresh, OR
|
195 |
-
// 3. We're doing a full refresh
|
196 |
-
if (
|
197 |
-
!existingModel ||
|
198 |
-
(cache.failedTokenizers.includes(model.id) && elapsed >= PARTIAL_CACHE_REFRESH) ||
|
199 |
-
elapsed >= FULL_CACHE_REFRESH
|
200 |
-
) {
|
201 |
-
modelsNeedingTokenizer.push(model);
|
202 |
-
}
|
203 |
-
});
|
204 |
-
|
205 |
-
console.log(`Total models: ${allModels.length}, Models needing tokenizer fetch: ${modelsNeedingTokenizer.length}`);
|
206 |
-
|
207 |
-
// Prepare result - start with existing models we want to keep
|
208 |
-
const models: ModelWithTokenizer[] = [];
|
209 |
-
|
210 |
-
// Add models we're not re-fetching tokenizers for
|
211 |
-
allModels.forEach(model => {
|
212 |
-
const existingModel = existingModels.get(model.id);
|
213 |
-
if (existingModel && !modelsNeedingTokenizer.some(m => m.id === model.id)) {
|
214 |
-
models.push(existingModel);
|
215 |
-
}
|
216 |
-
});
|
217 |
-
|
218 |
-
// Fetch tokenizer configs only for models that need it, with concurrency limit
|
219 |
-
const batchSize = 10; // Limit concurrent requests
|
220 |
-
|
221 |
-
for (let i = 0; i < modelsNeedingTokenizer.length; i += batchSize) {
|
222 |
-
const batch = modelsNeedingTokenizer.slice(i, i + batchSize);
|
223 |
-
const batchPromises = batch.map(async model => {
|
224 |
-
try {
|
225 |
-
const configUrl = `https://huggingface.co/${model.id}/raw/main/tokenizer_config.json`;
|
226 |
-
const res = await fetch(configUrl, {
|
227 |
-
credentials: "include",
|
228 |
-
headers,
|
229 |
-
method: "GET",
|
230 |
-
mode: "cors",
|
231 |
-
});
|
232 |
-
|
233 |
-
if (!res.ok) {
|
234 |
-
if (!newFailedTokenizers.includes(model.id)) {
|
235 |
-
newFailedTokenizers.push(model.id);
|
236 |
-
}
|
237 |
-
return null;
|
238 |
-
}
|
239 |
-
|
240 |
-
const tokenizerConfig = await res.json();
|
241 |
-
return { ...model, tokenizerConfig } satisfies ModelWithTokenizer;
|
242 |
-
} catch (error) {
|
243 |
-
console.error(`Error processing tokenizer for ${model.id}:`, error);
|
244 |
-
if (!newFailedTokenizers.includes(model.id)) {
|
245 |
-
newFailedTokenizers.push(model.id);
|
246 |
-
}
|
247 |
-
return null;
|
248 |
-
}
|
249 |
-
});
|
250 |
-
|
251 |
-
const batchResults = await Promise.all(batchPromises);
|
252 |
-
models.push(...batchResults.filter((model): model is ModelWithTokenizer => model !== null));
|
253 |
-
}
|
254 |
-
|
255 |
models.sort((a, b) => a.id.toLowerCase().localeCompare(b.id.toLowerCase()));
|
256 |
|
257 |
// Determine cache status based on failures
|
258 |
const hasApiFailures = newFailedApiCalls.textGeneration || newFailedApiCalls.imageTextToText;
|
259 |
-
const hasSignificantTokenizerFailures = newFailedTokenizers.length > modelsNeedingTokenizer.length * 0.2;
|
260 |
|
261 |
-
const cacheStatus = hasApiFailures
|
262 |
|
263 |
cache.data = models;
|
264 |
cache.timestamp = timestamp;
|
|
|
1 |
+
import type { Model } from "$lib/types.js";
|
2 |
import { json } from "@sveltejs/kit";
|
3 |
import type { RequestHandler } from "./$types.js";
|
4 |
|
|
|
9 |
}
|
10 |
|
11 |
type Cache = {
|
12 |
+
data: Model[] | undefined;
|
13 |
timestamp: number;
|
14 |
status: CacheStatus;
|
15 |
// Track failed models to selectively refetch them
|
|
|
107 |
const needImgTextFetch = elapsed >= FULL_CACHE_REFRESH || cache.failedApiCalls.imageTextToText;
|
108 |
|
109 |
// Track the existing models we'll keep
|
110 |
+
const existingModels = new Map<string, Model>();
|
111 |
if (cache.data) {
|
112 |
cache.data.forEach(model => {
|
113 |
existingModels.set(model.id, model);
|
|
|
181 |
.map(model => model as Model);
|
182 |
}
|
183 |
|
184 |
+
const models: Model[] = [...textGenModels, ...imgText2TextModels];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
models.sort((a, b) => a.id.toLowerCase().localeCompare(b.id.toLowerCase()));
|
186 |
|
187 |
// Determine cache status based on failures
|
188 |
const hasApiFailures = newFailedApiCalls.textGeneration || newFailedApiCalls.imageTextToText;
|
|
|
189 |
|
190 |
+
const cacheStatus = hasApiFailures ? CacheStatus.PARTIAL : CacheStatus.SUCCESS;
|
191 |
|
192 |
cache.data = models;
|
193 |
cache.timestamp = timestamp;
|