memorandum-mcp 0.1.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.
Files changed (52) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +237 -0
  3. package/README.ru.md +237 -0
  4. package/dist/config.d.ts +36 -0
  5. package/dist/config.js +63 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/document-store.d.ts +145 -0
  8. package/dist/document-store.js +682 -0
  9. package/dist/document-store.js.map +1 -0
  10. package/dist/document-tools.d.ts +10 -0
  11. package/dist/document-tools.js +101 -0
  12. package/dist/document-tools.js.map +1 -0
  13. package/dist/document-types.d.ts +147 -0
  14. package/dist/document-types.js +125 -0
  15. package/dist/document-types.js.map +1 -0
  16. package/dist/embedder.d.ts +55 -0
  17. package/dist/embedder.js +152 -0
  18. package/dist/embedder.js.map +1 -0
  19. package/dist/embedding-queue.d.ts +66 -0
  20. package/dist/embedding-queue.js +152 -0
  21. package/dist/embedding-queue.js.map +1 -0
  22. package/dist/errors.d.ts +26 -0
  23. package/dist/errors.js +46 -0
  24. package/dist/errors.js.map +1 -0
  25. package/dist/index.d.ts +9 -0
  26. package/dist/index.js +147 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/logger.d.ts +12 -0
  29. package/dist/logger.js +22 -0
  30. package/dist/logger.js.map +1 -0
  31. package/dist/semantic-index.d.ts +126 -0
  32. package/dist/semantic-index.js +427 -0
  33. package/dist/semantic-index.js.map +1 -0
  34. package/dist/semantic-tools.d.ts +10 -0
  35. package/dist/semantic-tools.js +80 -0
  36. package/dist/semantic-tools.js.map +1 -0
  37. package/dist/semantic-types.d.ts +161 -0
  38. package/dist/semantic-types.js +101 -0
  39. package/dist/semantic-types.js.map +1 -0
  40. package/dist/store.d.ts +130 -0
  41. package/dist/store.js +389 -0
  42. package/dist/store.js.map +1 -0
  43. package/dist/tools.d.ts +15 -0
  44. package/dist/tools.js +104 -0
  45. package/dist/tools.js.map +1 -0
  46. package/dist/types.d.ts +97 -0
  47. package/dist/types.js +88 -0
  48. package/dist/types.js.map +1 -0
  49. package/dist/vector-store.d.ts +85 -0
  50. package/dist/vector-store.js +241 -0
  51. package/dist/vector-store.js.map +1 -0
  52. package/package.json +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-store.js","sourceRoot":"","sources":["../src/document-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { Logger } from 'pino';
