@leemour/cli-messaging 0.99.0 → 0.101.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/dist/cli/bot/copy.d.ts.map +1 -1
- package/dist/cli/bot/copy.js +4 -0
- package/dist/cli/bot/copy.js.map +1 -1
- package/dist/cli/bot/port.d.ts +1 -1
- package/dist/cli/bot/port.d.ts.map +1 -1
- package/dist/cli/embedding-keys.d.ts +16 -0
- package/dist/cli/embedding-keys.d.ts.map +1 -0
- package/dist/cli/embedding-keys.js +31 -0
- package/dist/cli/embedding-keys.js.map +1 -0
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +166 -4
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/messages-command.js +1 -1
- package/dist/cli/messenger/messages-command.js.map +1 -1
- package/dist/cli/messenger/models-command.d.ts.map +1 -1
- package/dist/cli/messenger/models-command.js +31 -1
- package/dist/cli/messenger/models-command.js.map +1 -1
- package/dist/cli/messenger/store-maintenance-command.js +20 -4
- package/dist/cli/messenger/store-maintenance-command.js.map +1 -1
- package/dist/conversations/chunks.d.ts +28 -0
- package/dist/conversations/chunks.d.ts.map +1 -0
- package/dist/conversations/chunks.js +45 -0
- package/dist/conversations/chunks.js.map +1 -0
- package/dist/conversations/link.d.ts +1 -1
- package/dist/conversations/link.d.ts.map +1 -1
- package/dist/conversations/link.js.map +1 -1
- package/dist/embeddings/models.d.ts +2 -0
- package/dist/embeddings/models.d.ts.map +1 -1
- package/dist/embeddings/models.js +2 -0
- package/dist/embeddings/models.js.map +1 -1
- package/dist/embeddings/pool.d.ts +15 -0
- package/dist/embeddings/pool.d.ts.map +1 -0
- package/dist/embeddings/pool.js +20 -0
- package/dist/embeddings/pool.js.map +1 -0
- package/dist/embeddings/remote.d.ts +43 -0
- package/dist/embeddings/remote.d.ts.map +1 -0
- package/dist/embeddings/remote.js +110 -0
- package/dist/embeddings/remote.js.map +1 -0
- package/dist/embeddings/worker.d.ts +2 -0
- package/dist/embeddings/worker.d.ts.map +1 -0
- package/dist/embeddings/worker.js +22 -0
- package/dist/embeddings/worker.js.map +1 -0
- package/dist/embeddings/workers.d.ts +8 -0
- package/dist/embeddings/workers.d.ts.map +1 -0
- package/dist/embeddings/workers.js +51 -0
- package/dist/embeddings/workers.js.map +1 -0
- package/dist/mcp/tools/conversations.d.ts.map +1 -1
- package/dist/mcp/tools/conversations.js +23 -0
- package/dist/mcp/tools/conversations.js.map +1 -1
- package/dist/mcp/tools/messages.js +2 -2
- package/dist/mcp/tools/messages.js.map +1 -1
- package/dist/search/query.d.ts +7 -2
- package/dist/search/query.d.ts.map +1 -1
- package/dist/search/query.js +9 -2
- package/dist/search/query.js.map +1 -1
- package/dist/sends/permissions.d.ts.map +1 -1
- package/dist/sends/permissions.js +3 -0
- package/dist/sends/permissions.js.map +1 -1
- package/dist/services/archive.d.ts.map +1 -1
- package/dist/services/archive.js +9 -2
- package/dist/services/archive.js.map +1 -1
- package/dist/services/conversations.d.ts.map +1 -1
- package/dist/services/conversations.js +7 -0
- package/dist/services/conversations.js.map +1 -1
- package/dist/services/embeddings.d.ts +64 -0
- package/dist/services/embeddings.d.ts.map +1 -0
- package/dist/services/embeddings.js +141 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/messages.js +2 -4
- package/dist/services/messages.js.map +1 -1
- package/dist/services/people.d.ts.map +1 -1
- package/dist/services/people.js +11 -3
- package/dist/services/people.js.map +1 -1
- package/dist/store/sqlite/conversations.d.ts +3 -1
- package/dist/store/sqlite/conversations.d.ts.map +1 -1
- package/dist/store/sqlite/conversations.js +36 -3
- package/dist/store/sqlite/conversations.js.map +1 -1
- package/dist/store/sqlite/drizzle/bun.js +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts +1 -1
- package/dist/store/sqlite/drizzle/core.d.ts.map +1 -1
- package/dist/store/sqlite/drizzle/core.js +3 -1
- package/dist/store/sqlite/drizzle/core.js.map +1 -1
- package/dist/store/sqlite/drizzle/node.js +1 -1
- package/dist/store/sqlite/drizzle/{shared-VIVPOB3Q.js → shared-WZFJ4TMA.js} +94 -93
- package/dist/store/sqlite/drizzle/{shared-VIVPOB3Q.js.map → shared-WZFJ4TMA.js.map} +3 -3
- package/dist/store/sqlite/manifest.d.ts.map +1 -1
- package/dist/store/sqlite/manifest.js +1 -0
- package/dist/store/sqlite/manifest.js.map +1 -1
- package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
- package/dist/store/sqlite/migrations.generated.js +8 -0
- package/dist/store/sqlite/migrations.generated.js.map +1 -1
- package/dist/store/sqlite/schema.d.ts +176 -0
- package/dist/store/sqlite/schema.d.ts.map +1 -1
- package/dist/store/sqlite/schema.js +33 -1
- package/dist/store/sqlite/schema.js.map +1 -1
- package/dist/store/sqlite/vectors.d.ts +53 -0
- package/dist/store/sqlite/vectors.d.ts.map +1 -0
- package/dist/store/sqlite/vectors.js +107 -0
- package/dist/store/sqlite/vectors.js.map +1 -0
- package/dist/store/store.d.ts +40 -0
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +47 -0
- package/dist/store/store.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +66 -22
|
@@ -176,10 +176,8 @@ const inspect = (path) => reading(path, (database) => {
|
|
|
176
176
|
wordIndex: wordIndex ?? null,
|
|
177
177
|
chatsBehind: behind,
|
|
178
178
|
conversations: conversationsBuilt(database),
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
enrichment: "nothing is enriched yet, so there is no enrichment index to compare",
|
|
182
|
-
},
|
|
179
|
+
vectors: vectorsHeld(database),
|
|
180
|
+
notApplicable: { extensions: "SQLite needs none" },
|
|
183
181
|
};
|
|
184
182
|
});
|
|
185
183
|
/** `rank = 1` compares the index with its table; without it a stale external-content index passes. */
|
|
@@ -192,6 +190,24 @@ const indexIntegrity = (database, index, rank = 1) => {
|
|
|
192
190
|
return messageOf(error);
|
|
193
191
|
}
|
|
194
192
|
};
|
|
193
|
+
/**
|
|
194
|
+
* Vectors per model, and how many no chunk of any build points at any more — a rebuild that changed a
|
|
195
|
+
* conversation's text leaves its old vector behind until `conversations embed clear` (phase 5).
|
|
196
|
+
*/
|
|
197
|
+
const vectorsHeld = (database) => {
|
|
198
|
+
const exists = database.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'chunk_vectors'").get();
|
|
199
|
+
if (!exists)
|
|
200
|
+
return null;
|
|
201
|
+
const models = Object.fromEntries(database
|
|
202
|
+
.prepare("SELECT model, count(*) AS n FROM chunk_vectors GROUP BY model ORDER BY model")
|
|
203
|
+
.all()
|
|
204
|
+
.map((row) => [String(row.model), Number(row.n)]));
|
|
205
|
+
const unused = database
|
|
206
|
+
.prepare(`SELECT count(*) AS n FROM chunk_vectors v
|
|
207
|
+
WHERE NOT EXISTS (SELECT 1 FROM conversation_chunks k WHERE k.content_hash = v.content_hash)`)
|
|
208
|
+
.get();
|
|
209
|
+
return { models, unused: Number(unused?.n ?? 0) };
|
|
210
|
+
};
|
|
195
211
|
/**
|
|
196
212
|
* Per chat whose conversations were built: by which rules, whether those are this build's, and how many
|
|
197
213
|
* of the agent's links went stale — their message changed after they were written (phase 3 plan C4).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-maintenance-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/store-maintenance-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store-maintenance-command.js","sourceRoot":"","sources":["../../../src/cli/messenger/store-maintenance-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Id } from "../domain/models.js";
|
|
2
|
+
/**
|
|
3
|
+
* ~300 tokens: e5's tokenizer reads 3.7 characters a token in Russian and 4.0 in English
|
|
4
|
+
* (phase 5 E1). Characters, not tokens, so a chunk is the same whatever model embeds it.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CHUNK_CHARS = 1200;
|
|
7
|
+
export interface ChunkLine {
|
|
8
|
+
id: Id;
|
|
9
|
+
sender: string | null;
|
|
10
|
+
text: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Chunk {
|
|
13
|
+
firstId: Id;
|
|
14
|
+
lastId: Id;
|
|
15
|
+
/** What the model is given; never stored, only its hash. */
|
|
16
|
+
text: string;
|
|
17
|
+
hash: string;
|
|
18
|
+
}
|
|
19
|
+
/** A chunk's text from its messages, as the build cut it: what is hashed and what the model reads. */
|
|
20
|
+
export declare const chunkTextOf: (lines: ChunkLine[]) => string;
|
|
21
|
+
export declare const chunkHash: (text: string) => string;
|
|
22
|
+
/**
|
|
23
|
+
* A conversation, oldest message first, cut at message boundaries into chunks of at most `limit`
|
|
24
|
+
* characters. A message longer than the limit is a chunk of its own; the model cuts it further.
|
|
25
|
+
* Messages with no text add nothing, and a conversation of only those has no chunk.
|
|
26
|
+
*/
|
|
27
|
+
export declare const cutChunks: (members: ChunkLine[], limit?: number) => Chunk[];
|
|
28
|
+
//# sourceMappingURL=chunks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,WAAW,OAAQ,CAAA;AAEhC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAA;IACN,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,EAAE,CAAA;IACX,MAAM,EAAE,EAAE,CAAA;IACV,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAID,sGAAsG;AACtG,eAAO,MAAM,WAAW,UAAW,SAAS,EAAE,KAAG,MAIlC,CAAA;AAEf,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MAAyD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,SAAS,YAAa,SAAS,EAAE,qBAAwB,KAAK,EAsB1E,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* ~300 tokens: e5's tokenizer reads 3.7 characters a token in Russian and 4.0 in English
|
|
4
|
+
* (phase 5 E1). Characters, not tokens, so a chunk is the same whatever model embeds it.
|
|
5
|
+
*/
|
|
6
|
+
export const CHUNK_CHARS = 1_200;
|
|
7
|
+
const lineOf = ({ sender, text }) => (sender ? `${sender}: ${text}` : text);
|
|
8
|
+
/** A chunk's text from its messages, as the build cut it: what is hashed and what the model reads. */
|
|
9
|
+
export const chunkTextOf = (lines) => lines
|
|
10
|
+
.filter(({ text }) => text.trim())
|
|
11
|
+
.map(lineOf)
|
|
12
|
+
.join("\n");
|
|
13
|
+
export const chunkHash = (text) => createHash("sha256").update(text).digest("hex");
|
|
14
|
+
/**
|
|
15
|
+
* A conversation, oldest message first, cut at message boundaries into chunks of at most `limit`
|
|
16
|
+
* characters. A message longer than the limit is a chunk of its own; the model cuts it further.
|
|
17
|
+
* Messages with no text add nothing, and a conversation of only those has no chunk.
|
|
18
|
+
*/
|
|
19
|
+
export const cutChunks = (members, limit = CHUNK_CHARS) => {
|
|
20
|
+
const chunks = [];
|
|
21
|
+
let open = [];
|
|
22
|
+
let size = 0;
|
|
23
|
+
const close = () => {
|
|
24
|
+
const first = open[0];
|
|
25
|
+
const last = open.at(-1);
|
|
26
|
+
if (!first || !last)
|
|
27
|
+
return;
|
|
28
|
+
const text = chunkTextOf(open);
|
|
29
|
+
chunks.push({ firstId: first.id, lastId: last.id, text, hash: chunkHash(text) });
|
|
30
|
+
open = [];
|
|
31
|
+
size = 0;
|
|
32
|
+
};
|
|
33
|
+
for (const member of members) {
|
|
34
|
+
if (!member.text.trim())
|
|
35
|
+
continue;
|
|
36
|
+
const length = lineOf(member).length;
|
|
37
|
+
if (open.length > 0 && size + 1 + length > limit)
|
|
38
|
+
close();
|
|
39
|
+
size += (open.length > 0 ? 1 : 0) + length;
|
|
40
|
+
open.push(member);
|
|
41
|
+
}
|
|
42
|
+
close();
|
|
43
|
+
return chunks;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks.js","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAgBhC,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtF,sGAAsG;AACtG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAU,EAAE,CACxD,KAAK;KACF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACjC,GAAG,CAAC,MAAM,CAAC;KACX,IAAI,CAAC,IAAI,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAE,KAAK,GAAG,WAAW,EAAW,EAAE;IAC9E,MAAM,MAAM,GAAY,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAgB,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAM;QAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChF,IAAI,GAAG,EAAE,CAAA;QACT,IAAI,GAAG,CAAC,CAAA;IACV,CAAC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAQ;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK;YAAE,KAAK,EAAE,CAAA;QACzD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,KAAK,EAAE,CAAA;IACP,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import type { Id, Message } from "../domain/models.js";
|
|
|
2
2
|
export declare const RULES_VERSION = 4;
|
|
3
3
|
/** How far back a rule looks, in messages: 97% of reply parents sat within 50 in a measured group. */
|
|
4
4
|
export declare const LOOK_BACK = 50;
|
|
5
|
-
export type LinkInput = Pick<Message, "id" | "senderId" | "text" | "timestamp" | "replyToId" | "threadId" | "mentions"
|
|
5
|
+
export type LinkInput = Pick<Message, "id" | "senderId" | "text" | "timestamp" | "replyToId" | "threadId" | "mentions"> & Partial<Pick<Message, "senderName">>;
|
|
6
6
|
export interface Link {
|
|
7
7
|
messageId: Id;
|
|
8
8
|
parentId: Id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEtD,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B,sGAAsG;AACtG,eAAO,MAAM,SAAS,KAAK,CAAA;AAM3B,MAAM,MAAM,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEtD,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B,sGAAsG;AACtG,eAAO,MAAM,SAAS,KAAK,CAAA;AAM3B,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,OAAO,EACP,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CACjF,GACC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtC,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,EAAE,CAAA;IACb,QAAQ,EAAE,EAAE,CAAA;IACZ,MAAM,EAAE,UAAU,GAAG,MAAM,CAAA;IAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,kEAAkE;IAClE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,4FAA4F;IAC5F,aAAa,EAAE,EAAE,EAAE,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,aACb,QAAQ,CAAC,SAAS,CAAC,yBACiB,WAAW,KACxD,MA0BF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAE9B,sGAAsG;AACtG,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAA;AAE3B,yFAAyF;AACzF,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,MAAM,cAAc,GAAG,CAAC,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ export interface TextModel {
|
|
|
15
15
|
dims: number;
|
|
16
16
|
/** What the model was trained on; a longer text is cut. */
|
|
17
17
|
maxTokens: number;
|
|
18
|
+
/** About how many ~300-token chunks a second one session embeds on 8 threads, for the estimate. */
|
|
19
|
+
chunksPerSecond: number;
|
|
18
20
|
/** How the model's output becomes one vector. */
|
|
19
21
|
pooling: "mean" | "sentence_embedding";
|
|
20
22
|
/** Prepended to a search and to a stored chunk: the model was trained with them. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/embeddings/models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACtC,oFAAoF;IACpF,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAQD,eAAO,MAAM,WAAW,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/embeddings/models.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,eAAe,EAAE,MAAM,CAAA;IACvB,iDAAiD;IACjD,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAAA;IACtC,oFAAoF;IACpF,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAQD,eAAO,MAAM,WAAW,EAAE,SAAS,EAyElC,CAAA;AAED,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C,eAAO,MAAM,SAAS,OAAQ,MAAM,KAAG,SAStC,CAAA"}
|
|
@@ -10,6 +10,7 @@ export const TEXT_MODELS = [
|
|
|
10
10
|
licence: "MIT",
|
|
11
11
|
dims: 384,
|
|
12
12
|
maxTokens: 512,
|
|
13
|
+
chunksPerSecond: 15,
|
|
13
14
|
pooling: "mean",
|
|
14
15
|
prefix: { query: "query: ", passage: "passage: " },
|
|
15
16
|
onnx: "onnx/model_quantized.onnx",
|
|
@@ -42,6 +43,7 @@ export const TEXT_MODELS = [
|
|
|
42
43
|
terms: "https://ai.google.dev/gemma/terms",
|
|
43
44
|
dims: 768,
|
|
44
45
|
maxTokens: 2048,
|
|
46
|
+
chunksPerSecond: 2,
|
|
45
47
|
pooling: "sentence_embedding",
|
|
46
48
|
prefix: { query: "task: search result | query: ", passage: "title: none | text: " },
|
|
47
49
|
onnx: "onnx/model_q4.onnx",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/embeddings/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/embeddings/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Embedder } from "./embed.js";
|
|
2
|
+
import type { TextModel } from "./models.js";
|
|
3
|
+
/** Each worker holds its own copy of the model: 550–650 MB measured for e5-small (phase 5 E12). */
|
|
4
|
+
export declare const WORKER_BYTES = 700000000;
|
|
5
|
+
/**
|
|
6
|
+
* One session in this thread, or `workers` sessions in worker threads with the threads split between
|
|
7
|
+
* them: ~1.8× at 3 workers, ~2× at 6 on a 12-core laptop. Refuses a count whose copies would not fit in
|
|
8
|
+
* the free memory, so a run never pushes the machine into swap.
|
|
9
|
+
*/
|
|
10
|
+
export declare const openPool: (model: TextModel, directory: string, { workers, threads, free, }?: {
|
|
11
|
+
workers?: number;
|
|
12
|
+
threads?: number;
|
|
13
|
+
free?: number;
|
|
14
|
+
}) => Promise<Embedder>;
|
|
15
|
+
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/embeddings/pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAgB,MAAM,YAAY,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,mGAAmG;AACnG,eAAO,MAAM,YAAY,YAAc,CAAA;AAEvC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,UACZ,SAAS,aACL,MAAM,gCAKd;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACvD,OAAO,CAAC,QAAQ,CAUlB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { freemem } from "node:os";
|
|
2
|
+
import { CliError } from "@leemour/cli-core";
|
|
3
|
+
import { defaultThreads, openEmbedder } from "./embed.js";
|
|
4
|
+
/** Each worker holds its own copy of the model: 550–650 MB measured for e5-small (phase 5 E12). */
|
|
5
|
+
export const WORKER_BYTES = 700_000_000;
|
|
6
|
+
/**
|
|
7
|
+
* One session in this thread, or `workers` sessions in worker threads with the threads split between
|
|
8
|
+
* them: ~1.8× at 3 workers, ~2× at 6 on a 12-core laptop. Refuses a count whose copies would not fit in
|
|
9
|
+
* the free memory, so a run never pushes the machine into swap.
|
|
10
|
+
*/
|
|
11
|
+
export const openPool = async (model, directory, { workers = 1, threads = defaultThreads(), free = freemem(), } = {}) => {
|
|
12
|
+
if (workers <= 1)
|
|
13
|
+
return openEmbedder(model, directory, { threads });
|
|
14
|
+
if (workers * WORKER_BYTES > free) {
|
|
15
|
+
throw new CliError("validation_error", `${workers} workers need about ${Math.round((workers * WORKER_BYTES) / 1e9)} GB, and ${Math.floor(free / 1e9)} GB is free — use fewer`);
|
|
16
|
+
}
|
|
17
|
+
const { openWorkers } = await import("./workers.js");
|
|
18
|
+
return openWorkers(model, directory, { workers, threads: Math.max(1, Math.floor(threads / workers)) });
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/embeddings/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAA;AAGxE,mGAAmG;AACnG,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAA;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAgB,EAChB,SAAiB,EACjB,EACE,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,cAAc,EAAE,EAC1B,IAAI,GAAG,OAAO,EAAE,GACjB,GAA0D,EAAE,EAC1C,EAAE;IACrB,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,IAAI,OAAO,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,GAAG,OAAO,uBAAuB,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,yBAAyB,CACvI,CAAA;IACH,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;IACpD,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;AACxG,CAAC,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type Embedder } from "./embed.js";
|
|
2
|
+
/**
|
|
3
|
+
* An embedding model behind an OpenAI-shaped `/v1/embeddings` (phase 5 E11): OpenAI itself, or what
|
|
4
|
+
* serves the same request — Gemini's compatibility URL, Jina, Ollama and LM Studio on this machine.
|
|
5
|
+
* Facts: `docs/storage/research/2026-10-02-embedding-apis.md`.
|
|
6
|
+
*/
|
|
7
|
+
export interface RemoteModel {
|
|
8
|
+
provider: string;
|
|
9
|
+
model: string;
|
|
10
|
+
dims: number;
|
|
11
|
+
baseUrl: string;
|
|
12
|
+
/** Sent as `dimensions` when it differs from the model's own size. */
|
|
13
|
+
shorten: boolean;
|
|
14
|
+
/** USD per 1M input tokens, and the day the price page was read; nothing for a server of the user's own. */
|
|
15
|
+
price?: {
|
|
16
|
+
perMillion: number;
|
|
17
|
+
read: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const OPENAI_URL = "https://api.openai.com/v1";
|
|
21
|
+
/** OpenAI's models, from its pricing page as read on 2026-10-02. */
|
|
22
|
+
export declare const OPENAI_MODELS: Record<string, {
|
|
23
|
+
dims: number;
|
|
24
|
+
perMillion: number;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const DEFAULT_OPENAI_MODEL = "text-embedding-3-small";
|
|
27
|
+
/** A server on this machine: nothing leaves it, so nothing is asked. */
|
|
28
|
+
export declare const isLocal: (baseUrl: string) => boolean;
|
|
29
|
+
export declare const remoteModel: ({ model, baseUrl, dims, }: {
|
|
30
|
+
model?: string;
|
|
31
|
+
baseUrl?: string;
|
|
32
|
+
dims?: number;
|
|
33
|
+
}) => RemoteModel;
|
|
34
|
+
/** The vector key of a remote model, beside `local:<model>:<dims>`. */
|
|
35
|
+
export declare const remoteKey: ({ provider, model, dims }: RemoteModel) => string;
|
|
36
|
+
export type Fetch = (url: string, init: RequestInit) => Promise<Response>;
|
|
37
|
+
/** Up to `concurrency` requests at once; a 429 waits for `Retry-After`, a server error is tried again. */
|
|
38
|
+
export declare const openRemote: (remote: RemoteModel, apiKey: string | undefined, { concurrency, fetch: post, tries }?: {
|
|
39
|
+
concurrency?: number;
|
|
40
|
+
fetch?: Fetch;
|
|
41
|
+
tries?: number;
|
|
42
|
+
}) => Embedder;
|
|
43
|
+
//# sourceMappingURL=remote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/embeddings/remote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAQ,MAAM,YAAY,CAAA;AAGhD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAA;IAChB,4GAA4G;IAC5G,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C;AAED,eAAO,MAAM,UAAU,8BAA8B,CAAA;AAErD,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAG9E,CAAA;AAED,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAO5D,wEAAwE;AACxE,eAAO,MAAM,OAAO,YAAa,MAAM,KAAG,OAA+C,CAAA;AAEzF,eAAO,MAAM,WAAW,8BAIrB;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,KAAG,WAmBH,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,SAAS,8BAA+B,WAAW,KAAG,MAAwC,CAAA;AAE3G,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEzE,0GAA0G;AAC1G,eAAO,MAAM,UAAU,WACb,WAAW,UACX,MAAM,GAAG,SAAS,wCAC2B;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3G,QAuEF,CAAA"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { setTimeout } from "node:timers/promises";
|
|
2
|
+
import { CliError } from "@leemour/cli-core";
|
|
3
|
+
import { unit } from "./embed.js";
|
|
4
|
+
export const OPENAI_URL = "https://api.openai.com/v1";
|
|
5
|
+
/** OpenAI's models, from its pricing page as read on 2026-10-02. */
|
|
6
|
+
export const OPENAI_MODELS = {
|
|
7
|
+
"text-embedding-3-small": { dims: 1536, perMillion: 0.02 },
|
|
8
|
+
"text-embedding-3-large": { dims: 3072, perMillion: 0.13 },
|
|
9
|
+
};
|
|
10
|
+
export const DEFAULT_OPENAI_MODEL = "text-embedding-3-small";
|
|
11
|
+
/** OpenAI's limits per request (2,048 inputs, 300,000 tokens); a chunk is at most ~400 tokens. */
|
|
12
|
+
const PER_REQUEST = 256;
|
|
13
|
+
const LOCAL = new Set(["localhost", "127.0.0.1", "[::1]", "::1"]);
|
|
14
|
+
/** A server on this machine: nothing leaves it, so nothing is asked. */
|
|
15
|
+
export const isLocal = (baseUrl) => LOCAL.has(new URL(baseUrl).hostname);
|
|
16
|
+
export const remoteModel = ({ model = DEFAULT_OPENAI_MODEL, baseUrl, dims, }) => {
|
|
17
|
+
const known = baseUrl === undefined ? OPENAI_MODELS[model] : undefined;
|
|
18
|
+
if (baseUrl === undefined && !known) {
|
|
19
|
+
throw new CliError("validation_error", `OpenAI has no embedding model ${model} here — one of: ${Object.keys(OPENAI_MODELS).join(", ")}; ` +
|
|
20
|
+
"another server takes --base-url");
|
|
21
|
+
}
|
|
22
|
+
const size = dims ?? known?.dims;
|
|
23
|
+
if (size === undefined)
|
|
24
|
+
throw new CliError("validation_error", "with --base-url, say the vector size with --dims");
|
|
25
|
+
return {
|
|
26
|
+
provider: baseUrl === undefined ? "openai" : `url:${new URL(baseUrl).host}`,
|
|
27
|
+
model,
|
|
28
|
+
dims: size,
|
|
29
|
+
baseUrl: baseUrl ?? OPENAI_URL,
|
|
30
|
+
shorten: known !== undefined && size !== known.dims,
|
|
31
|
+
...(known ? { price: { perMillion: known.perMillion, read: "2026-10-02" } } : {}),
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
/** The vector key of a remote model, beside `local:<model>:<dims>`. */
|
|
35
|
+
export const remoteKey = ({ provider, model, dims }) => `${provider}:${model}:${dims}`;
|
|
36
|
+
/** Up to `concurrency` requests at once; a 429 waits for `Retry-After`, a server error is tried again. */
|
|
37
|
+
export const openRemote = (remote, apiKey, { concurrency = 4, fetch: post = fetch, tries = 5 } = {}) => {
|
|
38
|
+
const request = async (input) => {
|
|
39
|
+
for (let attempt = 1;; attempt++) {
|
|
40
|
+
let response;
|
|
41
|
+
try {
|
|
42
|
+
response = await post(`${remote.baseUrl.replace(/\/$/, "")}/embeddings`, {
|
|
43
|
+
method: "POST",
|
|
44
|
+
headers: {
|
|
45
|
+
"content-type": "application/json",
|
|
46
|
+
...(apiKey ? { authorization: `Bearer ${apiKey}` } : {}),
|
|
47
|
+
},
|
|
48
|
+
body: JSON.stringify({
|
|
49
|
+
model: remote.model,
|
|
50
|
+
input,
|
|
51
|
+
encoding_format: "float",
|
|
52
|
+
...(remote.shorten ? { dimensions: remote.dims } : {}),
|
|
53
|
+
}),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
if (attempt >= tries)
|
|
58
|
+
throw new CliError("network_error", `${remote.provider} could not be reached`);
|
|
59
|
+
await setTimeout(1000 * attempt);
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (response.ok) {
|
|
63
|
+
const body = (await response.json());
|
|
64
|
+
const data = [...(body.data ?? [])].sort((a, b) => a.index - b.index);
|
|
65
|
+
if (data.length !== input.length || data.some(({ embedding }) => embedding.length !== remote.dims)) {
|
|
66
|
+
throw new CliError("invalid_response", `${remote.provider} answered with vectors of another number or size than ${input.length} × ${remote.dims}`);
|
|
67
|
+
}
|
|
68
|
+
return data.map(({ embedding }) => unit(Float32Array.from(embedding)));
|
|
69
|
+
}
|
|
70
|
+
const code = await errorCode(response);
|
|
71
|
+
if (response.status === 401 || response.status === 403) {
|
|
72
|
+
throw new CliError("authentication_error", `${remote.provider} refused the key (HTTP ${response.status}${code}) — set it again with \`models text key set\``);
|
|
73
|
+
}
|
|
74
|
+
const again = response.status === 429 || response.status >= 500;
|
|
75
|
+
if (!again || attempt >= tries) {
|
|
76
|
+
throw new CliError(response.status === 429 ? "rate_limited" : "provider_error", `${remote.provider} answered HTTP ${response.status}${code}`);
|
|
77
|
+
}
|
|
78
|
+
const wait = Number(response.headers.get("retry-after"));
|
|
79
|
+
await setTimeout(Number.isFinite(wait) && wait > 0 ? wait * 1000 : 1000 * 2 ** attempt);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
return {
|
|
83
|
+
model: { id: remote.model, dims: remote.dims },
|
|
84
|
+
embed: async (texts) => {
|
|
85
|
+
const parts = [];
|
|
86
|
+
for (let start = 0; start < texts.length; start += PER_REQUEST)
|
|
87
|
+
parts.push(texts.slice(start, start + PER_REQUEST));
|
|
88
|
+
const results = new Array(parts.length);
|
|
89
|
+
let next = 0;
|
|
90
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, parts.length) }, async () => {
|
|
91
|
+
for (let index = next++; index < parts.length; index = next++)
|
|
92
|
+
results[index] = await request(parts[index]);
|
|
93
|
+
}));
|
|
94
|
+
return results.flat();
|
|
95
|
+
},
|
|
96
|
+
close: async () => { },
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
/** The provider's error code, never its message: a message can quote the request. */
|
|
100
|
+
const errorCode = async (response) => {
|
|
101
|
+
try {
|
|
102
|
+
const body = (await response.json());
|
|
103
|
+
const code = body.error?.code ?? body.error?.type;
|
|
104
|
+
return typeof code === "string" && /^[\w.-]{1,64}$/.test(code) ? `, ${code}` : "";
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=remote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/embeddings/remote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAiB,IAAI,EAAE,MAAM,YAAY,CAAA;AAmBhD,MAAM,CAAC,MAAM,UAAU,GAAG,2BAA2B,CAAA;AAErD,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAyD;IACjF,wBAAwB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC1D,wBAAwB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;CAC3D,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAE5D,kGAAkG;AAClG,MAAM,WAAW,GAAG,GAAG,CAAA;AAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAEjE,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,GAAG,oBAAoB,EAC5B,OAAO,EACP,IAAI,GAKL,EAAe,EAAE;IAChB,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,iCAAiC,KAAK,mBAAmB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAChG,iCAAiC,CACpC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,IAAI,CAAA;IAChC,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,kDAAkD,CAAC,CAAA;IAClH,OAAO;QACL,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;QAC3E,KAAK;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO,IAAI,UAAU;QAC9B,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI;QACnD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAA;AACH,CAAC,CAAA;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAe,EAAU,EAAE,CAAC,GAAG,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAA;AAI3G,0GAA0G;AAC1G,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAmB,EACnB,MAA0B,EAC1B,EAAE,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAA4D,EAAE,EACvG,EAAE;IACZ,MAAM,OAAO,GAAG,KAAK,EAAE,KAAe,EAA2B,EAAE;QACjE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,QAAkB,CAAA;YACtB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,EAAE;oBACvE,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzD;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK;wBACL,eAAe,EAAE,OAAO;wBACxB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvD,CAAC;iBACH,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,OAAO,IAAI,KAAK;oBAAE,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,QAAQ,uBAAuB,CAAC,CAAA;gBACpG,MAAM,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;gBAChC,SAAQ;YACV,CAAC;YACD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwD,CAAA;gBAC3F,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;gBACrE,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnG,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,GAAG,MAAM,CAAC,QAAQ,yDAAyD,KAAK,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,CAC3G,CAAA;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACxE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvD,MAAM,IAAI,QAAQ,CAChB,sBAAsB,EACtB,GAAG,MAAM,CAAC,QAAQ,0BAA0B,QAAQ,CAAC,MAAM,GAAG,IAAI,+CAA+C,CAClH,CAAA;YACH,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAA;YAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,QAAQ,CAChB,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAC3D,GAAG,MAAM,CAAC,QAAQ,kBAAkB,QAAQ,CAAC,MAAM,GAAG,IAAI,EAAE,CAC7D,CAAA;YACH,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;YACxD,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,CAAA;QACzF,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAe;QAC3D,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,KAAK,GAAe,EAAE,CAAA;YAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,WAAW;gBAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC,CAAA;YACrD,MAAM,OAAO,GAAqB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACzD,IAAI,IAAI,GAAG,CAAC,CAAA;YACZ,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACrE,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE;oBAC3D,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAa,CAAC,CAAA;YAC5D,CAAC,CAAC,CACH,CAAA;YACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACtB,CAAA;AACH,CAAC,CAAA;AAED,qFAAqF;AACrF,MAAM,SAAS,GAAG,KAAK,EAAE,QAAkB,EAAmB,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmD,CAAA;QACtF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAA;QACjD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/embeddings/worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { parentPort, workerData } from "node:worker_threads";
|
|
2
|
+
import { openEmbedder } from "./embed.js";
|
|
3
|
+
const { model, directory, threads } = workerData;
|
|
4
|
+
const embedder = await openEmbedder(model, directory, { threads });
|
|
5
|
+
const port = parentPort;
|
|
6
|
+
if (!port)
|
|
7
|
+
throw new Error("run as a worker");
|
|
8
|
+
port.on("message", async (job) => {
|
|
9
|
+
if (job === "close") {
|
|
10
|
+
await embedder.close();
|
|
11
|
+
port.close();
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
port.postMessage({ id: job.id, vectors: await embedder.embed(job.texts, job.kind) });
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
port.postMessage({ id: job.id, error: error instanceof Error ? error.message : String(error) });
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
port.postMessage("ready");
|
|
22
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/embeddings/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAa,YAAY,EAAE,MAAM,YAAY,CAAA;AAGpD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAsE,CAAA;AAC5G,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;AAClE,MAAM,IAAI,GAAG,UAAU,CAAA;AACvB,IAAI,CAAC,IAAI;IAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;AAE7C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAA0D,EAAE,EAAE;IACtF,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjG,CAAC;AACH,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Embedder } from "./embed.js";
|
|
2
|
+
import type { TextModel } from "./models.js";
|
|
3
|
+
/** `workers` worker threads, each with its own session on `threads` threads; texts are split between them. */
|
|
4
|
+
export declare const openWorkers: (model: TextModel, directory: string, { workers, threads }: {
|
|
5
|
+
workers: number;
|
|
6
|
+
threads: number;
|
|
7
|
+
}) => Promise<Embedder>;
|
|
8
|
+
//# sourceMappingURL=workers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/embeddings/workers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,8GAA8G;AAC9G,eAAO,MAAM,WAAW,UACf,SAAS,aACL,MAAM,wBACK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KACzD,OAAO,CAAC,QAAQ,CAkDlB,CAAA"}
|