Compare commits

...

7 Commits

Author SHA1 Message Date
github-actions[bot] 8daaef44ee Release 0.6.1 (#1202)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: himself65 <himself65@users.noreply.github.com>
2024-09-16 13:08:49 -07:00
Alex Yang ac07e3cbe6 fix: replace instanceof check with .type check (#1214) 2024-09-16 12:46:40 -07:00
Alex Yang 1a6137b323 feat: experimental support for browser (#1213) 2024-09-16 12:11:24 -07:00
Alex Yang 85c2e198a4 feat: llama cloud sdk update (#1206) 2024-09-16 09:29:33 -07:00
Fabian Wimmer 01263c4cfd docs: fix false params (#1211) 2024-09-16 07:55:59 -07:00
Thuc Pham fbd5e0174d refactor: move groq as llm package (#1209) 2024-09-16 17:44:14 +07:00
Marcus Schiesser 70ccb4ae65 feat: allow arbitrary types in workflow's StartEvent and StopEvent (#1210) 2024-09-16 16:31:08 +07:00
84 changed files with 3809 additions and 723 deletions
-5
View File
@@ -1,5 +0,0 @@
---
"llamaindex": patch
---
feat: update JinaAIEmbedding, support embedding v3
+4
View File
@@ -104,6 +104,7 @@ jobs:
- nextjs-edge-runtime
- nextjs-node-runtime
- waku-query-engine
- llama-parse-browser
runs-on: ubuntu-latest
name: Build LlamaIndex Example (${{ matrix.packages }})
steps:
@@ -145,6 +146,9 @@ jobs:
- name: Pack @llamaindex/openai
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/llm/openai
- name: Pack @llamaindex/groq
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/llm/groq
- name: Pack @llamaindex/core
run: pnpm pack --pack-destination ${{ runner.temp }}
working-directory: packages/core
+10
View File
@@ -1,5 +1,15 @@
# docs
## 0.0.70
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.0.69
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.0.69",
"version": "0.0.70",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
+12 -1
View File
@@ -1,12 +1,23 @@
import fs from "node:fs/promises";
import { Document, Groq, Settings, VectorStoreIndex } from "llamaindex";
import {
Document,
Groq,
HuggingFaceEmbedding,
Settings,
VectorStoreIndex,
} from "llamaindex";
// Update llm to use Groq
Settings.llm = new Groq({
apiKey: process.env.GROQ_API_KEY,
});
// Use HuggingFace for embeddings
Settings.embedModel = new HuggingFaceEmbedding({
modelType: "Xenova/all-mpnet-base-v2",
});
async function main() {
// Load essay from abramov.txt in Node
const path = "node_modules/llamaindex/examples/abramov.txt";
+14
View File
@@ -1,5 +1,19 @@
# @llamaindex/autotool
## 3.0.1
### Patch Changes
- 1a6137b: feat: experimental support for browser
If you see bundler issue in next.js edge runtime, please bump to `next@14` latest version.
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 3.0.0
### Patch Changes
@@ -1,5 +1,16 @@
# @llamaindex/autotool-01-node-example
## 0.0.10
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
- @llamaindex/autotool@3.0.1
## 0.0.9
### Patch Changes
@@ -13,5 +13,5 @@
"scripts": {
"start": "node --import tsx --import @llamaindex/autotool/node ./src/index.ts"
},
"version": "0.0.9"
"version": "0.0.10"
}
@@ -1,5 +1,16 @@
# @llamaindex/autotool-02-next-example
## 0.1.54
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
- @llamaindex/autotool@3.0.1
## 0.1.53
### Patch Changes
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool-02-next-example",
"private": true,
"version": "0.1.53",
"version": "0.1.54",
"scripts": {
"dev": "next dev",
"build": "next build",
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/autotool",
"type": "module",
"version": "3.0.0",
"version": "3.0.1",
"description": "auto transpile your JS function to LLM Agent compatible",
"files": [
"dist",
@@ -72,7 +72,7 @@
"@types/node": "^22.5.1",
"bunchee": "5.3.2",
"llamaindex": "workspace:*",
"next": "14.2.7",
"next": "14.2.11",
"rollup": "^4.21.2",
"tsx": "^4.19.0",
"typescript": "^5.6.2",
+16
View File
@@ -1,5 +1,21 @@
# @llamaindex/cloud
## 0.2.5
### Patch Changes
- 85c2e19: feat: `@llamaindex/cloud` package update
- Bump to latest openapi schema
- Move LlamaParse class from llamaindex, this will allow you use llamaparse in more non-node.js environment
- Updated dependencies [ac07e3c]
- Updated dependencies [70ccb4a]
- Updated dependencies [1a6137b]
- Updated dependencies [ac07e3c]
- @llamaindex/core@0.2.1
- @llamaindex/env@0.1.11
## 0.2.4
### Patch Changes
+2522 -337
View File
File diff suppressed because it is too large Load Diff
+24 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloud",
"version": "0.2.4",
"version": "0.2.5",
"type": "module",
"license": "MIT",
"scripts": {
@@ -26,6 +26,20 @@
"types": "./dist/api.d.ts",
"default": "./dist/api.js"
}
},
"./reader": {
"require": {
"types": "./dist/reader.d.cts",
"default": "./dist/reader.cjs"
},
"import": {
"types": "./dist/reader.d.ts",
"default": "./dist/reader.js"
},
"default": {
"types": "./dist/reader.d.ts",
"default": "./dist/reader.js"
}
}
},
"repository": {
@@ -36,6 +50,15 @@
"devDependencies": {
"@hey-api/client-fetch": "^0.2.4",
"@hey-api/openapi-ts": "^0.53.0",
"@llamaindex/core": "workspace:^0.2.1",
"@llamaindex/env": "workspace:^0.1.11",
"bunchee": "5.3.2"
},
"peerDependencies": {
"@llamaindex/core": "workspace:^0.2.1",
"@llamaindex/env": "workspace:^0.1.11"
},
"dependencies": {
"magic-bytes.js": "^1.10.0"
}
}
@@ -1,92 +1,17 @@
import { createClient, createConfig, type Client } from "@hey-api/client-fetch";
import { Document, FileReader } from "@llamaindex/core/schema";
import { fs, getEnv } from "@llamaindex/env";
import { filetypeinfo } from "magic-bytes.js";
import {
ParsingService,
type Body_upload_file_api_v1_parsing_upload_post,
type ParserLanguages,
} from "./api";
import { sleep } from "./utils";
export type Language = ParserLanguages;
export type ResultType = "text" | "markdown" | "json";
export type Language =
| "abq"
| "ady"
| "af"
| "ang"
| "ar"
| "as"
| "ava"
| "az"
| "be"
| "bg"
| "bh"
| "bho"
| "bn"
| "bs"
| "ch_sim"
| "ch_tra"
| "che"
| "cs"
| "cy"
| "da"
| "dar"
| "de"
| "en"
| "es"
| "et"
| "fa"
| "fr"
| "ga"
| "gom"
| "hi"
| "hr"
| "hu"
| "id"
| "inh"
| "is"
| "it"
| "ja"
| "kbd"
| "kn"
| "ko"
| "ku"
| "la"
| "lbe"
| "lez"
| "lt"
| "lv"
| "mah"
| "mai"
| "mi"
| "mn"
| "mr"
| "ms"
| "mt"
| "ne"
| "new"
| "nl"
| "no"
| "oc"
| "pi"
| "pl"
| "pt"
| "ro"
| "ru"
| "rs_cyrillic"
| "rs_latin"
| "sck"
| "sk"
| "sl"
| "sq"
| "sv"
| "sw"
| "ta"
| "tab"
| "te"
| "th"
| "tjk"
| "tl"
| "tr"
| "ug"
| "uk"
| "ur"
| "uz"
| "vi";
const SUPPORT_FILE_EXT: string[] = [
".pdf",
@@ -181,6 +106,15 @@ const SUPPORT_FILE_EXT: string[] = [
".tsv",
];
//todo: should move into @llamaindex/env
type WriteStream = {
write: (text: string) => void;
};
// Do not modify this variable or cause type errors
// eslint-disable-next-line no-var
var process: any;
/**
* Represents a reader for parsing files using the LlamaParse API.
* See https://github.com/run-llama/llama_parse
@@ -188,8 +122,8 @@ const SUPPORT_FILE_EXT: string[] = [
export class LlamaParseReader extends FileReader {
// The API key for the LlamaParse API. Can be set as an environment variable: LLAMA_CLOUD_API_KEY
apiKey: string;
// The base URL of the Llama Parsing API.
baseUrl: string = "https://api.cloud.llamaindex.ai/api/parsing";
// The base URL of the Llama Cloud Platform.
baseUrl: string = "https://api.cloud.llamaindex.ai";
// The result type for the parser.
resultType: ResultType = "text";
// The interval in seconds to check if the parsing is done.
@@ -199,7 +133,7 @@ export class LlamaParseReader extends FileReader {
// Whether to print the progress of the parsing.
verbose = true;
// The language of the text to parse.
language: Language = "en";
language: ParserLanguages[] = ["en"];
// The parsing instruction for the parser. Backend default is an empty string.
parsingInstruction?: string | undefined;
// Wether to ignore diagonal text (when the text rotation in degrees is not 0, 90, 180 or 270, so not a horizontal or vertical text). Backend default is false.
@@ -237,14 +171,25 @@ export class LlamaParseReader extends FileReader {
// The API key for the multimodal API. Can also be set as an env variable: LLAMA_CLOUD_VENDOR_MULTIMODAL_API_KEY
vendorMultimodalApiKey?: string | undefined;
// numWorkers is implemented in SimpleDirectoryReader
stdout?: WriteStream | undefined;
readonly #client: Client;
constructor(
params: Partial<LlamaParseReader> & {
params: Partial<Omit<LlamaParseReader, "language" | "apiKey">> & {
language?: ParserLanguages | ParserLanguages[] | undefined;
apiKey?: string | undefined;
} = {},
) {
super();
Object.assign(this, params);
this.language = Array.isArray(this.language)
? this.language
: [this.language];
this.stdout =
(params.stdout ?? typeof process !== "undefined")
? process!.stdout
: undefined;
const apiKey = params.apiKey ?? getEnv("LLAMA_CLOUD_API_KEY");
if (!apiKey) {
throw new Error(
@@ -252,6 +197,12 @@ export class LlamaParseReader extends FileReader {
);
}
this.apiKey = apiKey;
if (this.baseUrl.endsWith("/")) {
this.baseUrl = this.baseUrl.slice(0, -"/".length);
}
if (this.baseUrl.endsWith("/api/parsing")) {
this.baseUrl = this.baseUrl.slice(0, -"/api/parsing".length);
}
if (params.gpt4oMode) {
params.gpt4oApiKey =
@@ -266,12 +217,21 @@ export class LlamaParseReader extends FileReader {
this.vendorMultimodalApiKey = params.vendorMultimodalApiKey;
}
this.#client = createClient(
createConfig({
headers: {
Authorization: `Bearer ${this.apiKey}`,
},
baseUrl: this.baseUrl,
}),
);
}
// Create a job for the LlamaParse API
private async createJob(
data: Uint8Array,
fileName?: string,
fileName: string = "unknown",
): Promise<string> {
// Load data, set the mime type
const { mime, extension } = await LlamaParseReader.getMimeType(data);
@@ -281,111 +241,126 @@ export class LlamaParseReader extends FileReader {
console.log(`Starting load for ${name} file`);
}
const body = new FormData();
body.set("file", new Blob([data], { type: mime }), fileName);
const LlamaParseBodyParams = {
const body = {
file: new File([data], fileName, { type: mime }),
language: this.language,
parsing_instruction: this.parsingInstruction,
skip_diagonal_text: this.skipDiagonalText?.toString(),
invalidate_cache: this.invalidateCache?.toString(),
do_not_cache: this.doNotCache?.toString(),
fast_mode: this.fastMode?.toString(),
do_not_unroll_columns: this.doNotUnrollColumns?.toString(),
skip_diagonal_text: this.skipDiagonalText,
invalidate_cache: this.invalidateCache,
do_not_cache: this.doNotCache,
fast_mode: this.fastMode,
do_not_unroll_columns: this.doNotUnrollColumns,
page_separator: this.pageSeparator,
page_prefix: this.pagePrefix,
page_suffix: this.pageSuffix,
gpt4o_mode: this.gpt4oMode?.toString(),
gpt4o_mode: this.gpt4oMode,
gpt4o_api_key: this.gpt4oApiKey,
bounding_box: this.boundingBox,
target_pages: this.targetPages,
use_vendor_multimodal_model: this.useVendorMultimodalModel?.toString(),
use_vendor_multimodal_model: this.useVendorMultimodalModel,
vendor_multimodal_model_name: this.vendorMultimodalModelName,
vendor_multimodal_api_key: this.vendorMultimodalApiKey,
};
// fixme: does these fields need to be set?
webhook_url: undefined,
take_screenshot: undefined,
disable_ocr: undefined,
disable_reconstruction: undefined,
input_s3_path: undefined,
output_s3_path_prefix: undefined,
} satisfies {
[Key in keyof Body_upload_file_api_v1_parsing_upload_post]-?:
| Body_upload_file_api_v1_parsing_upload_post[Key]
| undefined;
} as unknown as Body_upload_file_api_v1_parsing_upload_post;
// Filter out params with invalid values that would cause issues on the backend.
const filteredParams = this.filterSpecificParams(LlamaParseBodyParams, [
"page_separator",
"page_prefix",
"page_suffix",
"bounding_box",
"target_pages",
]);
// Appends body with any defined LlamaParseBodyParams
Object.entries(filteredParams).forEach(([key, value]) => {
if (value !== undefined) {
body.append(key, value);
}
});
const headers = {
Authorization: `Bearer ${this.apiKey}`,
};
// Send the request, start job
const url = `${this.baseUrl}/upload`;
const response = await fetch(url, {
const response = await ParsingService.uploadFileApiV1ParsingUploadPost({
client: this.#client,
throwOnError: true,
signal: AbortSignal.timeout(this.maxTimeout * 1000),
method: "POST",
body,
headers,
});
if (!response.ok) {
throw new Error(`Failed to parse the file: ${await response.text()}`);
}
const jsonResponse = await response.json();
return jsonResponse.id;
return response.data.id;
}
// Get the result of the job
private async getJobResult(jobId: string, resultType: string): Promise<any> {
const resultUrl = `${this.baseUrl}/job/${jobId}/result/${resultType}`;
const statusUrl = `${this.baseUrl}/job/${jobId}`;
const headers = { Authorization: `Bearer ${this.apiKey}` };
private async getJobResult(
jobId: string,
resultType: "text" | "json" | "markdown",
): Promise<any> {
const signal = AbortSignal.timeout(this.maxTimeout * 1000);
let tries = 0;
while (true) {
await new Promise((resolve) =>
setTimeout(resolve, this.checkInterval * 1000),
);
await sleep(this.checkInterval * 1000);
// Check the job status. If unsuccessful response, checks if maximum timeout has been reached. If reached, throws an error
const statusResponse = await fetch(statusUrl, {
headers,
signal,
});
if (!statusResponse.ok) {
signal.throwIfAborted();
if (this.verbose && tries % 10 === 0) {
process.stdout.write(".");
}
tries++;
continue;
}
const result =
await ParsingService.getParsingJobDetailsApiV1ParsingJobJobIdDetailsGet(
{
client: this.#client,
throwOnError: true,
path: {
job_id: jobId,
},
signal,
},
);
const { data } = result;
// If response is succesful, check status of job. Allowed values "PENDING", "SUCCESS", "ERROR", "CANCELED"
const statusJson = await statusResponse.json();
const status = statusJson.status;
const status = (data as Record<string, unknown>)["status"];
// If job has completed, return the result
if (status === "SUCCESS") {
const resultResponse = await fetch(resultUrl, {
headers,
signal,
});
if (!resultResponse.ok) {
throw new Error(
`Failed to fetch result: ${await resultResponse.text()}`,
);
let result;
switch (resultType) {
case "json": {
result =
await ParsingService.getJobJsonResultApiV1ParsingJobJobIdResultJsonGet(
{
client: this.#client,
throwOnError: true,
path: {
job_id: jobId,
},
signal,
},
);
break;
}
case "markdown": {
result =
await ParsingService.getJobResultApiV1ParsingJobJobIdResultMarkdownGet(
{
client: this.#client,
throwOnError: true,
path: {
job_id: jobId,
},
signal,
},
);
break;
}
case "text": {
result =
await ParsingService.getJobTextResultApiV1ParsingJobJobIdResultTextGet(
{
client: this.#client,
throwOnError: true,
path: {
job_id: jobId,
},
signal,
},
);
break;
}
}
return resultResponse.json();
return result.data;
// If job is still pending, check if maximum timeout has been reached. If reached, throws an error
} else if (status === "PENDING") {
signal.throwIfAborted();
if (this.verbose && tries % 10 === 0) {
process.stdout.write(".");
this.stdout?.write(".");
}
tries++;
} else {
@@ -408,36 +383,34 @@ export class LlamaParseReader extends FileReader {
fileContent: Uint8Array,
fileName?: string,
): Promise<Document[]> {
let jobId;
try {
// Creates a job for the file
jobId = await this.createJob(fileContent, fileName);
if (this.verbose) {
console.log(`Started parsing the file under job id ${jobId}`);
}
return this.createJob(fileContent, fileName)
.then(async (jobId) => {
if (this.verbose) {
console.log(`Started parsing the file under job id ${jobId}`);
}
// Return results as Document objects
const jobResults = await this.getJobResult(jobId, this.resultType);
const resultText = jobResults[this.resultType];
// Return results as Document objects
const jobResults = await this.getJobResult(jobId, this.resultType);
const resultText = jobResults[this.resultType];
// Split the text by separator if splitByPage is true
if (this.splitByPage) {
return this.splitTextBySeparator(resultText);
}
// Split the text by separator if splitByPage is true
if (this.splitByPage) {
return this.splitTextBySeparator(resultText);
}
return [
new Document({
text: resultText,
}),
];
} catch (e) {
console.error(`Error while parsing file under job id ${jobId}`, e);
if (this.ignoreErrors) {
return [];
} else {
throw e;
}
}
return [
new Document({
text: resultText,
}),
];
})
.catch((error) => {
if (this.ignoreErrors) {
return [];
} else {
throw error;
}
});
}
/**
* Loads data from a file and returns an array of JSON objects.
@@ -551,15 +524,20 @@ export class LlamaParseReader extends FileReader {
imagePath: string,
jobId: string,
): Promise<void> {
const headers = { Authorization: `Bearer ${this.apiKey}` };
// Construct the image URL
const imageUrl = `${this.baseUrl}/job/${jobId}/result/image/${imageName}`;
const response = await fetch(imageUrl, { headers });
if (!response.ok) {
throw new Error(`Failed to download image: ${await response.text()}`);
const response =
await ParsingService.getJobImageResultApiV1ParsingJobJobIdResultImageNameGet(
{
client: this.#client,
path: {
job_id: jobId,
name: imageName,
},
},
);
if (response.error) {
throw new Error(`Failed to download image: ${response.error.detail}`);
}
// Convert the response to an ArrayBuffer and then to a Buffer
const arrayBuffer = await response.arrayBuffer();
const arrayBuffer = (await response.data) as ArrayBuffer;
const buffer = new Uint8Array(arrayBuffer);
// Write the image buffer to the specified imagePath
await fs.writeFile(imagePath, buffer);
+3
View File
@@ -0,0 +1,3 @@
export async function sleep(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
+11 -2
View File
@@ -8,8 +8,17 @@
"moduleResolution": "Bundler",
"skipLibCheck": true,
"strict": true,
"lib": ["DOM", "ESNext"]
"lib": ["DOM", "ESNext"],
"types": []
},
"include": ["./src"],
"exclude": ["node_modules"]
"exclude": ["node_modules"],
"references": [
{
"path": "../core/tsconfig.json"
},
{
"path": "../env/tsconfig.json"
}
]
}
+11
View File
@@ -1,5 +1,16 @@
# @llamaindex/community
## 0.0.35
### Patch Changes
- Updated dependencies [ac07e3c]
- Updated dependencies [70ccb4a]
- Updated dependencies [1a6137b]
- Updated dependencies [ac07e3c]
- @llamaindex/core@0.2.1
- @llamaindex/env@0.1.11
## 0.0.34
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/community",
"description": "Community package for LlamaIndexTS",
"version": "0.0.34",
"version": "0.0.35",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+12
View File
@@ -1,5 +1,17 @@
# @llamaindex/core
## 0.2.1
### Patch Changes
- ac07e3c: fix: replace instanceof check with `.type` check
- 70ccb4a: Allow arbitrary types in workflow's StartEvent and StopEvent
- ac07e3c: fix: add `console.warn` when import dual module
- Updated dependencies [ac07e3c]
- Updated dependencies [1a6137b]
- Updated dependencies [ac07e3c]
- @llamaindex/env@0.1.11
## 0.2.0
### Minor Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/core",
"type": "module",
"version": "0.2.0",
"version": "0.2.1",
"description": "LlamaIndex Core Module",
"exports": {
"./node-parser": {
+32 -17
View File
@@ -437,9 +437,16 @@ export function splitNodesByType(nodes: BaseNode[]): NodesByType {
for (const node of nodes) {
let type: ModalityType;
if (node instanceof ImageNode) {
if (
node.type === ObjectType.IMAGE ||
node.type === ObjectType.IMAGE_DOCUMENT
) {
type = ModalityType.IMAGE;
} else if (node instanceof TextNode) {
} else if (
node.type === ObjectType.TEXT ||
node.type === ObjectType.DOCUMENT ||
node.type === ObjectType.INDEX
) {
type = ModalityType.TEXT;
} else {
throw new Error(`Unknown node type: ${node.type}`);
@@ -465,28 +472,36 @@ export function buildNodeFromSplits(
};
textSplits.forEach((textChunk, i) => {
if (doc instanceof ImageDocument) {
if (
doc.type === ObjectType.IMAGE ||
doc.type === ObjectType.IMAGE_DOCUMENT
) {
const imageDoc = doc as ImageNode;
const imageNode = new ImageNode({
id_: idGenerator(i, doc),
id_: idGenerator(i, imageDoc),
text: textChunk,
image: doc.image,
embedding: doc.embedding,
excludedEmbedMetadataKeys: [...doc.excludedEmbedMetadataKeys],
excludedLlmMetadataKeys: [...doc.excludedLlmMetadataKeys],
metadataSeparator: doc.metadataSeparator,
textTemplate: doc.textTemplate,
image: imageDoc.image,
embedding: imageDoc.embedding,
excludedEmbedMetadataKeys: [...imageDoc.excludedEmbedMetadataKeys],
excludedLlmMetadataKeys: [...imageDoc.excludedLlmMetadataKeys],
metadataSeparator: imageDoc.metadataSeparator,
textTemplate: imageDoc.textTemplate,
relationships: { ...relationships },
});
nodes.push(imageNode);
} else if (doc instanceof Document || doc instanceof TextNode) {
} else if (
doc.type === ObjectType.DOCUMENT ||
doc.type === ObjectType.TEXT
) {
const textDoc = doc as TextNode;
const node = new TextNode({
id_: idGenerator(i, doc),
id_: idGenerator(i, textDoc),
text: textChunk,
embedding: doc.embedding,
excludedEmbedMetadataKeys: [...doc.excludedEmbedMetadataKeys],
excludedLlmMetadataKeys: [...doc.excludedLlmMetadataKeys],
metadataSeparator: doc.metadataSeparator,
textTemplate: doc.textTemplate,
embedding: textDoc.embedding,
excludedEmbedMetadataKeys: [...textDoc.excludedEmbedMetadataKeys],
excludedLlmMetadataKeys: [...textDoc.excludedLlmMetadataKeys],
metadataSeparator: textDoc.metadataSeparator,
textTemplate: textDoc.textTemplate,
relationships: { ...relationships },
});
nodes.push(node);
+2 -2
View File
@@ -14,5 +14,5 @@ export type EventTypes<T extends Record<string, any> = any> = new (
data: T,
) => WorkflowEvent<T>;
export class StartEvent extends WorkflowEvent<{ input: string }> {}
export class StopEvent extends WorkflowEvent<{ result: string }> {}
export class StartEvent<T = string> extends WorkflowEvent<{ input: T }> {}
export class StopEvent<T = string> extends WorkflowEvent<{ result: T }> {}
+1 -1
View File
@@ -131,7 +131,7 @@ export class Workflow {
}
}
async run(event: StartEvent | string): Promise<StopEvent> {
async run<T = string>(event: StartEvent<T> | string): Promise<StopEvent> {
// Validate the workflow before running if #validate is true
if (this.#validate) {
this.validate();
+26
View File
@@ -140,4 +140,30 @@ describe("Workflow", () => {
expect(result.data.result).toBe("Report generated");
expect(collectedEvents).toHaveLength(1);
});
test("run workflow with object-based StartEvent and StopEvent", async () => {
const objectFlow = new Workflow({ verbose: true });
type Person = { name: string; age: number };
const processObject = vi.fn(async (_context, ev: StartEvent<Person>) => {
const { name, age } = ev.data.input;
return new StopEvent({
result: { greeting: `Hello ${name}, you are ${age} years old!` },
});
});
objectFlow.addStep(StartEvent<Person>, processObject);
const result = await objectFlow.run(
new StartEvent<Person>({
input: { name: "Alice", age: 30 },
}),
);
expect(processObject).toHaveBeenCalledTimes(1);
expect(result.data.result).toEqual({
greeting: "Hello Alice, you are 30 years old!",
});
});
});
+11
View File
@@ -1,5 +1,16 @@
# @llamaindex/env
## 0.1.11
### Patch Changes
- ac07e3c: fix: replace instanceof check with `.type` check
- 1a6137b: feat: experimental support for browser
If you see bundler issue in next.js edge runtime, please bump to `next@14` latest version.
- ac07e3c: fix: add `console.warn` when import dual module
## 0.1.10
### Patch Changes
+5 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/env",
"description": "environment wrapper, supports all JS environment including node, deno, bun, edge runtime, and cloudflare worker",
"version": "0.1.10",
"version": "0.1.11",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
@@ -36,6 +36,10 @@
"types": "./dist/type/index.edge-light.d.ts",
"default": "./dist/index.edge-light.js"
},
"browser": {
"types": "./dist/type/index.browser.d.ts",
"default": "./dist/index.browser.js"
},
"import": {
"types": "./dist/type/index.d.ts",
"default": "./dist/index.js"
+31
View File
@@ -0,0 +1,31 @@
const glo: any =
typeof globalThis !== "undefined"
? globalThis
: // @ts-expect-error
typeof window !== "undefined"
? // @ts-expect-error
window
: typeof global !== "undefined"
? global
: {};
const importIdentifier = "__ $@llamaindex/env$ __";
if (glo[importIdentifier] === true) {
/**
* Dear reader of this message. Please take this seriously.
*
* If you see this message, make sure that you only import one version of llamaindex. In many cases,
* your package manager installs two versions of llamaindex that are used by different packages within your project.
* Another reason for this message is that some parts of your project use the CJS version of llamaindex
* and others use the ESM version of llamaindex.
*
* This often leads to issues that are hard to debug. We often need to perform constructor checks,
* e.g. `node instanceof TextNode`. If you imported different versions of llamaindex, it is impossible for us to
* do the constructor checks anymore - which might break the functionality of your application.
*/
console.error(
"llamaindex was already imported. This breaks constructor checks and will lead to issues!",
);
}
glo[importIdentifier] = true;
+16
View File
@@ -0,0 +1,16 @@
/**
* Web environment polyfill.
*
* @module
*/
import "./global-check.js";
export * from "./web-polyfill.js";
export { Tokenizers, tokenizers, type Tokenizer } from "./tokenizers/js.js";
// @ts-expect-error
if (typeof window === "undefined") {
console.warn(
"You are not in a browser environment. This module is not supposed to be used in a non-browser environment.",
);
}
+2 -1
View File
@@ -3,6 +3,7 @@
*
* @module
*/
export * from "./polyfill.js";
import "./global-check.js";
export * from "./node-polyfill.js";
export { Tokenizers, tokenizers, type Tokenizer } from "./tokenizers/js.js";
+8 -2
View File
@@ -18,7 +18,8 @@ import path from "node:path";
import { Readable } from "node:stream";
import { fileURLToPath } from "node:url";
import { createWriteStream, fs } from "./fs/node.js";
import type { SHA256 } from "./polyfill.js";
import "./global-check.js";
import type { SHA256 } from "./node-polyfill.js";
export function createSHA256(): SHA256 {
const hash = createHash("sha256");
@@ -33,7 +34,12 @@ export function createSHA256(): SHA256 {
}
export { Tokenizers, tokenizers, type Tokenizer } from "./tokenizers/node.js";
export { AsyncLocalStorage, CustomEvent, getEnv, setEnvs } from "./utils.js";
export {
AsyncLocalStorage,
CustomEvent,
getEnv,
setEnvs,
} from "./utils/index.js";
export {
createWriteStream,
EOL,
+2 -2
View File
@@ -5,9 +5,9 @@
*
* @module
*/
import { INTERNAL_ENV } from "./utils.js";
import { INTERNAL_ENV } from "./utils/index.js";
export * from "./polyfill.js";
export * from "./node-polyfill.js";
export function getEnv(name: string): string | undefined {
return INTERNAL_ENV[name];
@@ -46,4 +46,9 @@ export function randomUUID(): string {
return crypto.randomUUID();
}
export { AsyncLocalStorage, CustomEvent, getEnv, setEnvs } from "./utils.js";
export {
AsyncLocalStorage,
CustomEvent,
getEnv,
setEnvs,
} from "./utils/index.js";
+45
View File
@@ -0,0 +1,45 @@
// DO NOT EXPOSE THIS VARIABLE TO PUBLIC, IT IS USED INTERNALLY FOR BROWSER ENVIRONMENT
export const INTERNAL_ENV: Record<string, string> = {};
export function setEnvs(envs: object): void {
Object.assign(INTERNAL_ENV, envs);
}
export function getEnv(name: string): string | undefined {
if (INTERNAL_ENV[name]) {
return INTERNAL_ENV[name];
}
}
// Web doesn't have AsyncLocalStorage and there's no alternative way to implement it
// Wait for https://github.com/tc39/proposal-async-context
export class AsyncLocalStorage<T> {
#store: T = null!;
static bind<Func extends (...args: any[]) => any>(fn: Func): Func {
return fn;
}
static snapshot(): <R, TArgs extends any[]>(
fn: (...args: TArgs) => R,
...args: TArgs
) => R {
return (cb: any, ...args: any[]) => cb(...args);
}
getStore() {
return this.#store;
}
run<R>(store: T, cb: () => R): R {
this.#store = store;
if (cb.constructor.name === "AsyncFunction") {
console.warn("AsyncLocalStorage is not supported in the web environment");
console.warn("Please note that some features may not work as expected");
}
return cb();
}
}
const defaultCustomEvent = (globalThis as any).CustomEvent;
export { defaultCustomEvent as CustomEvent };
+54
View File
@@ -0,0 +1,54 @@
/**
* Polyfill implementation for `@llamaindex/env`.
*
* The code should be compatible with any JS runtime.
*
* Sometimes you should overwrite the polyfill with a native implementation.
*
* @module
*/
import { Sha256 } from "@aws-crypto/sha256-js";
import pathe from "pathe";
import { fs } from "./fs/memory.js";
export { fs, pathe as path };
export interface SHA256 {
update(data: string | Uint8Array): void;
// to base64
digest(): string;
}
export const EOL = "\n";
export function ok(value: unknown, message?: string): asserts value {
if (!value) {
const error = Error(message);
error.name = "AssertionError";
error.message = message ?? "The expression evaluated to a falsy value.";
throw error;
}
}
export function createSHA256(): SHA256 {
const sha256 = new Sha256();
return {
update(data: string | Uint8Array): void {
sha256.update(data);
},
digest() {
return globalThis.btoa(sha256.digestSync().toString());
},
};
}
export function randomUUID(): string {
return crypto.randomUUID();
}
export {
AsyncLocalStorage,
CustomEvent,
getEnv,
setEnvs,
} from "./utils/index.web.js";
+10
View File
@@ -1,5 +1,15 @@
# @llamaindex/experimental
## 0.0.79
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.0.78
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/experimental",
"description": "Experimental package for LlamaIndexTS",
"version": "0.0.78",
"version": "0.0.79",
"type": "module",
"types": "dist/type/index.d.ts",
"main": "dist/cjs/index.js",
+27
View File
@@ -1,5 +1,32 @@
# llamaindex
## 0.6.1
### Patch Changes
- fbd5e01: refactor: move groq as llm package
- 6b70c54: feat: update JinaAIEmbedding, support embedding v3
- 1a6137b: feat: experimental support for browser
If you see bundler issue in next.js edge runtime, please bump to `next@14` latest version.
- 85c2e19: feat: `@llamaindex/cloud` package update
- Bump to latest openapi schema
- Move LlamaParse class from llamaindex, this will allow you use llamaparse in more non-node.js environment
- Updated dependencies [ac07e3c]
- Updated dependencies [fbd5e01]
- Updated dependencies [70ccb4a]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- Updated dependencies [ac07e3c]
- @llamaindex/core@0.2.1
- @llamaindex/env@0.1.11
- @llamaindex/groq@0.0.2
- @llamaindex/cloud@0.2.5
- @llamaindex/openai@0.1.3
## 0.6.0
### Minor Changes
@@ -1,5 +1,15 @@
# @llamaindex/cloudflare-worker-agent-test
## 0.0.63
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.0.62
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/cloudflare-worker-agent-test",
"version": "0.0.62",
"version": "0.0.63",
"type": "module",
"private": true,
"scripts": {
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
@@ -0,0 +1,8 @@
# @llamaindex/llama-parse-browser-test
## 0.0.1
### Patch Changes
- Updated dependencies [85c2e19]
- @llamaindex/cloud@0.2.5
@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + TS</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
@@ -0,0 +1,19 @@
{
"name": "@llamaindex/llama-parse-browser-test",
"private": true,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
},
"devDependencies": {
"typescript": "^5.5.3",
"vite": "^5.4.1",
"vite-plugin-wasm": "^3.3.0"
},
"dependencies": {
"@llamaindex/cloud": "workspace:*"
}
}
@@ -0,0 +1,10 @@
import { LlamaParseReader } from "@llamaindex/cloud/reader";
import "./style.css";
new LlamaParseReader();
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
<div>
Hello, world!
</div>
`;
@@ -0,0 +1,96 @@
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vanilla:hover {
filter: drop-shadow(0 0 2em #3178c6aa);
}
.card {
padding: 2em;
}
.read-the-docs {
color: #888;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}
@@ -0,0 +1 @@
/// <reference types="vite/client" />
@@ -0,0 +1,26 @@
{
"extends": "../../../../../tsconfig.json",
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"isolatedModules": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
},
"references": [
{
"path": "../../../../cloud/tsconfig.json"
}
]
}
@@ -0,0 +1,8 @@
import wasm from "vite-plugin-wasm";
export default {
plugins: [wasm()],
ssr: {
external: ["tiktoken"],
},
};
@@ -1,5 +1,15 @@
# @llamaindex/next-agent-test
## 0.1.63
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.1.62
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-agent-test",
"version": "0.1.62",
"version": "0.1.63",
"private": true,
"scripts": {
"dev": "next dev",
@@ -11,7 +11,7 @@
"dependencies": {
"ai": "^3.3.21",
"llamaindex": "workspace:*",
"next": "14.2.7",
"next": "14.2.11",
"react": "18.3.1",
"react-dom": "18.3.1"
},
@@ -20,7 +20,7 @@
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"eslint": "8.57.0",
"eslint-config-next": "14.2.7",
"eslint-config-next": "14.2.11",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"typescript": "^5.6.2"
@@ -1,5 +1,15 @@
# test-edge-runtime
## 0.1.62
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.1.61
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/nextjs-edge-runtime-test",
"version": "0.1.61",
"version": "0.1.62",
"private": true,
"scripts": {
"dev": "next dev",
@@ -9,7 +9,7 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"next": "14.2.7",
"next": "14.2.11",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
@@ -1,5 +1,15 @@
# @llamaindex/next-node-runtime
## 0.0.44
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.0.43
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/next-node-runtime-test",
"version": "0.0.43",
"version": "0.0.44",
"private": true,
"scripts": {
"dev": "next dev",
@@ -10,7 +10,7 @@
},
"dependencies": {
"llamaindex": "workspace:*",
"next": "14.2.7",
"next": "14.2.11",
"react": "18.3.1",
"react-dom": "18.3.1"
},
@@ -19,7 +19,7 @@
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"eslint": "8.57.0",
"eslint-config-next": "14.2.7",
"eslint-config-next": "14.2.11",
"postcss": "^8.4.41",
"tailwindcss": "^3.4.10",
"typescript": "^5.6.2"
@@ -1,5 +1,15 @@
# @llamaindex/waku-query-engine-test
## 0.0.63
### Patch Changes
- Updated dependencies [fbd5e01]
- Updated dependencies [6b70c54]
- Updated dependencies [1a6137b]
- Updated dependencies [85c2e19]
- llamaindex@0.6.1
## 0.0.62
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@llamaindex/waku-query-engine-test",
"version": "0.0.62",
"version": "0.0.63",
"type": "module",
"private": true,
"scripts": {
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "llamaindex",
"version": "0.6.0",
"version": "0.6.1",
"license": "MIT",
"type": "module",
"keywords": [
@@ -34,6 +34,7 @@
"@llamaindex/core": "workspace:*",
"@llamaindex/env": "workspace:*",
"@llamaindex/openai": "workspace:*",
"@llamaindex/groq": "workspace:*",
"@mistralai/mistralai": "^1.0.4",
"@mixedbread-ai/sdk": "^2.2.11",
"@pinecone-database/pinecone": "^3.0.2",
@@ -19,7 +19,7 @@ export abstract class MultiModalEmbedding extends BaseEmbedding {
/**
* Optionally override this method to retrieve multiple image embeddings in a single request
* @param texts
* @param images
*/
async getImageEmbeddings(images: ImageType[]): Promise<number[][]> {
return Promise.all(
+1 -1
View File
@@ -71,7 +71,7 @@ export abstract class BaseIndex<T> {
/**
* Create a new retriever from the index.
* @param retrieverOptions
* @param options
*/
abstract asRetriever(options?: any): BaseRetriever;
@@ -265,8 +265,9 @@ export class KeywordTableIndex extends BaseIndex<KeywordTable> {
/**
* High level API: split documents, get keywords, and build index.
* @param documents
* @param storageContext
* @param serviceContext
* @param args
* @param args.storageContext
* @param args.serviceContext
* @returns
*/
static async fromDocuments(
@@ -298,8 +299,8 @@ export class KeywordTableIndex extends BaseIndex<KeywordTable> {
/**
* Get keywords for nodes and place them into the index.
* @param nodes
* @param docStore
* @param serviceContext
* @param vectorStore
* @returns
*/
static async buildIndexFromNodes(
+1 -30
View File
@@ -1,30 +1 @@
import { getEnv } from "@llamaindex/env";
import { OpenAI } from "@llamaindex/openai";
import GroqSDK, { type ClientOptions } from "groq-sdk";
export class Groq extends OpenAI {
constructor(
init?: Partial<OpenAI> & {
additionalSessionOptions?: ClientOptions;
},
) {
const {
apiKey = getEnv("GROQ_API_KEY"),
additionalSessionOptions = {},
model = "mixtral-8x7b-32768",
...rest
} = init ?? {};
super({
apiKey,
additionalSessionOptions,
model,
...rest,
});
this.session.openai = new GroqSDK({
apiKey,
...init?.additionalSessionOptions,
}) as any;
}
}
export * from "@llamaindex/groq";
+1 -1
View File
@@ -11,7 +11,7 @@ export {
GEMINI_MODEL,
type GoogleGeminiSessionOptions,
} from "./gemini/types.js";
export { Groq } from "./groq.js";
export * from "./groq.js";
export { HuggingFaceInferenceAPI, HuggingFaceLLM } from "./huggingface.js";
export {
ALL_AVAILABLE_MISTRAL_MODELS,
-1
View File
@@ -37,7 +37,6 @@ export default function withLlamaIndex(config: any) {
webpackConfig.resolve.alias = {
...webpackConfig.resolve.alias,
"@google-cloud/vertexai": false,
"groq-sdk": false,
};
// Following lines will fix issues with onnxruntime-node when using pnpm
// See: https://github.com/vercel/next.js/issues/43433
+5 -6
View File
@@ -15,9 +15,9 @@ export class PapaCSVReader extends FileReader {
/**
* Constructs a new instance of the class.
* @param {boolean} [concatRows=true] - whether to concatenate all rows into one document.If set to False, a Document will be created for each row.True by default.
* @param {string} [colJoiner=', '] - Separator to use for joining cols per row. Set to ", " by default.
* @param {string} [rowJoiner='\n'] - Separator to use for joining each row.Only used when `concat_rows=True`.Set to "\n" by default.
* @param concatRows - Whether to concatenate all rows into one document.If set to False, a Document will be created for each row. `True` by default.
* @param colJoiner - Separator to use for joining cols per row. Set to ", " by default.
* @param rowJoiner - Separator to use for joining each row.Only used when `concat_rows=True`.Set to "\n" by default.
*/
constructor(
concatRows: boolean = true,
@@ -34,9 +34,8 @@ export class PapaCSVReader extends FileReader {
/**
* Loads data from csv files
* @param {string} file - The path to the file to load.
* @param {GenericFileSystem} [fs=DEFAULT_FS] - The file system to use for reading the file.
* @returns {Promise<Document[]>}
* @param fileContent - The content of the file.
* @returns An array of Documents.
*/
async loadDataAsContent(fileContent: Uint8Array): Promise<Document[]> {
const decoder = new TextDecoder("utf-8");
@@ -10,7 +10,7 @@ export class HTMLReader extends FileReader {
/**
* Public method for this reader.
* Required by BaseReader interface.
* @param file Path/name of the file to be loaded.
* @param fileContent - The content of the file.
* @returns Promise<Document[]> A Promise object, eventually yielding zero or one Document parsed from the HTML content of the specified file.
*/
async loadDataAsContent(fileContent: Uint8Array): Promise<Document[]> {
@@ -8,8 +8,7 @@ export class ImageReader extends FileReader {
/**
* Public method for this reader.
* Required by BaseReader interface.
* @param file Path/name of the file to be loaded.
* @param fs fs wrapper interface for getting the file content.
* @param fileContent - The content of the file.
* @returns Promise<Document[]> A Promise object, eventually yielding zero or one ImageDocument of the specified file.
*/
async loadDataAsContent(fileContent: Uint8Array): Promise<Document[]> {
+5 -1
View File
@@ -1,3 +1,8 @@
export {
LlamaParseReader,
type Language,
type ResultType,
} from "@llamaindex/cloud/reader";
export * from "./AssemblyAIReader.js";
export * from "./CSVReader.js";
export * from "./DiscordReader.js";
@@ -5,7 +10,6 @@ export * from "./DocxReader.js";
export * from "./HTMLReader.js";
export * from "./ImageReader.js";
export * from "./JSONReader.js";
export * from "./LlamaParseReader.js";
export * from "./MarkdownReader.js";
export * from "./NotionReader.js";
export * from "./PDFReader.js";
@@ -5,7 +5,6 @@ import { fs } from "@llamaindex/env";
/**
* Checks if a file exists.
* Analogous to the os.path.exists function from Python.
* @param fs The filesystem to use.
* @param path The path to the file to check.
* @returns A promise that resolves to true if the file exists, false otherwise.
*/
@@ -68,8 +68,8 @@ export class AstraDBVectorStore
* Create a new collection in your Astra DB vector database and connects to it.
* You must call this method or `connect` before adding, deleting, or querying.
*
* @param collection: your new colletion's name
* @param options: CreateCollectionOptions used to set the number of vector dimensions and similarity metric
* @param collection - Your new collection's name
* @param options - CreateCollectionOptions used to set the number of vector dimensions and similarity metric
* @returns Promise that resolves if the creation did not throw an error.
*/
async createAndConnect(
@@ -86,7 +86,7 @@ export class AstraDBVectorStore
* Connect to an existing collection in your Astra DB vector database.
* You must call this method or `createAndConnect` before adding, deleting, or querying.
*
* @param collection: your existing colletion's name
* @param collection - Your existing collection's name
* @returns Promise that resolves if the connection did not throw an error.
*/
async connect(collection: string): Promise<void> {
@@ -107,7 +107,7 @@ export class AstraDBVectorStore
/**
* Add your document(s) to your Astra DB collection.
*
* @returns and array of node ids which were added
* @returns an array of node ids which were added
*/
async add(nodes: BaseNode[]): Promise<string[]> {
if (!this.collection) {
@@ -145,8 +145,8 @@ export class AstraDBVectorStore
/**
* Delete a document from your Astra DB collection.
*
* @param refDocId: the id of the document to delete
* @param deleteOptions: DeleteOneOptions to pass to the delete query
* @param refDocId - The id of the document to delete
* @param deleteOptions - DeleteOneOptions to pass to the delete query
* @returns Promise that resolves if the delete query did not throw an error.
*/
async delete(
@@ -171,8 +171,8 @@ export class AstraDBVectorStore
/**
* Query documents from your Astra DB collection to get the closest match to your embedding.
*
* @param query: VectorStoreQuery
* @param options: FindOptions
* @param query - VectorStoreQuery
* @param options - FindOptions
*/
async query(
query: VectorStoreQuery,
@@ -472,7 +472,6 @@ export class PGVectorStore
/**
* Required by VectorStore interface. Currently ignored.
* @param persistPath
* @param fs
* @returns Resolved Promise.
*/
persist(persistPath: string): Promise<void> {
@@ -143,7 +143,7 @@ export class PineconeVectorStore
* Query the vector store for the closest matching data to the query embeddings
* @TODO QUERY TYPES
* @param query The VectorStoreQuery to be used
* @param options Required by VectorStore interface. Currently ignored.
* @param _options Required by VectorStore interface. Currently ignored.
* @returns Zero or more Document instances with data from the vector store.
*/
async query(
@@ -191,7 +191,6 @@ export class PineconeVectorStore
/**
* Required by VectorStore interface. Currently ignored.
* @param persistPath
* @param fs
* @returns Resolved Promise.
*/
persist(persistPath: string): Promise<void> {
+3
View File
@@ -18,6 +18,9 @@
},
{
"path": "../env/tsconfig.json"
},
{
"path": "../cloud/tsconfig.json"
}
]
}
+12
View File
@@ -0,0 +1,12 @@
# @llamaindex/groq
## 0.0.2
### Patch Changes
- fbd5e01: refactor: move groq as llm package
- Updated dependencies [ac07e3c]
- Updated dependencies [1a6137b]
- Updated dependencies [ac07e3c]
- @llamaindex/env@0.1.11
- @llamaindex/openai@0.1.3
+40
View File
@@ -0,0 +1,40 @@
{
"name": "@llamaindex/groq",
"description": "Groq Adapter for LlamaIndex",
"version": "0.0.2",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"exports": {
".": {
"require": {
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
},
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
},
"files": [
"dist"
],
"repository": {
"type": "git",
"url": "https://github.com/run-llama/LlamaIndexTS.git",
"directory": "packages/llm/groq"
},
"scripts": {
"build": "bunchee",
"dev": "bunchee --watch"
},
"devDependencies": {
"bunchee": "5.3.2"
},
"dependencies": {
"@llamaindex/env": "workspace:*",
"@llamaindex/openai": "workspace:*",
"groq-sdk": "0.6.1"
}
}
+1
View File
@@ -0,0 +1 @@
export { Groq } from "./llm";
+30
View File
@@ -0,0 +1,30 @@
import { getEnv } from "@llamaindex/env";
import { OpenAI } from "@llamaindex/openai";
import GroqSDK, { type ClientOptions } from "groq-sdk";
export class Groq extends OpenAI {
constructor(
init?: Partial<OpenAI> & {
additionalSessionOptions?: ClientOptions;
},
) {
const {
apiKey = getEnv("GROQ_API_KEY"),
additionalSessionOptions = {},
model = "mixtral-8x7b-32768",
...rest
} = init ?? {};
super({
apiKey,
additionalSessionOptions,
model,
...rest,
});
this.session.openai = new GroqSDK({
apiKey,
...init?.additionalSessionOptions,
}) as any;
}
}
+15
View File
@@ -0,0 +1,15 @@
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"outDir": "./lib"
},
"include": ["./src"],
"references": [
{
"path": "../../env/tsconfig.json"
}
]
}
+11
View File
@@ -1,5 +1,16 @@
# @llamaindex/openai
## 0.1.3
### Patch Changes
- Updated dependencies [ac07e3c]
- Updated dependencies [70ccb4a]
- Updated dependencies [1a6137b]
- Updated dependencies [ac07e3c]
- @llamaindex/core@0.2.1
- @llamaindex/env@0.1.11
## 0.1.2
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@llamaindex/openai",
"description": "OpenAI Adapter for LlamaIndex",
"version": "0.1.2",
"version": "0.1.3",
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
+1 -1
View File
@@ -144,7 +144,7 @@ export class OpenAIEmbedding extends BaseEmbedding {
/**
* Get embeddings for a single text
* @param texts
* @param text
*/
async getTextEmbedding(text: string): Promise<number[]> {
return (await this.getOpenAIEmbedding([text]))[0]!;
+272 -71
View File
@@ -232,8 +232,8 @@ importers:
specifier: workspace:*
version: link:../llamaindex
next:
specifier: 14.2.7
version: 14.2.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)
specifier: 14.2.11
version: 14.2.11(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827)
rollup:
specifier: ^4.21.2
version: 4.21.2
@@ -340,6 +340,10 @@ importers:
version: 5.6.2
packages/cloud:
dependencies:
magic-bytes.js:
specifier: ^1.10.0
version: 1.10.0
devDependencies:
'@hey-api/client-fetch':
specifier: ^0.2.4
@@ -347,6 +351,12 @@ importers:
'@hey-api/openapi-ts':
specifier: ^0.53.0
version: 0.53.0(typescript@5.6.2)
'@llamaindex/core':
specifier: workspace:^0.2.1
version: link:../core
'@llamaindex/env':
specifier: workspace:^0.1.11
version: link:../env
bunchee:
specifier: 5.3.2
version: 5.3.2(typescript@5.6.2)
@@ -522,6 +532,9 @@ importers:
'@llamaindex/env':
specifier: workspace:*
version: link:../env
'@llamaindex/groq':
specifier: workspace:*
version: link:../llm/groq
'@llamaindex/openai':
specifier: workspace:*
version: link:../llm/openai
@@ -702,6 +715,22 @@ importers:
specifier: ^3.73.0
version: 3.73.0(@cloudflare/workers-types@4.20240821.1)
packages/llamaindex/e2e/examples/llama-parse-browser:
dependencies:
'@llamaindex/cloud':
specifier: workspace:*
version: link:../../../../cloud
devDependencies:
typescript:
specifier: ^5.5.3
version: 5.6.2
vite:
specifier: ^5.4.1
version: 5.4.2(@types/node@22.5.4)(terser@5.32.0)
vite-plugin-wasm:
specifier: ^3.3.0
version: 3.3.0(vite@5.4.2(@types/node@22.5.4)(terser@5.32.0))
packages/llamaindex/e2e/examples/nextjs-agent:
dependencies:
ai:
@@ -711,8 +740,8 @@ importers:
specifier: workspace:*
version: link:../../..
next:
specifier: 14.2.7
version: 14.2.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: 14.2.11
version: 14.2.11(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -733,8 +762,8 @@ importers:
specifier: 8.57.0
version: 8.57.0
eslint-config-next:
specifier: 14.2.7
version: 14.2.7(eslint@8.57.0)(typescript@5.6.2)
specifier: 14.2.11
version: 14.2.11(eslint@8.57.0)(typescript@5.6.2)
postcss:
specifier: ^8.4.41
version: 8.4.41
@@ -751,8 +780,8 @@ importers:
specifier: workspace:*
version: link:../../..
next:
specifier: 14.2.7
version: 14.2.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: 14.2.11
version: 14.2.11(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -779,8 +808,8 @@ importers:
specifier: workspace:*
version: link:../../..
next:
specifier: 14.2.7
version: 14.2.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
specifier: 14.2.11
version: 14.2.11(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react:
specifier: 18.3.1
version: 18.3.1
@@ -801,8 +830,8 @@ importers:
specifier: 8.57.0
version: 8.57.0
eslint-config-next:
specifier: 14.2.7
version: 14.2.7(eslint@8.57.0)(typescript@5.6.2)
specifier: 14.2.11
version: 14.2.11(eslint@8.57.0)(typescript@5.6.2)
postcss:
specifier: ^8.4.41
version: 8.4.41
@@ -859,6 +888,22 @@ importers:
specifier: ^2.0.5
version: 2.1.1(@edge-runtime/vm@4.0.3)(@types/node@22.5.4)(happy-dom@15.7.4)(terser@5.32.0)
packages/llm/groq:
dependencies:
'@llamaindex/env':
specifier: workspace:*
version: link:../../env
'@llamaindex/openai':
specifier: workspace:*
version: link:../openai
groq-sdk:
specifier: 0.6.1
version: 0.6.1(encoding@0.1.13)
devDependencies:
bunchee:
specifier: 5.3.2
version: 5.3.2(typescript@5.6.2)
packages/llm/openai:
dependencies:
'@llamaindex/core':
@@ -3086,17 +3131,20 @@ packages:
'@mongodb-js/saslprep@1.1.7':
resolution: {integrity: sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==}
'@next/env@14.2.7':
resolution: {integrity: sha512-OTx9y6I3xE/eih+qtthppwLytmpJVPM5PPoJxChFsbjIEFXIayG0h/xLzefHGJviAa3Q5+Fd+9uYojKkHDKxoQ==}
'@next/env@14.2.11':
resolution: {integrity: sha512-HYsQRSIXwiNqvzzYThrBwq6RhXo3E0n8j8nQnAs8i4fCEo2Zf/3eS0IiRA8XnRg9Ha0YnpkyJZIZg1qEwemrHw==}
'@next/env@14.3.0-canary.51':
resolution: {integrity: sha512-4s0CuMFn4t2aAXXpilWbBo29wXBFOczqyn0v/CMG7PFTNNM4KIwDIdnjulXMtmk3TMW1m/sT5aiaezLFXk8H+Q==}
'@next/eslint-plugin-next@14.2.11':
resolution: {integrity: sha512-7mw+xW7Y03Ph4NTCcAzYe+vu4BNjEHZUfZayyF3Y1D9RX6c5NIe25m1grHEAkyUuaqjRxOYhnCNeglOkIqLkBA==}
'@next/eslint-plugin-next@14.2.7':
resolution: {integrity: sha512-+7xh142AdhZGjY9/L0iFo7mqRBMJHe+q+uOL+hto1Lfo9DeWCGcR6no4StlFbVSVcA6fQLKEX6y6qhMsSKbgNQ==}
'@next/swc-darwin-arm64@14.2.7':
resolution: {integrity: sha512-UhZGcOyI9LE/tZL3h9rs/2wMZaaJKwnpAyegUVDGZqwsla6hMfeSj9ssBWQS9yA4UXun3pPhrFLVnw5KXZs3vw==}
'@next/swc-darwin-arm64@14.2.11':
resolution: {integrity: sha512-eiY9u7wEJZWp/Pga07Qy3ZmNEfALmmSS1HtsJF3y1QEyaExu7boENz11fWqDmZ3uvcyAxCMhTrA1jfVxITQW8g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -3107,8 +3155,8 @@ packages:
cpu: [arm64]
os: [darwin]
'@next/swc-darwin-x64@14.2.7':
resolution: {integrity: sha512-ys2cUgZYRc+CbyDeLAaAdZgS7N1Kpyy+wo0b/gAj+SeOeaj0Lw/q+G1hp+DuDiDAVyxLBCJXEY/AkhDmtihUTA==}
'@next/swc-darwin-x64@14.2.11':
resolution: {integrity: sha512-lnB0zYCld4yE0IX3ANrVMmtAbziBb7MYekcmR6iE9bujmgERl6+FK+b0MBq0pl304lYe7zO4yxJus9H/Af8jbg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -3119,8 +3167,8 @@ packages:
cpu: [x64]
os: [darwin]
'@next/swc-linux-arm64-gnu@14.2.7':
resolution: {integrity: sha512-2xoWtE13sUJ3qrC1lwE/HjbDPm+kBQYFkkiVECJWctRASAHQ+NwjMzgrfqqMYHfMxFb5Wws3w9PqzZJqKFdWcQ==}
'@next/swc-linux-arm64-gnu@14.2.11':
resolution: {integrity: sha512-Ulo9TZVocYmUAtzvZ7FfldtwUoQY0+9z3BiXZCLSUwU2bp7GqHA7/bqrfsArDlUb2xeGwn3ZuBbKtNK8TR0A8w==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3131,8 +3179,8 @@ packages:
cpu: [arm64]
os: [linux]
'@next/swc-linux-arm64-musl@14.2.7':
resolution: {integrity: sha512-+zJ1gJdl35BSAGpkCbfyiY6iRTaPrt3KTl4SF/B1NyELkqqnrNX6cp4IjjjxKpd64/7enI0kf6b9O1Uf3cL0pw==}
'@next/swc-linux-arm64-musl@14.2.11':
resolution: {integrity: sha512-fH377DnKGyUnkWlmUpFF1T90m0dADBfK11dF8sOQkiELF9M+YwDRCGe8ZyDzvQcUd20Rr5U7vpZRrAxKwd3Rzg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3143,8 +3191,8 @@ packages:
cpu: [arm64]
os: [linux]
'@next/swc-linux-x64-gnu@14.2.7':
resolution: {integrity: sha512-m6EBqrskeMUzykBrv0fDX/28lWIBGhMzOYaStp0ihkjzIYJiKUOzVYD1gULHc8XDf5EMSqoH/0/TRAgXqpQwmw==}
'@next/swc-linux-x64-gnu@14.2.11':
resolution: {integrity: sha512-a0TH4ZZp4NS0LgXP/488kgvWelNpwfgGTUCDXVhPGH6pInb7yIYNgM4kmNWOxBFt+TIuOH6Pi9NnGG4XWFUyXQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3155,8 +3203,8 @@ packages:
cpu: [x64]
os: [linux]
'@next/swc-linux-x64-musl@14.2.7':
resolution: {integrity: sha512-gUu0viOMvMlzFRz1r1eQ7Ql4OE+hPOmA7smfZAhn8vC4+0swMZaZxa9CSIozTYavi+bJNDZ3tgiSdMjmMzRJlQ==}
'@next/swc-linux-x64-musl@14.2.11':
resolution: {integrity: sha512-DYYZcO4Uir2gZxA4D2JcOAKVs8ZxbOFYPpXSVIgeoQbREbeEHxysVsg3nY4FrQy51e5opxt5mOHl/LzIyZBoKA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3167,8 +3215,8 @@ packages:
cpu: [x64]
os: [linux]
'@next/swc-win32-arm64-msvc@14.2.7':
resolution: {integrity: sha512-PGbONHIVIuzWlYmLvuFKcj+8jXnLbx4WrlESYlVnEzDsa3+Q2hI1YHoXaSmbq0k4ZwZ7J6sWNV4UZfx1OeOlbQ==}
'@next/swc-win32-arm64-msvc@14.2.11':
resolution: {integrity: sha512-PwqHeKG3/kKfPpM6of1B9UJ+Er6ySUy59PeFu0Un0LBzJTRKKAg2V6J60Yqzp99m55mLa+YTbU6xj61ImTv9mg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -3179,8 +3227,8 @@ packages:
cpu: [arm64]
os: [win32]
'@next/swc-win32-ia32-msvc@14.2.7':
resolution: {integrity: sha512-BiSY5umlx9ed5RQDoHcdbuKTUkuFORDqzYKPHlLeS+STUWQKWziVOn3Ic41LuTBvqE0TRJPKpio9GSIblNR+0w==}
'@next/swc-win32-ia32-msvc@14.2.11':
resolution: {integrity: sha512-0U7PWMnOYIvM74GY6rbH6w7v+vNPDVH1gUhlwHpfInJnNe5LkmUZqhp7FNWeNa5wbVgRcRi1F1cyxp4dmeLLvA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -3191,8 +3239,8 @@ packages:
cpu: [ia32]
os: [win32]
'@next/swc-win32-x64-msvc@14.2.7':
resolution: {integrity: sha512-pxsI23gKWRt/SPHFkDEsP+w+Nd7gK37Hpv0ngc5HpWy2e7cKx9zR/+Q2ptAUqICNTecAaGWvmhway7pj/JLEWA==}
'@next/swc-win32-x64-msvc@14.2.11':
resolution: {integrity: sha512-gQpS7mcgovWoaTG1FbS5/ojF7CGfql1Q0ZLsMrhcsi2Sr9HEqsUZ70MPJyaYBXbk6iEAP7UXMD9HC8KY1qNwvA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -4238,6 +4286,17 @@ packages:
'@types/yargs@17.0.33':
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
'@typescript-eslint/eslint-plugin@7.2.0':
resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/eslint-plugin@8.3.0':
resolution: {integrity: sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4281,6 +4340,16 @@ packages:
resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/type-utils@7.2.0':
resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^8.56.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
'@typescript-eslint/type-utils@8.3.0':
resolution: {integrity: sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4342,6 +4411,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/utils@7.2.0':
resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@8.3.0':
resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6021,6 +6096,15 @@ packages:
engines: {node: '>=6.0'}
hasBin: true
eslint-config-next@14.2.11:
resolution: {integrity: sha512-gGIoBoHCJuLn6vaV1Ke8UurVvgb7JjQv6oRlWmI6RAAxz7KwJOYxxm2blctavA0a3eofbE9TdgKvvTb2G55OHQ==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
peerDependenciesMeta:
typescript:
optional: true
eslint-config-next@14.2.7:
resolution: {integrity: sha512-ppmy+QdQ7qkuCHGDlPjWaoSbJvjGpWSBD4zEW8f1eWlxYXYpZK7QzBOer1EcHKT3uKhlY1JjUus9g7Kvv712rw==}
peerDependencies:
@@ -8261,8 +8345,8 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
next@14.2.7:
resolution: {integrity: sha512-4Qy2aK0LwH4eQiSvQWyKuC7JXE13bIopEQesWE0c/P3uuNRnZCQanI0vsrMLmUQJLAto+A+/8+sve2hd+BQuOQ==}
next@14.2.11:
resolution: {integrity: sha512-8MDFqHBhdmR2wdfaWc8+lW3A/hppFe1ggQ9vgIu/g2/2QEMYJrPoQP6b+VNk56gIug/bStysAmrpUKtj3XN8Bw==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -14751,63 +14835,67 @@ snapshots:
dependencies:
sparse-bitfield: 3.0.3
'@next/env@14.2.7': {}
'@next/env@14.2.11': {}
'@next/env@14.3.0-canary.51': {}
'@next/eslint-plugin-next@14.2.11':
dependencies:
glob: 10.3.10
'@next/eslint-plugin-next@14.2.7':
dependencies:
glob: 10.3.10
'@next/swc-darwin-arm64@14.2.7':
'@next/swc-darwin-arm64@14.2.11':
optional: true
'@next/swc-darwin-arm64@14.3.0-canary.51':
optional: true
'@next/swc-darwin-x64@14.2.7':
'@next/swc-darwin-x64@14.2.11':
optional: true
'@next/swc-darwin-x64@14.3.0-canary.51':
optional: true
'@next/swc-linux-arm64-gnu@14.2.7':
'@next/swc-linux-arm64-gnu@14.2.11':
optional: true
'@next/swc-linux-arm64-gnu@14.3.0-canary.51':
optional: true
'@next/swc-linux-arm64-musl@14.2.7':
'@next/swc-linux-arm64-musl@14.2.11':
optional: true
'@next/swc-linux-arm64-musl@14.3.0-canary.51':
optional: true
'@next/swc-linux-x64-gnu@14.2.7':
'@next/swc-linux-x64-gnu@14.2.11':
optional: true
'@next/swc-linux-x64-gnu@14.3.0-canary.51':
optional: true
'@next/swc-linux-x64-musl@14.2.7':
'@next/swc-linux-x64-musl@14.2.11':
optional: true
'@next/swc-linux-x64-musl@14.3.0-canary.51':
optional: true
'@next/swc-win32-arm64-msvc@14.2.7':
'@next/swc-win32-arm64-msvc@14.2.11':
optional: true
'@next/swc-win32-arm64-msvc@14.3.0-canary.51':
optional: true
'@next/swc-win32-ia32-msvc@14.2.7':
'@next/swc-win32-ia32-msvc@14.2.11':
optional: true
'@next/swc-win32-ia32-msvc@14.3.0-canary.51':
optional: true
'@next/swc-win32-x64-msvc@14.2.7':
'@next/swc-win32-x64-msvc@14.2.11':
optional: true
'@next/swc-win32-x64-msvc@14.3.0-canary.51':
@@ -15927,6 +16015,26 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.3
'@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/regexpp': 4.11.0
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/scope-manager': 7.2.0
'@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/visitor-keys': 7.2.0
debug: 4.3.7
eslint: 8.57.0
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
semver: 7.6.3
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/eslint-plugin@8.3.0(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/regexpp': 4.11.0
@@ -15986,6 +16094,18 @@ snapshots:
'@typescript-eslint/types': 8.5.0
'@typescript-eslint/visitor-keys': 8.5.0
'@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2)
'@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
debug: 4.3.7
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.6.2)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/type-utils@8.3.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@typescript-eslint/typescript-estree': 8.3.0(typescript@5.6.2)
@@ -16066,6 +16186,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.2.0
'@typescript-eslint/types': 7.2.0
'@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2)
eslint: 8.57.0
semver: 7.6.3
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/utils@8.3.0(eslint@8.57.0)(typescript@5.6.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
@@ -18155,6 +18289,26 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
eslint-config-next@14.2.11(eslint@8.57.0)(typescript@5.6.2):
dependencies:
'@next/eslint-plugin-next': 14.2.11
'@rushstack/eslint-patch': 1.10.4
'@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0)
eslint-plugin-react: 7.35.0(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- eslint-import-resolver-webpack
- eslint-plugin-import-x
- supports-color
eslint-config-next@14.2.7(eslint@8.57.0)(typescript@5.6.2):
dependencies:
'@next/eslint-plugin-next': 14.2.7
@@ -18191,6 +18345,25 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.7
enhanced-resolve: 5.17.1
eslint: 8.57.0
eslint-module-utils: 2.8.2(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.8.0
is-bun-module: 1.1.0
is-glob: 4.0.3
optionalDependencies:
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
@@ -18203,13 +18376,24 @@ snapshots:
is-bun-module: 1.1.0
is-glob: 4.0.3
optionalDependencies:
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.8.2(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.2(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0):
dependencies:
debug: 3.2.7
@@ -18221,14 +18405,31 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.2(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
array.prototype.flatmap: 1.3.2
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.5.0(eslint@8.57.0)(typescript@5.6.2)
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.2(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
minimatch: 3.1.2
object.fromentries: 2.0.8
object.groupby: 1.0.3
object.values: 1.2.0
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.6.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0):
@@ -18241,7 +18442,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.2(@typescript-eslint/parser@8.5.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
eslint-module-utils: 2.8.2(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -21043,9 +21244,9 @@ snapshots:
neo-async@2.6.2: {}
next@14.2.7(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
next@14.2.11(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.2.7
'@next/env': 14.2.11
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001655
@@ -21055,23 +21256,23 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.7
'@next/swc-darwin-x64': 14.2.7
'@next/swc-linux-arm64-gnu': 14.2.7
'@next/swc-linux-arm64-musl': 14.2.7
'@next/swc-linux-x64-gnu': 14.2.7
'@next/swc-linux-x64-musl': 14.2.7
'@next/swc-win32-arm64-msvc': 14.2.7
'@next/swc-win32-ia32-msvc': 14.2.7
'@next/swc-win32-x64-msvc': 14.2.7
'@next/swc-darwin-arm64': 14.2.11
'@next/swc-darwin-x64': 14.2.11
'@next/swc-linux-arm64-gnu': 14.2.11
'@next/swc-linux-arm64-musl': 14.2.11
'@next/swc-linux-x64-gnu': 14.2.11
'@next/swc-linux-x64-musl': 14.2.11
'@next/swc-win32-arm64-msvc': 14.2.11
'@next/swc-win32-ia32-msvc': 14.2.11
'@next/swc-win32-x64-msvc': 14.2.11
'@opentelemetry/api': 1.9.0
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
next@14.2.7(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827):
next@14.2.11(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827))(react@19.0.0-rc-7771d3a7-20240827):
dependencies:
'@next/env': 14.2.7
'@next/env': 14.2.11
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001655
@@ -21081,15 +21282,15 @@ snapshots:
react-dom: 19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827)
styled-jsx: 5.1.1(react@19.0.0-rc-7771d3a7-20240827)
optionalDependencies:
'@next/swc-darwin-arm64': 14.2.7
'@next/swc-darwin-x64': 14.2.7
'@next/swc-linux-arm64-gnu': 14.2.7
'@next/swc-linux-arm64-musl': 14.2.7
'@next/swc-linux-x64-gnu': 14.2.7
'@next/swc-linux-x64-musl': 14.2.7
'@next/swc-win32-arm64-msvc': 14.2.7
'@next/swc-win32-ia32-msvc': 14.2.7
'@next/swc-win32-x64-msvc': 14.2.7
'@next/swc-darwin-arm64': 14.2.11
'@next/swc-darwin-x64': 14.2.11
'@next/swc-linux-arm64-gnu': 14.2.11
'@next/swc-linux-arm64-musl': 14.2.11
'@next/swc-linux-x64-gnu': 14.2.11
'@next/swc-linux-x64-musl': 14.2.11
'@next/swc-win32-arm64-msvc': 14.2.11
'@next/swc-win32-ia32-msvc': 14.2.11
'@next/swc-win32-x64-msvc': 14.2.11
'@opentelemetry/api': 1.9.0
transitivePeerDependencies:
- '@babel/core'
+3
View File
@@ -29,6 +29,9 @@
{
"path": "./packages/llm/openai/tsconfig.json"
},
{
"path": "./packages/llm/groq/tsconfig.json"
},
{
"path": "./packages/cloud/tsconfig.json"
},