feat(search): Add ability to set default provider, model, and optimization mode when coming from a search query
This commit is contained in:
parent
b392aa2c21
commit
37c93c3c9b
17 changed files with 603 additions and 319 deletions
|
|
@ -222,6 +222,9 @@ This fork adds several enhancements to the original Perplexica project:
|
|||
- ✅ Enhanced Balance mode that uses a headless web browser to retrieve web content and use relevant excerpts to enhance responses
|
||||
- ✅ Adds Agent mode that uses the full content of web pages to answer queries and an agentic flow to intelligently answer complex queries with accuracy
|
||||
- See the [README.md](docs/architecture/README.md) in the docs architecture directory for more info
|
||||
- ✅ Query-based settings override for browser search engine integration
|
||||
- Automatically applies user's saved optimization mode and AI model preferences when accessing via URL with `q` parameter
|
||||
- Enables seamless browser search bar integration with personalized settings
|
||||
|
||||
### AI Functionality
|
||||
|
||||
|
|
|
|||
75
package-lock.json
generated
75
package-lock.json
generated
|
|
@ -16,6 +16,7 @@
|
|||
"@langchain/community": "^0.3.45",
|
||||
"@langchain/core": "^0.3.57",
|
||||
"@langchain/google-genai": "^0.2.10",
|
||||
"@langchain/groq": "^0.2.3",
|
||||
"@langchain/langgraph": "^0.3.1",
|
||||
"@langchain/ollama": "^0.2.0",
|
||||
"@langchain/openai": "^0.5.12",
|
||||
|
|
@ -2574,9 +2575,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@langchain/core": {
|
||||
"version": "0.3.57",
|
||||
"resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.57.tgz",
|
||||
"integrity": "sha512-jz28qCTKJmi47b6jqhQ6vYRTG5jRpqhtPQjriRTB5wR8mgvzo6xKs0fG/kExS3ZvM79ytD1npBvgf8i19xOo9Q==",
|
||||
"version": "0.3.61",
|
||||
"resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.61.tgz",
|
||||
"integrity": "sha512-4O7fw5SXNSE+uBnathLQrhm3t+7dZGagt/5kt37A+pXw0AkudxEBvveg73sSnpBd9SIz3/Vc7F4k8rCKXGbEDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cfworker/json-schema": "^4.0.2",
|
||||
|
|
@ -2584,12 +2585,12 @@
|
|||
"camelcase": "6",
|
||||
"decamelize": "1.2.0",
|
||||
"js-tiktoken": "^1.0.12",
|
||||
"langsmith": "^0.3.29",
|
||||
"langsmith": "^0.3.33",
|
||||
"mustache": "^4.2.0",
|
||||
"p-queue": "^6.6.2",
|
||||
"p-retry": "4",
|
||||
"uuid": "^10.0.0",
|
||||
"zod": "^3.22.4",
|
||||
"zod": "^3.25.32",
|
||||
"zod-to-json-schema": "^3.22.3"
|
||||
},
|
||||
"engines": {
|
||||
|
|
@ -2626,6 +2627,22 @@
|
|||
"uuid": "dist/esm/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/@langchain/groq": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@langchain/groq/-/groq-0.2.3.tgz",
|
||||
"integrity": "sha512-r+yjysG36a0IZxTlCMr655Feumfb4IrOyA0jLLq4l7gEhVyMpYXMwyE6evseyU2LRP+7qOPbGRVpGqAIK0MsUA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"groq-sdk": "^0.19.0",
|
||||
"zod": "^3.22.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@langchain/core": ">=0.3.58 <0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@langchain/langgraph": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.3.1.tgz",
|
||||
|
|
@ -7072,6 +7089,36 @@
|
|||
"graphql": "14 - 16"
|
||||
}
|
||||
},
|
||||
"node_modules/groq-sdk": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/groq-sdk/-/groq-sdk-0.19.0.tgz",
|
||||
"integrity": "sha512-vdh5h7ORvwvOvutA80dKF81b0gPWHxu6K/GOJBOM0n6p6CSqAVLhFfeS79Ef0j/yCycDR09jqY7jkYz9dLiS6w==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@types/node": "^18.11.18",
|
||||
"@types/node-fetch": "^2.6.4",
|
||||
"abort-controller": "^3.0.0",
|
||||
"agentkeepalive": "^4.2.1",
|
||||
"form-data-encoder": "1.7.2",
|
||||
"formdata-node": "^4.3.2",
|
||||
"node-fetch": "^2.6.7"
|
||||
}
|
||||
},
|
||||
"node_modules/groq-sdk/node_modules/@types/node": {
|
||||
"version": "18.19.115",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.115.tgz",
|
||||
"integrity": "sha512-kNrFiTgG4a9JAn1LMQeLOv3MvXIPokzXziohMrMsvpYgLpdEt/mMiVYc4sGKtDfyxM5gIDF4VgrPRyCw4fHOYg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
},
|
||||
"node_modules/groq-sdk/node_modules/undici-types": {
|
||||
"version": "5.26.5",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/guid-typescript": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "https://registry.npmjs.org/guid-typescript/-/guid-typescript-1.0.9.tgz",
|
||||
|
|
@ -8347,9 +8394,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/langsmith": {
|
||||
"version": "0.3.30",
|
||||
"resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.3.30.tgz",
|
||||
"integrity": "sha512-ZaiaOx9MysuSQlAkRw8mjm7iqhrlF7HI0LCTLxiNBEWBPywdkgI7UnN+s7KtlRiM0tP1cOLm+dQY++Fi33jkPQ==",
|
||||
"version": "0.3.37",
|
||||
"resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.3.37.tgz",
|
||||
"integrity": "sha512-aDFM+LbT01gP8hsJNs4QJjmbRNfoifqhpCSpk8j4k/V8wejEgvgATbgj9W9DQsfQFdtfwx+8G48sK5/0PqQisg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/uuid": "^10.0.0",
|
||||
|
|
@ -8361,9 +8408,21 @@
|
|||
"uuid": "^10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": "*",
|
||||
"@opentelemetry/exporter-trace-otlp-proto": "*",
|
||||
"@opentelemetry/sdk-trace-base": "*",
|
||||
"openai": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@opentelemetry/api": {
|
||||
"optional": true
|
||||
},
|
||||
"@opentelemetry/exporter-trace-otlp-proto": {
|
||||
"optional": true
|
||||
},
|
||||
"@opentelemetry/sdk-trace-base": {
|
||||
"optional": true
|
||||
},
|
||||
"openai": {
|
||||
"optional": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
"@langchain/community": "^0.3.45",
|
||||
"@langchain/core": "^0.3.57",
|
||||
"@langchain/google-genai": "^0.2.10",
|
||||
"@langchain/groq": "^0.2.3",
|
||||
"@langchain/langgraph": "^0.3.1",
|
||||
"@langchain/ollama": "^0.2.0",
|
||||
"@langchain/openai": "^0.5.12",
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import {
|
|||
PlusCircle,
|
||||
Save,
|
||||
X,
|
||||
RotateCcw,
|
||||
} from 'lucide-react';
|
||||
import { useEffect, useState, useRef } from 'react';
|
||||
import { cn } from '@/lib/utils';
|
||||
|
|
@ -18,6 +19,8 @@ import ThemeSwitcher from '@/components/theme/Switcher';
|
|||
import { ImagesIcon, VideoIcon, Layers3 } from 'lucide-react';
|
||||
import Link from 'next/link';
|
||||
import { PROVIDER_METADATA } from '@/lib/providers';
|
||||
import Optimization from '@/components/MessageInputActions/Optimization';
|
||||
import ModelSelector from '@/components/MessageInputActions/ModelSelector';
|
||||
|
||||
interface SettingsType {
|
||||
chatModelProviders: {
|
||||
|
|
@ -242,6 +245,13 @@ export default function SettingsPage() {
|
|||
);
|
||||
const [isAddingNewPrompt, setIsAddingNewPrompt] = useState(false);
|
||||
|
||||
// Default Search Settings state variables
|
||||
const [searchOptimizationMode, setSearchOptimizationMode] =
|
||||
useState<string>('');
|
||||
const [searchChatModelProvider, setSearchChatModelProvider] =
|
||||
useState<string>('');
|
||||
const [searchChatModel, setSearchChatModel] = useState<string>('');
|
||||
|
||||
useEffect(() => {
|
||||
const fetchConfig = async () => {
|
||||
setIsLoading(true);
|
||||
|
|
@ -311,6 +321,29 @@ export default function SettingsPage() {
|
|||
|
||||
fetchConfig();
|
||||
|
||||
// Load search settings from localStorage
|
||||
const loadSearchSettings = () => {
|
||||
const storedSearchOptimizationMode = localStorage.getItem(
|
||||
'searchOptimizationMode',
|
||||
);
|
||||
const storedSearchChatModelProvider = localStorage.getItem(
|
||||
'searchChatModelProvider',
|
||||
);
|
||||
const storedSearchChatModel = localStorage.getItem('searchChatModel');
|
||||
|
||||
if (storedSearchOptimizationMode) {
|
||||
setSearchOptimizationMode(storedSearchOptimizationMode);
|
||||
}
|
||||
if (storedSearchChatModelProvider) {
|
||||
setSearchChatModelProvider(storedSearchChatModelProvider);
|
||||
}
|
||||
if (storedSearchChatModel) {
|
||||
setSearchChatModel(storedSearchChatModel);
|
||||
}
|
||||
};
|
||||
|
||||
loadSearchSettings();
|
||||
|
||||
const fetchSystemPrompts = async () => {
|
||||
setIsLoading(true);
|
||||
try {
|
||||
|
|
@ -492,6 +525,10 @@ export default function SettingsPage() {
|
|||
}
|
||||
};
|
||||
|
||||
const saveSearchSetting = (key: string, value: string) => {
|
||||
localStorage.setItem(key, value);
|
||||
};
|
||||
|
||||
const handleAddOrUpdateSystemPrompt = async () => {
|
||||
const currentPrompt = editingPrompt || {
|
||||
name: newPromptName,
|
||||
|
|
@ -997,6 +1034,79 @@ export default function SettingsPage() {
|
|||
</div>
|
||||
</SettingsSection>
|
||||
|
||||
<SettingsSection
|
||||
title="Default Search Settings"
|
||||
tooltip='Select the settings that will be used when navigating to the site with a search query, such as "example.com/search?q=your+query".\nThese settings will override the global settings for search queries.\n\nIf settings are not specified, the global settings will be used.'
|
||||
>
|
||||
<div className="flex flex-col space-y-4">
|
||||
<div className="flex flex-col space-y-1">
|
||||
<p className="text-black/70 dark:text-white/70 text-sm">
|
||||
Optimization Mode
|
||||
</p>
|
||||
<div className="flex justify-start items-center space-x-2">
|
||||
<Optimization
|
||||
optimizationMode={searchOptimizationMode}
|
||||
setOptimizationMode={(mode) => {
|
||||
setSearchOptimizationMode(mode);
|
||||
saveSearchSetting('searchOptimizationMode', mode);
|
||||
}}
|
||||
showTitle={true}
|
||||
/>
|
||||
{searchOptimizationMode && (
|
||||
<button
|
||||
onClick={() => {
|
||||
setSearchOptimizationMode('');
|
||||
localStorage.removeItem('searchOptimizationMode');
|
||||
}}
|
||||
className="p-1.5 rounded-md hover:bg-light-200 dark:hover:bg-dark-200 text-black/50 dark:text-white/50 hover:text-black/80 dark:hover:text-white/80 transition-colors"
|
||||
title="Reset optimization mode"
|
||||
>
|
||||
<RotateCcw size={16} />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col space-y-1">
|
||||
<p className="text-black/70 dark:text-white/70 text-sm">
|
||||
Chat Model
|
||||
</p>
|
||||
<div className="flex justify-start items-center space-x-2">
|
||||
<ModelSelector
|
||||
selectedModel={{
|
||||
provider: searchChatModelProvider,
|
||||
model: searchChatModel,
|
||||
}}
|
||||
setSelectedModel={(model) => {
|
||||
setSearchChatModelProvider(model.provider);
|
||||
setSearchChatModel(model.model);
|
||||
saveSearchSetting(
|
||||
'searchChatModelProvider',
|
||||
model.provider,
|
||||
);
|
||||
saveSearchSetting('searchChatModel', model.model);
|
||||
}}
|
||||
truncateModelName={false}
|
||||
/>
|
||||
{(searchChatModelProvider || searchChatModel) && (
|
||||
<button
|
||||
onClick={() => {
|
||||
setSearchChatModelProvider('');
|
||||
setSearchChatModel('');
|
||||
localStorage.removeItem('searchChatModelProvider');
|
||||
localStorage.removeItem('searchChatModel');
|
||||
}}
|
||||
className="p-1.5 rounded-md hover:bg-light-200 dark:hover:bg-dark-200 text-black/50 dark:text-white/50 hover:text-black/80 dark:hover:text-white/80 transition-colors"
|
||||
title="Reset chat model"
|
||||
>
|
||||
<RotateCcw size={16} />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</SettingsSection>
|
||||
|
||||
<SettingsSection title="Model Settings">
|
||||
{config.chatModelProviders && (
|
||||
<div className="flex flex-col space-y-4">
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import Chat from './Chat';
|
|||
import EmptyChat from './EmptyChat';
|
||||
import crypto from 'crypto';
|
||||
import { toast } from 'sonner';
|
||||
import { useSearchParams } from 'next/navigation';
|
||||
import { useSearchParams, useRouter } from 'next/navigation';
|
||||
import { getSuggestions } from '@/lib/actions';
|
||||
import { Settings } from 'lucide-react';
|
||||
import Link from 'next/link';
|
||||
|
|
@ -250,6 +250,7 @@ const loadMessages = async (
|
|||
|
||||
const ChatWindow = ({ id }: { id?: string }) => {
|
||||
const searchParams = useSearchParams();
|
||||
const router = useRouter();
|
||||
const initialMessage = searchParams.get('q');
|
||||
|
||||
const [chatId, setChatId] = useState<string | undefined>(id);
|
||||
|
|
@ -585,6 +586,9 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||
currentChatModelProvider || chatModelProvider.provider;
|
||||
const modelName = currentChatModel || chatModelProvider.name;
|
||||
|
||||
const currentOptimizationMode =
|
||||
localStorage.getItem('optimizationMode') || optimizationMode;
|
||||
|
||||
const res = await fetch('/api/chat', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
|
|
@ -600,7 +604,7 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||
chatId: chatId!,
|
||||
files: fileIds,
|
||||
focusMode: focusMode,
|
||||
optimizationMode: optimizationMode,
|
||||
optimizationMode: currentOptimizationMode,
|
||||
history: messageChatHistory,
|
||||
chatModel: {
|
||||
name: modelName,
|
||||
|
|
@ -674,7 +678,42 @@ const ChatWindow = ({ id }: { id?: string }) => {
|
|||
|
||||
useEffect(() => {
|
||||
if (isReady && initialMessage && isConfigReady) {
|
||||
// Check if we have an initial query and apply saved search settings
|
||||
const searchOptimizationMode = localStorage.getItem(
|
||||
'searchOptimizationMode',
|
||||
);
|
||||
const searchChatModelProvider = localStorage.getItem(
|
||||
'searchChatModelProvider',
|
||||
);
|
||||
const searchChatModel = localStorage.getItem('searchChatModel');
|
||||
|
||||
// Apply saved optimization mode if valid
|
||||
if (
|
||||
searchOptimizationMode &&
|
||||
(searchOptimizationMode === 'speed' ||
|
||||
searchOptimizationMode === 'agent')
|
||||
) {
|
||||
setOptimizationMode(searchOptimizationMode);
|
||||
localStorage.setItem('optimizationMode', searchOptimizationMode);
|
||||
}
|
||||
|
||||
// Apply saved chat model if valid
|
||||
if (searchChatModelProvider && searchChatModel) {
|
||||
setChatModelProvider({
|
||||
name: searchChatModel,
|
||||
provider: searchChatModelProvider,
|
||||
});
|
||||
// Also update localStorage to ensure consistency
|
||||
localStorage.setItem('chatModelProvider', searchChatModelProvider);
|
||||
localStorage.setItem('chatModel', searchChatModel);
|
||||
}
|
||||
|
||||
sendMessage(initialMessage);
|
||||
|
||||
// Remove the query parameter from the URL to prevent re-execution on page reload
|
||||
const url = new URL(window.location.href);
|
||||
url.searchParams.delete('q');
|
||||
router.replace(url.pathname + url.search, { scroll: false });
|
||||
}
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [isConfigReady, isReady, initialMessage]);
|
||||
|
|
|
|||
|
|
@ -164,7 +164,14 @@ const MessageInput = ({
|
|||
<div className="flex flex-row items-center space-x-2">
|
||||
<ModelSelector
|
||||
selectedModel={selectedModel}
|
||||
setSelectedModel={setSelectedModel}
|
||||
setSelectedModel={(selectedModel) => {
|
||||
setSelectedModel(selectedModel);
|
||||
localStorage.setItem(
|
||||
'chatModelProvider',
|
||||
selectedModel.provider,
|
||||
);
|
||||
localStorage.setItem('chatModel', selectedModel.model);
|
||||
}}
|
||||
/>
|
||||
<SystemPromptSelector
|
||||
selectedPromptIds={systemPromptIds}
|
||||
|
|
@ -172,7 +179,10 @@ const MessageInput = ({
|
|||
/>
|
||||
<Optimization
|
||||
optimizationMode={optimizationMode}
|
||||
setOptimizationMode={setOptimizationMode}
|
||||
setOptimizationMode={(optimizationMode) => {
|
||||
setOptimizationMode(optimizationMode);
|
||||
localStorage.setItem('optimizationMode', optimizationMode);
|
||||
}}
|
||||
/>
|
||||
{loading ? (
|
||||
<button
|
||||
|
|
|
|||
|
|
@ -90,8 +90,16 @@ const Attach = ({
|
|||
>
|
||||
{files.length > 1 && (
|
||||
<>
|
||||
<File size={19} className={isDisabled ? 'text-sky-900' : 'text-sky-400'} />
|
||||
<p className={cn("inline whitespace-nowrap text-xs font-medium", isDisabled ? 'text-sky-900' : 'text-sky-400')}>
|
||||
<File
|
||||
size={19}
|
||||
className={isDisabled ? 'text-sky-900' : 'text-sky-400'}
|
||||
/>
|
||||
<p
|
||||
className={cn(
|
||||
'inline whitespace-nowrap text-xs font-medium',
|
||||
isDisabled ? 'text-sky-900' : 'text-sky-400',
|
||||
)}
|
||||
>
|
||||
{files.length} files
|
||||
</p>
|
||||
</>
|
||||
|
|
@ -99,8 +107,16 @@ const Attach = ({
|
|||
|
||||
{files.length === 1 && (
|
||||
<>
|
||||
<File size={18} className={isDisabled ? 'text-sky-900' : 'text-sky-400'} />
|
||||
<p className={cn("text-xs font-medium", isDisabled ? 'text-sky-900' : 'text-sky-400')}>
|
||||
<File
|
||||
size={18}
|
||||
className={isDisabled ? 'text-sky-900' : 'text-sky-400'}
|
||||
/>
|
||||
<p
|
||||
className={cn(
|
||||
'text-xs font-medium',
|
||||
isDisabled ? 'text-sky-900' : 'text-sky-400',
|
||||
)}
|
||||
>
|
||||
{files[0].fileName.length > 10
|
||||
? files[0].fileName.replace(/\.\w+$/, '').substring(0, 3) +
|
||||
'...' +
|
||||
|
|
|
|||
|
|
@ -25,9 +25,11 @@ interface ProviderModelMap {
|
|||
const ModelSelector = ({
|
||||
selectedModel,
|
||||
setSelectedModel,
|
||||
truncateModelName = true,
|
||||
}: {
|
||||
selectedModel: { provider: string; model: string } | null;
|
||||
setSelectedModel: (model: { provider: string; model: string }) => void;
|
||||
truncateModelName?: boolean;
|
||||
}) => {
|
||||
const [providerModels, setProviderModels] = useState<ProviderModelMap>({});
|
||||
const [providersList, setProvidersList] = useState<string[]>([]);
|
||||
|
|
@ -114,7 +116,13 @@ const ModelSelector = ({
|
|||
setSelectedModelDisplay(currentModel.displayName);
|
||||
setSelectedProviderDisplay(provider.displayName);
|
||||
}
|
||||
} else {
|
||||
setSelectedModelDisplay('');
|
||||
setSelectedProviderDisplay('');
|
||||
}
|
||||
} else {
|
||||
setSelectedModelDisplay('');
|
||||
setSelectedProviderDisplay('');
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
|
|
@ -125,7 +133,7 @@ const ModelSelector = ({
|
|||
};
|
||||
|
||||
fetchModels();
|
||||
}, [selectedModel, setSelectedModel]);
|
||||
}, [selectedModel]);
|
||||
|
||||
const toggleProviderExpanded = (provider: string) => {
|
||||
setExpandedProviders((prev) => ({
|
||||
|
|
@ -144,10 +152,6 @@ const ModelSelector = ({
|
|||
setSelectedProviderDisplay(
|
||||
providerModels[option.provider]?.displayName || option.provider,
|
||||
);
|
||||
|
||||
// Save to localStorage for persistence
|
||||
localStorage.setItem('chatModelProvider', option.provider);
|
||||
localStorage.setItem('chatModel', option.model);
|
||||
};
|
||||
|
||||
const getDisplayText = () => {
|
||||
|
|
@ -162,9 +166,19 @@ const ModelSelector = ({
|
|||
{({ open }) => (
|
||||
<>
|
||||
<div className="relative">
|
||||
<PopoverButton className="group flex items-center justify-center text-black/50 dark:text-white/50 rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary active:scale-95 transition duration-200 hover:text-black dark:hover:text-white">
|
||||
<PopoverButton
|
||||
type="button"
|
||||
className="p-2 group flex text-black/50 dark:text-white/50 rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
|
||||
>
|
||||
<Cpu size={18} />
|
||||
<span className="mx-2 text-xs font-medium overflow-hidden text-ellipsis whitespace-nowrap max-w-44 hidden lg:block">
|
||||
<span
|
||||
className={cn(
|
||||
'mx-2 text-xs font-medium overflow-hidden text-ellipsis whitespace-nowrap hidden lg:block',
|
||||
{
|
||||
'max-w-44': truncateModelName,
|
||||
},
|
||||
)}
|
||||
>
|
||||
{getDisplayText()}
|
||||
</span>
|
||||
<ChevronDown
|
||||
|
|
|
|||
|
|
@ -46,15 +46,12 @@ const OptimizationModes = [
|
|||
const Optimization = ({
|
||||
optimizationMode,
|
||||
setOptimizationMode,
|
||||
showTitle = false,
|
||||
}: {
|
||||
optimizationMode: string;
|
||||
setOptimizationMode: (mode: string) => void;
|
||||
showTitle?: boolean;
|
||||
}) => {
|
||||
const handleOptimizationChange = (mode: string) => {
|
||||
setOptimizationMode(mode);
|
||||
localStorage.setItem('optimizationMode', mode);
|
||||
};
|
||||
|
||||
return (
|
||||
<Popover className="relative">
|
||||
<PopoverButton
|
||||
|
|
@ -62,16 +59,14 @@ const Optimization = ({
|
|||
className="p-2 text-black/50 dark:text-white/50 rounded-xl hover:bg-light-secondary dark:hover:bg-dark-secondary active:scale-95 transition duration-200 hover:text-black dark:hover:text-white"
|
||||
>
|
||||
<div className="flex flex-row items-center space-x-1">
|
||||
{
|
||||
OptimizationModes.find((mode) => mode.key === optimizationMode)
|
||||
?.icon
|
||||
}
|
||||
{/* <p className="text-xs font-medium hidden lg:block">
|
||||
{
|
||||
OptimizationModes.find((mode) => mode.key === optimizationMode)
|
||||
?.title
|
||||
}
|
||||
</p> */}
|
||||
{OptimizationModes.find((mode) => mode.key === optimizationMode)
|
||||
?.icon || <Minimize2 size={20} className="text-gray-400" />}
|
||||
{showTitle && (
|
||||
<p className="text-xs font-medium">
|
||||
{OptimizationModes.find((mode) => mode.key === optimizationMode)
|
||||
?.title || 'Select mode'}
|
||||
</p>
|
||||
)}
|
||||
<ChevronDown size={20} />
|
||||
</div>
|
||||
</PopoverButton>
|
||||
|
|
@ -88,7 +83,7 @@ const Optimization = ({
|
|||
<div className="flex flex-col gap-2 bg-light-primary dark:bg-dark-primary border rounded-lg border-light-200 dark:border-dark-200 w-max max-w-[300px] p-4 max-h-[200px] md:max-h-none overflow-y-auto">
|
||||
{OptimizationModes.map((mode, i) => (
|
||||
<PopoverButton
|
||||
onClick={() => handleOptimizationChange(mode.key)}
|
||||
onClick={() => setOptimizationMode(mode.key)}
|
||||
key={i}
|
||||
className={cn(
|
||||
'p-2 rounded-lg flex flex-col items-start justify-start text-start space-y-1 duration-200 cursor-pointer transition',
|
||||
|
|
|
|||
|
|
@ -86,7 +86,9 @@ export class AnalyzerAgent {
|
|||
const urls = [...new Set(state.query.match(urlRegex) || [])];
|
||||
|
||||
if (urls.length > 0) {
|
||||
console.log('URLs detected in initial query, routing to URL summarization');
|
||||
console.log(
|
||||
'URLs detected in initial query, routing to URL summarization',
|
||||
);
|
||||
console.log(`URLs found: ${urls.join(', ')}`);
|
||||
|
||||
// Emit URL detection event
|
||||
|
|
|
|||
|
|
@ -104,10 +104,10 @@ export class ContentRouterAgent {
|
|||
},
|
||||
);
|
||||
|
||||
const routerDecision = await structuredLlm.invoke(
|
||||
const routerDecision = (await structuredLlm.invoke(
|
||||
[...removeThinkingBlocksFromMessages(state.messages), prompt],
|
||||
{ signal: this.signal },
|
||||
);
|
||||
)) as RouterDecision;
|
||||
|
||||
console.log(`Router decision: ${routerDecision.decision}`);
|
||||
console.log(`Router reasoning: ${routerDecision.reasoning}`);
|
||||
|
|
|
|||
|
|
@ -145,9 +145,9 @@ export class TaskManagerAgent {
|
|||
name: 'break_down_tasks',
|
||||
});
|
||||
|
||||
const taskBreakdownResult = await structuredLlm.invoke([prompt], {
|
||||
const taskBreakdownResult = (await structuredLlm.invoke([prompt], {
|
||||
signal: this.signal,
|
||||
});
|
||||
})) as TaskBreakdown;
|
||||
|
||||
console.log('Task breakdown response:', taskBreakdownResult);
|
||||
|
||||
|
|
|
|||
|
|
@ -35,14 +35,22 @@ export class URLSummarizationAgent {
|
|||
|
||||
// Use pre-analyzed URLs from ContentRouterAgent
|
||||
const urlsToProcess = state.urlsToSummarize || [];
|
||||
const summarizationIntent = state.summarizationIntent || 'process content to help answer the user query';
|
||||
const summarizationIntent =
|
||||
state.summarizationIntent ||
|
||||
'process content to help answer the user query';
|
||||
|
||||
if (urlsToProcess.length === 0) {
|
||||
console.log('No URLs found for processing, routing back to content router');
|
||||
console.log(
|
||||
'No URLs found for processing, routing back to content router',
|
||||
);
|
||||
return new Command({
|
||||
goto: 'content_router',
|
||||
update: {
|
||||
messages: [new AIMessage('No URLs found for processing, routing to content router')],
|
||||
messages: [
|
||||
new AIMessage(
|
||||
'No URLs found for processing, routing to content router',
|
||||
),
|
||||
],
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
@ -119,7 +127,9 @@ export class URLSummarizationAgent {
|
|||
finalContent = webContent.pageContent;
|
||||
processingType = 'url-direct-content';
|
||||
|
||||
console.log(`Content is short (${contentLength} chars), using directly without summarization`);
|
||||
console.log(
|
||||
`Content is short (${contentLength} chars), using directly without summarization`,
|
||||
);
|
||||
|
||||
// Emit direct content usage event
|
||||
this.emitter.emit('agent_action', {
|
||||
|
|
@ -138,7 +148,9 @@ export class URLSummarizationAgent {
|
|||
});
|
||||
} else {
|
||||
// Content is long, summarize using LLM
|
||||
console.log(`Content is long (${contentLength} chars), generating summary`);
|
||||
console.log(
|
||||
`Content is long (${contentLength} chars), generating summary`,
|
||||
);
|
||||
|
||||
const systemPrompt = this.systemInstructions
|
||||
? `${this.systemInstructions}\n\n`
|
||||
|
|
|
|||
|
|
@ -183,23 +183,26 @@ export class WebSearchAgent {
|
|||
|
||||
let previewContents: PreviewContent[] = [];
|
||||
// Always take the top 3 results for preview content
|
||||
previewContents.push(...filteredResults.slice(0, 3)
|
||||
.map((result) => ({
|
||||
previewContents.push(
|
||||
...filteredResults.slice(0, 3).map((result) => ({
|
||||
title: result.title || 'Untitled',
|
||||
snippet: result.content || '',
|
||||
url: result.url,
|
||||
}))
|
||||
})),
|
||||
);
|
||||
|
||||
// Sort by relevance score and take top 12 results for a total of 15
|
||||
previewContents.push(...resultsWithSimilarity.slice(3)
|
||||
.sort((a, b) => b.similarity - a.similarity)
|
||||
.slice(0, 12)
|
||||
.map(({ result }) => ({
|
||||
title: result.title || 'Untitled',
|
||||
snippet: result.content || '',
|
||||
url: result.url,
|
||||
})));
|
||||
previewContents.push(
|
||||
...resultsWithSimilarity
|
||||
.slice(3)
|
||||
.sort((a, b) => b.similarity - a.similarity)
|
||||
.slice(0, 12)
|
||||
.map(({ result }) => ({
|
||||
title: result.title || 'Untitled',
|
||||
snippet: result.content || '',
|
||||
url: result.url,
|
||||
})),
|
||||
);
|
||||
|
||||
console.log(
|
||||
`Extracted preview content from ${previewContents.length} search results for analysis`,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { ChatOpenAI } from '@langchain/openai';
|
||||
import { ChatGroq } from '@langchain/groq';
|
||||
import { getGroqApiKey } from '../config';
|
||||
import { ChatModel } from '.';
|
||||
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
||||
|
|
@ -47,7 +47,7 @@ const generateDisplayName = (modelId: string, ownedBy: string): string => {
|
|||
let displayName = modelId
|
||||
.replace(/[-_]/g, ' ')
|
||||
.split(' ')
|
||||
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
||||
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
||||
.join(' ');
|
||||
|
||||
// Add owner info for certain models
|
||||
|
|
@ -62,24 +62,27 @@ const fetchGroqModels = async (apiKey: string): Promise<GroqModel[]> => {
|
|||
try {
|
||||
const response = await fetch('https://api.groq.com/openai/v1/models', {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${apiKey}`,
|
||||
Authorization: `Bearer ${apiKey}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch models: ${response.status} ${response.statusText}`);
|
||||
throw new Error(
|
||||
`Failed to fetch models: ${response.status} ${response.statusText}`,
|
||||
);
|
||||
}
|
||||
|
||||
const data: GroqModelsResponse = await response.json();
|
||||
|
||||
// Filter for active chat completion models (exclude audio/whisper models)
|
||||
return data.data.filter(model =>
|
||||
model.active &&
|
||||
!model.id.includes('whisper') &&
|
||||
!model.id.includes('tts') &&
|
||||
!model.id.includes('guard') &&
|
||||
!model.id.includes('prompt-guard')
|
||||
return data.data.filter(
|
||||
(model) =>
|
||||
model.active &&
|
||||
!model.id.includes('whisper') &&
|
||||
!model.id.includes('tts') &&
|
||||
!model.id.includes('guard') &&
|
||||
!model.id.includes('prompt-guard'),
|
||||
);
|
||||
} catch (error) {
|
||||
console.error('Error fetching Groq models:', error);
|
||||
|
|
@ -101,13 +104,9 @@ export const loadGroqChatModels = async () => {
|
|||
availableModels.forEach((model) => {
|
||||
chatModels[model.id] = {
|
||||
displayName: generateDisplayName(model.id, model.owned_by),
|
||||
model: new ChatOpenAI({
|
||||
openAIApiKey: groqApiKey,
|
||||
modelName: model.id,
|
||||
// temperature: 0.7,
|
||||
configuration: {
|
||||
baseURL: 'https://api.groq.com/openai/v1',
|
||||
},
|
||||
model: new ChatGroq({
|
||||
apiKey: groqApiKey,
|
||||
model: model.id,
|
||||
}) as unknown as BaseChatModel,
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ const RelevanceCheckSchema = z.object({
|
|||
.describe('Whether the content is relevant to the user query'),
|
||||
reason: z
|
||||
.string()
|
||||
.describe('Brief explanation of why content is or isn\'t relevant'),
|
||||
.describe("Brief explanation of why content is or isn't relevant"),
|
||||
});
|
||||
|
||||
export const summarizeWebContent = async (
|
||||
|
|
@ -39,7 +39,8 @@ export const summarizeWebContent = async (
|
|||
: '';
|
||||
|
||||
// Determine content length for short-circuit logic
|
||||
const contentToAnalyze = content.pageContent || content.metadata.html || '';
|
||||
const contentToAnalyze =
|
||||
content.pageContent || content.metadata.html || '';
|
||||
const isShortContent = contentToAnalyze.length < 4000;
|
||||
|
||||
if (isShortContent) {
|
||||
|
|
@ -66,14 +67,16 @@ Here is the query you need to answer: ${query}
|
|||
|
||||
Here is the content to analyze:
|
||||
${contentToAnalyze}`,
|
||||
{ signal }
|
||||
{ signal },
|
||||
);
|
||||
|
||||
if (!relevanceResult) {
|
||||
console.error(`No relevance result returned for URL ${url}`);
|
||||
// Fall through to full summarization as fallback
|
||||
} else if (relevanceResult.relevant) {
|
||||
console.log(`Short content for URL "${url}" is relevant: ${relevanceResult.reason}`);
|
||||
console.log(
|
||||
`Short content for URL "${url}" is relevant: ${relevanceResult.reason}`,
|
||||
);
|
||||
return {
|
||||
document: new Document({
|
||||
pageContent: content.pageContent,
|
||||
|
|
@ -86,14 +89,20 @@ ${contentToAnalyze}`,
|
|||
notRelevantReason: undefined,
|
||||
};
|
||||
} else {
|
||||
console.log(`Short content for URL "${url}" is not relevant: ${relevanceResult.reason}`);
|
||||
console.log(
|
||||
`Short content for URL "${url}" is not relevant: ${relevanceResult.reason}`,
|
||||
);
|
||||
return {
|
||||
document: null,
|
||||
notRelevantReason: relevanceResult.reason || 'Content not relevant to query',
|
||||
notRelevantReason:
|
||||
relevanceResult.reason || 'Content not relevant to query',
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`Error checking relevance for short content from URL ${url}:`, error);
|
||||
console.error(
|
||||
`Error checking relevance for short content from URL ${url}:`,
|
||||
error,
|
||||
);
|
||||
// Fall through to full summarization as fallback
|
||||
}
|
||||
}
|
||||
|
|
|
|||
466
yarn.lock
466
yarn.lock
|
|
@ -20,7 +20,7 @@
|
|||
formdata-node "^4.3.2"
|
||||
node-fetch "^2.6.7"
|
||||
|
||||
"@asamuzakjp/css-color@^3.1.2":
|
||||
"@asamuzakjp/css-color@^3.2.0":
|
||||
version "3.2.0"
|
||||
resolved "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz"
|
||||
integrity sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==
|
||||
|
|
@ -32,9 +32,9 @@
|
|||
lru-cache "^10.4.3"
|
||||
|
||||
"@babel/runtime@^7.20.13", "@babel/runtime@^7.3.1":
|
||||
version "7.27.4"
|
||||
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.4.tgz"
|
||||
integrity sha512-t3yaEOuGu9NlIZ+hIeGbBjFtZT7j2cb2tg0fuaJKeGotchRjjLfrBA9Kwf8quhpP1EUuxModQg04q/mBwyg8uA==
|
||||
version "7.27.6"
|
||||
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz"
|
||||
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
|
||||
|
||||
"@cfworker/json-schema@^4.0.2":
|
||||
version "4.1.1"
|
||||
|
|
@ -692,21 +692,21 @@
|
|||
zod-to-json-schema "^3.22.5"
|
||||
|
||||
"@langchain/core@^0.3.57":
|
||||
version "0.3.57"
|
||||
resolved "https://registry.npmjs.org/@langchain/core/-/core-0.3.57.tgz"
|
||||
integrity sha512-jz28qCTKJmi47b6jqhQ6vYRTG5jRpqhtPQjriRTB5wR8mgvzo6xKs0fG/kExS3ZvM79ytD1npBvgf8i19xOo9Q==
|
||||
version "0.3.61"
|
||||
resolved "https://registry.npmjs.org/@langchain/core/-/core-0.3.61.tgz"
|
||||
integrity sha512-4O7fw5SXNSE+uBnathLQrhm3t+7dZGagt/5kt37A+pXw0AkudxEBvveg73sSnpBd9SIz3/Vc7F4k8rCKXGbEDA==
|
||||
dependencies:
|
||||
"@cfworker/json-schema" "^4.0.2"
|
||||
ansi-styles "^5.0.0"
|
||||
camelcase "6"
|
||||
decamelize "1.2.0"
|
||||
js-tiktoken "^1.0.12"
|
||||
langsmith "^0.3.29"
|
||||
langsmith "^0.3.33"
|
||||
mustache "^4.2.0"
|
||||
p-queue "^6.6.2"
|
||||
p-retry "4"
|
||||
uuid "^10.0.0"
|
||||
zod "^3.22.4"
|
||||
zod "^3.25.32"
|
||||
zod-to-json-schema "^3.22.3"
|
||||
|
||||
"@langchain/google-genai@^0.2.10":
|
||||
|
|
@ -718,6 +718,14 @@
|
|||
uuid "^11.1.0"
|
||||
zod-to-json-schema "^3.22.4"
|
||||
|
||||
"@langchain/groq@^0.2.3":
|
||||
version "0.2.3"
|
||||
resolved "https://registry.npmjs.org/@langchain/groq/-/groq-0.2.3.tgz"
|
||||
integrity sha512-r+yjysG36a0IZxTlCMr655Feumfb4IrOyA0jLLq4l7gEhVyMpYXMwyE6evseyU2LRP+7qOPbGRVpGqAIK0MsUA==
|
||||
dependencies:
|
||||
groq-sdk "^0.19.0"
|
||||
zod "^3.22.4"
|
||||
|
||||
"@langchain/langgraph-checkpoint@~0.0.18":
|
||||
version "0.0.18"
|
||||
resolved "https://registry.npmjs.org/@langchain/langgraph-checkpoint/-/langgraph-checkpoint-0.0.18.tgz"
|
||||
|
|
@ -726,9 +734,9 @@
|
|||
uuid "^10.0.0"
|
||||
|
||||
"@langchain/langgraph-sdk@~0.0.32":
|
||||
version "0.0.81"
|
||||
resolved "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.81.tgz"
|
||||
integrity sha512-2Vo6EHp3Wtcz40jbqj8NfZAEO+PY9UE5gIi0bGbnytta6g+ajz8fhFhsdwTGkZo1TtErZ6M23viOWk8Vi6knXQ==
|
||||
version "0.0.84"
|
||||
resolved "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.84.tgz"
|
||||
integrity sha512-l0PFQyJ+6m6aclORNPPWlcRwgKcXVXsPaJCbCUYFABR3yf4cOpsjhUNR0cJ7+2cS400oieHjGRdGGyO/hbSjhg==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.15"
|
||||
p-queue "^6.6.2"
|
||||
|
|
@ -737,7 +745,7 @@
|
|||
|
||||
"@langchain/langgraph@^0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@langchain/langgraph/-/langgraph-0.3.1.tgz#12b55eed0ef6b9415c860c63692fd85a8f64e54c"
|
||||
resolved "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.3.1.tgz"
|
||||
integrity sha512-BFa6DmKthPG1znkUhTBBqdza4dojs7QGg6o9V9aptIkWWdBF/UhRbjPvCx6ldkmU2oJRNWZ1BlkiP6RflxxPwA==
|
||||
dependencies:
|
||||
"@langchain/langgraph-checkpoint" "~0.0.18"
|
||||
|
|
@ -746,28 +754,18 @@
|
|||
zod "^3.23.8"
|
||||
|
||||
"@langchain/ollama@^0.2.0":
|
||||
version "0.2.0"
|
||||
resolved "https://registry.npmjs.org/@langchain/ollama/-/ollama-0.2.0.tgz"
|
||||
integrity sha512-jLlYFqt+nbhaJKLakk7lRTWHZJ7wHeJLM6yuv4jToQ8zPzpL//372+MjggDoW0mnw8ofysg1T2C6mEJspKJtiA==
|
||||
version "0.2.1"
|
||||
resolved "https://registry.npmjs.org/@langchain/ollama/-/ollama-0.2.1.tgz"
|
||||
integrity sha512-9WQ/rJV002n2f/aBPzNKBZU7kJfhqDnaGTWeIKO5gM0wZ+Rb2mfk7psluFIedachwsM/FQ+oIBcViHriaXngzA==
|
||||
dependencies:
|
||||
ollama "^0.5.12"
|
||||
uuid "^10.0.0"
|
||||
zod "^3.24.1"
|
||||
zod-to-json-schema "^3.24.1"
|
||||
|
||||
"@langchain/openai@>=0.1.0 <0.6.0", "@langchain/openai@>=0.2.0 <0.6.0":
|
||||
version "0.5.11"
|
||||
resolved "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.11.tgz"
|
||||
integrity sha512-DAp7x+NfjSqDvKVMle8yb85nzz+3ctP7zGJaeRS0vLmvkY9qf/jRkowsM0mcsIiEUKhG/AHzWqvxbhktb/jJ6Q==
|
||||
dependencies:
|
||||
js-tiktoken "^1.0.12"
|
||||
openai "^4.96.0"
|
||||
zod "^3.22.4"
|
||||
zod-to-json-schema "^3.22.3"
|
||||
|
||||
"@langchain/openai@^0.5.12":
|
||||
"@langchain/openai@>=0.1.0 <0.6.0", "@langchain/openai@>=0.2.0 <0.6.0", "@langchain/openai@^0.5.12":
|
||||
version "0.5.12"
|
||||
resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.5.12.tgz#1ade0f923238f73e0330fd91b988fbcb3d0a5689"
|
||||
resolved "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.12.tgz"
|
||||
integrity sha512-k7rxBY3ed/HIiMLd6HBqFibsfB0+L6c82H8JgXDqKeyUoACJIi1JaKHXmofmCeF2SBXBU9dog4gEGpHfcUDGUA==
|
||||
dependencies:
|
||||
js-tiktoken "^1.0.12"
|
||||
|
|
@ -795,7 +793,7 @@
|
|||
resolved "https://registry.npmjs.org/@mozilla/readability/-/readability-0.6.0.tgz"
|
||||
integrity sha512-juG5VWh4qAivzTAeMzvY9xs9HY5rAcr2E4I7tiSSCokRFi7XIZCAu92ZkSTsIj1OPceCifL3cpfteP3pDT9/QQ==
|
||||
|
||||
"@napi-rs/wasm-runtime@^0.2.10":
|
||||
"@napi-rs/wasm-runtime@^0.2.11":
|
||||
version "0.2.11"
|
||||
resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz#192c1610e1625048089ab4e35bc0649ce478500e"
|
||||
integrity sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==
|
||||
|
|
@ -946,64 +944,64 @@
|
|||
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
|
||||
|
||||
"@react-aria/focus@^3.20.2":
|
||||
version "3.20.3"
|
||||
resolved "https://registry.npmjs.org/@react-aria/focus/-/focus-3.20.3.tgz"
|
||||
integrity sha512-rR5uZUMSY4xLHmpK/I8bP1V6vUNHFo33gTvrvNUsAKKqvMfa7R2nu5A6v97dr5g6tVH6xzpdkPsOJCWh90H2cw==
|
||||
version "3.20.4"
|
||||
resolved "https://registry.npmjs.org/@react-aria/focus/-/focus-3.20.4.tgz"
|
||||
integrity sha512-E9M/kPYvF1fBZpkRXsKqMhvBVEyTY7vmkHeXLJo6tInKQOjYyYs0VeWlnGnxBjQIAH7J7ZKAORfTFQQHyhoueQ==
|
||||
dependencies:
|
||||
"@react-aria/interactions" "^3.25.1"
|
||||
"@react-aria/utils" "^3.29.0"
|
||||
"@react-types/shared" "^3.29.1"
|
||||
"@react-aria/interactions" "^3.25.2"
|
||||
"@react-aria/utils" "^3.29.1"
|
||||
"@react-types/shared" "^3.30.0"
|
||||
"@swc/helpers" "^0.5.0"
|
||||
clsx "^2.0.0"
|
||||
|
||||
"@react-aria/interactions@^3.25.0", "@react-aria/interactions@^3.25.1":
|
||||
version "3.25.1"
|
||||
resolved "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.25.1.tgz"
|
||||
integrity sha512-ntLrlgqkmZupbbjekz3fE/n3eQH2vhncx8gUp0+N+GttKWevx7jos11JUBjnJwb1RSOPgRUFcrluOqBp0VgcfQ==
|
||||
"@react-aria/interactions@^3.25.0", "@react-aria/interactions@^3.25.2":
|
||||
version "3.25.2"
|
||||
resolved "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.25.2.tgz"
|
||||
integrity sha512-BWyZXBT4P17b9C9HfOIT2glDFMH9nUCfQF7vZ5FEeXNBudH/8OcSbzyBUG4Dg3XPtkOem5LP59ocaizkl32Tvg==
|
||||
dependencies:
|
||||
"@react-aria/ssr" "^3.9.8"
|
||||
"@react-aria/utils" "^3.29.0"
|
||||
"@react-stately/flags" "^3.1.1"
|
||||
"@react-types/shared" "^3.29.1"
|
||||
"@react-aria/ssr" "^3.9.9"
|
||||
"@react-aria/utils" "^3.29.1"
|
||||
"@react-stately/flags" "^3.1.2"
|
||||
"@react-types/shared" "^3.30.0"
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-aria/ssr@^3.9.8":
|
||||
version "3.9.8"
|
||||
resolved "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.8.tgz"
|
||||
integrity sha512-lQDE/c9uTfBSDOjaZUJS8xP2jCKVk4zjQeIlCH90xaLhHDgbpCdns3xvFpJJujfj3nI4Ll9K7A+ONUBDCASOuw==
|
||||
"@react-aria/ssr@^3.9.9":
|
||||
version "3.9.9"
|
||||
resolved "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.9.tgz"
|
||||
integrity sha512-2P5thfjfPy/np18e5wD4WPt8ydNXhij1jwA8oehxZTFqlgVMGXzcWKxTb4RtJrLFsqPO7RUQTiY8QJk0M4Vy2g==
|
||||
dependencies:
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-aria/utils@^3.29.0":
|
||||
version "3.29.0"
|
||||
resolved "https://registry.npmjs.org/@react-aria/utils/-/utils-3.29.0.tgz"
|
||||
integrity sha512-jSOrZimCuT1iKNVlhjIxDkAhgF7HSp3pqyT6qjg/ZoA0wfqCi/okmrMPiWSAKBnkgX93N8GYTLT3CIEO6WZe9Q==
|
||||
dependencies:
|
||||
"@react-aria/ssr" "^3.9.8"
|
||||
"@react-stately/flags" "^3.1.1"
|
||||
"@react-stately/utils" "^3.10.6"
|
||||
"@react-types/shared" "^3.29.1"
|
||||
"@swc/helpers" "^0.5.0"
|
||||
clsx "^2.0.0"
|
||||
|
||||
"@react-stately/flags@^3.1.1":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.1.tgz"
|
||||
integrity sha512-XPR5gi5LfrPdhxZzdIlJDz/B5cBf63l4q6/AzNqVWFKgd0QqY5LvWJftXkklaIUpKSJkIKQb8dphuZXDtkWNqg==
|
||||
dependencies:
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-stately/utils@^3.10.6":
|
||||
version "3.10.6"
|
||||
resolved "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.6.tgz"
|
||||
integrity sha512-O76ip4InfTTzAJrg8OaZxKU4vvjMDOpfA/PGNOytiXwBbkct2ZeZwaimJ8Bt9W1bj5VsZ81/o/tW4BacbdDOMA==
|
||||
dependencies:
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-types/shared@^3.29.1":
|
||||
"@react-aria/utils@^3.29.1":
|
||||
version "3.29.1"
|
||||
resolved "https://registry.npmjs.org/@react-types/shared/-/shared-3.29.1.tgz"
|
||||
integrity sha512-KtM+cDf2CXoUX439rfEhbnEdAgFZX20UP2A35ypNIawR7/PFFPjQDWyA2EnClCcW/dLWJDEPX2U8+EJff8xqmQ==
|
||||
resolved "https://registry.npmjs.org/@react-aria/utils/-/utils-3.29.1.tgz"
|
||||
integrity sha512-yXMFVJ73rbQ/yYE/49n5Uidjw7kh192WNN9PNQGV0Xoc7EJUlSOxqhnpHmYTyO0EotJ8fdM1fMH8durHjUSI8g==
|
||||
dependencies:
|
||||
"@react-aria/ssr" "^3.9.9"
|
||||
"@react-stately/flags" "^3.1.2"
|
||||
"@react-stately/utils" "^3.10.7"
|
||||
"@react-types/shared" "^3.30.0"
|
||||
"@swc/helpers" "^0.5.0"
|
||||
clsx "^2.0.0"
|
||||
|
||||
"@react-stately/flags@^3.1.2":
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz"
|
||||
integrity sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg==
|
||||
dependencies:
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-stately/utils@^3.10.7":
|
||||
version "3.10.7"
|
||||
resolved "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.7.tgz"
|
||||
integrity sha512-cWvjGAocvy4abO9zbr6PW6taHgF24Mwy/LbQ4TC4Aq3tKdKDntxyD+sh7AkSRfJRT2ccMVaHVv2+FfHThd3PKQ==
|
||||
dependencies:
|
||||
"@swc/helpers" "^0.5.0"
|
||||
|
||||
"@react-types/shared@^3.30.0":
|
||||
version "3.30.0"
|
||||
resolved "https://registry.npmjs.org/@react-types/shared/-/shared-3.30.0.tgz"
|
||||
integrity sha512-COIazDAx1ncDg046cTJ8SFYsX8aS3lB/08LDnbkH/SkdYrFPWDlXMrO/sUam8j1WWM+PJ+4d1mj7tODIKNiFog==
|
||||
|
||||
"@rtsao/scc@^1.1.0":
|
||||
version "1.1.0"
|
||||
|
|
@ -1053,16 +1051,16 @@
|
|||
postcss-selector-parser "6.0.10"
|
||||
|
||||
"@tanstack/react-virtual@^3.13.9":
|
||||
version "3.13.9"
|
||||
resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.9.tgz"
|
||||
integrity sha512-SPWC8kwG/dWBf7Py7cfheAPOxuvIv4fFQ54PdmYbg7CpXfsKxkucak43Q0qKsxVthhUJQ1A7CIMAIplq4BjVwA==
|
||||
version "3.13.10"
|
||||
resolved "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.10.tgz"
|
||||
integrity sha512-nvrzk4E9mWB4124YdJ7/yzwou7IfHxlSef6ugCFcBfRmsnsma3heciiiV97sBNxyc3VuwtZvmwXd0aB5BpucVw==
|
||||
dependencies:
|
||||
"@tanstack/virtual-core" "3.13.9"
|
||||
"@tanstack/virtual-core" "3.13.10"
|
||||
|
||||
"@tanstack/virtual-core@3.13.9":
|
||||
version "3.13.9"
|
||||
resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.9.tgz"
|
||||
integrity sha512-3jztt0jpaoJO5TARe2WIHC1UQC3VMLAFUW5mmMo0yrkwtDB2AQP0+sh10BVUpWrnvHjSLvzFizydtEGLCJKFoQ==
|
||||
"@tanstack/virtual-core@3.13.10":
|
||||
version "3.13.10"
|
||||
resolved "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.10.tgz"
|
||||
integrity sha512-sPEDhXREou5HyZYqSWIqdU580rsF6FGeN7vpzijmP3KTiOGjOMZASz4Y6+QKjiFQwhWrR58OP8izYaNGVxvViA==
|
||||
|
||||
"@tybys/wasm-util@^0.9.0":
|
||||
version "0.9.0"
|
||||
|
|
@ -1123,16 +1121,16 @@
|
|||
form-data "^4.0.0"
|
||||
|
||||
"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20":
|
||||
version "20.17.57"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-20.17.57.tgz"
|
||||
integrity sha512-f3T4y6VU4fVQDKVqJV4Uppy8c1p/sVvS3peyqxyWnzkqXFJLRU7Y1Bl7rMS1Qe9z0v4M6McY0Fp9yBsgHJUsWQ==
|
||||
version "20.19.0"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz"
|
||||
integrity sha512-hfrc+1tud1xcdVTABC2JiomZJEklMcXYNTVtZLAeqTVWD+qL5jkHKT+1lOtqDdGxt+mB53DTtiz673vfjU8D1Q==
|
||||
dependencies:
|
||||
undici-types "~6.19.2"
|
||||
undici-types "~6.21.0"
|
||||
|
||||
"@types/node@^18.11.18":
|
||||
version "18.19.110"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-18.19.110.tgz"
|
||||
integrity sha512-WW2o4gTmREtSnqKty9nhqF/vA0GKd0V/rbC0OyjSk9Bz6bzlsXKT+i7WDdS/a0z74rfT2PO4dArVCSnapNLA5Q==
|
||||
version "18.19.111"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-18.19.111.tgz"
|
||||
integrity sha512-90sGdgA+QLJr1F9X79tQuEut0gEYIfkX9pydI4XGRgvFo9g2JWswefI+WUSUHPYVBHYSEfTEqBxA5hQvAZB3Mw==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
|
|
@ -1144,9 +1142,9 @@
|
|||
"@types/node" "*"
|
||||
|
||||
"@types/prop-types@*":
|
||||
version "15.7.14"
|
||||
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz"
|
||||
integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==
|
||||
version "15.7.15"
|
||||
resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz"
|
||||
integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==
|
||||
|
||||
"@types/react-dom@^18":
|
||||
version "18.3.7"
|
||||
|
|
@ -1244,92 +1242,92 @@
|
|||
resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz"
|
||||
integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
|
||||
|
||||
"@unrs/resolver-binding-darwin-arm64@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.7.8.tgz"
|
||||
integrity sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==
|
||||
"@unrs/resolver-binding-darwin-arm64@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.7.12.tgz"
|
||||
integrity sha512-C//UObaqVcGKpRMMThzBCDxbqM9YQg2dtWy3OwcERLu+qzLa781AqvGdgqwqakRO+cWCK6dl75ebAcsSozmARg==
|
||||
|
||||
"@unrs/resolver-binding-darwin-x64@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.7.8.tgz#d095a6c941b2d7892179c3afbd7c34e2416094fd"
|
||||
integrity sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==
|
||||
"@unrs/resolver-binding-darwin-x64@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.7.12.tgz#4dad7ad7b3fd745ec7169373387aab1dc0902a3d"
|
||||
integrity sha512-eRXO0uPaZtWIogCeVlpSCfzKr3ZJynQl3IRzhFucrA+efdjAylS+ZemWFfnhGbQgWv4lItKCfCpxGuZsosudWw==
|
||||
|
||||
"@unrs/resolver-binding-freebsd-x64@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.7.8.tgz#0330e52103c400d0c9d5d27050bfda39c40ccae2"
|
||||
integrity sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==
|
||||
"@unrs/resolver-binding-freebsd-x64@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.7.12.tgz#8cd285da4b6a98b8a3fba8cf1673adaa971cf6ae"
|
||||
integrity sha512-VUdT2CwMoyWy9Jolavu2fWTcusiA9FePjSyMLIrZvAeC2PMnM9msF3HJkO/j0S2fZkzgZy+UBBZjJwG0Mfds0g==
|
||||
|
||||
"@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.7.8.tgz#dcc2c61b6c49886c225ad25ab3e73bbaf768d906"
|
||||
integrity sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==
|
||||
"@unrs/resolver-binding-linux-arm-gnueabihf@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.7.12.tgz#feb25431a2b9c62f2404f5f49963523a9bed18e2"
|
||||
integrity sha512-hbWi7U2UlglpT1LQZbm7He3YpSRYGoHwFMMKC+oCD9UzPImFJZOFrQUL4FQVsOaxxz0ggWK1Q/ZcK23LpG2STg==
|
||||
|
||||
"@unrs/resolver-binding-linux-arm-musleabihf@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.7.8.tgz#269f5d78cbfdfe3591005c7602bf9c559a6f6928"
|
||||
integrity sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==
|
||||
"@unrs/resolver-binding-linux-arm-musleabihf@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.7.12.tgz#76fc53f47a0cad563d4c00c2346fe25a4e346730"
|
||||
integrity sha512-KBblhYFUhUTVSkTKxxaw4cFS3qgQMs2oM1DUSNrsFX7uRBG6SxXkLXGKua+uWq+G0vT7pp30BPXJ7c4I6vRGcw==
|
||||
|
||||
"@unrs/resolver-binding-linux-arm64-gnu@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.7.8.tgz#43c30aeecdb1d36aa2201196568209c46d99c234"
|
||||
integrity sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==
|
||||
"@unrs/resolver-binding-linux-arm64-gnu@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.7.12.tgz#5d7e6ee9fb9e985bdb9833aefda269267b226a75"
|
||||
integrity sha512-A5jGMNiY5F/KyeLkph5/gaNXNs/P/FUJvhKIP79mIOn9KUqjqx+UbhZQ1UrRuGHsh0gXPVSnu2UJdhnvJsnEyw==
|
||||
|
||||
"@unrs/resolver-binding-linux-arm64-musl@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.7.8.tgz#fc6cc665195a1d8f276cc3a83f4956ee3c1c0a6b"
|
||||
integrity sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==
|
||||
"@unrs/resolver-binding-linux-arm64-musl@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.7.12.tgz#6fdfafe4ff11cf43f18fe0ab8e9f9c98dc757d3d"
|
||||
integrity sha512-Gv/duj5YStydJTNu2vSHFbSrRimpA6mnVmAnKTe1xMfhqDCm10EP/U6u7NII1jAjbpaRmqtnvFhtndzGxDyfhA==
|
||||
|
||||
"@unrs/resolver-binding-linux-ppc64-gnu@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.7.8.tgz#bde19d505eab59ce82e812e8824c9d3e17ca71cf"
|
||||
integrity sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==
|
||||
"@unrs/resolver-binding-linux-ppc64-gnu@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.7.12.tgz#f1f36dc330d9410984c319fbcb982f31c180dc85"
|
||||
integrity sha512-BTjdqhVVl1Q8dZCdNkVXZrfFyqNRdWizFuY5N0eHP7zgtNmqwJ3F/eJF/60GnabIcmWHvWvugby2VqHZtW/bQw==
|
||||
|
||||
"@unrs/resolver-binding-linux-riscv64-gnu@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.7.8.tgz#9b96ddfc4e88720d795629ad3c0cd7a2bcc4afa8"
|
||||
integrity sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==
|
||||
"@unrs/resolver-binding-linux-riscv64-gnu@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.7.12.tgz#a2e3acadc3731cdd55d26bc57c870ae8b16c4313"
|
||||
integrity sha512-YkjQuWGi1o174Xz2R+oQOOYQgViCwkSdpsHGmLr0QRYgQclJCQ4ug6qT+EGTYi1g4994q3BAaFVgV0GzEM1YSQ==
|
||||
|
||||
"@unrs/resolver-binding-linux-riscv64-musl@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.7.8.tgz#287690c24f2b8106531968d22ad277af13bca57a"
|
||||
integrity sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==
|
||||
"@unrs/resolver-binding-linux-riscv64-musl@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.7.12.tgz#cf940218bf0fbcd5dc6b7a5ece75b67d16bd4bcd"
|
||||
integrity sha512-9ud5x0qYBuk1rGdGzdjKQq/o7tObgI3IdjaufxKLD6kJIQi6vqww1mfoJklYw2OR5JXOWc6WLNKHa0Rr9aFZsw==
|
||||
|
||||
"@unrs/resolver-binding-linux-s390x-gnu@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.7.8.tgz#b58bf7ed52f13753c9240fc59c2bd21cc348ee4e"
|
||||
integrity sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==
|
||||
"@unrs/resolver-binding-linux-s390x-gnu@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.7.12.tgz#9efb533f226da434709bd43180ff7718b88816e9"
|
||||
integrity sha512-3CNVBpgsvZ4Vrr18JAxQ8Qxz+k4PqTJR05/xn5Tczs9jFEuxPDxZKFskv9QnK3flJtx+ur9MayiTGgFZQAa7hA==
|
||||
|
||||
"@unrs/resolver-binding-linux-x64-gnu@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.7.8.tgz#578efe1a96f0e737ec9c65dd9211aff9c4bd4b99"
|
||||
integrity sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==
|
||||
"@unrs/resolver-binding-linux-x64-gnu@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.7.12.tgz#fc3094d404838720ab04b9c34ecf3b3de1211dc6"
|
||||
integrity sha512-bPACcY7lEp3M8IItjXEppQEsQ2N54a1aLb1yCWD16lccl8OG9aXQvji9x9VVcmdqR4JV4oWXzr0uIrZ+oFNvOw==
|
||||
|
||||
"@unrs/resolver-binding-linux-x64-musl@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.7.8.tgz#1f1aab9d047a2ab8830a2bb65dee950d7583518b"
|
||||
integrity sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==
|
||||
"@unrs/resolver-binding-linux-x64-musl@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.7.12.tgz#d224c9c531ae53db1d1482f59175ce554cc51522"
|
||||
integrity sha512-86WuRbj+0tK3qWPthfsR952CHxE23lDTjbKfHOczIkjRvKP/ggAzaiNMOEljxB5iel4HhGTQZBp1lx61aw2q/g==
|
||||
|
||||
"@unrs/resolver-binding-wasm32-wasi@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.7.8.tgz#85b627a4bf93d439df5e5c77c135f98699c1aa35"
|
||||
integrity sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==
|
||||
"@unrs/resolver-binding-wasm32-wasi@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.7.12.tgz#604ba5dd33678df88c3537bea98e1f6ace96ccf4"
|
||||
integrity sha512-RzWV0OyeARtKRNHSbVZyj869P+WHzT2OFEgigs+5qEIM8X3QzbQ90Ye/1hCvgu0zi/cDCXtKWp8Utr1Oym2UIA==
|
||||
dependencies:
|
||||
"@napi-rs/wasm-runtime" "^0.2.10"
|
||||
"@napi-rs/wasm-runtime" "^0.2.11"
|
||||
|
||||
"@unrs/resolver-binding-win32-arm64-msvc@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.7.8.tgz#3acb45dbf6561c7c05d2fb554e36d2c46502bf1c"
|
||||
integrity sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==
|
||||
"@unrs/resolver-binding-win32-arm64-msvc@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.7.12.tgz#a60f4256560350ada479b39da0e2db22ecd85d9f"
|
||||
integrity sha512-s9FdWj2QFT6PLNY/jPPmd7jF1Fn2HNSuLbZqUpdcSaMdeBGaDvy2C/eBYgGhrK7g8kIYUecT1LdT+SuDs6h+YA==
|
||||
|
||||
"@unrs/resolver-binding-win32-ia32-msvc@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.7.8.tgz#63628b5e12d14dd6275ec499398272ed5c272479"
|
||||
integrity sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==
|
||||
"@unrs/resolver-binding-win32-ia32-msvc@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.7.12.tgz#918d19beb57d6475ac843092d3917910352c5205"
|
||||
integrity sha512-Fo4Op3Il/6HZ8Gm+YhqBkRZpTGe/QJZWAsCB/CLYBDqJ2NjXptgFsuIvlgXv95+WUkoTw6ifRgxE9gwtcAk5YA==
|
||||
|
||||
"@unrs/resolver-binding-win32-x64-msvc@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.7.8.tgz#ee29c817f285ccb328b206356eeee588a7388d2b"
|
||||
integrity sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==
|
||||
"@unrs/resolver-binding-win32-x64-msvc@1.7.12":
|
||||
version "1.7.12"
|
||||
resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.7.12.tgz#a8b737e111b72608e7abebe8d6c223d07304e687"
|
||||
integrity sha512-00cVr73Qizmx7qycr9aO5NBofoAHuQIhNsuqj+I2Bun/yMddLfpXk86K3GWj096jXLzk0u/77u3qUTJPhuYWiw==
|
||||
|
||||
"@xenova/transformers@^2.17.2":
|
||||
version "2.17.2"
|
||||
|
|
@ -1360,9 +1358,9 @@ acorn-jsx@^5.3.2:
|
|||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn@^8.9.0:
|
||||
version "8.14.1"
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz"
|
||||
integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==
|
||||
version "8.15.0"
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
|
||||
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
||||
|
||||
agent-base@^7.1.0, agent-base@^7.1.2:
|
||||
version "7.1.3"
|
||||
|
|
@ -1771,9 +1769,9 @@ camelcase@6:
|
|||
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
|
||||
|
||||
caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001718:
|
||||
version "1.0.30001720"
|
||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz"
|
||||
integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==
|
||||
version "1.0.30001721"
|
||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz"
|
||||
integrity sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==
|
||||
|
||||
chalk@^4.0.0, chalk@^4.1.2:
|
||||
version "4.1.2"
|
||||
|
|
@ -1812,7 +1810,7 @@ cheerio-select@^2.1.0:
|
|||
|
||||
cheerio@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.1.0.tgz#87b9bec6dd3696e405ea79da7d2749d8308b0953"
|
||||
resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz"
|
||||
integrity sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==
|
||||
dependencies:
|
||||
cheerio-select "^2.1.0"
|
||||
|
|
@ -1971,9 +1969,9 @@ concat-map@0.0.1:
|
|||
integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
|
||||
|
||||
console-table-printer@^2.12.1:
|
||||
version "2.14.1"
|
||||
resolved "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.14.1.tgz"
|
||||
integrity sha512-Nvz+lt5BRvG8qJ8KrqhK0rtbE4hbi0oj4G5/2ig7pbMXBCvy+zcHEZbyIdidl2GEL0AwtxYX4Zc3C28fFSPXyA==
|
||||
version "2.14.2"
|
||||
resolved "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.14.2.tgz"
|
||||
integrity sha512-TyXKHIzSBFAuxRpgB4MA3RhFVzghJGpG8/eHmpWGm/2ezdswpbdVkxN7xTvDM3snIDKc8UrUs2NiR4LFjv/F1w==
|
||||
dependencies:
|
||||
simple-wcswidth "^1.0.1"
|
||||
|
||||
|
|
@ -2015,11 +2013,11 @@ cssesc@^3.0.0:
|
|||
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
|
||||
|
||||
cssstyle@^4.2.1:
|
||||
version "4.3.1"
|
||||
resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.3.1.tgz"
|
||||
integrity sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==
|
||||
version "4.4.0"
|
||||
resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz"
|
||||
integrity sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==
|
||||
dependencies:
|
||||
"@asamuzakjp/css-color" "^3.1.2"
|
||||
"@asamuzakjp/css-color" "^3.2.0"
|
||||
rrweb-cssom "^0.8.0"
|
||||
|
||||
csstype@^3.0.2:
|
||||
|
|
@ -2233,9 +2231,9 @@ eastasianwidth@^0.2.0:
|
|||
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
|
||||
|
||||
electron-to-chromium@^1.5.160:
|
||||
version "1.5.162"
|
||||
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.162.tgz"
|
||||
integrity sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==
|
||||
version "1.5.166"
|
||||
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.166.tgz"
|
||||
integrity sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
|
|
@ -2253,9 +2251,9 @@ enabled@2.0.x:
|
|||
integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
|
||||
|
||||
encoding-sniffer@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz"
|
||||
integrity sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==
|
||||
version "0.2.1"
|
||||
resolved "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz"
|
||||
integrity sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==
|
||||
dependencies:
|
||||
iconv-lite "^0.6.3"
|
||||
whatwg-encoding "^3.1.1"
|
||||
|
|
@ -2273,9 +2271,9 @@ entities@^4.2.0, entities@^4.4.0:
|
|||
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
|
||||
|
||||
entities@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz"
|
||||
integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz"
|
||||
integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==
|
||||
|
||||
env-paths@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
|
@ -2854,13 +2852,14 @@ form-data-encoder@1.7.2:
|
|||
integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==
|
||||
|
||||
form-data@^4.0.0:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz"
|
||||
integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==
|
||||
version "4.0.3"
|
||||
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz"
|
||||
integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
combined-stream "^1.0.8"
|
||||
es-set-tostringtag "^2.1.0"
|
||||
hasown "^2.0.2"
|
||||
mime-types "^2.1.12"
|
||||
|
||||
format@^0.2.0:
|
||||
|
|
@ -3067,6 +3066,19 @@ graphql@^16.10.0:
|
|||
resolved "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz"
|
||||
integrity sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==
|
||||
|
||||
groq-sdk@^0.19.0:
|
||||
version "0.19.0"
|
||||
resolved "https://registry.npmjs.org/groq-sdk/-/groq-sdk-0.19.0.tgz"
|
||||
integrity sha512-vdh5h7ORvwvOvutA80dKF81b0gPWHxu6K/GOJBOM0n6p6CSqAVLhFfeS79Ef0j/yCycDR09jqY7jkYz9dLiS6w==
|
||||
dependencies:
|
||||
"@types/node" "^18.11.18"
|
||||
"@types/node-fetch" "^2.6.4"
|
||||
abort-controller "^3.0.0"
|
||||
agentkeepalive "^4.2.1"
|
||||
form-data-encoder "1.7.2"
|
||||
formdata-node "^4.3.2"
|
||||
node-fetch "^2.6.7"
|
||||
|
||||
guid-typescript@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.npmjs.org/guid-typescript/-/guid-typescript-1.0.9.tgz"
|
||||
|
|
@ -3161,7 +3173,7 @@ html-to-text@^9.0.5:
|
|||
|
||||
htmlparser2@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d"
|
||||
resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz"
|
||||
integrity sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==
|
||||
dependencies:
|
||||
domelementtype "^2.3.0"
|
||||
|
|
@ -3656,10 +3668,10 @@ kuler@^2.0.0:
|
|||
zod "^3.22.4"
|
||||
zod-to-json-schema "^3.22.3"
|
||||
|
||||
langsmith@^0.3.29:
|
||||
version "0.3.30"
|
||||
resolved "https://registry.npmjs.org/langsmith/-/langsmith-0.3.30.tgz"
|
||||
integrity sha512-ZaiaOx9MysuSQlAkRw8mjm7iqhrlF7HI0LCTLxiNBEWBPywdkgI7UnN+s7KtlRiM0tP1cOLm+dQY++Fi33jkPQ==
|
||||
langsmith@^0.3.29, langsmith@^0.3.33:
|
||||
version "0.3.37"
|
||||
resolved "https://registry.npmjs.org/langsmith/-/langsmith-0.3.37.tgz"
|
||||
integrity sha512-aDFM+LbT01gP8hsJNs4QJjmbRNfoifqhpCSpk8j4k/V8wejEgvgATbgj9W9DQsfQFdtfwx+8G48sK5/0PqQisg==
|
||||
dependencies:
|
||||
"@types/uuid" "^10.0.0"
|
||||
chalk "^4.1.2"
|
||||
|
|
@ -4226,7 +4238,7 @@ parse-entities@^2.0.0:
|
|||
|
||||
parse5-htmlparser2-tree-adapter@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b"
|
||||
resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz"
|
||||
integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==
|
||||
dependencies:
|
||||
domhandler "^5.0.3"
|
||||
|
|
@ -5004,9 +5016,9 @@ streamsearch@^1.1.0:
|
|||
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
|
||||
|
||||
streamx@^2.15.0, streamx@^2.21.0:
|
||||
version "2.22.0"
|
||||
resolved "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz"
|
||||
integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==
|
||||
version "2.22.1"
|
||||
resolved "https://registry.npmjs.org/streamx/-/streamx-2.22.1.tgz"
|
||||
integrity sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==
|
||||
dependencies:
|
||||
fast-fifo "^1.3.2"
|
||||
text-decoder "^1.1.0"
|
||||
|
|
@ -5468,40 +5480,40 @@ undici-types@~5.26.4:
|
|||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
|
||||
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
|
||||
|
||||
undici-types@~6.19.2:
|
||||
version "6.19.8"
|
||||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"
|
||||
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
|
||||
undici-types@~6.21.0:
|
||||
version "6.21.0"
|
||||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz"
|
||||
integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
|
||||
|
||||
undici@^7.10.0:
|
||||
version "7.10.0"
|
||||
resolved "https://registry.yarnpkg.com/undici/-/undici-7.10.0.tgz#8ae17a976acc6593b13c9ff3342840bea9b24670"
|
||||
resolved "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz"
|
||||
integrity sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==
|
||||
|
||||
unrs-resolver@^1.6.2:
|
||||
version "1.7.8"
|
||||
resolved "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.7.8.tgz"
|
||||
integrity sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==
|
||||
version "1.7.12"
|
||||
resolved "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.7.12.tgz"
|
||||
integrity sha512-pfcdDxrVoUc5ZB3VCVJNSWbs63lgQVYLVw4k/rCr8Smi/V2Sxi1odEckVq6Zf803OtbYia1+YpiGCZoODfWLsQ==
|
||||
dependencies:
|
||||
napi-postinstall "^0.2.2"
|
||||
optionalDependencies:
|
||||
"@unrs/resolver-binding-darwin-arm64" "1.7.8"
|
||||
"@unrs/resolver-binding-darwin-x64" "1.7.8"
|
||||
"@unrs/resolver-binding-freebsd-x64" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-arm-gnueabihf" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-arm-musleabihf" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-arm64-gnu" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-arm64-musl" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-ppc64-gnu" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-riscv64-gnu" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-riscv64-musl" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-s390x-gnu" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-x64-gnu" "1.7.8"
|
||||
"@unrs/resolver-binding-linux-x64-musl" "1.7.8"
|
||||
"@unrs/resolver-binding-wasm32-wasi" "1.7.8"
|
||||
"@unrs/resolver-binding-win32-arm64-msvc" "1.7.8"
|
||||
"@unrs/resolver-binding-win32-ia32-msvc" "1.7.8"
|
||||
"@unrs/resolver-binding-win32-x64-msvc" "1.7.8"
|
||||
"@unrs/resolver-binding-darwin-arm64" "1.7.12"
|
||||
"@unrs/resolver-binding-darwin-x64" "1.7.12"
|
||||
"@unrs/resolver-binding-freebsd-x64" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-arm-gnueabihf" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-arm-musleabihf" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-arm64-gnu" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-arm64-musl" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-ppc64-gnu" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-riscv64-gnu" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-riscv64-musl" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-s390x-gnu" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-x64-gnu" "1.7.12"
|
||||
"@unrs/resolver-binding-linux-x64-musl" "1.7.12"
|
||||
"@unrs/resolver-binding-wasm32-wasi" "1.7.12"
|
||||
"@unrs/resolver-binding-win32-arm64-msvc" "1.7.12"
|
||||
"@unrs/resolver-binding-win32-ia32-msvc" "1.7.12"
|
||||
"@unrs/resolver-binding-win32-x64-msvc" "1.7.12"
|
||||
|
||||
update-browserslist-db@^1.1.3:
|
||||
version "1.1.3"
|
||||
|
|
@ -5832,7 +5844,7 @@ zod-to-json-schema@^3.22.3, zod-to-json-schema@^3.22.4, zod-to-json-schema@^3.22
|
|||
resolved "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz"
|
||||
integrity sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==
|
||||
|
||||
zod@^3.22.3, zod@^3.22.4, zod@^3.23.8, zod@^3.24.1:
|
||||
version "3.25.49"
|
||||
resolved "https://registry.npmjs.org/zod/-/zod-3.25.49.tgz"
|
||||
integrity sha512-JMMPMy9ZBk3XFEdbM3iL1brx4NUSejd6xr3ELrrGEfGb355gjhiAWtG3K5o+AViV/3ZfkIrCzXsZn6SbLwTR8Q==
|
||||
zod@^3.22.3, zod@^3.22.4, zod@^3.23.8, zod@^3.24.1, zod@^3.25.32:
|
||||
version "3.25.57"
|
||||
resolved "https://registry.npmjs.org/zod/-/zod-3.25.57.tgz"
|
||||
integrity sha512-6tgzLuwVST5oLUxXTmBqoinKMd3JeesgbgseXeFasKKj8Q1FCZrHnbqJOyiEvr4cVAlbug+CgIsmJ8cl/pU5FA==
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue