@agorapete/wllama 3.5.1-q2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitmodules +3 -0
- package/.prettierignore +38 -0
- package/AGENTS.md +1 -0
- package/CMakeLists.txt +131 -0
- package/LICENCE +21 -0
- package/README-dev.md +178 -0
- package/README.md +225 -0
- package/README_banner.png +0 -0
- package/assets/screenshot_0.png +0 -0
- package/cpp/generate_glue_prototype.js +115 -0
- package/cpp/glue.hpp +664 -0
- package/cpp/test_glue.cpp +80 -0
- package/cpp/wllama-context.h +1172 -0
- package/cpp/wllama-fs.h +148 -0
- package/cpp/wllama.cpp +187 -0
- package/cpp/wllama.h +6 -0
- package/esm/cache-manager.d.ts +130 -0
- package/esm/debug.d.ts +28 -0
- package/esm/glue/glue.d.ts +22 -0
- package/esm/glue/messages.d.ts +146 -0
- package/esm/huggingface.d.ts +31 -0
- package/esm/index.cjs +3406 -0
- package/esm/index.d.ts +8 -0
- package/esm/index.js +3387 -0
- package/esm/index.min.js +1 -0
- package/esm/index.min.js.map +1 -0
- package/esm/model-manager.d.ts +136 -0
- package/esm/storage/cos.d.ts +36 -0
- package/esm/storage/index.d.ts +33 -0
- package/esm/storage/opfs.d.ts +12 -0
- package/esm/types/oai-compat.d.ts +278 -0
- package/esm/types/types.d.ts +112 -0
- package/esm/utils.d.ts +119 -0
- package/esm/wasm/source-map.d.ts +1 -0
- package/esm/wasm/wllama.wasm +0 -0
- package/esm/wasm-from-cdn.d.ts +8 -0
- package/esm/wllama.d.ts +397 -0
- package/esm/worker.d.ts +92 -0
- package/esm/workers-code/generated.d.ts +4 -0
- package/guides/intro-v2.md +132 -0
- package/guides/intro-v3.1.md +40 -0
- package/guides/intro-v3.md +230 -0
- package/index.ts +1 -0
- package/package.json +71 -0
- package/scripts/bisect_test.sh +33 -0
- package/scripts/build_hf_space.sh +26 -0
- package/scripts/build_source_map.js +269 -0
- package/scripts/build_wasm.sh +19 -0
- package/scripts/build_worker.sh +38 -0
- package/scripts/check_debug_build.js +30 -0
- package/scripts/check_package_size.js +25 -0
- package/scripts/docker-compose.yml +76 -0
- package/scripts/generate_wasm_from_cdn.js +24 -0
- package/scripts/http_server.js +44 -0
- package/scripts/post_build.sh +32 -0
- package/src/cache-manager.ts +358 -0
- package/src/debug.ts +111 -0
- package/src/glue/glue.ts +291 -0
- package/src/glue/messages.ts +773 -0
- package/src/huggingface.ts +151 -0
- package/src/index.ts +8 -0
- package/src/mjs.test.ts +44 -0
- package/src/model-manager.test.ts +200 -0
- package/src/model-manager.ts +359 -0
- package/src/storage/cos.test.ts +83 -0
- package/src/storage/cos.ts +171 -0
- package/src/storage/index.ts +40 -0
- package/src/storage/opfs.ts +119 -0
- package/src/types/oai-compat.ts +342 -0
- package/src/types/types.ts +133 -0
- package/src/utils.test.ts +231 -0
- package/src/utils.ts +403 -0
- package/src/wasm/source-map.ts +7 -0
- package/src/wasm/wllama.js +1 -0
- package/src/wasm/wllama.wasm +0 -0
- package/src/wasm-from-cdn.ts +13 -0
- package/src/wllama.test.ts +392 -0
- package/src/wllama.ts +1138 -0
- package/src/wllama.wgpu.test.ts +62 -0
- package/src/worker.ts +443 -0
- package/src/workers-code/generated.ts +11 -0
- package/src/workers-code/llama-cpp.js +511 -0
- package/src/workers-code/opfs-utils.js +150 -0
- package/tsconfig.build.json +34 -0
- package/tsup.config.ts +23 -0
- package/vitest.config.ts +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__knownSymbol","name","symbol","Symbol","for","__defNormalProp","obj","key","value","enumerable","configurable","writable","__spreadValues","a","b","prop","call","__spreadProps","__publicField","__async","__this","__arguments","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","throw","x","done","then","apply","__await","promise","isYieldStar","this","__asyncGenerator","resume","k","v","yes","no","isAwait","y","catch","method","it","__forAwait","fn","arg","GLUE_VERSION","GLUE_MESSAGE_PROTOTYPES","erro_evt","structName","className","fields","type","isNullable","load_req","load_res","cmpl_req","cmpl_res","embd_req","embd_res","rrnk_req","rrnk_res","gres_req","gres_res","tbop_req","tbop_res","GLUE_MAGIC","Uint8Array","GLUE_DTYPE_NULL","GLUE_DTYPE_BOOL","GLUE_DTYPE_INT","GLUE_DTYPE_FLOAT","GLUE_DTYPE_STRING","GLUE_DTYPE_RAW","GLUE_DTYPE_ARRAY_BOOL","GLUE_DTYPE_ARRAY_INT","GLUE_DTYPE_ARRAY_FLOAT","GLUE_DTYPE_ARRAY_STRING","GLUE_DTYPE_ARRAY_RAW","TYPE_MAP","str","int","float","bool","raw","arr_str","arr_int","arr_float","arr_bool","arr_raw","null","glueDeserialize","buf","offset","view","DataView","buffer","readUint32","getUint32","readInt32","getInt32","readFloat","getFloat32","readBool","readString","customLen","length","TextDecoder","decode","slice","readRaw","readArray","readItem","Array","i","readField","field","magicValid","Error","msgProto","output","_name","readType","glueSerialize","msg","bufs","writeUint32","ArrayBuffer","setUint32","push","writeInt32","setInt32","writeFloat","setFloat32","writeBool","writeString","utf8","TextEncoder","encode","byteLength","writeRaw","writeArray","writeItem","item","val","totalLength","reduce","acc","set","WASM_SOURCE_MAP","default","compat","cache","Map","loadMap","buildKey","has","get","b64","gzipped","from","atob","c","charCodeAt","ds","DecompressionStream","writer","getWriter","write","close","Response","readable","arrayBuffer","dv","bytes","firstId","funcCount","numNames","td","names","pos","len","subarray","funcNames","idx","getUint16","entry","Debug","decodeFuncIds","funcIds","isCompatBuild","map","funcId","decodeStackTrace","stack","Set","matchAll","m","parseInt","r","join","textDecoder","URL_PARTS_REGEX","parseShardNumber","fnameOrUrl","matches","match","baseURL","replace","current","total","sortFileByShard","blobs","every","sort","infoA","infoB","isMmproj","blob","tmp","header","nameBytes","valBytes","outer","j","getBigUint64","BigInt","absoluteUrl","relativePath","URL","document","baseURI","href","padDigits","number","digits","Math","max","String","sumArr","arr","prev","curr","isString","startsWith","MMPROJ_FILE_NAME","prepareBlobs","blobsInp","blobMmproj","result","llm","filter","f","mmproj","all","isSupportMultiThread","MessageChannel","port1","postMessage","SharedArrayBuffer","WebAssembly","validate","e2","isSupportExceptions","isSupportSIMD","isSupportJSPI","Suspending","isSupportWebGPU","navigator","gpu","isSupportMem64","Memory","address","initial","checkEnvironmentCompatible","isFirefox","userAgent","GGUF_FILE_REGEX","isValidGgufFile","path","test","isSafariMobile","createWorker","workerCode","workerURL","createObjectURL","Blob","Worker","cbToAsyncIter","args","values","res","rej","err","canUseAsyncFileRead","needCompat","LIBLLAMA_VERSION","LLAMA_CPP_WORKER_CODE","OPFS_UTILS_WORKER_CODE","WLLAMA_EMSCRIPTEN_CODE","FILE_READ_REQ_EVENT","JSPI_STUB","ProxyToWorker","constructor","resources","nbThread","suppressNativeLog","logger","multiThread","useAsyncFile","getModuleCode","jsPath","code","response","fetch","ok","text","moduleInit","ggufFiles","moduleCode","mainModuleCode","runOptions","pathConfig","wasmPath","completeCode","JSON","stringify","worker","onmessage","onRecvMsg","bind","onerror","error","pushTask","verb","callbackId","taskId","nativeFiles","file","needAllocBuffer","id","fileAlloc","size","fileBlobs","fileWrite","wllamaStart","parseResult","wllamaAction","body","encodedMsg","wllamaExit","terminate","wllamaDebug","parse","fileName","allocBuffer","fileId","reader","stream","getReader","read","fileReadResponse","_a","chunk","transfer","abort","parsedResult","WllamaRuntimeError","param","buffers","taskQueue","runTaskLoop","busy","task","shift","resultQueue","data","endsWith","debug","log","warn","signalType","message","rawStack","originalErr","newMsg","decoded","findIndex","t","waitingTask","splice","pop","pendingTask","HF_BASE","DEFAULT_QUANTS","fetchRepoFiles","repo","token","url","headers","Accept","statusText","json","status","firstShardPath","files","first","some","selectFile","quant","mmprojOnly","candidates","toLowerCase","ismmproj","includes","upper","toUpperCase","find","q","getHFModelSource","config","mmprojFile","mmprojQuant","hfToken","modelPath","source","mmpath","mmprojUrl","params","URLSearchParams","getHFFileSHA256","rawUrl","OPFSBackend","isSupported","storage","getDirectory","cacheDir","getCacheDir","fileHandle","getFileHandle","getFile","openWritable","truncate","getSize","list","more","temp","iter","entries","handle","kind","return","removeEntry","getDirectoryHandle","create","pResolve","pReject","workerExec","action","filename","makeHash","algorithm","COSInternalBackend","crossOriginStorage","requestFileHandle","createWritable","_key","COSBackend","priv","hint","sha256","cos","delete","PREFIX_METADATA","POLYFILL_ETAG","hintFromMetadata","metadata","CacheManager","backends","backend","sb","getNameFromURL","urlToFileName","writeMetadata","download","_0","arguments","options","_b","_c","fileKey","getMetadata","head","contentLength2","etag2","originalURL","originalSize","etag","metadataAdditional","signal","contentLength","progressCallback","loaded","lastProgressAt","progressStream","TransformStream","transform","controller","now","Date","enqueue","flush","pipeThrough","open","nameOrURL","hint1","direct","hint2","cachedSize","metadataMap","meta","clear","deleteMany","name2","predicate","cache_manager_default","prefix","hashBuffer","crypto","subtle","digest","hashHex","toString","padStart","split","DEFAULT_PARALLEL_DOWNLOADS","ModelValidationStatus","ModelValidationStatus2","Model","modelManager","savedFiles","getAllFiles","WllamaError","cacheManager","nbShards","ModelManager","parseModelUrl","refresh","urls","works","index","nParallel","parallelDownloads","totalSize","getTotalDownloadSize","loadedSize","w","mmprojURL","_a2","promises","remove","allUrls","add","allFiles","localeCompare","sizes","Number","_ModelManager","console","modelUrl","isArray","urlPartsRegex","queryMatch","queryParams","_","getModels","opts","cachedFiles","models","shards","includeInvalid","downloadModel","sourceOrURL","model","getModelOrDownload","LogLevel","LogLevel2","WasmCompatFromCDN","wasm","LoggerWithoutDebug","super","WllamaAbortError","Wllama","wllamaConfig","allowOffline","setCompat","checkModelLoaded","isModelLoaded","getLibllamaVersion","mode","proxy","getBOS","bosToken","getEOS","eosToken","getEOT","eotToken","isTokenEOG","eogTokens","getDecoderStartToken","decoderStartToken","getModelMetadata","isMultithread","useMultiThread","getNumThreads","nbThreads","isEncoderDecoderArchitecture","hasEncoder","mustAddBosToken","addBosToken","mustAddEosToken","addEosToken","getChatTemplate","chatTemplate","loadModelFromUrl","modelSourceOrURL","useCache","loadModel","loadModelFromHF","hfOptions","ggufBlobsOrModel","_d","_e","_f","_g","_h","supportMultiThread","hwConccurency","floor","hardwareConcurrency","n_threads","workerResources","getWorkerResources","logLevel","log_level","modelFiles","startResult","success","loadResult","use_mmap","use_mlock","n_gpu_layers","n_ctx","n_ctx_auto","mmproj_path","model_paths","embeddings","offload_kqv","n_batch","pooling_type","rope_scaling_type","rope_freq_base","rope_freq_scale","yarn_ext_factor","yarn_attn_factor","yarn_beta_fast","yarn_beta_slow","yarn_orig_ctx","cache_type_k","cache_type_v","n_parallel","kv_unified","flash_attn","swa_full","chat_template","jinja","reasoning","image_min_tokens","image_max_tokens","warmup","no_kv_offload","mmproj_offload","cont_batching","n_keep","ctx_shift","cache_idle_slots","n_cache_reuse","lora_paths","lora_adapters","lora_scales","scale","lora_init_without_apply","spec_draft_model","spec_draft_ngl","spec_draft_n_max","spec_draft_n_min","spec_draft_p_min","spec_draft_threads","spec_draft_threads_batch","kv_overrides_keys","kv_overrides","keys","kv_overrides_vals","reasoning_budget_tokens","reasoning_budget_message","reasoning_format","skip_chat_parsing","prefill_assistant","loadedCtxInfo","metadata_key","metadata_val","seed","token_bos","token_eos","token_eot","useEmbeddings","useRerank","hparams","nVocab","n_vocab","nCtxTrain","n_ctx_train","nEmbd","n_embd","nLayer","n_layer","has_encoder","token_decoder_start","add_bos_token","add_eos_token","loadedContextInfo","list_tokens_eog","mediaMarker","media_marker","chatTemplateKwargs","default_template_kwargs","getLoadedContextInfo","createEmbedding","data_json","getResponse","createRerank","top_n","documents","totalTokens","rawResults","query","score","tokens_evaluated","getRerankResult","object","usage","prompt_tokens","total_tokens","results","relevance_score","createChatCompletion","chat_template_kwargs","onData","createCompletionGenerator","createCompletionImpl","createCompletion","isStream","isChat","messages","customOpt","prepareMultimodalInput","is_chat","callback","createGenerator","supportInputModality","modality","has_image_input","has_audio_input","exit","testBackendOps","tmpProxy","retcode","_getDebugInfo","jsonDecode","msgNew","content","newContent","jsonString","is_error","jsonData","has_more","finalResult","abortSignal","aborted","result_chunk"],"sources":["esm/index.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import CacheManager, { type CacheEntry, type DownloadOptions } from './cache-manager';
|
|
2
|
+
import { type WllamaLogger } from './wllama';
|
|
3
|
+
export interface ModelSource {
|
|
4
|
+
/**
|
|
5
|
+
* URL to the GGUF file. If the model is splitted, pass the URL to the first shard. Mmproj file should also be provided via this array if you want to use multimodal.
|
|
6
|
+
*/
|
|
7
|
+
url: string;
|
|
8
|
+
mmprojUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Callback function to track download progress
|
|
12
|
+
*/
|
|
13
|
+
export type DownloadProgressCallback = (opts: {
|
|
14
|
+
/**
|
|
15
|
+
* Number of bytes loaded (sum of all shards)
|
|
16
|
+
*/
|
|
17
|
+
loaded: number;
|
|
18
|
+
/**
|
|
19
|
+
* Total number of bytes (sum of all shards)
|
|
20
|
+
*/
|
|
21
|
+
total: number;
|
|
22
|
+
}) => any;
|
|
23
|
+
/**
|
|
24
|
+
* Status of the model validation
|
|
25
|
+
*/
|
|
26
|
+
export declare enum ModelValidationStatus {
|
|
27
|
+
VALID = "valid",
|
|
28
|
+
INVALID = "invalid",
|
|
29
|
+
DELETED = "deleted"
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Parameters for ModelManager constructor
|
|
33
|
+
*/
|
|
34
|
+
export interface ModelManagerParams {
|
|
35
|
+
cacheManager?: CacheManager;
|
|
36
|
+
logger?: WllamaLogger;
|
|
37
|
+
/**
|
|
38
|
+
* Number of parallel downloads
|
|
39
|
+
*
|
|
40
|
+
* Default: 3
|
|
41
|
+
*/
|
|
42
|
+
parallelDownloads?: number | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Allow offline mode
|
|
45
|
+
*
|
|
46
|
+
* Default: false
|
|
47
|
+
*/
|
|
48
|
+
allowOffline?: boolean | undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Model class
|
|
52
|
+
*
|
|
53
|
+
* One model can have multiple shards, each shard is a GGUF file.
|
|
54
|
+
*/
|
|
55
|
+
export declare class Model {
|
|
56
|
+
private modelManager;
|
|
57
|
+
constructor(modelManager: ModelManager, url: string, mmprojUrl?: string, savedFiles?: CacheEntry[]);
|
|
58
|
+
/**
|
|
59
|
+
* URL to the GGUF file (in case it contains multiple shards, the URL should point to the first shard)
|
|
60
|
+
*
|
|
61
|
+
* This URL will be used to identify the model in the cache. There can't be 2 models with the same URL.
|
|
62
|
+
*/
|
|
63
|
+
url: string;
|
|
64
|
+
/**
|
|
65
|
+
* URL to mmproj file, if exists
|
|
66
|
+
*/
|
|
67
|
+
mmprojUrl?: string | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Size in bytes (total size of all shards).
|
|
70
|
+
*
|
|
71
|
+
* A value of -1 means the model is deleted from the cache. You must call `ModelManager.downloadModel` to re-download the model.
|
|
72
|
+
*/
|
|
73
|
+
size: number;
|
|
74
|
+
/**
|
|
75
|
+
* List of all shards in the cache, sorted by original URL (ascending order)
|
|
76
|
+
*/
|
|
77
|
+
files: CacheEntry[];
|
|
78
|
+
/**
|
|
79
|
+
* Open and get a list of all shards as Blobs
|
|
80
|
+
*/
|
|
81
|
+
open(): Promise<Blob[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Validate the model files.
|
|
84
|
+
*
|
|
85
|
+
* If the model is invalid, the model manager will not be able to use it. You must call `refresh` to re-download the model.
|
|
86
|
+
*
|
|
87
|
+
* Cases that model is invalid:
|
|
88
|
+
* - The model is deleted from the cache
|
|
89
|
+
* - The model files are missing (or the download is interrupted)
|
|
90
|
+
*/
|
|
91
|
+
validate(): ModelValidationStatus;
|
|
92
|
+
/**
|
|
93
|
+
* In case the model is invalid, call this function to re-download the model
|
|
94
|
+
*/
|
|
95
|
+
refresh(options?: DownloadOptions): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Remove the model from the cache
|
|
98
|
+
*/
|
|
99
|
+
remove(): Promise<void>;
|
|
100
|
+
private getAllFiles;
|
|
101
|
+
private getTotalDownloadSize;
|
|
102
|
+
}
|
|
103
|
+
export declare class ModelManager {
|
|
104
|
+
cacheManager: CacheManager;
|
|
105
|
+
params: ModelManagerParams;
|
|
106
|
+
logger: WllamaLogger;
|
|
107
|
+
constructor(params?: ModelManagerParams);
|
|
108
|
+
/**
|
|
109
|
+
* Parses a model URL and returns an array of URLs based on the following patterns:
|
|
110
|
+
* - If the input URL is an array, it returns the array itself.
|
|
111
|
+
* - If the input URL is a string in the `gguf-split` format, it returns an array containing the URL of each shard in ascending order.
|
|
112
|
+
* - Otherwise, it returns an array containing the input URL as a single element array.
|
|
113
|
+
* @param modelUrl URL or list of URLs
|
|
114
|
+
*/
|
|
115
|
+
static parseModelUrl(modelUrl: string | string[]): string[];
|
|
116
|
+
/**
|
|
117
|
+
* Get all models in the cache
|
|
118
|
+
*/
|
|
119
|
+
getModels(opts?: {
|
|
120
|
+
includeInvalid?: boolean;
|
|
121
|
+
}): Promise<Model[]>;
|
|
122
|
+
/**
|
|
123
|
+
* Download a model from the given URL.
|
|
124
|
+
*
|
|
125
|
+
* The URL must end with `.gguf`
|
|
126
|
+
*/
|
|
127
|
+
downloadModel(sourceOrURL: ModelSource | string, options?: DownloadOptions): Promise<Model>;
|
|
128
|
+
/**
|
|
129
|
+
* Get a model from the cache or download it if it's not available.
|
|
130
|
+
*/
|
|
131
|
+
getModelOrDownload(source: ModelSource, options?: DownloadOptions): Promise<Model>;
|
|
132
|
+
/**
|
|
133
|
+
* Remove all models from the cache
|
|
134
|
+
*/
|
|
135
|
+
clear(): Promise<void>;
|
|
136
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { StorageBackend, StorageFileHint } from './index';
|
|
2
|
+
interface CrossOriginStorageRequestFileHandleHash {
|
|
3
|
+
value: string;
|
|
4
|
+
algorithm: string;
|
|
5
|
+
}
|
|
6
|
+
interface CrossOriginStorageManager {
|
|
7
|
+
requestFileHandle(hash: CrossOriginStorageRequestFileHandleHash, options?: {
|
|
8
|
+
create?: boolean;
|
|
9
|
+
origins?: string[] | string;
|
|
10
|
+
}): Promise<FileSystemFileHandle>;
|
|
11
|
+
}
|
|
12
|
+
declare global {
|
|
13
|
+
interface Navigator {
|
|
14
|
+
readonly crossOriginStorage?: CrossOriginStorageManager;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Storage backend that uses the Cross-Origin Storage API
|
|
19
|
+
* Metadata is stored in OPFS, while the actual data is stored in COS
|
|
20
|
+
* If hint.sha256 is provided, it will be used as the key for COS, otherwise fallback to OPFS
|
|
21
|
+
*/
|
|
22
|
+
export declare class COSBackend implements StorageBackend {
|
|
23
|
+
private cos;
|
|
24
|
+
private priv;
|
|
25
|
+
isSupported(): boolean;
|
|
26
|
+
read(key: string, hint?: StorageFileHint): Promise<Blob | null>;
|
|
27
|
+
write(key: string, stream: ReadableStream, hint?: StorageFileHint): Promise<void>;
|
|
28
|
+
getSize(key: string, hint?: StorageFileHint): Promise<number>;
|
|
29
|
+
list(): Promise<Array<{
|
|
30
|
+
key: string;
|
|
31
|
+
size: number;
|
|
32
|
+
}>>;
|
|
33
|
+
delete(key: string): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
export declare function mockCOS(): void;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface StorageFileHint {
|
|
2
|
+
sha256: string;
|
|
3
|
+
}
|
|
4
|
+
export interface StorageBackend {
|
|
5
|
+
isSupported(): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Read a file from storage by key.
|
|
8
|
+
* @returns Blob, or null if the key does not exist
|
|
9
|
+
*/
|
|
10
|
+
read(key: string, hint?: StorageFileHint): Promise<Blob | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Write a ReadableStream to storage under the given key.
|
|
13
|
+
* Overwrites any existing content for that key.
|
|
14
|
+
*/
|
|
15
|
+
write(key: string, stream: ReadableStream, hint?: StorageFileHint): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the stored size of a file in bytes.
|
|
18
|
+
* @returns number of bytes, or -1 if the key does not exist
|
|
19
|
+
*/
|
|
20
|
+
getSize(key: string, hint?: StorageFileHint): Promise<number>;
|
|
21
|
+
/**
|
|
22
|
+
* List all keys currently in storage.
|
|
23
|
+
* Includes metadata keys - callers are responsible for filtering.
|
|
24
|
+
*/
|
|
25
|
+
list(): Promise<Array<{
|
|
26
|
+
key: string;
|
|
27
|
+
size: number;
|
|
28
|
+
}>>;
|
|
29
|
+
/**
|
|
30
|
+
* Delete a single entry by key. No-op if the key does not exist.
|
|
31
|
+
*/
|
|
32
|
+
delete(key: string): Promise<void>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StorageBackend } from './index';
|
|
2
|
+
export declare class OPFSBackend implements StorageBackend {
|
|
3
|
+
isSupported(): boolean;
|
|
4
|
+
read(key: string): Promise<Blob | null>;
|
|
5
|
+
write(key: string, stream: ReadableStream): Promise<void>;
|
|
6
|
+
getSize(key: string): Promise<number>;
|
|
7
|
+
list(): Promise<Array<{
|
|
8
|
+
key: string;
|
|
9
|
+
size: number;
|
|
10
|
+
}>>;
|
|
11
|
+
delete(key: string): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import type { SamplingParams } from './types';
|
|
2
|
+
export interface ChatCompletionMessageText {
|
|
3
|
+
type: 'text';
|
|
4
|
+
text: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ChatCompletionMessageImage {
|
|
7
|
+
type: 'image';
|
|
8
|
+
data: ArrayBuffer;
|
|
9
|
+
}
|
|
10
|
+
export interface ChatCompletionMessageAudio {
|
|
11
|
+
type: 'audio';
|
|
12
|
+
data: ArrayBuffer;
|
|
13
|
+
}
|
|
14
|
+
export type ChatCompletionMessageContent = ChatCompletionMessageText | ChatCompletionMessageImage | ChatCompletionMessageAudio;
|
|
15
|
+
export interface ChatCompletionToolFunctionParameters {
|
|
16
|
+
type: 'object';
|
|
17
|
+
properties: Record<string, {
|
|
18
|
+
type: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
enum?: string[];
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
}>;
|
|
23
|
+
required?: string[];
|
|
24
|
+
additionalProperties?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface ChatCompletionToolFunction {
|
|
27
|
+
name: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
parameters?: ChatCompletionToolFunctionParameters;
|
|
30
|
+
strict?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface ChatCompletionTool {
|
|
33
|
+
type: 'function';
|
|
34
|
+
function: ChatCompletionToolFunction;
|
|
35
|
+
}
|
|
36
|
+
export type ChatCompletionToolChoice = 'none' | 'auto' | 'required' | {
|
|
37
|
+
type: 'function';
|
|
38
|
+
function: {
|
|
39
|
+
name: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export interface ChatCompletionSystemMessage {
|
|
43
|
+
role: 'system';
|
|
44
|
+
content: string;
|
|
45
|
+
name?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ChatCompletionUserMessage {
|
|
48
|
+
role: 'user';
|
|
49
|
+
content: string | ChatCompletionMessageContent[];
|
|
50
|
+
name?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ChatCompletionToolCall {
|
|
53
|
+
id: string;
|
|
54
|
+
type: 'function';
|
|
55
|
+
function: {
|
|
56
|
+
name: string;
|
|
57
|
+
arguments: string;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export interface ChatCompletionAssistantMessage {
|
|
61
|
+
role: 'assistant';
|
|
62
|
+
content?: string | null;
|
|
63
|
+
name?: string;
|
|
64
|
+
tool_calls?: ChatCompletionToolCall[];
|
|
65
|
+
}
|
|
66
|
+
export interface ChatCompletionToolMessage {
|
|
67
|
+
role: 'tool';
|
|
68
|
+
content: string;
|
|
69
|
+
tool_call_id: string;
|
|
70
|
+
}
|
|
71
|
+
export type ChatCompletionMessage = ChatCompletionSystemMessage | ChatCompletionUserMessage | ChatCompletionAssistantMessage | ChatCompletionToolMessage;
|
|
72
|
+
export type ChatCompletionParams = {
|
|
73
|
+
messages: ChatCompletionMessage[];
|
|
74
|
+
stream?: boolean;
|
|
75
|
+
model?: string;
|
|
76
|
+
abortSignal?: AbortSignal;
|
|
77
|
+
temperature?: number;
|
|
78
|
+
max_tokens?: number;
|
|
79
|
+
logprobs?: boolean;
|
|
80
|
+
top_logprobs?: number;
|
|
81
|
+
logit_bias?: Record<string, number>;
|
|
82
|
+
tools?: ChatCompletionTool[];
|
|
83
|
+
tool_choice?: ChatCompletionToolChoice;
|
|
84
|
+
response_format?: {
|
|
85
|
+
type: 'text' | 'json_object' | 'json_schema';
|
|
86
|
+
json_schema?: {
|
|
87
|
+
name: string;
|
|
88
|
+
schema: unknown;
|
|
89
|
+
strict?: boolean;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
user?: string;
|
|
93
|
+
chat_template_kwargs?: Record<string, any>;
|
|
94
|
+
cache_prompt?: boolean;
|
|
95
|
+
return_tokens?: boolean;
|
|
96
|
+
timings_per_token?: boolean;
|
|
97
|
+
} & SamplingParams;
|
|
98
|
+
export interface ChatCompletionLogprob {
|
|
99
|
+
token: string;
|
|
100
|
+
logprob: number;
|
|
101
|
+
bytes: number[] | null;
|
|
102
|
+
}
|
|
103
|
+
export interface ChatCompletionLogprobsContent extends ChatCompletionLogprob {
|
|
104
|
+
top_logprobs: ChatCompletionLogprob[];
|
|
105
|
+
}
|
|
106
|
+
export interface ChatCompletionChoiceLogprobs {
|
|
107
|
+
content: ChatCompletionLogprobsContent[] | null;
|
|
108
|
+
refusal: ChatCompletionLogprobsContent[] | null;
|
|
109
|
+
}
|
|
110
|
+
export interface ChatCompletionChoice {
|
|
111
|
+
index: number;
|
|
112
|
+
message: ChatCompletionAssistantMessage;
|
|
113
|
+
finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
|
|
114
|
+
logprobs: ChatCompletionChoiceLogprobs | null;
|
|
115
|
+
}
|
|
116
|
+
export interface ChatCompletionUsage {
|
|
117
|
+
prompt_tokens: number;
|
|
118
|
+
completion_tokens: number;
|
|
119
|
+
total_tokens: number;
|
|
120
|
+
prompt_tokens_details?: {
|
|
121
|
+
cached_tokens: number;
|
|
122
|
+
audio_tokens: number;
|
|
123
|
+
};
|
|
124
|
+
completion_tokens_details?: {
|
|
125
|
+
reasoning_tokens: number;
|
|
126
|
+
audio_tokens: number;
|
|
127
|
+
accepted_prediction_tokens: number;
|
|
128
|
+
rejected_prediction_tokens: number;
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/** Response when stream=false (or omitted) */
|
|
132
|
+
export interface ChatCompletionResponse {
|
|
133
|
+
id: string;
|
|
134
|
+
object: 'chat.completion';
|
|
135
|
+
created: number;
|
|
136
|
+
model: string;
|
|
137
|
+
choices: ChatCompletionChoice[];
|
|
138
|
+
usage: ChatCompletionUsage;
|
|
139
|
+
system_fingerprint?: string;
|
|
140
|
+
service_tier?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface ChatCompletionChunkDelta {
|
|
143
|
+
role?: 'assistant';
|
|
144
|
+
content?: string | null;
|
|
145
|
+
tool_calls?: Array<{
|
|
146
|
+
index: number;
|
|
147
|
+
id?: string;
|
|
148
|
+
type?: 'function';
|
|
149
|
+
function?: {
|
|
150
|
+
name?: string;
|
|
151
|
+
arguments?: string;
|
|
152
|
+
};
|
|
153
|
+
}>;
|
|
154
|
+
refusal?: string | null;
|
|
155
|
+
}
|
|
156
|
+
export interface ChatCompletionChunkChoice {
|
|
157
|
+
index: number;
|
|
158
|
+
delta: ChatCompletionChunkDelta;
|
|
159
|
+
finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
|
|
160
|
+
logprobs: ChatCompletionChoiceLogprobs | null;
|
|
161
|
+
}
|
|
162
|
+
export interface ResultTimings {
|
|
163
|
+
cache_n: number;
|
|
164
|
+
prompt_n: number;
|
|
165
|
+
prompt_ms: number;
|
|
166
|
+
prompt_per_token_ms: number;
|
|
167
|
+
prompt_per_second: number;
|
|
168
|
+
predicted_n: number;
|
|
169
|
+
predicted_ms: number;
|
|
170
|
+
predicted_per_token_ms: number;
|
|
171
|
+
predicted_per_second: number;
|
|
172
|
+
}
|
|
173
|
+
/** Response when stream=true — one chunk per SSE event */
|
|
174
|
+
export interface ChatCompletionChunk {
|
|
175
|
+
id: string;
|
|
176
|
+
object: 'chat.completion.chunk';
|
|
177
|
+
created: number;
|
|
178
|
+
model: string;
|
|
179
|
+
choices: ChatCompletionChunkChoice[];
|
|
180
|
+
usage?: ChatCompletionUsage | null;
|
|
181
|
+
timings?: ResultTimings;
|
|
182
|
+
}
|
|
183
|
+
export type RawCompletionParams = {
|
|
184
|
+
prompt: string | string[];
|
|
185
|
+
stream?: boolean;
|
|
186
|
+
model?: string;
|
|
187
|
+
abortSignal?: AbortSignal;
|
|
188
|
+
suffix?: string;
|
|
189
|
+
max_tokens?: number;
|
|
190
|
+
temperature?: number;
|
|
191
|
+
top_p?: number;
|
|
192
|
+
n?: number;
|
|
193
|
+
logprobs?: number | null;
|
|
194
|
+
echo?: boolean;
|
|
195
|
+
stop?: string | string[];
|
|
196
|
+
presence_penalty?: number;
|
|
197
|
+
frequency_penalty?: number;
|
|
198
|
+
best_of?: number;
|
|
199
|
+
logit_bias?: Record<string, number>;
|
|
200
|
+
seed?: number;
|
|
201
|
+
user?: string;
|
|
202
|
+
} & SamplingParams;
|
|
203
|
+
export interface RawCompletionChoice {
|
|
204
|
+
text: string;
|
|
205
|
+
index: number;
|
|
206
|
+
finish_reason: 'stop' | 'length' | 'content_filter' | null;
|
|
207
|
+
logprobs: {
|
|
208
|
+
tokens: string[];
|
|
209
|
+
token_logprobs: number[];
|
|
210
|
+
top_logprobs: Array<Record<string, number>>;
|
|
211
|
+
text_offset: number[];
|
|
212
|
+
} | null;
|
|
213
|
+
}
|
|
214
|
+
/** Response when stream=false */
|
|
215
|
+
export interface RawCompletionResponse {
|
|
216
|
+
id: string;
|
|
217
|
+
object: 'text_completion';
|
|
218
|
+
created: number;
|
|
219
|
+
model: string;
|
|
220
|
+
choices: RawCompletionChoice[];
|
|
221
|
+
usage: ChatCompletionUsage;
|
|
222
|
+
system_fingerprint?: string;
|
|
223
|
+
timings?: ResultTimings;
|
|
224
|
+
}
|
|
225
|
+
/** One chunk when stream=true */
|
|
226
|
+
export interface RawCompletionChunk {
|
|
227
|
+
id: string;
|
|
228
|
+
object: 'text_completion';
|
|
229
|
+
created: number;
|
|
230
|
+
model: string;
|
|
231
|
+
choices: Array<{
|
|
232
|
+
text: string;
|
|
233
|
+
index: number;
|
|
234
|
+
finish_reason: 'stop' | 'length' | 'content_filter' | null;
|
|
235
|
+
logprobs: null;
|
|
236
|
+
}>;
|
|
237
|
+
usage?: ChatCompletionUsage | null;
|
|
238
|
+
timings?: ResultTimings;
|
|
239
|
+
}
|
|
240
|
+
export interface EmbeddingCreateParams {
|
|
241
|
+
input: string | string[] | number[] | number[][];
|
|
242
|
+
model?: string;
|
|
243
|
+
encoding_format?: 'float' | 'base64';
|
|
244
|
+
}
|
|
245
|
+
export interface Embedding {
|
|
246
|
+
object: 'embedding';
|
|
247
|
+
index: number;
|
|
248
|
+
embedding: number[] | string;
|
|
249
|
+
}
|
|
250
|
+
export interface EmbeddingUsage {
|
|
251
|
+
prompt_tokens: number;
|
|
252
|
+
total_tokens: number;
|
|
253
|
+
}
|
|
254
|
+
export interface CreateEmbeddingResponse {
|
|
255
|
+
object: 'list';
|
|
256
|
+
data: Embedding[];
|
|
257
|
+
model: string;
|
|
258
|
+
usage: EmbeddingUsage;
|
|
259
|
+
}
|
|
260
|
+
export interface RerankParams {
|
|
261
|
+
query: string;
|
|
262
|
+
documents: string[];
|
|
263
|
+
top_n?: number;
|
|
264
|
+
}
|
|
265
|
+
export interface RerankResult {
|
|
266
|
+
index: number;
|
|
267
|
+
relevance_score: number;
|
|
268
|
+
}
|
|
269
|
+
export interface RerankUsage {
|
|
270
|
+
prompt_tokens: number;
|
|
271
|
+
total_tokens: number;
|
|
272
|
+
}
|
|
273
|
+
export interface RerankResponse {
|
|
274
|
+
model: string;
|
|
275
|
+
object: 'list';
|
|
276
|
+
usage: RerankUsage;
|
|
277
|
+
results: RerankResult[];
|
|
278
|
+
}
|