@omnid/tinyemo 0.0.0-stage → 1.0.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.
@@ -0,0 +1,89 @@
1
+ /**
2
+ * English-only hashed n-gram features matching tinyemo/en_features.py.
3
+ *
4
+ * Per word: the whole word, plus 3..5-char grams with boundary markers.
5
+ * Between neighbouring words: a word bigram.
6
+ * Each feature is hashed twice (FNV-1a 64); the bucket comes from bits 20..34
7
+ * (15 bits, 0..32767) and the sign from bit 63.
8
+ */
9
+ export const FNV_OFFSET = 0xcbf29ce484222325n;
10
+ export const FNV_PRIME = 0x100000001b3n;
11
+ export const MASK64 = (1n << 64n) - 1n;
12
+ export const SEEDS = [0x9e3779b97f4a7c15n, 0xc2b2ae3d27d4eb4fn];
13
+ export const N_HASHES = SEEDS.length;
14
+ export const RAW_BITS = 15n;
15
+ const RAW_MASK = (1n << RAW_BITS) - 1n;
16
+ const utf8Encoder = new TextEncoder();
17
+ /**
18
+ * Compute 64-bit FNV-1a hash of a UTF-8 string with the given 64-bit seed.
19
+ */
20
+ export function fnv64(s, seed) {
21
+ let h = (FNV_OFFSET ^ seed) & MASK64;
22
+ const bytes = utf8Encoder.encode(s);
23
+ for (let i = 0; i < bytes.length; i++) {
24
+ h = ((h ^ BigInt(bytes[i])) * FNV_PRIME) & MASK64;
25
+ }
26
+ return h;
27
+ }
28
+ /**
29
+ * Extract word, character n-gram (3..5), and word bigram features from normalized text.
30
+ */
31
+ export function features(normText) {
32
+ const trimmed = normText.trim();
33
+ const words = trimmed ? trimmed.split(/\s+/) : [];
34
+ const out = [];
35
+ for (let wIdx = 0; wIdx < words.length; wIdx++) {
36
+ const w = words[wIdx];
37
+ out.push("w:" + w);
38
+ const s = "<" + w + ">";
39
+ for (const n of [3, 4, 5]) {
40
+ for (let i = 0; i <= s.length - n; i++) {
41
+ out.push("g:" + s.slice(i, i + n));
42
+ }
43
+ }
44
+ }
45
+ for (let i = 0; i < words.length - 1; i++) {
46
+ out.push("b:" + words[i] + " " + words[i + 1]);
47
+ }
48
+ return out.length > 0 ? out : ["w:\x00"];
49
+ }
50
+ const hashCache = new Map();
51
+ /**
52
+ * Compute `((raw0, sign0), (raw1, sign1))` with `raw` in `[0, 32768)` and `sign` in `{-1, 1}`.
53
+ */
54
+ export function hash16(feat) {
55
+ const cached = hashCache.get(feat);
56
+ if (cached !== undefined) {
57
+ return cached;
58
+ }
59
+ const h0 = fnv64(feat, SEEDS[0]);
60
+ const h1 = fnv64(feat, SEEDS[1]);
61
+ const r0 = Number((h0 >> 20n) & RAW_MASK);
62
+ const s0 = ((h0 >> 63n) & 1n) === 1n ? 1 : -1;
63
+ const r1 = Number((h1 >> 20n) & RAW_MASK);
64
+ const s1 = ((h1 >> 63n) & 1n) === 1n ? 1 : -1;
65
+ const pair = [
66
+ [r0, s0],
67
+ [r1, s1]
68
+ ];
69
+ hashCache.set(feat, pair);
70
+ return pair;
71
+ }
72
+ /**
73
+ * Featurize normalized text into flattened `[n, 2]` arrays (`raw` and `sign`) up to `maxFeatures`.
74
+ */
75
+ export function featurize(normText, maxFeatures) {
76
+ const fs = features(normText).slice(0, maxFeatures);
77
+ const count = fs.length;
78
+ const raw = new Int16Array(count * N_HASHES);
79
+ const sign = new Int8Array(count * N_HASHES);
80
+ for (let i = 0; i < count; i++) {
81
+ const pair = hash16(fs[i]);
82
+ raw[i * 2] = pair[0][0];
83
+ sign[i * 2] = pair[0][1];
84
+ raw[i * 2 + 1] = pair[1][0];
85
+ sign[i * 2 + 1] = pair[1][1];
86
+ }
87
+ return { raw, sign, count };
88
+ }
89
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export { base64ToBytes, bytesToBase64, compressStream, decodePackedAsset, decompressStream, encodePackedAsset, maybeDecompress } from "./compression.js";
2
+ export { createSuggestion, createTinyEmo, MAX_OUTPUT, requestWebGpuDevice, softmax, TinyEmo } from "./engine.js";
3
+ export { features, featurize, fnv64, FNV_OFFSET, FNV_PRIME, hash16, type HashPair, MASK64, N_HASHES, RAW_BITS, SEEDS } from "./features.js";
4
+ export { MAX_WORD_LEN, MAX_WORDS, normalize, wordsOf } from "./normalize.js";
5
+ export { PACKED_COMPRESSION_FORMAT, PACKED_CONFIG, PACKED_LABELS, PACKED_SAFETENSORS_B64, PACKED_TOKENIZER_B64 } from "./packed-assets.js";
6
+ export { createTinyEmoShaderSource } from "./shaders.js";
7
+ export { TinyTokenizer } from "./tokenizer.js";
8
+ export type { EmojiSuggestion, EncodedBatch, EncodedInput, SafetensorsFile, StreamCompressionFormat, TensorData, TinyEmoModelConfig, TinyEmoOptions, WeightsFormat } from "./types.js";
9
+ export { type LayerWeightOffsets, loadPackedTokenizer, loadPackedWeights, loadWeightsFromBuffer, type PackedGpuWeights, packWeightsForGpu, parseOnnxWeights, parseSafetensors, serializeSafetensors } from "./weights.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,OAAO,EACP,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,QAAQ,EACb,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,EACN,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,kBAAkB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export { base64ToBytes, bytesToBase64, compressStream, decodePackedAsset, decompressStream, encodePackedAsset, maybeDecompress } from "./compression.js";
2
+ export { createSuggestion, createTinyEmo, MAX_OUTPUT, requestWebGpuDevice, softmax, TinyEmo } from "./engine.js";
3
+ export { features, featurize, fnv64, FNV_OFFSET, FNV_PRIME, hash16, MASK64, N_HASHES, RAW_BITS, SEEDS } from "./features.js";
4
+ export { MAX_WORD_LEN, MAX_WORDS, normalize, wordsOf } from "./normalize.js";
5
+ export { PACKED_COMPRESSION_FORMAT, PACKED_CONFIG, PACKED_LABELS, PACKED_SAFETENSORS_B64, PACKED_TOKENIZER_B64 } from "./packed-assets.js";
6
+ export { createTinyEmoShaderSource } from "./shaders.js";
7
+ export { TinyTokenizer } from "./tokenizer.js";
8
+ export { loadPackedTokenizer, loadPackedWeights, loadWeightsFromBuffer, packWeightsForGpu, parseOnnxWeights, parseSafetensors, serializeSafetensors } from "./weights.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,OAAO,EACP,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,SAAS,EACT,MAAM,EAEN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,KAAK,EACN,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAY/C,OAAO,EAEL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EAErB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Input normalization matching tinyemo/normalize.py:
3
+ * - NFKD unicode normalization, accents stripped, lower-cased
4
+ * - Apostrophes inside words removed ("don't" -> "dont")
5
+ * - Everything not [a-z0-9] replaced with space
6
+ * - At most MAX_WORDS (4) words kept (the last ones)
7
+ * - Each word capped at MAX_WORD_LEN (20) characters
8
+ */
9
+ export declare const MAX_WORDS = 4;
10
+ export declare const MAX_WORD_LEN = 20;
11
+ /**
12
+ * Extract normalized words from `text` without max-words truncation.
13
+ */
14
+ export declare function wordsOf(text: string): string[];
15
+ /**
16
+ * Normalize input text to at most the last `maxWords` lowercase ASCII alphanumeric words.
17
+ */
18
+ export declare function normalize(text: string, maxWords?: number): string;
19
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAO/B;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAa9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,GAAG,MAAM,CAM5E"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Input normalization matching tinyemo/normalize.py:
3
+ * - NFKD unicode normalization, accents stripped, lower-cased
4
+ * - Apostrophes inside words removed ("don't" -> "dont")
5
+ * - Everything not [a-z0-9] replaced with space
6
+ * - At most MAX_WORDS (4) words kept (the last ones)
7
+ * - Each word capped at MAX_WORD_LEN (20) characters
8
+ */
9
+ export const MAX_WORDS = 4;
10
+ export const MAX_WORD_LEN = 20;
11
+ const APOS_REGEX = /[\u2019\u2018\u00B4`]/g;
12
+ const COMBINING_REGEX = /\p{M}/gu;
13
+ const INNER_APOS_REGEX = /(?<=[a-z0-9])'(?=[a-z0-9])/g;
14
+ const NON_ALNUM_REGEX = /[^a-z0-9]+/g;
15
+ /**
16
+ * Extract normalized words from `text` without max-words truncation.
17
+ */
18
+ export function wordsOf(text) {
19
+ const t = text
20
+ .replace(APOS_REGEX, "'")
21
+ .normalize("NFKD")
22
+ .toLowerCase()
23
+ .replace(COMBINING_REGEX, "")
24
+ .replace(INNER_APOS_REGEX, "");
25
+ const cleaned = t.replace(NON_ALNUM_REGEX, " ").trim();
26
+ if (!cleaned) {
27
+ return [];
28
+ }
29
+ return cleaned.split(" ").filter(Boolean).map((w) => w.slice(0, MAX_WORD_LEN));
30
+ }
31
+ /**
32
+ * Normalize input text to at most the last `maxWords` lowercase ASCII alphanumeric words.
33
+ */
34
+ export function normalize(text, maxWords = MAX_WORDS) {
35
+ const words = wordsOf(text);
36
+ if (words.length === 0) {
37
+ return "";
38
+ }
39
+ return words.slice(-maxWords).join(" ");
40
+ }
41
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AACvD,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,CAAC,GAAG,IAAI;SACX,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,WAAmB,SAAS;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Auto-generated by scripts/pack-assets.mjs using Web CompressionStream("gzip").
3
+ * Contains the compressed model.safetensors, tiny_tokenizer.bin, and config.json for TinyEmo.
4
+ * DO NOT EDIT MANUALLY.
5
+ */
6
+ import type { TinyEmoModelConfig } from "./types.js";
7
+ export declare const PACKED_COMPRESSION_FORMAT: "gzip";
8
+ export declare const PACKED_CONFIG: TinyEmoModelConfig;
9
+ export declare const PACKED_LABELS: readonly string[];
10
+ /**
11
+ * Compressed tiny_tokenizer.bin (15355 bytes -> 8908 bytes, gzip + base64)
12
+ */
13
+ export declare const PACKED_TOKENIZER_B64: string;
14
+ /**
15
+ * Compressed model.safetensors (2568904 bytes -> 986830 bytes, gzip + base64)
16
+ */
17
+ export declare const PACKED_SAFETENSORS_B64: string;
18
+ //# sourceMappingURL=packed-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packed-assets.d.ts","sourceRoot":"","sources":["../src/packed-assets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,yBAAyB,EAAG,MAAe,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,kBAa3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAqlI,CAAC;AAEjoI;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAmnX,CAAC;AAEvpX;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAA28pwC,CAAC"}