@claude-flow/cli 3.10.24 → 3.10.25

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,19 @@
1
+ type Embedder = {
2
+ embed(text: string): Promise<Float32Array>;
3
+ embedBatch(texts: string[]): Promise<Float32Array[]>;
4
+ dim(): number;
5
+ modelName(): string;
6
+ };
7
+ /**
8
+ * Lazy-load the BGE bi-encoder. Defaults to Xenova/bge-base-en-v1.5.
9
+ * Returns null on failure; caller should fall back.
10
+ */
11
+ export declare function getBgeEmbedder(modelName?: string): Promise<Embedder | null>;
12
+ export declare function getBgeStatus(): {
13
+ loaded: boolean;
14
+ attempted: boolean;
15
+ error: string | null;
16
+ modelName: string | null;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=bge-embedder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bge-embedder.d.ts","sourceRoot":"","sources":["../../../src/memory/bge-embedder.ts"],"names":[],"mappings":"AAcA,KAAK,QAAQ,GAAG;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,GAAG,IAAI,MAAM,CAAC;IACd,SAAS,IAAI,MAAM,CAAC;CACrB,CAAC;AAMF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,SAAS,SAA4B,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA0EpG;AAED,wBAAgB,YAAY,IAAI;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAOtH"}
@@ -0,0 +1,107 @@
1
+ // BGE bi-encoder embedder — direct @xenova/transformers AutoTokenizer +
2
+ // AutoModel path (bypasses agentic-flow's transformers.js which needs sharp
3
+ // and fails on darwin-arm64 without libvips).
4
+ //
5
+ // Default model: Xenova/bge-base-en-v1.5 (110M params, 768-dim, int8
6
+ // quantised ~110MB). Comparable models published on Xenova:
7
+ // - Xenova/bge-small-en-v1.5 (33M, 384-dim, ~40MB)
8
+ // - Xenova/bge-base-en-v1.5 (110M, 768-dim, ~110MB) ← default
9
+ // - Xenova/bge-large-en-v1.5 (335M, 1024-dim, ~440MB)
10
+ //
11
+ // BGE outputs use CLS-token pooling + L2 normalisation (per BAAI's docs).
12
+ //
13
+ // ADR-085 (BEIR harness) + ADR-086 (BGE embedder).
14
+ let singleton = null;
15
+ let loadAttempted = false;
16
+ let loadError = null;
17
+ /**
18
+ * Lazy-load the BGE bi-encoder. Defaults to Xenova/bge-base-en-v1.5.
19
+ * Returns null on failure; caller should fall back.
20
+ */
21
+ export async function getBgeEmbedder(modelName = 'Xenova/bge-base-en-v1.5') {
22
+ if (singleton && singleton.modelName() === modelName)
23
+ return singleton;
24
+ if (loadAttempted && loadError)
25
+ return null;
26
+ loadAttempted = true;
27
+ try {
28
+ const mod = await import('@xenova/transformers').catch(() => null);
29
+ if (!mod?.AutoTokenizer || !mod?.AutoModel) {
30
+ loadError = '@xenova/transformers missing AutoTokenizer / AutoModel';
31
+ return null;
32
+ }
33
+ const tokenizer = await mod.AutoTokenizer.from_pretrained(modelName, { quantized: true });
34
+ const model = await mod.AutoModel.from_pretrained(modelName, { quantized: true });
35
+ // BGE uses CLS pooling + L2 normalisation per the BAAI README.
36
+ // We do both manually since the lower-level API doesn't apply them.
37
+ function clsPool(out) {
38
+ // last_hidden_state shape: [batch, seq_len, hidden_dim]
39
+ const hidden = out.last_hidden_state ?? out.hiddenState ?? out[0];
40
+ const data = hidden.data;
41
+ const dims = hidden.dims; // [batch, seq, hidden]
42
+ const [b, _seq, h] = dims;
43
+ // CLS is position 0 of each batch row.
44
+ const result = new Float32Array(b * h);
45
+ for (let bi = 0; bi < b; bi++) {
46
+ for (let hi = 0; hi < h; hi++) {
47
+ // hidden[bi, 0, hi] = data[(bi * seq + 0) * h + hi]
48
+ result[bi * h + hi] = data[(bi * _seq + 0) * h + hi];
49
+ }
50
+ }
51
+ return result;
52
+ }
53
+ function l2norm(vec, offset, len) {
54
+ let n = 0;
55
+ for (let i = 0; i < len; i++)
56
+ n += vec[offset + i] * vec[offset + i];
57
+ n = Math.sqrt(n);
58
+ if (n > 1e-9)
59
+ for (let i = 0; i < len; i++)
60
+ vec[offset + i] /= n;
61
+ }
62
+ singleton = {
63
+ async embed(text) {
64
+ const inputs = await tokenizer(text, { padding: true, truncation: true, max_length: 512 });
65
+ const out = await model(inputs);
66
+ const pooled = clsPool(out);
67
+ const h = pooled.length;
68
+ l2norm(pooled, 0, h);
69
+ return pooled;
70
+ },
71
+ async embedBatch(texts) {
72
+ if (texts.length === 0)
73
+ return [];
74
+ const inputs = await tokenizer(texts, { padding: true, truncation: true, max_length: 512 });
75
+ const out = await model(inputs);
76
+ const pooled = clsPool(out);
77
+ const h = pooled.length / texts.length;
78
+ const results = [];
79
+ for (let i = 0; i < texts.length; i++) {
80
+ const vec = pooled.slice(i * h, (i + 1) * h);
81
+ l2norm(vec, 0, h);
82
+ results.push(vec);
83
+ }
84
+ return results;
85
+ },
86
+ dim() {
87
+ // Will be filled after first embed; conservative default 768 for base.
88
+ return modelName.includes('small') ? 384 : modelName.includes('large') ? 1024 : 768;
89
+ },
90
+ modelName() { return modelName; },
91
+ };
92
+ return singleton;
93
+ }
94
+ catch (err) {
95
+ loadError = err instanceof Error ? err.message : String(err);
96
+ return null;
97
+ }
98
+ }
99
+ export function getBgeStatus() {
100
+ return {
101
+ loaded: !!singleton,
102
+ attempted: loadAttempted,
103
+ error: loadError,
104
+ modelName: singleton?.modelName() ?? null,
105
+ };
106
+ }
107
+ //# sourceMappingURL=bge-embedder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bge-embedder.js","sourceRoot":"","sources":["../../../src/memory/bge-embedder.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,qEAAqE;AACrE,4DAA4D;AAC5D,qDAAqD;AACrD,kEAAkE;AAClE,wDAAwD;AACxD,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,mDAAmD;AASnD,IAAI,SAAS,GAAoB,IAAI,CAAC;AACtC,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,SAAS,GAAkB,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAS,GAAG,yBAAyB;IACxE,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,aAAa,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5C,aAAa,GAAG,IAAI,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAQ,CAAC;QAC1E,IAAI,CAAC,GAAG,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;YAC3C,SAAS,GAAG,wDAAwD,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElF,+DAA+D;QAC/D,oEAAoE;QACpE,SAAS,OAAO,CAAC,GAAQ;YACvB,wDAAwD;YACxD,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAoB,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAgB,CAAC,CAAC,uBAAuB;YAC7D,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,uCAAuC;YACvC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC9B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;oBAC9B,oDAAoD;oBACpD,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,SAAS,MAAM,CAAC,GAAiB,EAAE,MAAc,EAAE,GAAW;YAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;gBAAE,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,GAAG,IAAI;gBAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;oBAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,SAAS,GAAG;YACV,KAAK,CAAC,KAAK,CAAC,IAAY;gBACtB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3F,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxB,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,KAAe;gBAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5F,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvC,MAAM,OAAO,GAAmB,EAAE,CAAC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,GAAG;gBACD,uEAAuE;gBACvE,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACtF,CAAC;YACD,SAAS,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;SAC1C,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,SAAS;QACnB,SAAS,EAAE,aAAa;QACxB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI;KAC1C,CAAC;AACJ,CAAC"}