3
+ import { DocumentStore } from './document-store.js';
4
+ /**
5
+ * Registers document_write, document_read, document_list, document_delete, and document_restore tools on the MCP server.
6
+ * @param server - The MCP server instance to register tools on.
7
+ * @param store - The document store used for CRUD operations on documents.
8
+ * @param _logger - Logger instance (reserved for future use).
9
+ */
10
+ export declare function registerDocumentTools(server: McpServer, store: DocumentStore, _logger: Logger): void;
@@ -0,0 +1,101 @@
1
+ import { toMcpErrorResponse } from './errors.js';
2
+ import { DocumentWriteDisplaySchema, DocumentWriteInputSchema, DocumentReadDisplaySchema, DocumentReadInputSchema, DocumentListDisplaySchema, DocumentListInputSchema, DocumentDeleteDisplaySchema, DocumentDeleteInputSchema, DocumentRestoreDisplaySchema, DocumentRestoreInputSchema, } from './document-types.js';
3
+ /**
4
+ * Registers document_write, document_read, document_list, document_delete, and document_restore tools on the MCP server.
5
+ * @param server - The MCP server instance to register tools on.
6
+ * @param store - The document store used for CRUD operations on documents.
7
+ * @param _logger - Logger instance (reserved for future use).
8
+ */
9
+ export function registerDocumentTools(server, store, _logger) {
10
+ server.registerTool('document_write', {
11
+ title: 'Write Document',
12
+ description: 'Create or update a document. Supports text (Markdown, JSON, YAML), binary (base64), or file import. Use id to update.',
13
+ inputSchema: DocumentWriteDisplaySchema,
14
+ }, async (rawInput) => {
15
+ try {
16
+ const args = rawInput;
17
+ args._mode = args.id ? 'update' : 'create';
18
+ const input = DocumentWriteInputSchema.parse(args);
19
+ const result = store.write(input);
20
+ const output = { success: true, id: result.id, created: result.created };
21
+ return {
22
+ content: [{ type: 'text', text: JSON.stringify(output) }],
23
+ structuredContent: output,
24
+ };
25
+ }
26
+ catch (error) {
27
+ return toMcpErrorResponse(error);
28
+ }
29
+ });
30
+ server.registerTool('document_read', {
31
+ title: 'Read Document',
32
+ description: 'Read a document by ID. Returns metadata and optionally body content.',
33
+ inputSchema: DocumentReadDisplaySchema,
34
+ }, async (rawInput) => {
35
+ try {
36
+ const input = DocumentReadInputSchema.parse(rawInput);
37
+ const result = store.read(input);
38
+ return {
39
+ content: [{ type: 'text', text: JSON.stringify(result) }],
40
+ structuredContent: result,
41
+ };
42
+ }
43
+ catch (error) {
44
+ return toMcpErrorResponse(error);
45
+ }
46
+ });
47
+ server.registerTool('document_list', {
48
+ title: 'List Documents',
49
+ description: 'List and search documents. Filter by tag, topic, content_type, or search in title/description.',
50
+ inputSchema: DocumentListDisplaySchema,
51
+ }, async (rawInput) => {
52
+ try {
53
+ const input = DocumentListInputSchema.parse(rawInput);
54
+ const result = store.list(input);
55
+ return {
56
+ content: [{ type: 'text', text: JSON.stringify(result) }],
57
+ structuredContent: result,
58
+ };
59
+ }
60
+ catch (error) {
61
+ return toMcpErrorResponse(error);
62
+ }
63
+ });
64
+ server.registerTool('document_delete', {
65
+ title: 'Delete Document',
66
+ description: 'Delete a document by ID. Removes file, blob, and index entry.',
67
+ inputSchema: DocumentDeleteDisplaySchema,
68
+ }, async (rawInput) => {
69
+ try {
70
+ const input = DocumentDeleteInputSchema.parse(rawInput);
71
+ const result = store.delete(input);
72
+ const output = { success: true, deleted: result.deleted };
73
+ return {
74
+ content: [{ type: 'text', text: JSON.stringify(output) }],
75
+ structuredContent: output,
76
+ };
77
+ }
78
+ catch (error) {
79
+ return toMcpErrorResponse(error);
80
+ }
81
+ });
82
+ server.registerTool('document_restore', {
83
+ title: 'Restore Document',
84
+ description: 'Restore a document from the store to a file on disk. Verifies SHA256 integrity for binary documents. Refuses to overwrite existing files unless force=true.',
85
+ inputSchema: DocumentRestoreDisplaySchema,
86
+ }, async (rawInput) => {
87
+ try {
88
+ const input = DocumentRestoreInputSchema.parse(rawInput);
89
+ const result = store.restore(input);
90
+ const output = { ...result };
91
+ return {
92
+ content: [{ type: 'text', text: JSON.stringify(output) }],
93
+ structuredContent: output,
94
+ };
95
+ }
96
+ catch (error) {
97
+ return toMcpErrorResponse(error);
98
+ }
99
+ });
100
+ }
101
+ //# sourceMappingURL=document-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-tools.js","sourceRoot":"","sources":["../src/document-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { z } from 'zod';
2
+ export declare const RESERVED_FIELDS: readonly ["id", "title", "content_type", "topic", "description", "tags", "created_at", "updated_at", "blob_path", "blob_size", "blob_sha256"];
3
+ export declare const DEFAULT_MAX_DOCUMENT_SIZE: number;
4
+ export declare const MAX_TAGS = 50;
5
+ export declare const DEFAULT_LIST_LIMIT = 50;
6
+ export declare const EXTENSION_MIME_MAP: Record<string, string>;
7
+ export declare const DEFAULT_MIME_TYPE = "application/octet-stream";
8
+ /**
9
+ * Returns true if the content type should be stored inline (as text).
10
+ * Matches types starting with 'text/' only. MIME params after ';' are ignored.
11
+ */
12
+ export declare function isInlineContentType(contentType: string): boolean;
13
+ export declare function mimeTypeFromExtension(ext: string): string;
14
+ export interface DocumentMetadata {
15
+ id: string;
16
+ title: string;
17
+ content_type: string;
18
+ topic?: string;
19
+ description?: string;
20
+ tags: string[];
21
+ created_at: string;
22
+ updated_at: string;
23
+ blob_path?: string;
24
+ blob_size?: number;
25
+ blob_sha256?: string;
26
+ [key: string]: unknown;
27
+ }
28
+ export interface IndexFile {
29
+ version: number;
30
+ next_id: number;
31
+ documents: DocumentMetadata[];
32
+ }
33
+ export interface FileValidationResult {
34
+ resolvedPath: string;
35
+ size: number;
36
+ contentType: string;
37
+ basename: string;
38
+ nameWithoutExt: string;
39
+ }
40
+ export declare const DocumentWriteDisplaySchema: z.ZodObject<{
41
+ id: z.ZodOptional<z.ZodString>;
42
+ title: z.ZodOptional<z.ZodString>;
43
+ content_type: z.ZodOptional<z.ZodString>;
44
+ topic: z.ZodOptional<z.ZodString>;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
+ body: z.ZodOptional<z.ZodString>;
48
+ file_path: z.ZodOptional<z.ZodString>;
49
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ }, z.core.$strip>;
51
+ export declare const DocumentReadDisplaySchema: z.ZodObject<{
52
+ id: z.ZodString;
53
+ include_body: z.ZodOptional<z.ZodBoolean>;
54
+ }, z.core.$strip>;
55
+ export declare const DocumentListDisplaySchema: z.ZodObject<{
56
+ tag: z.ZodOptional<z.ZodString>;
57
+ topic: z.ZodOptional<z.ZodString>;
58
+ content_type: z.ZodOptional<z.ZodString>;
59
+ search: z.ZodOptional<z.ZodString>;
60
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
61
+ limit: z.ZodOptional<z.ZodNumber>;
62
+ }, z.core.$strip>;
63
+ export declare const DocumentDeleteDisplaySchema: z.ZodObject<{
64
+ id: z.ZodString;
65
+ }, z.core.$strip>;
66
+ export declare const DocumentRestoreDisplaySchema: z.ZodObject<{
67
+ id: z.ZodString;
68
+ target_path: z.ZodString;
69
+ force: z.ZodOptional<z.ZodBoolean>;
70
+ }, z.core.$strip>;
71
+ export declare const DocumentWriteCreateInputSchema: z.ZodObject<{
72
+ _mode: z.ZodLiteral<"create">;
73
+ title: z.ZodOptional<z.ZodString>;
74
+ content_type: z.ZodOptional<z.ZodString>;
75
+ topic: z.ZodOptional<z.ZodString>;
76
+ description: z.ZodOptional<z.ZodString>;
77
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
78
+ body: z.ZodOptional<z.ZodString>;
79
+ file_path: z.ZodOptional<z.ZodString>;
80
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
81
+ }, z.core.$strict>;
82
+ export declare const DocumentWriteUpdateInputSchema: z.ZodObject<{
83
+ _mode: z.ZodLiteral<"update">;
84
+ id: z.ZodString;
85
+ title: z.ZodOptional<z.ZodString>;
86
+ content_type: z.ZodOptional<z.ZodString>;
87
+ topic: z.ZodOptional<z.ZodString>;
88
+ description: z.ZodOptional<z.ZodString>;
89
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ body: z.ZodOptional<z.ZodString>;
91
+ file_path: z.ZodOptional<z.ZodString>;
92
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
93
+ }, z.core.$strict>;
94
+ export declare const DocumentWriteInputSchema: z.ZodUnion<readonly [z.ZodObject<{
95
+ _mode: z.ZodLiteral<"create">;
96
+ title: z.ZodOptional<z.ZodString>;
97
+ content_type: z.ZodOptional<z.ZodString>;
98
+ topic: z.ZodOptional<z.ZodString>;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ body: z.ZodOptional<z.ZodString>;
102
+ file_path: z.ZodOptional<z.ZodString>;
103
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
104
+ }, z.core.$strict>, z.ZodObject<{
105
+ _mode: z.ZodLiteral<"update">;
106
+ id: z.ZodString;
107
+ title: z.ZodOptional<z.ZodString>;
108
+ content_type: z.ZodOptional<z.ZodString>;
109
+ topic: z.ZodOptional<z.ZodString>;
110
+ description: z.ZodOptional<z.ZodString>;
111
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ body: z.ZodOptional<z.ZodString>;
113
+ file_path: z.ZodOptional<z.ZodString>;
114
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
115
+ }, z.core.$strict>]>;
116
+ export declare const DocumentReadInputSchema: z.ZodObject<{
117
+ id: z.ZodString;
118
+ include_body: z.ZodDefault<z.ZodBoolean>;
119
+ }, z.core.$strict>;
120
+ export declare const DocumentListInputSchema: z.ZodObject<{
121
+ tag: z.ZodOptional<z.ZodString>;
122
+ topic: z.ZodOptional<z.ZodString>;
123
+ content_type: z.ZodOptional<z.ZodString>;
124
+ search: z.ZodOptional<z.ZodString>;
125
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ limit: z.ZodDefault<z.ZodNumber>;
127
+ }, z.core.$strict>;
128
+ export declare const DocumentDeleteInputSchema: z.ZodObject<{
129
+ id: z.ZodString;
130
+ }, z.core.$strict>;
131
+ export declare const DocumentRestoreInputSchema: z.ZodObject<{
132
+ id: z.ZodString;
133
+ target_path: z.ZodString;
134
+ force: z.ZodDefault<z.ZodBoolean>;
135
+ }, z.core.$strict>;
136
+ export interface DocumentRestoreResult {
137
+ success: true;
138
+ id: string;
139
+ target_path: string;
140
+ integrity_ok?: boolean;
141
+ warning?: string;
142
+ }
143
+ export type DocumentWriteInput = z.infer<typeof DocumentWriteInputSchema>;
144
+ export type DocumentReadInput = z.infer<typeof DocumentReadInputSchema>;
145
+ export type DocumentListInput = z.infer<typeof DocumentListInputSchema>;
146
+ export type DocumentDeleteInput = z.infer<typeof DocumentDeleteInputSchema>;
147
+ export type DocumentRestoreInput = z.infer<typeof DocumentRestoreInputSchema>;
@@ -0,0 +1,125 @@
1
+ import { z } from 'zod';
2
+ // ============================================================================
3
+ // Constants
4
+ // ============================================================================
5
+ export const RESERVED_FIELDS = [
6
+ 'id', 'title', 'content_type', 'topic', 'description',
7
+ 'tags', 'created_at', 'updated_at', 'blob_path', 'blob_size', 'blob_sha256',
8
+ ];
9
+ export const DEFAULT_MAX_DOCUMENT_SIZE = 16 * 1024 * 1024;
10
+ export const MAX_TAGS = 50;
11
+ export const DEFAULT_LIST_LIMIT = 50;
12
+ export const EXTENSION_MIME_MAP = {
13
+ '.txt': 'text/plain', '.md': 'text/markdown',
14
+ '.json': 'text/json', '.yaml': 'text/yaml', '.yml': 'text/yaml',
15
+ '.xml': 'text/xml', '.html': 'text/html', '.htm': 'text/html',
16
+ '.css': 'text/css', '.js': 'text/javascript', '.ts': 'text/typescript',
17
+ '.sh': 'text/x-shellscript', '.py': 'text/x-python',
18
+ '.log': 'text/plain', '.csv': 'text/csv',
19
+ '.conf': 'text/plain', '.ini': 'text/plain', '.toml': 'text/plain',
20
+ '.env': 'text/plain', '.sql': 'text/x-sql',
21
+ '.pdf': 'application/pdf',
22
+ '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg',
23
+ '.gif': 'image/gif', '.svg': 'image/svg+xml',
24
+ '.zip': 'application/zip', '.tar': 'application/x-tar', '.gz': 'application/gzip',
25
+ };
26
+ export const DEFAULT_MIME_TYPE = 'application/octet-stream';
27
+ // ============================================================================
28
+ // Helper Functions
29
+ // ============================================================================
30
+ /**
31
+ * Returns true if the content type should be stored inline (as text).
32
+ * Matches types starting with 'text/' only. MIME params after ';' are ignored.
33
+ */
34
+ export function isInlineContentType(contentType) {
35
+ const baseType = contentType.split(';')[0].trim();
36
+ return baseType.startsWith('text/');
37
+ }
38
+ export function mimeTypeFromExtension(ext) {
39
+ return EXTENSION_MIME_MAP[ext.toLowerCase()] ?? DEFAULT_MIME_TYPE;
40
+ }
41
+ // ============================================================================
42
+ // Display Schemas
43
+ // ============================================================================
44
+ export const DocumentWriteDisplaySchema = z.object({
45
+ id: z.string().optional().describe('Document ID for update (omit for create)'),
46
+ title: z.string().optional().describe('Document title (required for create, auto-derived from filename if omitted with file_path)'),
47
+ content_type: z.string().optional().describe('MIME type (default: "text/plain", auto-detected from file extension when using file_path)'),
48
+ topic: z.string().optional().describe('Topic/category'),
49
+ description: z.string().optional().describe('Description'),
50
+ tags: z.array(z.string()).optional().describe('Tags (normalized: lowercase, trimmed)'),
51
+ body: z.string().optional().describe('Content body (text or base64 for binary). Mutually exclusive with file_path.'),
52
+ file_path: z.string().optional().describe('Path to a local file. Mutually exclusive with body.'),
53
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Custom metadata fields'),
54
+ });
55
+ export const DocumentReadDisplaySchema = z.object({
56
+ id: z.string().describe('Document ID (e.g., "doc-001")'),
57
+ include_body: z.boolean().optional().describe('Include body content (default: true)'),
58
+ });
59
+ export const DocumentListDisplaySchema = z.object({
60
+ tag: z.string().optional().describe('Filter by tag (exact match)'),
61
+ topic: z.string().optional().describe('Filter by topic (exact match)'),
62
+ content_type: z.string().optional().describe('Filter by content_type (exact match)'),
63
+ search: z.string().optional().describe('Substring search in title+description (case-insensitive)'),
64
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Filter by custom metadata (shallow exact match)'),
65
+ limit: z.number().optional().describe('Max results (default: 50)'),
66
+ });
67
+ export const DocumentDeleteDisplaySchema = z.object({
68
+ id: z.string().describe('Document ID to delete'),
69
+ });
70
+ export const DocumentRestoreDisplaySchema = z.object({
71
+ id: z.string().describe('Document ID to restore (e.g., "doc-001")'),
72
+ target_path: z.string().describe('Absolute or relative path where the file will be written'),
73
+ force: z.boolean().optional().describe('If true, overwrite existing files and write even if SHA256 integrity check fails (default: false)'),
74
+ });
75
+ // ============================================================================
76
+ // Input Schemas
77
+ // ============================================================================
78
+ export const DocumentWriteCreateInputSchema = z.strictObject({
79
+ _mode: z.literal('create'),
80
+ title: z.string().min(1).max(500).optional(),
81
+ content_type: z.string().min(1).optional(),
82
+ topic: z.string().min(1).max(100).optional(),
83
+ description: z.string().min(1).max(2000).optional(),
84
+ tags: z.array(z.string().min(1).max(100)).max(MAX_TAGS).optional(),
85
+ body: z.string().optional(),
86
+ file_path: z.string().min(1).optional(),
87
+ metadata: z.record(z.string(), z.unknown()).optional(),
88
+ }).refine((data) => !(data.body !== undefined && data.file_path !== undefined), { message: "Cannot specify both 'file_path' and 'body'", path: ['file_path'] }).refine((data) => data.title !== undefined || data.file_path !== undefined, { message: "Title is required for create (or provide file_path for auto-detection)", path: ['title'] });
89
+ export const DocumentWriteUpdateInputSchema = z.strictObject({
90
+ _mode: z.literal('update'),
91
+ id: z.string().min(1),
92
+ title: z.string().min(1).max(500).optional(),
93
+ content_type: z.string().min(1).optional(),
94
+ topic: z.string().min(1).max(100).optional(),
95
+ description: z.string().min(1).max(2000).optional(),
96
+ tags: z.array(z.string().min(1).max(100)).max(MAX_TAGS).optional(),
97
+ body: z.string().optional(),
98
+ file_path: z.string().min(1).optional(),
99
+ metadata: z.record(z.string(), z.unknown()).optional(),
100
+ }).refine((data) => !(data.body !== undefined && data.file_path !== undefined), { message: "Cannot specify both 'file_path' and 'body'", path: ['file_path'] });
101
+ export const DocumentWriteInputSchema = z.union([
102
+ DocumentWriteCreateInputSchema,
103
+ DocumentWriteUpdateInputSchema,
104
+ ]);
105
+ export const DocumentReadInputSchema = z.strictObject({
106
+ id: z.string().min(1),
107
+ include_body: z.boolean().default(true),
108
+ });
109
+ export const DocumentListInputSchema = z.strictObject({
110
+ tag: z.string().min(1).optional(),
111
+ topic: z.string().min(1).optional(),
112
+ content_type: z.string().min(1).optional(),
113
+ search: z.string().min(1).optional(),
114
+ metadata: z.record(z.string(), z.unknown()).optional(),
115
+ limit: z.number().int().positive().default(DEFAULT_LIST_LIMIT),
116
+ });
117
+ export const DocumentDeleteInputSchema = z.strictObject({
118
+ id: z.string().min(1),
119
+ });
120
+ export const DocumentRestoreInputSchema = z.strictObject({
121
+ id: z.string().min(1),
122
+ target_path: z.string().min(1),
123
+ force: z.boolean().default(false),
124
+ });
125
+ //# sourceMappingURL=document-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-types.js","sourceRoot":"","sources":["../src/document-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Logger } from 'pino';
2
+ /**
3
+ * Manages loading and running a HuggingFace feature-extraction model
4
+ * to produce vector embeddings from text.
5
+ */
6
+ export declare class Embedder {
7
+ private static readonly MAX_INPUT_CHARS;
8
+ private readonly modelId;
9
+ private readonly dtype;
10
+ private readonly logger;
11
+ private pipeline;
12
+ private loading;
13
+ private unavailable;
14
+ private failureReason;
15
+ /**
16
+ * @param modelId - HuggingFace model identifier (e.g. "intfloat/multilingual-e5-small").
17
+ * @param dtype - Data type for the model weights (e.g. "fp32", "q8").
18
+ * @param logger - Pino logger instance.
19
+ */
20
+ constructor(modelId: string, dtype: string, logger: Logger);
21
+ /** Whether the embedding pipeline has been successfully loaded. */
22
+ get isLoaded(): boolean;
23
+ /** Whether the embedding pipeline is currently being loaded. */
24
+ get isLoading(): boolean;
25
+ /** Whether the model failed to load and is permanently unavailable. */
26
+ get isUnavailable(): boolean;
27
+ /** The error message explaining why the model is unavailable, or null. */
28
+ get unavailableReason(): string | null;
29
+ /**
30
+ * Resets internal state, loads the pipeline, and retries after clearing
31
+ * the model cache if a corrupted-cache error is detected.
32
+ */
33
+ repairAndLoad(): Promise<void>;
34
+ /**
35
+ * Embeds a search query, applying E5 "query:" prefix when applicable.
36
+ * @param text - The query text to embed.
37
+ * @returns The embedding vector.
38
+ */
39
+ embedQuery(text: string): Promise<number[]>;
40
+ /**
41
+ * Embeds a passage of text, applying E5 "passage:" prefix when applicable.
42
+ * @param text - The passage text to embed.
43
+ * @returns The embedding vector.
44
+ */
45
+ embedPassage(text: string): Promise<number[]>;
46
+ private get isE5Model();
47
+ private formatQuery;
48
+ private formatPassage;
49
+ private truncateText;
50
+ private embed;
51
+ private getPipeline;
52
+ private isCorruptedCacheError;
53
+ private deleteModelCache;
54
+ private initPipeline;
55
+ }