mirror of
https://github.com/run-llama/LlamaIndexTS.git
synced 2026-07-01 22:14:03 -04:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3be87d4670 | |||
| 94da13db0d | |||
| acd50ea99f | |||
| 2967d57ac0 | |||
| a8ec08c682 | |||
| 678b327051 | |||
| 650eeb1df3 | |||
| 50f6747758 | |||
| 12414a6836 | |||
| 856dd8cca8 | |||
| d8f4f6a859 |
@@ -1,5 +1,27 @@
|
||||
# @llamaindex/doc
|
||||
|
||||
## 0.2.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a8ec08c: fix: ensure correct message content in agent workflow
|
||||
- Updated dependencies [a8ec08c]
|
||||
- Updated dependencies [2967d57]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/workflow@1.1.16
|
||||
- @llamaindex/cloud@4.0.25
|
||||
- llamaindex@0.11.20
|
||||
- @llamaindex/node-parser@2.0.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
- @llamaindex/readers@3.1.15
|
||||
|
||||
## 0.2.41
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.2.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/doc",
|
||||
"version": "0.2.40",
|
||||
"version": "0.2.42",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"postinstall": "fumadocs-mdx",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { AIProvider } from "@/actions";
|
||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||
import { GoogleAnalytics } from "@next/third-parties/google";
|
||||
import { GoogleAnalytics, GoogleTagManager } from "@next/third-parties/google";
|
||||
import { RootProvider } from "fumadocs-ui/provider";
|
||||
import { Inter } from "next/font/google";
|
||||
import type { ReactNode } from "react";
|
||||
@@ -36,6 +36,7 @@ export default function Layout({ children }: { children: ReactNode }) {
|
||||
LlamaIndex.TS - Build LLM-powered document agents and workflows
|
||||
</title>
|
||||
</head>
|
||||
<GoogleTagManager gtmId="GTM-WWRFB36R" />
|
||||
<body className="flex min-h-screen flex-col">
|
||||
<TooltipProvider>
|
||||
<AIProvider>
|
||||
|
||||
@@ -34,6 +34,7 @@ const jokeAgent = agent({
|
||||
// Run the workflow
|
||||
const result = await jokeAgent.run("Tell me something funny");
|
||||
console.log(result.data.result); // Baby Llama is called cria
|
||||
console.log(result.data.message); // { role: 'assistant', content: 'Baby Llama is called cria' }
|
||||
```
|
||||
|
||||
### Event Streaming
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/cloudflare-worker-agent-test
|
||||
|
||||
## 0.0.181
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.0.180
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloudflare-worker-agent-test",
|
||||
"version": "0.0.180",
|
||||
"version": "0.0.181",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/llama-parse-browser-test
|
||||
|
||||
## 0.0.80
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [2967d57]
|
||||
- @llamaindex/cloud@4.0.25
|
||||
|
||||
## 0.0.79
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/llama-parse-browser-test",
|
||||
"private": true,
|
||||
"version": "0.0.79",
|
||||
"version": "0.0.80",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/next-agent-test
|
||||
|
||||
## 0.1.181
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.1.180
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-agent-test",
|
||||
"version": "0.1.180",
|
||||
"version": "0.1.181",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# test-edge-runtime
|
||||
|
||||
## 0.1.180
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.1.179
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/nextjs-edge-runtime-test",
|
||||
"version": "0.1.179",
|
||||
"version": "0.1.180",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# @llamaindex/next-node-runtime
|
||||
|
||||
## 0.1.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
- @llamaindex/huggingface@0.1.21
|
||||
- @llamaindex/readers@3.1.15
|
||||
|
||||
## 0.1.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/huggingface@0.1.20
|
||||
|
||||
## 0.1.48
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/next-node-runtime-test",
|
||||
"version": "0.1.48",
|
||||
"version": "0.1.50",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# vite-import-llamaindex
|
||||
|
||||
## 0.0.47
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.0.46
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "vite-import-llamaindex",
|
||||
"private": true,
|
||||
"version": "0.0.46",
|
||||
"version": "0.0.47",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/waku-query-engine-test
|
||||
|
||||
## 0.0.181
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.0.180
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/waku-query-engine-test",
|
||||
"version": "0.0.180",
|
||||
"version": "0.0.181",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,80 @@
|
||||
# examples
|
||||
|
||||
## 0.3.32
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [650eeb1]
|
||||
- Updated dependencies [a8ec08c]
|
||||
- Updated dependencies [2967d57]
|
||||
- @llamaindex/google@0.3.15
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/workflow@1.1.16
|
||||
- @llamaindex/cloud@4.0.25
|
||||
- llamaindex@0.11.20
|
||||
- @llamaindex/node-parser@2.0.16
|
||||
- @llamaindex/anthropic@0.3.18
|
||||
- @llamaindex/assemblyai@0.1.15
|
||||
- @llamaindex/clip@0.0.67
|
||||
- @llamaindex/cohere@0.0.30
|
||||
- @llamaindex/deepinfra@0.0.67
|
||||
- @llamaindex/discord@0.1.15
|
||||
- @llamaindex/huggingface@0.1.21
|
||||
- @llamaindex/jinaai@0.0.27
|
||||
- @llamaindex/mistral@0.1.16
|
||||
- @llamaindex/mixedbread@0.0.30
|
||||
- @llamaindex/notion@0.1.15
|
||||
- @llamaindex/ollama@0.1.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
- @llamaindex/perplexity@0.0.24
|
||||
- @llamaindex/portkey-ai@0.0.58
|
||||
- @llamaindex/replicate@0.0.58
|
||||
- @llamaindex/bm25-retriever@0.0.5
|
||||
- @llamaindex/astra@0.0.30
|
||||
- @llamaindex/azure@0.1.28
|
||||
- @llamaindex/chroma@0.0.30
|
||||
- @llamaindex/elastic-search@0.1.16
|
||||
- @llamaindex/firestore@1.0.23
|
||||
- @llamaindex/milvus@0.1.25
|
||||
- @llamaindex/mongodb@0.0.31
|
||||
- @llamaindex/pinecone@0.1.16
|
||||
- @llamaindex/postgres@0.0.59
|
||||
- @llamaindex/qdrant@0.1.26
|
||||
- @llamaindex/supabase@0.1.17
|
||||
- @llamaindex/upstash@0.0.30
|
||||
- @llamaindex/weaviate@0.0.31
|
||||
- @llamaindex/vercel@0.1.16
|
||||
- @llamaindex/voyage-ai@1.0.22
|
||||
- @llamaindex/readers@3.1.15
|
||||
- @llamaindex/tools@0.1.6
|
||||
- @llamaindex/deepseek@0.0.28
|
||||
- @llamaindex/fireworks@0.0.27
|
||||
- @llamaindex/groq@0.0.83
|
||||
- @llamaindex/together@0.0.27
|
||||
- @llamaindex/vllm@0.0.53
|
||||
- @llamaindex/xai@0.0.14
|
||||
|
||||
## 0.3.31
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [d8f4f6a]
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/supabase@0.1.16
|
||||
- @llamaindex/openai@0.4.10
|
||||
- @llamaindex/clip@0.0.66
|
||||
- @llamaindex/deepinfra@0.0.66
|
||||
- @llamaindex/deepseek@0.0.27
|
||||
- @llamaindex/fireworks@0.0.26
|
||||
- @llamaindex/groq@0.0.82
|
||||
- @llamaindex/huggingface@0.1.20
|
||||
- @llamaindex/jinaai@0.0.26
|
||||
- @llamaindex/perplexity@0.0.23
|
||||
- @llamaindex/azure@0.1.27
|
||||
- @llamaindex/together@0.0.26
|
||||
- @llamaindex/vllm@0.0.52
|
||||
- @llamaindex/xai@0.0.13
|
||||
|
||||
## 0.3.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -24,6 +24,7 @@ async function main() {
|
||||
state: result.data.state,
|
||||
});
|
||||
console.log(`${JSON.stringify(caResult, null, 2)}`);
|
||||
console.log("assistant message:", result.data.message);
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
|
||||
+47
-47
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/examples",
|
||||
"version": "0.3.30",
|
||||
"version": "0.3.32",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
@@ -11,52 +11,52 @@
|
||||
"@azure/cosmos": "^4.1.1",
|
||||
"@azure/identity": "^4.4.1",
|
||||
"@azure/search-documents": "^12.1.0",
|
||||
"@llamaindex/anthropic": "^0.3.17",
|
||||
"@llamaindex/assemblyai": "^0.1.14",
|
||||
"@llamaindex/astra": "^0.0.29",
|
||||
"@llamaindex/azure": "^0.1.26",
|
||||
"@llamaindex/bm25-retriever": "^0.0.4",
|
||||
"@llamaindex/chroma": "^0.0.29",
|
||||
"@llamaindex/clip": "^0.0.65",
|
||||
"@llamaindex/cloud": "^4.0.24",
|
||||
"@llamaindex/cohere": "^0.0.29",
|
||||
"@llamaindex/core": "^0.6.15",
|
||||
"@llamaindex/deepinfra": "^0.0.65",
|
||||
"@llamaindex/deepseek": "^0.0.26",
|
||||
"@llamaindex/discord": "^0.1.14",
|
||||
"@llamaindex/elastic-search": "^0.1.15",
|
||||
"@llamaindex/anthropic": "^0.3.18",
|
||||
"@llamaindex/assemblyai": "^0.1.15",
|
||||
"@llamaindex/astra": "^0.0.30",
|
||||
"@llamaindex/azure": "^0.1.28",
|
||||
"@llamaindex/bm25-retriever": "^0.0.5",
|
||||
"@llamaindex/chroma": "^0.0.30",
|
||||
"@llamaindex/clip": "^0.0.67",
|
||||
"@llamaindex/cloud": "^4.0.25",
|
||||
"@llamaindex/cohere": "^0.0.30",
|
||||
"@llamaindex/core": "^0.6.16",
|
||||
"@llamaindex/deepinfra": "^0.0.67",
|
||||
"@llamaindex/deepseek": "^0.0.28",
|
||||
"@llamaindex/discord": "^0.1.15",
|
||||
"@llamaindex/elastic-search": "^0.1.16",
|
||||
"@llamaindex/env": "^0.1.30",
|
||||
"@llamaindex/firestore": "^1.0.22",
|
||||
"@llamaindex/fireworks": "^0.0.25",
|
||||
"@llamaindex/google": "^0.3.14",
|
||||
"@llamaindex/groq": "^0.0.81",
|
||||
"@llamaindex/huggingface": "^0.1.19",
|
||||
"@llamaindex/jinaai": "^0.0.25",
|
||||
"@llamaindex/milvus": "^0.1.24",
|
||||
"@llamaindex/mistral": "^0.1.15",
|
||||
"@llamaindex/mixedbread": "^0.0.29",
|
||||
"@llamaindex/mongodb": "^0.0.30",
|
||||
"@llamaindex/node-parser": "^2.0.15",
|
||||
"@llamaindex/notion": "^0.1.14",
|
||||
"@llamaindex/ollama": "^0.1.15",
|
||||
"@llamaindex/openai": "^0.4.9",
|
||||
"@llamaindex/perplexity": "^0.0.22",
|
||||
"@llamaindex/pinecone": "^0.1.15",
|
||||
"@llamaindex/portkey-ai": "^0.0.57",
|
||||
"@llamaindex/postgres": "^0.0.58",
|
||||
"@llamaindex/qdrant": "^0.1.25",
|
||||
"@llamaindex/readers": "^3.1.14",
|
||||
"@llamaindex/replicate": "^0.0.57",
|
||||
"@llamaindex/supabase": "^0.1.15",
|
||||
"@llamaindex/together": "^0.0.25",
|
||||
"@llamaindex/tools": "^0.1.5",
|
||||
"@llamaindex/upstash": "^0.0.29",
|
||||
"@llamaindex/vercel": "^0.1.15",
|
||||
"@llamaindex/vllm": "^0.0.51",
|
||||
"@llamaindex/voyage-ai": "^1.0.21",
|
||||
"@llamaindex/weaviate": "^0.0.30",
|
||||
"@llamaindex/workflow": "^1.1.15",
|
||||
"@llamaindex/xai": "^0.0.12",
|
||||
"@llamaindex/firestore": "^1.0.23",
|
||||
"@llamaindex/fireworks": "^0.0.27",
|
||||
"@llamaindex/google": "^0.3.15",
|
||||
"@llamaindex/groq": "^0.0.83",
|
||||
"@llamaindex/huggingface": "^0.1.21",
|
||||
"@llamaindex/jinaai": "^0.0.27",
|
||||
"@llamaindex/milvus": "^0.1.25",
|
||||
"@llamaindex/mistral": "^0.1.16",
|
||||
"@llamaindex/mixedbread": "^0.0.30",
|
||||
"@llamaindex/mongodb": "^0.0.31",
|
||||
"@llamaindex/node-parser": "^2.0.16",
|
||||
"@llamaindex/notion": "^0.1.15",
|
||||
"@llamaindex/ollama": "^0.1.16",
|
||||
"@llamaindex/openai": "^0.4.11",
|
||||
"@llamaindex/perplexity": "^0.0.24",
|
||||
"@llamaindex/pinecone": "^0.1.16",
|
||||
"@llamaindex/portkey-ai": "^0.0.58",
|
||||
"@llamaindex/postgres": "^0.0.59",
|
||||
"@llamaindex/qdrant": "^0.1.26",
|
||||
"@llamaindex/readers": "^3.1.15",
|
||||
"@llamaindex/replicate": "^0.0.58",
|
||||
"@llamaindex/supabase": "^0.1.17",
|
||||
"@llamaindex/together": "^0.0.27",
|
||||
"@llamaindex/tools": "^0.1.6",
|
||||
"@llamaindex/upstash": "^0.0.30",
|
||||
"@llamaindex/vercel": "^0.1.16",
|
||||
"@llamaindex/vllm": "^0.0.53",
|
||||
"@llamaindex/voyage-ai": "^1.0.22",
|
||||
"@llamaindex/weaviate": "^0.0.31",
|
||||
"@llamaindex/workflow": "^1.1.16",
|
||||
"@llamaindex/xai": "^0.0.14",
|
||||
"@notionhq/client": "^4.0.0",
|
||||
"@pinecone-database/pinecone": "^4.0.0",
|
||||
"@vercel/postgres": "^0.10.0",
|
||||
@@ -65,7 +65,7 @@
|
||||
"commander": "^12.1.0",
|
||||
"dotenv": "^17.2.0",
|
||||
"js-tiktoken": "^1.0.14",
|
||||
"llamaindex": "^0.11.19",
|
||||
"llamaindex": "^0.11.20",
|
||||
"mongodb": "6.7.0",
|
||||
"postgres": "^3.4.4",
|
||||
"wikipedia": "^2.1.2",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/autotool
|
||||
|
||||
## 8.0.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 8.0.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/autotool-01-node-example
|
||||
|
||||
## 0.0.128
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
- @llamaindex/autotool@8.0.20
|
||||
|
||||
## 0.0.127
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -13,5 +13,5 @@
|
||||
"scripts": {
|
||||
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
|
||||
},
|
||||
"version": "0.0.127"
|
||||
"version": "0.0.128"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"url": "git+https://github.com/run-llama/LlamaIndexTS.git",
|
||||
"directory": "packages/autotool"
|
||||
},
|
||||
"version": "8.0.19",
|
||||
"version": "8.0.20",
|
||||
"description": "auto transpile your JS function to LLM Agent compatible",
|
||||
"files": [
|
||||
"dist",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @llamaindex/cloud
|
||||
|
||||
## 4.0.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2967d57: Default to \_public agent url id
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 4.0.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/cloud",
|
||||
"version": "4.0.24",
|
||||
"version": "4.0.25",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
|
||||
@@ -33,7 +33,7 @@ export class AgentClient<T = unknown> {
|
||||
apiKey = getEnv("LLAMA_CLOUD_API_KEY"),
|
||||
baseUrl = "https://api.cloud.llamaindex.ai/",
|
||||
collection = "default",
|
||||
agentUrlId = "default",
|
||||
agentUrlId = "_public",
|
||||
}: {
|
||||
apiKey?: string;
|
||||
baseUrl?: string;
|
||||
@@ -127,7 +127,7 @@ export class AgentClient<T = unknown> {
|
||||
}
|
||||
|
||||
/**
|
||||
* List agent data
|
||||
* Search agent data
|
||||
*/
|
||||
async search(
|
||||
options: SearchAgentDataOptions,
|
||||
@@ -275,7 +275,8 @@ export interface AgentDataClientOptions<T = unknown> {
|
||||
collection?: string;
|
||||
}
|
||||
/**
|
||||
* Create a new AsyncAgentDataClient instance
|
||||
* Create a new AsyncAgentDataClient instance. Does it's best to infer an agent url id from environment.
|
||||
* Pass in the window url and/or env to infer the agent url id from them.
|
||||
* @param options - The options for the client
|
||||
* @returns A new AgentClient instance
|
||||
*/
|
||||
@@ -283,20 +284,34 @@ export function createAgentDataClient<T = unknown>({
|
||||
apiKey,
|
||||
baseUrl,
|
||||
windowUrl,
|
||||
env,
|
||||
agentUrlId,
|
||||
collection = "default",
|
||||
}: {
|
||||
apiKey?: string;
|
||||
baseUrl?: string;
|
||||
windowUrl?: string;
|
||||
env?: Record<string, string>;
|
||||
agentUrlId?: string;
|
||||
collection?: string;
|
||||
} = {}): AgentClient<T> {
|
||||
if (env && !agentUrlId) {
|
||||
agentUrlId =
|
||||
env.LLAMA_DEPLOY_DEPLOYMENT_NAME ||
|
||||
env.NEXT_PUBLIC_LLAMA_DEPLOY_DEPLOYMENT_NAME ||
|
||||
env.VITE_LLAMA_DEPLOY_DEPLOYMENT_NAME;
|
||||
}
|
||||
if (windowUrl && !agentUrlId) {
|
||||
try {
|
||||
const path = new URL(windowUrl).pathname;
|
||||
// /deployments/<agent-url-id>/ui/ -> ["", "deployments", "<agent-url-id>", "ui"]
|
||||
agentUrlId = path.split("/")[2];
|
||||
const url = new URL(windowUrl);
|
||||
const path = url.pathname;
|
||||
const isLocalhost = // local agents should default to _public, otherwise a full deployment is required
|
||||
url.hostname.includes("localhost") ||
|
||||
url.hostname.includes("127.0.0.1");
|
||||
if (path.startsWith("/deployments/") && !isLocalhost) {
|
||||
// /deployments/<agent-url-id>/ui/ -> ["", "deployments", "<agent-url-id>", "ui"]
|
||||
agentUrlId = path.split("/")[2];
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
"Failed to infer agent url id from window url, falling back to default",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/core
|
||||
|
||||
## 0.6.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a8ec08c: fix: ensure correct message content in agent workflow
|
||||
|
||||
## 0.6.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/core",
|
||||
"type": "module",
|
||||
"version": "0.6.15",
|
||||
"version": "0.6.16",
|
||||
"description": "LlamaIndex Core Module",
|
||||
"exports": {
|
||||
"./agent": {
|
||||
|
||||
@@ -56,10 +56,45 @@ export function prettifyError(error: unknown): string {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a stringfied JSON with double quotes removed.
|
||||
*
|
||||
* @param value - The JSON value to stringify
|
||||
* @returns The stringified JSON with no double quotes
|
||||
*/
|
||||
export function stringifyJSONToMessageContent(value: JSONValue): string {
|
||||
return JSON.stringify(value, null, 2).replace(/"([^"]*)"/g, "$1");
|
||||
}
|
||||
|
||||
export function assertIsJSONValue(value: unknown): asserts value is JSONValue {
|
||||
if (
|
||||
typeof value === "string" ||
|
||||
typeof value === "number" ||
|
||||
typeof value === "boolean"
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Array.isArray(value)) {
|
||||
for (const item of value) {
|
||||
assertIsJSONValue(item);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof value === "object" && value !== null) {
|
||||
for (const [key, val] of Object.entries(value)) {
|
||||
if (typeof key !== "string") {
|
||||
throw new Error(`Invalid object key: ${key}`);
|
||||
}
|
||||
assertIsJSONValue(val);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
throw new Error(`Value is not a valid JSONValue: ${String(value)}`);
|
||||
}
|
||||
|
||||
export {
|
||||
extractDataUrlComponents,
|
||||
extractImage,
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @llamaindex/experimental
|
||||
|
||||
## 0.0.197
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- llamaindex@0.11.20
|
||||
|
||||
## 0.0.196
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/experimental",
|
||||
"description": "Experimental package for LlamaIndexTS",
|
||||
"version": "0.0.196",
|
||||
"version": "0.0.197",
|
||||
"type": "module",
|
||||
"types": "dist/type/index.d.ts",
|
||||
"main": "dist/cjs/index.js",
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# llamaindex
|
||||
|
||||
## 0.11.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- Updated dependencies [2967d57]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/workflow@1.1.16
|
||||
- @llamaindex/cloud@4.0.25
|
||||
- @llamaindex/node-parser@2.0.16
|
||||
|
||||
## 0.11.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "llamaindex",
|
||||
"version": "0.11.19",
|
||||
"version": "0.11.20",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @llamaindex/core-test
|
||||
|
||||
## 0.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.1.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/llamaindex-test",
|
||||
"private": true,
|
||||
"version": "0.1.10",
|
||||
"version": "0.1.12",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "vitest run"
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/node-parser
|
||||
|
||||
## 2.0.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 2.0.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@llamaindex/node-parser",
|
||||
"version": "2.0.15",
|
||||
"version": "2.0.16",
|
||||
"description": "Node parser for LlamaIndex",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/anthropic
|
||||
|
||||
## 0.3.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.3.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/anthropic",
|
||||
"description": "Anthropic Adapter for LlamaIndex",
|
||||
"version": "0.3.17",
|
||||
"version": "0.3.18",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/assemblyai
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/assemblyai",
|
||||
"description": "AssemblyAI Reader for LlamaIndex",
|
||||
"version": "0.1.14",
|
||||
"version": "0.1.15",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @llamaindex/community
|
||||
|
||||
## 0.0.111
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 678b327: feat: added apac bedrock models
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.110
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/aws",
|
||||
"description": "AWS package for LlamaIndexTS",
|
||||
"version": "0.0.110",
|
||||
"version": "0.0.111",
|
||||
"type": "module",
|
||||
"types": "dist/type/index.d.ts",
|
||||
"main": "dist/cjs/index.js",
|
||||
|
||||
@@ -134,6 +134,19 @@ export const INFERENCE_BEDROCK_MODELS = {
|
||||
EU_AMAZON_NOVA_PRO_1: "eu.amazon.nova-pro-v1:0",
|
||||
EU_AMAZON_NOVA_LITE_1: "eu.amazon.nova-lite-v1:0",
|
||||
EU_AMAZON_NOVA_MICRO_1: "eu.amazon.nova-micro-v1:0",
|
||||
|
||||
APAC_ANTHROPIC_CLAUDE_3_5_SONNET:
|
||||
"apac.anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
APAC_ANTHROPIC_CLAUDE_3_5_SONNET_V2:
|
||||
"apac.anthropic.claude-3-5-sonnet-20241022-v2:0",
|
||||
APAC_ANTHROPIC_CLAUDE_3_7_SONNET:
|
||||
"apac.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||
APAC_ANTHROPIC_CLAUDE_3_HAIKU: "apac.anthropic.claude-3-haiku-20240307-v1:0",
|
||||
APAC_ANTHROPIC_CLAUDE_3_SONNET:
|
||||
"apac.anthropic.claude-3-sonnet-20240229-v1:0",
|
||||
APAC_AMAZON_NOVA_PRO_1: "apac.amazon.nova-pro-v1:0",
|
||||
APAC_AMAZON_NOVA_LITE_1: "apac.amazon.nova-lite-v1:0",
|
||||
APAC_AMAZON_NOVA_MICRO_1: "apac.amazon.nova-micro-v1:0",
|
||||
};
|
||||
|
||||
export type INFERENCE_BEDROCK_MODELS =
|
||||
@@ -206,6 +219,24 @@ export const INFERENCE_TO_BEDROCK_MAP: Record<
|
||||
BEDROCK_MODELS.AMAZON_NOVA_LITE_1,
|
||||
[INFERENCE_BEDROCK_MODELS.EU_AMAZON_NOVA_MICRO_1]:
|
||||
BEDROCK_MODELS.AMAZON_NOVA_MICRO_1,
|
||||
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_ANTHROPIC_CLAUDE_3_5_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_ANTHROPIC_CLAUDE_3_5_SONNET_V2]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_5_SONNET_V2,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_ANTHROPIC_CLAUDE_3_7_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_7_SONNET,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_ANTHROPIC_CLAUDE_3_HAIKU]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_HAIKU,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_ANTHROPIC_CLAUDE_3_SONNET]:
|
||||
BEDROCK_MODELS.ANTHROPIC_CLAUDE_3_SONNET,
|
||||
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_AMAZON_NOVA_PRO_1]:
|
||||
BEDROCK_MODELS.AMAZON_NOVA_PRO_1,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_AMAZON_NOVA_LITE_1]:
|
||||
BEDROCK_MODELS.AMAZON_NOVA_LITE_1,
|
||||
[INFERENCE_BEDROCK_MODELS.APAC_AMAZON_NOVA_MICRO_1]:
|
||||
BEDROCK_MODELS.AMAZON_NOVA_MICRO_1,
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/clip
|
||||
|
||||
## 0.0.67
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.66
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/clip",
|
||||
"description": "Clip Embedding Adapter for LlamaIndex",
|
||||
"version": "0.0.65",
|
||||
"version": "0.0.67",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/cohere
|
||||
|
||||
## 0.0.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/cohere",
|
||||
"description": "Cohere Adapter for LlamaIndex",
|
||||
"version": "0.0.29",
|
||||
"version": "0.0.30",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/deepinfra
|
||||
|
||||
## 0.0.67
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.66
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.65
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/deepinfra",
|
||||
"description": "Deepinfra Adapter for LlamaIndex",
|
||||
"version": "0.0.65",
|
||||
"version": "0.0.67",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @llamaindex/deepseek
|
||||
|
||||
## 0.0.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/deepseek",
|
||||
"description": "DeepSeek Adapter for LlamaIndex",
|
||||
"version": "0.0.26",
|
||||
"version": "0.0.28",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/discord
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/discord",
|
||||
"description": "Discord Reader for LlamaIndex",
|
||||
"version": "0.1.14",
|
||||
"version": "0.1.15",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/excel
|
||||
|
||||
## 0.1.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/excel",
|
||||
"description": "Excel Reader for LlamaIndex",
|
||||
"version": "0.1.15",
|
||||
"version": "0.1.16",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @llamaindex/fireworks
|
||||
|
||||
## 0.0.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/fireworks",
|
||||
"description": "Fireworks Adapter for LlamaIndex",
|
||||
"version": "0.0.25",
|
||||
"version": "0.0.27",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @llamaindex/google
|
||||
|
||||
## 0.3.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 650eeb1: fix: GeminiEmbedding should send batches of max 100
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.3.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/google",
|
||||
"description": "Google Adapter for LlamaIndex",
|
||||
"version": "0.3.14",
|
||||
"version": "0.3.15",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
import { beforeEach, describe, expect, test, vi } from "vitest";
|
||||
import {
|
||||
DEFAULT_EMBED_BATCH_SIZE,
|
||||
GEMINI_EMBEDDING_MODEL,
|
||||
GeminiEmbedding,
|
||||
} from "./GeminiEmbedding";
|
||||
|
||||
// Mock the Google GenAI module
|
||||
const mockEmbedContent = vi.fn();
|
||||
vi.mock("@google/genai", () => ({
|
||||
GoogleGenAI: vi.fn().mockImplementation(() => ({
|
||||
models: {
|
||||
embedContent: mockEmbedContent,
|
||||
},
|
||||
})),
|
||||
}));
|
||||
|
||||
describe("GeminiEmbedding", () => {
|
||||
let geminiEmbedding: GeminiEmbedding;
|
||||
// Move capturedBatches to outer scope so all tests can access it
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
let capturedBatches: any[];
|
||||
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
geminiEmbedding = new GeminiEmbedding({
|
||||
model: GEMINI_EMBEDDING_MODEL.EMBEDDING_001,
|
||||
apiKey: "test-api-key",
|
||||
});
|
||||
// Default mock for other tests
|
||||
mockEmbedContent.mockResolvedValue({
|
||||
embeddings: [
|
||||
{ values: [0.1, 0.2, 0.3] },
|
||||
{ values: [0.4, 0.5, 0.6] },
|
||||
{ values: [0.7, 0.8, 0.9] },
|
||||
],
|
||||
});
|
||||
});
|
||||
|
||||
describe("getTextEmbeddingsBatch", () => {
|
||||
beforeEach(() => {
|
||||
// Reset and set up capturedBatches and the mock implementation for all tests in this suite
|
||||
capturedBatches = [];
|
||||
mockEmbedContent.mockImplementation((args) => {
|
||||
capturedBatches.push({
|
||||
...args,
|
||||
contents: Array.isArray(args.contents)
|
||||
? [...args.contents]
|
||||
: args.contents,
|
||||
});
|
||||
return Promise.resolve({
|
||||
embeddings: Array.from(
|
||||
{ length: Array.isArray(args.contents) ? args.contents.length : 1 },
|
||||
(_, i) => ({
|
||||
values: [i * 0.1, i * 0.2, i * 0.3],
|
||||
}),
|
||||
),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test("should respect batch size limit of 10 for texts longer than 10", async () => {
|
||||
// Create a list of 2.5x the batch size texts, to exceed the batch size
|
||||
const texts = Array.from(
|
||||
{ length: DEFAULT_EMBED_BATCH_SIZE * 2.5 },
|
||||
(_, i) => `text ${i + 1}`,
|
||||
);
|
||||
|
||||
await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
// Verify that embedContent was called exactly 3 times (ceil(250/100) = 3)
|
||||
expect(mockEmbedContent).toHaveBeenCalledTimes(3);
|
||||
// Verify that each call had no more than 100 texts
|
||||
const calls = mockEmbedContent.mock.calls;
|
||||
|
||||
// First batch should have DEFAULT_EMBED_BATCH_SIZE texts
|
||||
expect(capturedBatches[0].contents).toHaveLength(
|
||||
DEFAULT_EMBED_BATCH_SIZE,
|
||||
);
|
||||
expect(capturedBatches[0].contents).toEqual(
|
||||
texts.slice(0 * DEFAULT_EMBED_BATCH_SIZE, 1 * DEFAULT_EMBED_BATCH_SIZE),
|
||||
);
|
||||
|
||||
// Second batch should have DEFAULT_EMBED_BATCH_SIZE texts
|
||||
expect(capturedBatches[1].contents).toHaveLength(
|
||||
DEFAULT_EMBED_BATCH_SIZE,
|
||||
);
|
||||
expect(capturedBatches[1].contents).toEqual(
|
||||
texts.slice(1 * DEFAULT_EMBED_BATCH_SIZE, 2 * DEFAULT_EMBED_BATCH_SIZE),
|
||||
);
|
||||
|
||||
// Third batch should have 0.5 * DEFAULT_EMBED_BATCH_SIZE texts (remaining)
|
||||
expect(capturedBatches[2].contents).toHaveLength(
|
||||
DEFAULT_EMBED_BATCH_SIZE * 0.5,
|
||||
);
|
||||
expect(capturedBatches[2].contents).toEqual(
|
||||
texts.slice(
|
||||
2 * DEFAULT_EMBED_BATCH_SIZE,
|
||||
2.5 * DEFAULT_EMBED_BATCH_SIZE,
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
test("should handle exactly DEFAULT_EMBED_BATCH_SIZE texts in a single batch", async () => {
|
||||
const texts = Array.from(
|
||||
{ length: DEFAULT_EMBED_BATCH_SIZE },
|
||||
(_, i) => `text ${i + 1}`,
|
||||
);
|
||||
|
||||
await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
// Should be called exactly once
|
||||
expect(mockEmbedContent).toHaveBeenCalledTimes(1);
|
||||
// // Should contain all 100 texts
|
||||
expect(capturedBatches[0]?.contents).toHaveLength(
|
||||
DEFAULT_EMBED_BATCH_SIZE,
|
||||
);
|
||||
expect(capturedBatches[0]?.contents).toEqual(texts);
|
||||
});
|
||||
|
||||
test("should handle texts shorter than batch size", async () => {
|
||||
const short_batch_length = 5; // Less than DEFAULT_EMBED_BATCH_SIZE
|
||||
const texts = Array.from(
|
||||
{ length: short_batch_length },
|
||||
(_, i) => `text ${i + 1}`,
|
||||
);
|
||||
|
||||
await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
// Should be called exactly once
|
||||
expect(mockEmbedContent).toHaveBeenCalledTimes(1);
|
||||
|
||||
// Should contain all 5 texts
|
||||
expect(capturedBatches[0].contents).toHaveLength(short_batch_length);
|
||||
expect(capturedBatches[0].contents).toEqual(texts);
|
||||
});
|
||||
|
||||
test("should handle large batches correctly (100 texts)", async () => {
|
||||
const n_batches = 10;
|
||||
const texts = Array.from(
|
||||
{ length: DEFAULT_EMBED_BATCH_SIZE * n_batches },
|
||||
(_, i) => `text ${i + 1}`,
|
||||
);
|
||||
|
||||
await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
// Should be called exactly 10 times
|
||||
expect(mockEmbedContent).toHaveBeenCalledTimes(n_batches);
|
||||
|
||||
// Verify each batch has exactly DEFAULT_EMBED_BATCH_SIZE texts
|
||||
for (let i = 0; i < n_batches; i++) {
|
||||
expect(capturedBatches[i].contents).toHaveLength(
|
||||
DEFAULT_EMBED_BATCH_SIZE,
|
||||
);
|
||||
expect(capturedBatches[i].contents).toEqual(
|
||||
texts.slice(
|
||||
i * DEFAULT_EMBED_BATCH_SIZE,
|
||||
(i + 1) * DEFAULT_EMBED_BATCH_SIZE,
|
||||
),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
test("should return correct embeddings for all texts", async () => {
|
||||
const texts = ["text1", "text2", "text3"];
|
||||
|
||||
mockEmbedContent.mockResolvedValueOnce({
|
||||
embeddings: [
|
||||
{ values: [0.1, 0.2, 0.3] },
|
||||
{ values: [0.4, 0.5, 0.6] },
|
||||
{ values: [0.7, 0.8, 0.9] },
|
||||
],
|
||||
});
|
||||
|
||||
const result = await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
expect(result).toEqual([
|
||||
[0.1, 0.2, 0.3],
|
||||
[0.4, 0.5, 0.6],
|
||||
[0.7, 0.8, 0.9],
|
||||
]);
|
||||
});
|
||||
|
||||
test("should handle empty embeddings gracefully", async () => {
|
||||
const texts = ["text1", "text2"];
|
||||
|
||||
mockEmbedContent.mockResolvedValueOnce({
|
||||
embeddings: [{ values: undefined }, { values: [0.1, 0.2, 0.3] }],
|
||||
});
|
||||
|
||||
const result = await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
expect(result).toEqual([[], [0.1, 0.2, 0.3]]);
|
||||
});
|
||||
|
||||
test("should handle missing embeddings array", async () => {
|
||||
const texts = ["text1"];
|
||||
|
||||
mockEmbedContent.mockResolvedValueOnce({
|
||||
embeddings: undefined,
|
||||
});
|
||||
|
||||
const result = await geminiEmbedding.getTextEmbeddingsBatch(texts);
|
||||
|
||||
expect(result).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("getTextEmbedding", () => {
|
||||
test("should call embedContent with single text", async () => {
|
||||
const text = "single text";
|
||||
|
||||
mockEmbedContent.mockResolvedValueOnce({
|
||||
embeddings: [{ values: [0.1, 0.2, 0.3] }],
|
||||
});
|
||||
|
||||
const result = await geminiEmbedding.getTextEmbedding(text);
|
||||
|
||||
expect(mockEmbedContent).toHaveBeenCalledTimes(1);
|
||||
expect(mockEmbedContent).toHaveBeenCalledWith({
|
||||
model: GEMINI_EMBEDDING_MODEL.EMBEDDING_001,
|
||||
contents: text,
|
||||
});
|
||||
expect(result).toEqual([0.1, 0.2, 0.3]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("constructor", () => {
|
||||
test("should set default model and batch size", () => {
|
||||
const embedding = new GeminiEmbedding({ apiKey: "test-key" });
|
||||
|
||||
expect(embedding.model).toBe(GEMINI_EMBEDDING_MODEL.EMBEDDING_001);
|
||||
expect(embedding.embedBatchSize).toBe(DEFAULT_EMBED_BATCH_SIZE);
|
||||
});
|
||||
|
||||
test("should use provided model", () => {
|
||||
const new_batch_size = 50;
|
||||
const embedding = new GeminiEmbedding({
|
||||
model: GEMINI_EMBEDDING_MODEL.TEXT_EMBEDDING_004,
|
||||
apiKey: "test-key",
|
||||
embedBatchSize: new_batch_size,
|
||||
});
|
||||
|
||||
expect(embedding.model).toBe(GEMINI_EMBEDDING_MODEL.TEXT_EMBEDDING_004);
|
||||
expect(embedding.embedBatchSize).toBe(new_batch_size);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,5 +1,9 @@
|
||||
import { GoogleGenAI, type GoogleGenAIOptions } from "@google/genai";
|
||||
import { BaseEmbedding } from "@llamaindex/core/embeddings";
|
||||
import {
|
||||
BaseEmbedding,
|
||||
batchEmbeddings,
|
||||
type BaseEmbeddingOptions,
|
||||
} from "@llamaindex/core/embeddings";
|
||||
import { getEnv } from "@llamaindex/env";
|
||||
|
||||
export enum GEMINI_EMBEDDING_MODEL {
|
||||
@@ -7,11 +11,15 @@ export enum GEMINI_EMBEDDING_MODEL {
|
||||
TEXT_EMBEDDING_004 = "text-embedding-004",
|
||||
}
|
||||
|
||||
// 100 is max batch size, see https://github.com/run-llama/LlamaIndexTS/pull/2099
|
||||
export const DEFAULT_EMBED_BATCH_SIZE = 100;
|
||||
|
||||
/**
|
||||
* Configuration options for GeminiEmbedding.
|
||||
*/
|
||||
export type GeminiEmbeddingOptions = {
|
||||
model?: GEMINI_EMBEDDING_MODEL;
|
||||
embedBatchSize?: number;
|
||||
} & GoogleGenAIOptions;
|
||||
|
||||
/**
|
||||
@@ -20,6 +28,7 @@ export type GeminiEmbeddingOptions = {
|
||||
export class GeminiEmbedding extends BaseEmbedding {
|
||||
model: GEMINI_EMBEDDING_MODEL;
|
||||
ai: GoogleGenAI;
|
||||
embedBatchSize: number = DEFAULT_EMBED_BATCH_SIZE;
|
||||
|
||||
constructor(opts?: GeminiEmbeddingOptions) {
|
||||
super();
|
||||
@@ -31,15 +40,27 @@ export class GeminiEmbedding extends BaseEmbedding {
|
||||
|
||||
this.ai = new GoogleGenAI({ ...opts, apiKey });
|
||||
this.model = opts?.model ?? GEMINI_EMBEDDING_MODEL.EMBEDDING_001;
|
||||
this.embedBatchSize = opts?.embedBatchSize ?? DEFAULT_EMBED_BATCH_SIZE;
|
||||
}
|
||||
|
||||
async getTextEmbeddingsBatch(texts: string[]): Promise<number[][]> {
|
||||
getTextEmbeddings = async (texts: string[]) => {
|
||||
const result = await this.ai.models.embedContent({
|
||||
model: this.model,
|
||||
contents: texts,
|
||||
});
|
||||
|
||||
return result.embeddings?.map((embedding) => embedding.values ?? []) ?? [];
|
||||
};
|
||||
|
||||
async getTextEmbeddingsBatch(
|
||||
texts: string[],
|
||||
options?: BaseEmbeddingOptions,
|
||||
): Promise<Array<number[]>> {
|
||||
return await batchEmbeddings(
|
||||
texts,
|
||||
this.getTextEmbeddings.bind(this),
|
||||
this.embedBatchSize,
|
||||
options,
|
||||
);
|
||||
}
|
||||
|
||||
async getTextEmbedding(text: string): Promise<number[]> {
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @llamaindex/groq
|
||||
|
||||
## 0.0.83
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.82
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.81
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/groq",
|
||||
"description": "Groq Adapter for LlamaIndex",
|
||||
"version": "0.0.81",
|
||||
"version": "0.0.83",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/huggingface
|
||||
|
||||
## 0.1.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.1.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.1.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/huggingface",
|
||||
"description": "Huggingface Adapter for LlamaIndex",
|
||||
"version": "0.1.19",
|
||||
"version": "0.1.21",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/jinaai
|
||||
|
||||
## 0.0.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.25
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/jinaai",
|
||||
"description": "JinaAI Adapter for LlamaIndex",
|
||||
"version": "0.0.25",
|
||||
"version": "0.0.27",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/mistral
|
||||
|
||||
## 0.1.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/mistral",
|
||||
"description": "Mistral Adapter for LlamaIndex",
|
||||
"version": "0.1.15",
|
||||
"version": "0.1.16",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/mixedbread
|
||||
|
||||
## 0.0.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/mixedbread",
|
||||
"description": "Mixedbread Adapter for LlamaIndex",
|
||||
"version": "0.0.29",
|
||||
"version": "0.0.30",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/notion
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/notion",
|
||||
"description": "Notion Reader for LlamaIndex",
|
||||
"version": "0.1.14",
|
||||
"version": "0.1.15",
|
||||
"type": "module",
|
||||
"types": "dist/index.d.ts",
|
||||
"main": "dist/index.cjs",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/ollama
|
||||
|
||||
## 0.1.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/ollama",
|
||||
"description": "Ollama Adapter for LlamaIndex",
|
||||
"version": "0.1.15",
|
||||
"version": "0.1.16",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @llamaindex/openai
|
||||
|
||||
## 0.4.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.4.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 856dd8c: fix: assume new models are function call models
|
||||
|
||||
## 0.4.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/openai",
|
||||
"description": "OpenAI Adapter for LlamaIndex",
|
||||
"version": "0.4.9",
|
||||
"version": "0.4.11",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -383,8 +383,8 @@ export class OpenAI extends ToolCallLLM<OpenAIAdditionalChatOptions> {
|
||||
// skip parts that don't have any content
|
||||
if (
|
||||
!(
|
||||
choice.delta.content ||
|
||||
choice.delta.tool_calls ||
|
||||
choice.delta?.content ||
|
||||
choice.delta?.tool_calls ||
|
||||
choice.finish_reason
|
||||
)
|
||||
)
|
||||
|
||||
@@ -149,10 +149,9 @@ export function isFunctionCallingModel(llm: LLM): llm is OpenAI {
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
const isChatModel = Object.keys(ALL_AVAILABLE_OPENAI_MODELS).includes(model);
|
||||
const isOld = model.includes("0314") || model.includes("0301");
|
||||
const isO1 = model.startsWith("o1");
|
||||
return isChatModel && !isOld && !isO1;
|
||||
return !isOld && !isO1;
|
||||
}
|
||||
|
||||
export function isReasoningModel(model: ChatModel | string): boolean {
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/perplexity
|
||||
|
||||
## 0.0.24
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.0.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/perplexity",
|
||||
"description": "Perplexity Adapter for LlamaIndex",
|
||||
"version": "0.0.22",
|
||||
"version": "0.0.24",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/portkey-ai
|
||||
|
||||
## 0.0.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.57
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/portkey-ai",
|
||||
"description": "Portkey Adapter for LlamaIndex",
|
||||
"version": "0.0.57",
|
||||
"version": "0.0.58",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/replicate
|
||||
|
||||
## 0.0.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.57
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/replicate",
|
||||
"description": "Replicate Adapter for LlamaIndex",
|
||||
"version": "0.0.57",
|
||||
"version": "0.0.58",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/bm25-retriever
|
||||
|
||||
## 0.0.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/bm25-retriever",
|
||||
"description": "BM25 Retriever for LlamaIndex",
|
||||
"version": "0.0.4",
|
||||
"version": "0.0.5",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/astra
|
||||
|
||||
## 0.0.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/astra",
|
||||
"description": "Astra Storage for LlamaIndex",
|
||||
"version": "0.0.29",
|
||||
"version": "0.0.30",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @llamaindex/azure
|
||||
|
||||
## 0.1.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
- @llamaindex/openai@0.4.11
|
||||
|
||||
## 0.1.27
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [856dd8c]
|
||||
- @llamaindex/openai@0.4.10
|
||||
|
||||
## 0.1.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/azure",
|
||||
"description": "Azure Storage for LlamaIndex",
|
||||
"version": "0.1.26",
|
||||
"version": "0.1.28",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/chroma
|
||||
|
||||
## 0.0.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.0.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/chroma",
|
||||
"description": "Chroma Storage for LlamaIndex",
|
||||
"version": "0.0.29",
|
||||
"version": "0.0.30",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/elastic-search
|
||||
|
||||
## 0.1.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 0.1.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/elastic-search",
|
||||
"description": "Elastic Search Storage for LlamaIndex",
|
||||
"version": "0.1.15",
|
||||
"version": "0.1.16",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @llamaindex/firestore
|
||||
|
||||
## 1.0.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [a8ec08c]
|
||||
- @llamaindex/core@0.6.16
|
||||
|
||||
## 1.0.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@llamaindex/firestore",
|
||||
"description": "Firestore Storage for LlamaIndex",
|
||||
"version": "1.0.22",
|
||||
"version": "1.0.23",
|
||||
"type": "module",
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user