@tryhamster/gerbil 1.0.0-rc.15 → 1.0.0-rc.16
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/core/types.ts","../../src/core/models.ts","../../src/browser/index.ts"],"sourcesContent":[],"mappings":";;;;AAyBY,KAfA,WAAA,GAeW;EASX,EAAA,EAAA,MAAA;EAWA,IAAA,EAAA,MAAA;EAmCA,WAAA,EAAA,MAAc;EA8Bd,IAAA,EAAA,MAAA;EAkBA,aAAA,EAAY,MAAA;EAQZ,gBAAW,EAAA,OAAA;EAWX,YAAA,EAAA,OAAY;EAWZ;EAkBA,cAAW,CAAA,EAAA,OAAA;EAqBX;EAYA,iBAAY,CAAA,EAAA,MAAA;EAiBZ,MAAA,EAAA,MAAW,GAAA,QAAA,GAAA,KAAA,GAAA,SAAA,GAAA,OAAA,GAAA,OAAA;AAiBvB,CAAA;AAqBY,KA/OA,WAAA,GA+OY;EAUZ,IAAA,EAAA,SAAU,GAAA,aAAA,GAAA,OAAA;EAOV,IAAA,EAAA,MAAA;AAyBZ,CAAA;AAWY,KA3RA,UAAA,GA2RA;EAYA;EAeA,MAAA,EAAA,MAAA;EAmBA;EAWA,GAAA,CAAA,EAAA,MAAA;AAWZ,CAAA;AAaY,KAjWA,eAAA,GAiWc;EAWd;EAiBA,SAAA,CAAA,EAAA,MAAA;EASA;EASA,WAAA,CAAA,EAAA,MAAgB;EAahB;EAWA,IAAA,CAAA,EAAA,MAAA;EAeA;EAES,IAAA,CAAA,EAAA,MAAA;EAEN;EAID,aAAA,CAAA,EAAA,MAAA,EAAA;EAAO;;;;EC/dR;;;WD2DF;EEVC;EAYA,KAAA,CAAA,EAAA,OAAW;EAQX;EAQA,QAAA,CAAA,EAAA,MAAA;CAIc;AAEN,KFfR,cAAA,GEeQ;EAEI;EAAc,IAAA,EAAA,MAAA;EAO1B;EAmBA,QAAA,CAAA,EAAA,MAAY;EAuBF;EAA4B,eAAA,EAAA,MAAA;EAAmC;EAAR,eAAA,EAAA,MAAA;EAAO;EA+exE,SAAA,EAAO,MAAA;EAUP;EAYA,YAAA,EAAA,MAAc,GAAA,QAYN,GAAA,OAAO;EAUf;EAmEI,QAAA,CAAA,EAAO,OAAA,GAAA,QAAU,GAAA,WAAsB;EAwS3C;EAoBA,MAAA,CAAA,EAAA,OAAA;AAMZ,CAAA;AAMuC,KF18B3B,WE08B2B,CAAA,IAAA,OAAA,CAAA,GAAA;EAAoB;EAIxC,MAAA,EF58BT,CAAA,CAAE,OE48BO,CF58BC,CE48BD,CAAA;EAAe;EAoClB,OAAA,CAAA,EAAA,MAAa;EAsMjB;EASA,WAAA,CAAA,EAAU,MAAA;EAGV;EA0NA,MAAA,CAAA,EAAA,MAAA;AAoBZ,CAAA;AAEyE,KFl6C7D,YAAA,GEk6C6D;EAMtD;EAUC,KAAA,CAAA,EAAA,MAAA;EAUJ;EAAU,SAAA,CAAA,EAAA,OAAA;AAoK1B,CAAA;AAuTsB,KF/4DV,WAAA,GE+4DmB;EACtB;EAE+B,MAAA,EAAA,MAAA,EAAA;EAArC;EAAO,IAAA,EAAA,MAAA;EAmDM;EA4HJ,SAAA,EAAA,MAAW;AAUvB,CAAA;AAwBY,KFxlEA,YAAA,GEwlEmB;EAEP;EAED,IAAA,EAAA,MAAA;EAID;EAAiB,KAAA,EAAA,MAAA;EAgBpB;EAAW,KAAA,EAAA,MAAA;AAiD9B,CAAA;AA0kBY,KFhuFA,gBAAA,GEguFmB;EA4BnB;EAWA,KAAA,EAAA,MAAA;EAEA;EAEY,KAAA,EAAA,MAAA;EAED;EAAO,KAAA,EAAA,MAAA;EAoEd;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/core/types.ts","../../src/core/models.ts","../../src/browser/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/browser/index.js
CHANGED
|
@@ -2719,6 +2719,8 @@ const EMBEDDING_WORKER_CODE = `
|
|
|
2719
2719
|
// Embedding Worker - runs in separate thread, loads from CDN
|
|
2720
2720
|
import { pipeline, env } from "https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.8.1";
|
|
2721
2721
|
|
|
2722
|
+
console.log("[EMBED WORKER] Worker script starting...");
|
|
2723
|
+
|
|
2722
2724
|
// Configure environment
|
|
2723
2725
|
env.useBrowserCache = true;
|
|
2724
2726
|
env.allowLocalModels = false;
|
|
@@ -2728,47 +2730,85 @@ const EMBEDDING_WORKER_CODE = `
|
|
|
2728
2730
|
|
|
2729
2731
|
self.onmessage = async (e) => {
|
|
2730
2732
|
const { type, payload } = e.data;
|
|
2733
|
+
console.log("[EMBED WORKER] Received message:", type, payload);
|
|
2731
2734
|
|
|
2732
2735
|
if (type === "load") {
|
|
2733
2736
|
try {
|
|
2734
2737
|
modelId = payload.model || "Xenova/all-MiniLM-L6-v2";
|
|
2738
|
+
console.log("[EMBED WORKER] Loading model:", modelId);
|
|
2735
2739
|
|
|
2740
|
+
// Note: Don't specify device for embeddings - they're small models
|
|
2741
|
+
// that work fine with default backend (unlike LLMs/STT which need WebGPU)
|
|
2736
2742
|
embedder = await pipeline("feature-extraction", modelId, {
|
|
2737
|
-
device: "webgpu",
|
|
2738
2743
|
progress_callback: (progress) => {
|
|
2739
2744
|
self.postMessage({ type: "progress", payload: progress });
|
|
2740
2745
|
},
|
|
2741
2746
|
});
|
|
2742
2747
|
|
|
2743
|
-
|
|
2748
|
+
console.log("[EMBED WORKER] Pipeline created, running warmup...");
|
|
2749
|
+
|
|
2750
|
+
// Warmup - don't swallow errors
|
|
2744
2751
|
try {
|
|
2745
|
-
await embedder("hello", { pooling: "mean", normalize: true });
|
|
2752
|
+
const warmup = await embedder("hello", { pooling: "mean", normalize: true });
|
|
2753
|
+
console.log("[EMBED WORKER] Warmup successful, output type:", typeof warmup, warmup?.constructor?.name);
|
|
2746
2754
|
} catch (e) {
|
|
2747
|
-
console.
|
|
2755
|
+
console.error("[EMBED WORKER] Warmup failed:", e);
|
|
2756
|
+
self.postMessage({ type: "error", payload: "Warmup failed: " + (e.message || String(e)) });
|
|
2757
|
+
return;
|
|
2748
2758
|
}
|
|
2749
2759
|
|
|
2760
|
+
console.log("[EMBED WORKER] Sending ready message...");
|
|
2750
2761
|
self.postMessage({ type: "ready" });
|
|
2762
|
+
console.log("[EMBED WORKER] Ready message sent!");
|
|
2751
2763
|
} catch (err) {
|
|
2764
|
+
console.error("[EMBED WORKER] Load error:", err);
|
|
2752
2765
|
self.postMessage({ type: "error", payload: err.message || String(err) });
|
|
2753
2766
|
}
|
|
2754
2767
|
}
|
|
2755
2768
|
|
|
2756
2769
|
if (type === "embed") {
|
|
2770
|
+
console.log("[EMBED WORKER] Processing embed request...");
|
|
2757
2771
|
try {
|
|
2758
2772
|
const { text, normalize } = payload;
|
|
2773
|
+
console.log("[EMBED WORKER] Text to embed:", text?.substring?.(0, 50));
|
|
2774
|
+
|
|
2775
|
+
if (!embedder) {
|
|
2776
|
+
throw new Error("Embedder not initialized");
|
|
2777
|
+
}
|
|
2778
|
+
|
|
2779
|
+
console.log("[EMBED WORKER] Calling embedder...");
|
|
2759
2780
|
const output = await embedder(text, {
|
|
2760
2781
|
pooling: "mean",
|
|
2761
2782
|
normalize: normalize !== false,
|
|
2762
2783
|
});
|
|
2763
2784
|
|
|
2764
|
-
|
|
2785
|
+
console.log("[EMBED WORKER] Got output, type:", typeof output, output?.constructor?.name);
|
|
2786
|
+
console.log("[EMBED WORKER] Output keys:", output ? Object.keys(output) : "null");
|
|
2787
|
+
|
|
2788
|
+
// Handle different output formats from transformers.js
|
|
2789
|
+
let vector;
|
|
2790
|
+
if (output?.data) {
|
|
2791
|
+
vector = Array.from(output.data);
|
|
2792
|
+
} else if (output?.tolist) {
|
|
2793
|
+
vector = output.tolist();
|
|
2794
|
+
} else if (Array.isArray(output)) {
|
|
2795
|
+
vector = output;
|
|
2796
|
+
} else {
|
|
2797
|
+
throw new Error("Unknown output format: " + typeof output);
|
|
2798
|
+
}
|
|
2799
|
+
|
|
2800
|
+
console.log("[EMBED WORKER] Vector length:", vector?.length);
|
|
2801
|
+
console.log("[EMBED WORKER] Sending embedding result...");
|
|
2765
2802
|
self.postMessage({ type: "embedding", payload: { vector, text } });
|
|
2803
|
+
console.log("[EMBED WORKER] Embedding result sent!");
|
|
2766
2804
|
} catch (err) {
|
|
2805
|
+
console.error("[EMBED WORKER] Embed error:", err);
|
|
2767
2806
|
self.postMessage({ type: "error", payload: err.message || String(err) });
|
|
2768
2807
|
}
|
|
2769
2808
|
}
|
|
2770
2809
|
|
|
2771
2810
|
if (type === "embedBatch") {
|
|
2811
|
+
console.log("[EMBED WORKER] Processing embedBatch request...");
|
|
2772
2812
|
try {
|
|
2773
2813
|
const { texts, normalize } = payload;
|
|
2774
2814
|
const results = [];
|
|
@@ -2781,12 +2821,16 @@ const EMBEDDING_WORKER_CODE = `
|
|
|
2781
2821
|
results.push({ vector: Array.from(output.data), text });
|
|
2782
2822
|
}
|
|
2783
2823
|
|
|
2824
|
+
console.log("[EMBED WORKER] Batch complete, sending results...");
|
|
2784
2825
|
self.postMessage({ type: "embeddings", payload: results });
|
|
2785
2826
|
} catch (err) {
|
|
2827
|
+
console.error("[EMBED WORKER] Batch error:", err);
|
|
2786
2828
|
self.postMessage({ type: "error", payload: err.message || String(err) });
|
|
2787
2829
|
}
|
|
2788
2830
|
}
|
|
2789
2831
|
};
|
|
2832
|
+
|
|
2833
|
+
console.log("[EMBED WORKER] Worker script loaded, waiting for messages...");
|
|
2790
2834
|
`;
|
|
2791
2835
|
/** Create Embedding worker instance */
|
|
2792
2836
|
function createEmbeddingWorker() {
|
|
@@ -2864,6 +2908,7 @@ function useEmbedding(options = {}) {
|
|
|
2864
2908
|
workerRef.current = worker;
|
|
2865
2909
|
worker.onmessage = (e) => {
|
|
2866
2910
|
const { type, payload } = e.data;
|
|
2911
|
+
console.log("[EMBED HOOK] Received from worker:", type, payload);
|
|
2867
2912
|
if (type === "progress") {
|
|
2868
2913
|
if (payload.status === "progress" && payload.file) setLoadingProgress({
|
|
2869
2914
|
status: "downloading",
|
|
@@ -2871,18 +2916,22 @@ function useEmbedding(options = {}) {
|
|
|
2871
2916
|
progress: Math.round(payload.loaded / payload.total * 100)
|
|
2872
2917
|
});
|
|
2873
2918
|
} else if (type === "ready") {
|
|
2919
|
+
console.log("[EMBED HOOK] Model ready! Resolving promise...");
|
|
2874
2920
|
setIsLoading(false);
|
|
2875
2921
|
setIsReady(true);
|
|
2876
2922
|
setLoadingProgress({ status: "ready" });
|
|
2877
2923
|
readyResolveRef.current?.();
|
|
2924
|
+
console.log("[EMBED HOOK] Promise resolved, calling onReady...");
|
|
2878
2925
|
onReady?.();
|
|
2879
2926
|
} else if (type === "error") {
|
|
2927
|
+
console.error("[EMBED HOOK] Error from worker:", payload);
|
|
2880
2928
|
setIsLoading(false);
|
|
2881
2929
|
setError(payload);
|
|
2882
2930
|
onError?.(payload);
|
|
2883
2931
|
}
|
|
2884
2932
|
};
|
|
2885
2933
|
worker.onerror = (err) => {
|
|
2934
|
+
console.error("[EMBED HOOK] Worker onerror:", err);
|
|
2886
2935
|
setIsLoading(false);
|
|
2887
2936
|
const errMsg = err.message || "Worker error";
|
|
2888
2937
|
setError(errMsg);
|
|
@@ -2892,6 +2941,7 @@ function useEmbedding(options = {}) {
|
|
|
2892
2941
|
});
|
|
2893
2942
|
onError?.(errMsg);
|
|
2894
2943
|
};
|
|
2944
|
+
console.log("[EMBED HOOK] Sending load message to worker...");
|
|
2895
2945
|
worker.postMessage({
|
|
2896
2946
|
type: "load",
|
|
2897
2947
|
payload: { model }
|
|
@@ -2913,31 +2963,40 @@ function useEmbedding(options = {}) {
|
|
|
2913
2963
|
};
|
|
2914
2964
|
}, [autoLoad, load]);
|
|
2915
2965
|
const embed = useCallback(async (text) => {
|
|
2966
|
+
console.log("[EMBED HOOK] embed() called with:", text?.substring?.(0, 50));
|
|
2916
2967
|
const loadPromise = load();
|
|
2968
|
+
console.log("[EMBED HOOK] Waiting for ready promise...");
|
|
2917
2969
|
if (readyPromiseRef.current) await readyPromiseRef.current;
|
|
2918
2970
|
else await loadPromise;
|
|
2971
|
+
console.log("[EMBED HOOK] Ready promise resolved, sending embed message...");
|
|
2919
2972
|
return new Promise((resolve, reject) => {
|
|
2920
2973
|
const worker = workerRef.current;
|
|
2921
2974
|
if (!worker) {
|
|
2975
|
+
console.error("[EMBED HOOK] No worker available!");
|
|
2922
2976
|
reject(/* @__PURE__ */ new Error("Worker not initialized. Call load() first."));
|
|
2923
2977
|
return;
|
|
2924
2978
|
}
|
|
2925
2979
|
const timeout = setTimeout(() => {
|
|
2980
|
+
console.error("[EMBED HOOK] Timeout reached!");
|
|
2926
2981
|
worker.removeEventListener("message", handler);
|
|
2927
2982
|
reject(/* @__PURE__ */ new Error("Embedding timeout after 30s"));
|
|
2928
2983
|
}, 3e4);
|
|
2929
2984
|
const handler = (e) => {
|
|
2985
|
+
console.log("[EMBED HOOK] embed handler received:", e.data.type);
|
|
2930
2986
|
if (e.data.type === "embedding") {
|
|
2987
|
+
console.log("[EMBED HOOK] Got embedding result!");
|
|
2931
2988
|
clearTimeout(timeout);
|
|
2932
2989
|
worker.removeEventListener("message", handler);
|
|
2933
2990
|
resolve(e.data.payload.vector);
|
|
2934
2991
|
} else if (e.data.type === "error") {
|
|
2992
|
+
console.error("[EMBED HOOK] Got error:", e.data.payload);
|
|
2935
2993
|
clearTimeout(timeout);
|
|
2936
2994
|
worker.removeEventListener("message", handler);
|
|
2937
2995
|
reject(new Error(e.data.payload));
|
|
2938
2996
|
}
|
|
2939
2997
|
};
|
|
2940
2998
|
worker.addEventListener("message", handler);
|
|
2999
|
+
console.log("[EMBED HOOK] Posting embed message to worker...");
|
|
2941
3000
|
worker.postMessage({
|
|
2942
3001
|
type: "embed",
|
|
2943
3002
|
payload: {
|
|
@@ -2945,6 +3004,7 @@ function useEmbedding(options = {}) {
|
|
|
2945
3004
|
normalize
|
|
2946
3005
|
}
|
|
2947
3006
|
});
|
|
3007
|
+
console.log("[EMBED HOOK] Message posted, waiting for response...");
|
|
2948
3008
|
});
|
|
2949
3009
|
}, [load, normalize]);
|
|
2950
3010
|
const embedBatch = useCallback(async (texts) => {
|