First upload version 0.0.1
This commit is contained in:
36
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.d.ts
generated
vendored
Normal file
36
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { Promisable } from "../../utils/transformPromisable.js";
|
||||
export declare const valueTypeToBytesToRead: {
|
||||
readonly uint8: 1;
|
||||
readonly uint16: 2;
|
||||
readonly uint32: 4;
|
||||
readonly uint64: 8;
|
||||
readonly int8: 1;
|
||||
readonly int16: 2;
|
||||
readonly int32: 4;
|
||||
readonly int64: 8;
|
||||
readonly float32: 4;
|
||||
readonly float64: 8;
|
||||
readonly bool: 1;
|
||||
};
|
||||
export declare abstract class GgufFileReader {
|
||||
protected _buffer: Buffer<ArrayBuffer>;
|
||||
abstract readByteRange(offset: number | GgufReadOffset, length: number): Promisable<Buffer>;
|
||||
protected abstract ensureHasByteRange(offset: number | GgufReadOffset, length: number): Promisable<void>;
|
||||
readUint8(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readUint16(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readUint32(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readUint64(offset: number | GgufReadOffset): Promisable<bigint>;
|
||||
readInt8(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readInt16(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readInt32(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readInt64(offset: number | GgufReadOffset): Promisable<bigint>;
|
||||
readFloat32(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readFloat64(offset: number | GgufReadOffset): Promisable<number>;
|
||||
readBool(offset: number | GgufReadOffset): Promisable<boolean>;
|
||||
readString(offset: number | GgufReadOffset): Promisable<string>;
|
||||
readStringWithLength(offset: number | GgufReadOffset, length: number): Promisable<string>;
|
||||
protected _addToBuffer(buffer: Buffer): void;
|
||||
private _withBufferRead;
|
||||
static castNumberIfSafe(value: bigint): number | bigint;
|
||||
}
|
||||
106
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.js
generated
vendored
Normal file
106
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.js
generated
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { transformPromisable } from "../../utils/transformPromisable.js";
|
||||
export const valueTypeToBytesToRead = {
|
||||
uint8: 1,
|
||||
uint16: 2,
|
||||
uint32: 4,
|
||||
uint64: 8,
|
||||
int8: 1,
|
||||
int16: 2,
|
||||
int32: 4,
|
||||
int64: 8,
|
||||
float32: 4,
|
||||
float64: 8,
|
||||
bool: 1
|
||||
};
|
||||
export class GgufFileReader {
|
||||
_buffer = Buffer.alloc(0);
|
||||
readUint8(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.uint8, (resolvedOffset) => {
|
||||
return this._buffer.readUInt8(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readUint16(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.uint16, (resolvedOffset) => {
|
||||
return this._buffer.readUInt16LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readUint32(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.uint32, (resolvedOffset) => {
|
||||
return this._buffer.readUInt32LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readUint64(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.uint64, (resolvedOffset) => {
|
||||
return this._buffer.readBigUInt64LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readInt8(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.int8, (resolvedOffset) => {
|
||||
return this._buffer.readInt8(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readInt16(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.int16, (resolvedOffset) => {
|
||||
return this._buffer.readInt16LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readInt32(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.int32, (resolvedOffset) => {
|
||||
return this._buffer.readInt32LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readInt64(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.int64, (resolvedOffset) => {
|
||||
return this._buffer.readBigInt64LE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readFloat32(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.float32, (resolvedOffset) => {
|
||||
return this._buffer.readFloatLE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readFloat64(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.float64, (resolvedOffset) => {
|
||||
return this._buffer.readDoubleLE(resolvedOffset);
|
||||
});
|
||||
}
|
||||
readBool(offset) {
|
||||
return this._withBufferRead(offset, valueTypeToBytesToRead.uint8, (resolvedOffset) => {
|
||||
return this._buffer.readUInt8(resolvedOffset) === 1;
|
||||
});
|
||||
}
|
||||
readString(offset) {
|
||||
const readOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
return transformPromisable(this.readUint64(readOffset), (length) => {
|
||||
return this.readStringWithLength(readOffset, Number(length));
|
||||
});
|
||||
}
|
||||
readStringWithLength(offset, length) {
|
||||
const readLength = valueTypeToBytesToRead.uint8 * length;
|
||||
return this._withBufferRead(offset, readLength, (resolvedOffset) => {
|
||||
return this._buffer.toString("utf8", resolvedOffset, Math.min(resolvedOffset + readLength, this._buffer.length));
|
||||
});
|
||||
}
|
||||
_addToBuffer(buffer) {
|
||||
const newBuffer = Buffer.alloc(this._buffer.byteLength + buffer.byteLength);
|
||||
this._buffer.copy(newBuffer);
|
||||
buffer.copy(newBuffer, this._buffer.byteLength);
|
||||
this._buffer = newBuffer;
|
||||
}
|
||||
_withBufferRead(offset, length, reader) {
|
||||
return transformPromisable(this.ensureHasByteRange(offset, length), () => {
|
||||
const resolvedOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
return transformPromisable(reader(resolvedOffset.offset), (res) => {
|
||||
resolvedOffset.moveBy(Math.min(length, this._buffer.length - resolvedOffset.offset));
|
||||
return res;
|
||||
});
|
||||
});
|
||||
}
|
||||
static castNumberIfSafe(value) {
|
||||
if (value > Number.MAX_SAFE_INTEGER)
|
||||
return value;
|
||||
return Number(value);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=GgufFileReader.js.map
|
||||
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.js.map
generated
vendored
Normal file
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFileReader.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"GgufFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFileReader.ts"],"names":[],"mappings":"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"}
|
||||
16
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.d.ts
generated
vendored
Normal file
16
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { GgufFileReader } from "./GgufFileReader.js";
|
||||
type GgufFsFileReaderOptions = {
|
||||
filePath: string;
|
||||
signal?: AbortSignal;
|
||||
};
|
||||
export declare class GgufFsFileReader extends GgufFileReader {
|
||||
readonly filePath: string;
|
||||
private readonly _signal?;
|
||||
constructor({ filePath, signal }: GgufFsFileReaderOptions);
|
||||
readByteRange(offset: number | GgufReadOffset, length: number): Buffer<ArrayBuffer> | Promise<Buffer<ArrayBuffer>>;
|
||||
protected ensureHasByteRange(offset: number | GgufReadOffset, length: number): Promise<void> | undefined;
|
||||
private _readToExpandBufferUpToOffset;
|
||||
private _readByteRange;
|
||||
}
|
||||
export {};
|
||||
62
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.js
generated
vendored
Normal file
62
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import { withLock } from "lifecycle-utils";
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { defaultExtraAllocationSize } from "../consts.js";
|
||||
import { GgufFileReader } from "./GgufFileReader.js";
|
||||
export class GgufFsFileReader extends GgufFileReader {
|
||||
filePath;
|
||||
_signal;
|
||||
constructor({ filePath, signal }) {
|
||||
super();
|
||||
this.filePath = path.resolve(process.cwd(), filePath);
|
||||
this._signal = signal;
|
||||
}
|
||||
readByteRange(offset, length) {
|
||||
const readOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
const endOffset = readOffset.offset + length;
|
||||
if (endOffset >= this._buffer.length)
|
||||
return this._readToExpandBufferUpToOffset(endOffset)
|
||||
.then(() => {
|
||||
const res = this._buffer.subarray(readOffset.offset, endOffset);
|
||||
readOffset.moveBy(length);
|
||||
return res;
|
||||
});
|
||||
const res = this._buffer.subarray(readOffset.offset, endOffset);
|
||||
readOffset.moveBy(length);
|
||||
return res;
|
||||
}
|
||||
ensureHasByteRange(offset, length) {
|
||||
const readOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
const endOffset = readOffset.offset + length;
|
||||
if (endOffset >= this._buffer.length)
|
||||
return this._readToExpandBufferUpToOffset(endOffset)
|
||||
.then(() => {
|
||||
if (endOffset >= this._buffer.length)
|
||||
throw new Error("Expected buffer to be long enough for the requested byte range");
|
||||
});
|
||||
return undefined;
|
||||
}
|
||||
async _readToExpandBufferUpToOffset(endOffset, extraAllocationSize = defaultExtraAllocationSize) {
|
||||
return await withLock([this, "modifyBuffer"], this._signal, async () => {
|
||||
if (endOffset < this._buffer.length)
|
||||
return;
|
||||
const missingBytesBuffer = await this._readByteRange(this._buffer.length, endOffset + extraAllocationSize - this._buffer.length);
|
||||
this._addToBuffer(missingBytesBuffer);
|
||||
});
|
||||
}
|
||||
async _readByteRange(start, length) {
|
||||
const fd = await fs.open(this.filePath, "r");
|
||||
try {
|
||||
if (this._signal?.aborted)
|
||||
throw this._signal.reason;
|
||||
const buffer = Buffer.alloc(length);
|
||||
await fd.read(buffer, 0, length, start);
|
||||
return buffer;
|
||||
}
|
||||
finally {
|
||||
await fd.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=GgufFsFileReader.js.map
|
||||
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.js.map
generated
vendored
Normal file
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufFsFileReader.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"GgufFsFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufFsFileReader.ts"],"names":[],"mappings":"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"}
|
||||
28
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts
generated
vendored
Normal file
28
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import retry from "async-retry";
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { ModelFileAccessTokens } from "../../utils/modelFileAccessTokens.js";
|
||||
import { ModelDownloadEndpoints } from "../../utils/modelDownloadEndpoints.js";
|
||||
import { GgufFileReader } from "./GgufFileReader.js";
|
||||
type GgufFetchFileReaderOptions = {
|
||||
url: string;
|
||||
retryOptions?: retry.Options;
|
||||
headers?: Record<string, string>;
|
||||
signal?: AbortSignal;
|
||||
tokens?: ModelFileAccessTokens;
|
||||
endpoints?: ModelDownloadEndpoints;
|
||||
};
|
||||
export declare class GgufNetworkFetchFileReader extends GgufFileReader {
|
||||
readonly url: string;
|
||||
readonly retryOptions: retry.Options;
|
||||
readonly headers: Record<string, string>;
|
||||
readonly tokens?: ModelFileAccessTokens;
|
||||
readonly endpoints?: ModelDownloadEndpoints;
|
||||
private readonly _signal?;
|
||||
private _tryHeaders;
|
||||
constructor({ url, retryOptions, headers, tokens, endpoints, signal }: GgufFetchFileReaderOptions);
|
||||
readByteRange(offset: number | GgufReadOffset, length: number): Buffer<ArrayBuffer> | Promise<Buffer<ArrayBuffer>>;
|
||||
protected ensureHasByteRange(offset: number | GgufReadOffset, length: number): Promise<void> | undefined;
|
||||
private _fetchToExpandBufferUpToOffset;
|
||||
private _fetchByteRange;
|
||||
}
|
||||
export {};
|
||||
94
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js
generated
vendored
Normal file
94
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js
generated
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
import retry from "async-retry";
|
||||
import { withLock } from "lifecycle-utils";
|
||||
import { GgufReadOffset } from "../utils/GgufReadOffset.js";
|
||||
import { defaultExtraAllocationSize, ggufDefaultFetchRetryOptions } from "../consts.js";
|
||||
import { resolveModelFileAccessTokensTryHeaders } from "../../utils/modelFileAccessTokens.js";
|
||||
import { GgufFileReader } from "./GgufFileReader.js";
|
||||
export class GgufNetworkFetchFileReader extends GgufFileReader {
|
||||
url;
|
||||
retryOptions;
|
||||
headers;
|
||||
tokens;
|
||||
endpoints;
|
||||
_signal;
|
||||
_tryHeaders = undefined;
|
||||
constructor({ url, retryOptions = ggufDefaultFetchRetryOptions, headers, tokens, endpoints, signal }) {
|
||||
super();
|
||||
this.url = url;
|
||||
this.retryOptions = retryOptions;
|
||||
this.headers = headers ?? {};
|
||||
this.tokens = tokens;
|
||||
this.endpoints = endpoints;
|
||||
this._signal = signal;
|
||||
}
|
||||
readByteRange(offset, length) {
|
||||
const readOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
const endOffset = readOffset.offset + length;
|
||||
if (endOffset >= this._buffer.length)
|
||||
return this._fetchToExpandBufferUpToOffset(endOffset)
|
||||
.then(() => {
|
||||
const res = this._buffer.subarray(readOffset.offset, endOffset);
|
||||
readOffset.moveBy(length);
|
||||
return res;
|
||||
});
|
||||
const res = this._buffer.subarray(readOffset.offset, endOffset);
|
||||
readOffset.moveBy(length);
|
||||
return res;
|
||||
}
|
||||
ensureHasByteRange(offset, length) {
|
||||
const readOffset = GgufReadOffset.resolveReadOffset(offset);
|
||||
const endOffset = readOffset.offset + length;
|
||||
if (endOffset >= this._buffer.length)
|
||||
return this._fetchToExpandBufferUpToOffset(endOffset)
|
||||
.then(() => {
|
||||
if (endOffset >= this._buffer.length)
|
||||
throw new Error("Expected buffer to be long enough for the requested byte range");
|
||||
});
|
||||
return undefined;
|
||||
}
|
||||
async _fetchToExpandBufferUpToOffset(endOffset, extraAllocationSize = defaultExtraAllocationSize) {
|
||||
await withLock([this, "modifyBuffer"], this._signal, async () => {
|
||||
if (endOffset < this._buffer.length)
|
||||
return;
|
||||
const missingBytesBuffer = await retry(async (bail) => {
|
||||
try {
|
||||
return await this._fetchByteRange(this._buffer.length, endOffset + extraAllocationSize - this._buffer.length);
|
||||
}
|
||||
catch (err) {
|
||||
if (this._signal?.aborted) {
|
||||
bail(this._signal.reason);
|
||||
throw this._signal.reason;
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}, this.retryOptions);
|
||||
if (this._signal?.aborted)
|
||||
throw this._signal.reason;
|
||||
this._addToBuffer(missingBytesBuffer);
|
||||
});
|
||||
}
|
||||
async _fetchByteRange(start, length) {
|
||||
if (this._tryHeaders == null)
|
||||
this._tryHeaders = await resolveModelFileAccessTokensTryHeaders(this.url, this.tokens, this.endpoints, this.headers);
|
||||
const headersToTry = [this.headers, ...this._tryHeaders];
|
||||
while (headersToTry.length > 0) {
|
||||
const headers = headersToTry.shift();
|
||||
const response = await fetch(this.url, {
|
||||
headers: {
|
||||
...headers,
|
||||
Range: `bytes=${start}-${start + length}`,
|
||||
accept: "*/*"
|
||||
},
|
||||
signal: this._signal
|
||||
});
|
||||
if ((response.status >= 500 || response.status === 429 || response.status === 401) && headersToTry.length > 0)
|
||||
continue;
|
||||
if (!response.ok)
|
||||
throw new Error(`Failed to fetch byte range: ${response.status} ${response.statusText}`);
|
||||
const arrayBuffer = await response.arrayBuffer();
|
||||
return Buffer.from(arrayBuffer);
|
||||
}
|
||||
throw new Error("Failed to fetch byte range: no more headers to try");
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=GgufNetworkFetchFileReader.js.map
|
||||
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map
generated
vendored
Normal file
1
node_modules/node-llama-cpp/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"GgufNetworkFetchFileReader.js","sourceRoot":"","sources":["../../../src/gguf/fileReaders/GgufNetworkFetchFileReader.ts"],"names":[],"mappings":"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"}
|
||||
Reference in New Issue
Block a user