pikelet-wasm 0.7.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/CHANGELOG.md +868 -0
- package/LICENSE +191 -0
- package/README.md +590 -0
- package/complete/builder.d.ts +82 -0
- package/complete/builder.mjs +527 -0
- package/complete/encoder-kernels/encoder.mjs +2 -0
- package/complete/encoder-kernels/encoder.node.mjs +2 -0
- package/complete/encoder-kernels/encoder.node.wasm +0 -0
- package/complete/encoder-kernels/encoder.wasm +0 -0
- package/complete/format.mjs +8 -0
- package/complete/index.d.ts +289 -0
- package/complete/index.mjs +1124 -0
- package/complete/inline-transformer.mjs +205 -0
- package/complete/lexical.mjs +264 -0
- package/complete/retrieval-abstention.mjs +119 -0
- package/complete/sources.mjs +186 -0
- package/complete/student-abstention.mjs +102 -0
- package/complete/student-embedder.mjs +231 -0
- package/complete/wordpiece.mjs +68 -0
- package/dist/engine.js +2 -0
- package/dist/engine.scalar.js +2 -0
- package/dist/engine.scalar.wasm +0 -0
- package/dist/engine.wasm +0 -0
- package/package.json +168 -0
- package/pancake-artifact-common.js +561 -0
- package/pancake-artifact-range.js +799 -0
- package/pancake-artifact-sketch.js +1040 -0
- package/pancake-artifact.d.ts +109 -0
- package/pancake-artifact.js +31 -0
- package/pancake-core.js +1268 -0
- package/pancake-errors.js +40 -0
- package/pancake-loader.js +66 -0
- package/pancake.d.ts +691 -0
- package/pancake.js +254 -0
- package/pancake.node.mjs +259 -0
- package/pancake.web.d.ts +50 -0
- package/pancake.web.mjs +88 -0
- package/pancake.workerd.mjs +72 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import loadEngine from './dist/engine.js';
|
|
2
|
+
import loadScalarEngine from './dist/engine.scalar.js';
|
|
3
|
+
import simdWasmAsset from './dist/engine.wasm';
|
|
4
|
+
import scalarWasmAsset from './dist/engine.scalar.wasm';
|
|
5
|
+
import createPancakeApi from './pancake-core.js';
|
|
6
|
+
import errorContract from './pancake-errors.js';
|
|
7
|
+
import loaderContract from './pancake-loader.js';
|
|
8
|
+
import artifactContract from './pancake-artifact.js';
|
|
9
|
+
const { PancakeError, PANCAKE_ERROR_CODES, pancakeError } = errorContract;
|
|
10
|
+
const { createCachedModuleLoader } = loaderContract;
|
|
11
|
+
const { PancakeRangeArtifact, PancakeSketchArtifact, createSketchScanner } = artifactContract;
|
|
12
|
+
|
|
13
|
+
let engineVariantPromise = null;
|
|
14
|
+
|
|
15
|
+
function makeLoadError(message, error) {
|
|
16
|
+
const detail = error && error.message ? error.message : String(error);
|
|
17
|
+
return pancakeError(PANCAKE_ERROR_CODES.WASM_LOAD_FAILED, `${message}: ${detail}`, undefined, error);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const moduleLoader = createCachedModuleLoader((variant) =>
|
|
21
|
+
variant === 'simd' ? simdWasmAsset : scalarWasmAsset
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
function selectEngineVariant() {
|
|
25
|
+
engineVariantPromise ??= moduleLoader.supports('simd')
|
|
26
|
+
.then((supported) => supported ? 'simd' : 'scalar');
|
|
27
|
+
return engineVariantPromise;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async function loadWorkerdEngine() {
|
|
31
|
+
const engineVariant = await selectEngineVariant();
|
|
32
|
+
if (engineVariant === 'scalar') {
|
|
33
|
+
try {
|
|
34
|
+
return await moduleLoader.instantiate(loadScalarEngine, 'scalar');
|
|
35
|
+
} catch (error) {
|
|
36
|
+
throw makeLoadError('Pancake failed to load the scalar WASM engine', error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
try {
|
|
41
|
+
return await moduleLoader.instantiate(loadEngine, 'simd');
|
|
42
|
+
} catch (simdError) {
|
|
43
|
+
try {
|
|
44
|
+
const engine = await moduleLoader.instantiate(loadScalarEngine, 'scalar');
|
|
45
|
+
engineVariantPromise = Promise.resolve('scalar');
|
|
46
|
+
return engine;
|
|
47
|
+
} catch (scalarError) {
|
|
48
|
+
throw makeLoadError(
|
|
49
|
+
`Pancake failed to load either the SIMD or scalar WASM engine (SIMD error: ${simdError && simdError.message ? simdError.message : String(simdError)})`,
|
|
50
|
+
scalarError
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const Pancake = createPancakeApi(loadWorkerdEngine);
|
|
57
|
+
export { PancakeError, PANCAKE_ERROR_CODES };
|
|
58
|
+
|
|
59
|
+
Pancake.RangeArtifact = PancakeRangeArtifact;
|
|
60
|
+
Pancake.SketchArtifact = PancakeSketchArtifact;
|
|
61
|
+
Pancake.createSketchScanner = (artifact, options) => createSketchScanner(loadWorkerdEngine, artifact, options);
|
|
62
|
+
|
|
63
|
+
function unsupportedNodeFileHelper(name) {
|
|
64
|
+
return async function unsupported() {
|
|
65
|
+
throw pancakeError(PANCAKE_ERROR_CODES.INVALID_ARGUMENT, `${name}() is only available in the Node.js entrypoints`);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Pancake.loadSnapshotFile = unsupportedNodeFileHelper('loadSnapshotFile');
|
|
70
|
+
Pancake.loadJsonFile = unsupportedNodeFileHelper('loadJsonFile');
|
|
71
|
+
|
|
72
|
+
export default Pancake;
|