@elanlanguages/bridge-anonymization 0.1.2 → 0.2.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 (73) hide show
  1. package/README.md +304 -71
  2. package/dist/crypto/pii-map-crypto.d.ts +50 -36
  3. package/dist/crypto/pii-map-crypto.d.ts.map +1 -1
  4. package/dist/crypto/pii-map-crypto.js +137 -72
  5. package/dist/crypto/pii-map-crypto.js.map +1 -1
  6. package/dist/index.d.ts +27 -20
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +145 -55
  9. package/dist/index.js.map +1 -1
  10. package/dist/ner/model-manager.d.ts +20 -11
  11. package/dist/ner/model-manager.d.ts.map +1 -1
  12. package/dist/ner/model-manager.js +154 -81
  13. package/dist/ner/model-manager.js.map +1 -1
  14. package/dist/ner/ner-model.d.ts +1 -1
  15. package/dist/ner/ner-model.d.ts.map +1 -1
  16. package/dist/ner/ner-model.js +49 -36
  17. package/dist/ner/ner-model.js.map +1 -1
  18. package/dist/ner/onnx-runtime.d.ts +8 -7
  19. package/dist/ner/onnx-runtime.d.ts.map +1 -1
  20. package/dist/ner/onnx-runtime.js +56 -25
  21. package/dist/ner/onnx-runtime.js.map +1 -1
  22. package/dist/ner/tokenizer.d.ts +5 -0
  23. package/dist/ner/tokenizer.d.ts.map +1 -1
  24. package/dist/ner/tokenizer.js +18 -5
  25. package/dist/ner/tokenizer.js.map +1 -1
  26. package/dist/pipeline/index.d.ts +7 -4
  27. package/dist/pipeline/index.d.ts.map +1 -1
  28. package/dist/pipeline/index.js +7 -4
  29. package/dist/pipeline/index.js.map +1 -1
  30. package/dist/pipeline/resolver.d.ts.map +1 -1
  31. package/dist/pipeline/resolver.js +3 -2
  32. package/dist/pipeline/resolver.js.map +1 -1
  33. package/dist/pipeline/semantic-data-loader.d.ts +165 -0
  34. package/dist/pipeline/semantic-data-loader.d.ts.map +1 -0
  35. package/dist/pipeline/semantic-data-loader.js +655 -0
  36. package/dist/pipeline/semantic-data-loader.js.map +1 -0
  37. package/dist/pipeline/semantic-enricher.d.ts +112 -0
  38. package/dist/pipeline/semantic-enricher.d.ts.map +1 -0
  39. package/dist/pipeline/semantic-enricher.js +318 -0
  40. package/dist/pipeline/semantic-enricher.js.map +1 -0
  41. package/dist/pipeline/tagger.d.ts +52 -12
  42. package/dist/pipeline/tagger.d.ts.map +1 -1
  43. package/dist/pipeline/tagger.js +226 -21
  44. package/dist/pipeline/tagger.js.map +1 -1
  45. package/dist/pipeline/title-extractor.d.ts +79 -0
  46. package/dist/pipeline/title-extractor.d.ts.map +1 -0
  47. package/dist/pipeline/title-extractor.js +801 -0
  48. package/dist/pipeline/title-extractor.js.map +1 -0
  49. package/dist/types/index.d.ts +66 -3
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/types/index.js +14 -3
  52. package/dist/types/index.js.map +1 -1
  53. package/dist/utils/index.d.ts +5 -3
  54. package/dist/utils/index.d.ts.map +1 -1
  55. package/dist/utils/index.js +5 -3
  56. package/dist/utils/index.js.map +1 -1
  57. package/dist/utils/path.d.ts +34 -0
  58. package/dist/utils/path.d.ts.map +1 -0
  59. package/dist/utils/path.js +96 -0
  60. package/dist/utils/path.js.map +1 -0
  61. package/dist/utils/storage-browser.d.ts +51 -0
  62. package/dist/utils/storage-browser.d.ts.map +1 -0
  63. package/dist/utils/storage-browser.js +381 -0
  64. package/dist/utils/storage-browser.js.map +1 -0
  65. package/dist/utils/storage-node.d.ts +43 -0
  66. package/dist/utils/storage-node.d.ts.map +1 -0
  67. package/dist/utils/storage-node.js +93 -0
  68. package/dist/utils/storage-node.js.map +1 -0
  69. package/dist/utils/storage.d.ts +70 -0
  70. package/dist/utils/storage.d.ts.map +1 -0
  71. package/dist/utils/storage.js +69 -0
  72. package/dist/utils/storage.js.map +1 -0
  73. package/package.json +8 -5
package/dist/index.js CHANGED
@@ -3,26 +3,64 @@
3
3
  * Main entry point for on-device PII anonymization
4
4
  */
5
5
  // Re-export types
6
- export * from './types/index.js';
6
+ export * from "./types/index.js";
7
7
  // Re-export recognizers
8
- export { RegexRecognizer, RecognizerRegistry, createDefaultRegistry, createRegistry, getGlobalRegistry, emailRecognizer, phoneRecognizer, ibanRecognizer, bicSwiftRecognizer, creditCardRecognizer, ipAddressRecognizer, urlRecognizer, createCustomIdRecognizer, createCaseIdRecognizer, createCustomerIdRecognizer, } from './recognizers/index.js';
8
+ export { RegexRecognizer, RecognizerRegistry, createDefaultRegistry, createRegistry, getGlobalRegistry, emailRecognizer, phoneRecognizer, ibanRecognizer, bicSwiftRecognizer, creditCardRecognizer, ipAddressRecognizer, urlRecognizer, createCustomIdRecognizer, createCaseIdRecognizer, createCustomerIdRecognizer, } from "./recognizers/index.js";
9
9
  // Re-export NER components
10
- export { NERModel, NERModelStub, createNERModel, createNERModelStub, WordPieceTokenizer, loadVocabFromFile, parseVocab, loadRuntime, detectRuntime, getRuntimeType, MODEL_REGISTRY, getModelCacheDir, isModelDownloaded, downloadModel, ensureModel, clearModelCache, listDownloadedModels, } from './ner/index.js';
10
+ export { NERModel, NERModelStub, createNERModel, createNERModelStub, WordPieceTokenizer, loadVocabFromFile, parseVocab, loadRuntime, detectRuntime, getRuntimeType, MODEL_REGISTRY, getModelCacheDir, isModelDownloaded, downloadModel, ensureModel, clearModelCache, listDownloadedModels, } from "./ner/index.js";
11
11
  // Re-export pipeline components
12
- export { prenormalize, resolveEntities, tagEntities, validateOutput, generateTag, parseTag, rehydrate, } from './pipeline/index.js';
12
+ export { prenormalize, resolveEntities, tagEntities, validateOutput, generateTag, parseTag, rehydrate, enrichSemantics, inferGender, classifyLocation, getDatabaseStats, hasName, hasLocation,
13
+ // Semantic data loader exports
14
+ isSemanticDataAvailable, isSemanticDataDownloaded, getSemanticDataCacheDir, getDataDirectory, downloadSemanticData, ensureSemanticData, initializeSemanticData, loadSemanticData, clearSemanticData, clearSemanticDataCache, getSemanticDataInfo, SEMANTIC_DATA_FILES,
15
+ // Title extractor exports
16
+ extractTitle, extractTitlesFromSpans, mergeAdjacentTitleSpans, getTitlesForLanguage, getAllTitles, startsWithTitle, isOnlyTitle, } from "./pipeline/index.js";
13
17
  // Re-export crypto
14
- export { encryptPIIMap, decryptPIIMap, generateKey, deriveKey, generateSalt, InMemoryKeyProvider, EnvKeyProvider, } from './crypto/index.js';
18
+ export { encryptPIIMap, decryptPIIMap, generateKey, deriveKey, generateSalt, InMemoryKeyProvider, ConfigKeyProvider, validateKey, secureCompare, uint8ArrayToBase64, base64ToUint8Array, } from "./crypto/index.js";
19
+ // Re-export storage utilities
20
+ export { getStorageProvider, isNode, isBrowser, resetStorageProvider, setStorageProvider, } from "./utils/storage.js";
21
+ // Re-export path utilities
22
+ export { join as pathJoin, dirname as pathDirname, basename as pathBasename, normalize as pathNormalize, extname as pathExtname, isAbsolute as pathIsAbsolute, } from "./utils/path.js";
15
23
  // Main anonymization imports
16
- import { createDefaultPolicy, mergePolicy, } from './types/index.js';
17
- import { createDefaultRegistry } from './recognizers/index.js';
18
- import { NERModelStub, createNERModel, DEFAULT_LABEL_MAP } from './ner/index.js';
19
- import { ensureModel } from './ner/model-manager.js';
20
- import { prenormalize } from './pipeline/prenormalize.js';
21
- import { resolveEntities } from './pipeline/resolver.js';
22
- import { tagEntities, countEntitiesByType } from './pipeline/tagger.js';
23
- import { validateOutput } from './pipeline/validator.js';
24
- import { encryptPIIMap, generateKey } from './crypto/index.js';
25
- import * as fs from 'fs/promises';
24
+ import { createDefaultPolicy, } from "./types/index.js";
25
+ /**
26
+ * Merges a partial policy with a base policy (deep merge for Maps/Sets)
27
+ * Unlike the exported mergePolicy, this uses a custom base instead of global defaults
28
+ */
29
+ function mergePolicyWithBase(base, partial) {
30
+ // Deep merge confidenceThresholds Map
31
+ let confidenceThresholds = base.confidenceThresholds;
32
+ if (partial.confidenceThresholds !== undefined) {
33
+ confidenceThresholds = new Map(base.confidenceThresholds);
34
+ for (const [type, threshold] of partial.confidenceThresholds) {
35
+ confidenceThresholds.set(type, threshold);
36
+ }
37
+ }
38
+ return {
39
+ enabledTypes: partial.enabledTypes ?? base.enabledTypes,
40
+ regexEnabledTypes: partial.regexEnabledTypes ?? base.regexEnabledTypes,
41
+ nerEnabledTypes: partial.nerEnabledTypes ?? base.nerEnabledTypes,
42
+ typePriority: partial.typePriority ?? base.typePriority,
43
+ confidenceThresholds,
44
+ customIdPatterns: partial.customIdPatterns ?? base.customIdPatterns,
45
+ allowlistTerms: partial.allowlistTerms ?? base.allowlistTerms,
46
+ denylistPatterns: partial.denylistPatterns ?? base.denylistPatterns,
47
+ reuseIdsForRepeatedPII: partial.reuseIdsForRepeatedPII ?? base.reuseIdsForRepeatedPII,
48
+ enableLeakScan: partial.enableLeakScan ?? base.enableLeakScan,
49
+ enableSemanticMasking: partial.enableSemanticMasking ?? base.enableSemanticMasking,
50
+ };
51
+ }
52
+ import { createDefaultRegistry, } from "./recognizers/index.js";
53
+ import { NERModelStub, createNERModel, DEFAULT_LABEL_MAP, } from "./ner/index.js";
54
+ import { ensureModel, } from "./ner/model-manager.js";
55
+ import { prenormalize } from "./pipeline/prenormalize.js";
56
+ import { resolveEntities } from "./pipeline/resolver.js";
57
+ import { tagEntities, countEntitiesByType } from "./pipeline/tagger.js";
58
+ import { validateOutput } from "./pipeline/validator.js";
59
+ import { enrichSemantics } from "./pipeline/semantic-enricher.js";
60
+ import { ensureSemanticData, isSemanticDataAvailable, loadSemanticData, } from "./pipeline/semantic-data-loader.js";
61
+ import { extractTitlesFromSpans, mergeAdjacentTitleSpans, } from "./pipeline/title-extractor.js";
62
+ import { encryptPIIMap, generateKey, } from "./crypto/index.js";
63
+ import { getStorageProvider } from "./utils/storage.js";
26
64
  /**
27
65
  * Anonymizer instance
28
66
  * Main class for performing PII anonymization
@@ -31,41 +69,60 @@ export class Anonymizer {
31
69
  registry;
32
70
  nerModel = null;
33
71
  nerConfig;
72
+ semanticConfig;
34
73
  keyProvider;
35
74
  defaultPolicy;
36
75
  modelVersion;
37
76
  policyVersion;
38
77
  initialized = false;
78
+ semanticDataReady = false;
39
79
  constructor(config = {}) {
40
80
  this.registry = config.registry ?? createDefaultRegistry();
41
81
  this.keyProvider = config.keyProvider ?? null;
42
82
  this.defaultPolicy = config.defaultPolicy ?? createDefaultPolicy();
43
- this.policyVersion = config.policyVersion ?? '1.0.0';
83
+ this.policyVersion = config.policyVersion ?? "1.0.0";
44
84
  // Handle NER configuration
45
- if (config.nerModel) {
46
- // Legacy: direct model injection
47
- this.nerModel = config.nerModel;
48
- this.nerConfig = { mode: 'custom' };
49
- this.modelVersion = config.modelVersion ?? config.nerModel.version;
85
+ this.nerConfig = config.ner ?? { mode: "disabled" };
86
+ this.modelVersion = config.modelVersion ?? "1.0.0";
87
+ // Merge NER thresholds into default policy if provided
88
+ if (this.nerConfig.thresholds !== undefined) {
89
+ const thresholdsMap = new Map(this.defaultPolicy.confidenceThresholds);
90
+ for (const [type, threshold] of Object.entries(this.nerConfig.thresholds)) {
91
+ if (threshold !== undefined) {
92
+ thresholdsMap.set(type, threshold);
93
+ }
94
+ }
95
+ this.defaultPolicy = {
96
+ ...this.defaultPolicy,
97
+ confidenceThresholds: thresholdsMap,
98
+ };
50
99
  }
51
- else {
52
- this.nerConfig = config.ner ?? { mode: 'disabled' };
53
- this.modelVersion = config.modelVersion ?? '1.0.0';
100
+ // Handle semantic configuration
101
+ this.semanticConfig = config.semantic ?? { enabled: false };
102
+ // If semantic is enabled, also enable it in the default policy
103
+ if (this.semanticConfig.enabled) {
104
+ this.defaultPolicy = {
105
+ ...this.defaultPolicy,
106
+ enableSemanticMasking: true,
107
+ };
54
108
  }
55
109
  }
56
110
  /**
57
111
  * Initializes the anonymizer
58
- * Downloads NER model if needed and loads it
112
+ * Downloads NER model and semantic data if needed and loads them
59
113
  */
60
114
  async initialize() {
61
115
  if (this.initialized)
62
116
  return;
63
117
  // Handle NER model setup based on mode
64
- if (this.nerConfig.mode === 'disabled') {
118
+ if (this.nerConfig.mode === "disabled") {
65
119
  this.nerModel = new NERModelStub();
66
120
  }
67
- else if (this.nerConfig.mode === 'custom') {
68
- if (!this.nerConfig.modelPath || !this.nerConfig.vocabPath) {
121
+ else if (this.nerConfig.mode === "custom") {
122
+ if (this.nerConfig.modelPath === undefined ||
123
+ this.nerConfig.modelPath === "" ||
124
+ this.nerConfig.vocabPath === undefined ||
125
+ this.nerConfig.vocabPath === "") {
69
126
  throw new Error("NER mode 'custom' requires modelPath and vocabPath");
70
127
  }
71
128
  this.nerModel = createNERModel({
@@ -84,7 +141,8 @@ export class Anonymizer {
84
141
  // Load label map
85
142
  let labelMap = DEFAULT_LABEL_MAP;
86
143
  try {
87
- const labelMapContent = await fs.readFile(labelMapPath, 'utf-8');
144
+ const storage = await getStorageProvider();
145
+ const labelMapContent = await storage.readTextFile(labelMapPath);
88
146
  labelMap = JSON.parse(labelMapContent);
89
147
  }
90
148
  catch {
@@ -97,11 +155,38 @@ export class Anonymizer {
97
155
  modelVersion: this.modelVersion,
98
156
  });
99
157
  }
100
- // Load the model
158
+ // Load the NER model
101
159
  if (!this.nerModel.loaded) {
102
- this.nerConfig.onStatus?.('Loading NER model...');
160
+ this.nerConfig.onStatus?.("Loading NER model...");
103
161
  await this.nerModel.load();
104
- this.nerConfig.onStatus?.('NER model loaded!');
162
+ this.nerConfig.onStatus?.("NER model loaded!");
163
+ }
164
+ // Handle semantic data setup if enabled
165
+ if (this.semanticConfig.enabled) {
166
+ const autoDownload = this.semanticConfig.autoDownload ?? true;
167
+ // Check if data is already available
168
+ const dataAvailable = await isSemanticDataAvailable();
169
+ if (!dataAvailable) {
170
+ if (!autoDownload) {
171
+ throw new Error("Semantic masking is enabled but data files are not available.\n\n" +
172
+ "To download automatically, use:\n" +
173
+ " createAnonymizer({ semantic: { enabled: true, autoDownload: true } })\n\n" +
174
+ "Or disable semantic masking:\n" +
175
+ " createAnonymizer({ semantic: { enabled: false } })");
176
+ }
177
+ // Download semantic data
178
+ await ensureSemanticData({
179
+ autoDownload: true,
180
+ onProgress: this.semanticConfig.onDownloadProgress,
181
+ onStatus: this.semanticConfig.onStatus,
182
+ });
183
+ }
184
+ else {
185
+ this.semanticConfig.onStatus?.("Semantic data already cached");
186
+ }
187
+ // Load data into memory for synchronous access during enrichment
188
+ await loadSemanticData();
189
+ this.semanticDataReady = true;
105
190
  }
106
191
  this.modelVersion = this.nerModel.version;
107
192
  this.initialized = true;
@@ -118,8 +203,12 @@ export class Anonymizer {
118
203
  await this.initialize();
119
204
  }
120
205
  const startTime = performance.now();
121
- // Merge policy with defaults
122
- const effectivePolicy = policy !== undefined ? mergePolicy(policy) : this.defaultPolicy;
206
+ // Merge policy with instance defaults (not global defaults)
207
+ // This ensures semantic config from constructor is preserved
208
+ // Uses deep merge for Maps (confidenceThresholds) and Sets
209
+ const effectivePolicy = policy !== undefined
210
+ ? mergePolicyWithBase(this.defaultPolicy, policy)
211
+ : this.defaultPolicy;
123
212
  // Step 1: Pre-normalize text
124
213
  const normalizedText = prenormalize(text);
125
214
  // Step 2: Run regex recognizers
@@ -129,8 +218,25 @@ export class Anonymizer {
129
218
  const nerMatches = nerResult.spans;
130
219
  // Step 4: Resolve and merge entities
131
220
  const resolvedMatches = resolveEntities(regexMatches, nerMatches, effectivePolicy, normalizedText);
221
+ // Step 4.5: Merge adjacent title+name PERSON spans (if semantic masking enabled)
222
+ // This fixes NER models that split "Mrs. Smith" into two entities
223
+ const mergedMatches = effectivePolicy.enableSemanticMasking === true
224
+ ? mergeAdjacentTitleSpans(resolvedMatches, normalizedText)
225
+ : resolvedMatches;
226
+ // Step 4.6: Extract titles from PERSON entities (if semantic masking enabled)
227
+ // This strips honorific titles (Dr., Mrs., etc.) so they remain visible for translation
228
+ const titleExtractedMatches = effectivePolicy.enableSemanticMasking
229
+ ? extractTitlesFromSpans(mergedMatches, normalizedText)
230
+ : mergedMatches;
231
+ // Step 4.6: Enrich with semantic attributes (if enabled)
232
+ // This adds gender for PERSON and scope for LOCATION entities
233
+ const enrichedMatches = effectivePolicy.enableSemanticMasking
234
+ ? enrichSemantics(titleExtractedMatches, {
235
+ locale: locale !== undefined ? locale.split("-")[0] : undefined, // Extract language code
236
+ })
237
+ : titleExtractedMatches;
132
238
  // Step 5: Tag entities and build PII map
133
- const { anonymizedText, entities, piiMap } = tagEntities(normalizedText, resolvedMatches, effectivePolicy);
239
+ const { anonymizedText, entities, piiMap } = tagEntities(normalizedText, enrichedMatches, effectivePolicy);
134
240
  // Step 6: Validate output
135
241
  const validation = validateOutput(anonymizedText, entities, Array.from(piiMap.keys()), effectivePolicy);
136
242
  if (!validation.valid) {
@@ -140,13 +246,13 @@ export class Anonymizer {
140
246
  message: e.message,
141
247
  }));
142
248
  // eslint-disable-next-line no-console
143
- console.warn('Validation warnings:', safeErrors);
249
+ console.warn("Validation warnings:", safeErrors);
144
250
  }
145
251
  // Step 7: Encrypt PII map
146
252
  const encryptionKey = this.keyProvider !== null
147
253
  ? await this.keyProvider.getKey()
148
254
  : generateKey();
149
- const encryptedPiiMap = encryptPIIMap(piiMap, encryptionKey);
255
+ const encryptedPiiMap = await encryptPIIMap(piiMap, encryptionKey);
150
256
  // Step 8: Build stats
151
257
  const endTime = performance.now();
152
258
  const stats = {
@@ -158,7 +264,7 @@ export class Anonymizer {
158
264
  leakScanPassed: validation.leakScanPassed,
159
265
  };
160
266
  // Step 9: Build result (without original text in entities)
161
- const safeEntities = entities.map(({ original, ...rest }) => rest);
267
+ const safeEntities = entities.map(({ original: _original, ...rest }) => rest);
162
268
  return {
163
269
  anonymizedText,
164
270
  entities: safeEntities,
@@ -220,22 +326,6 @@ export class Anonymizer {
220
326
  export function createAnonymizer(config) {
221
327
  return new Anonymizer(config);
222
328
  }
223
- /**
224
- * Creates an anonymizer with a custom NER model
225
- * @deprecated Use createAnonymizer with ner: { mode: 'custom', modelPath, vocabPath } instead
226
- */
227
- export async function createAnonymizerWithNER(modelPath, vocabPath, config) {
228
- const anonymizer = new Anonymizer({
229
- ...config,
230
- ner: {
231
- mode: 'custom',
232
- modelPath,
233
- vocabPath,
234
- },
235
- });
236
- await anonymizer.initialize();
237
- return anonymizer;
238
- }
239
329
  /**
240
330
  * Convenience function for one-off anonymization
241
331
  * Creates a temporary anonymizer with default settings (regex-only)
@@ -279,7 +369,7 @@ export async function anonymizeRegexOnly(text, policy) {
279
369
  export async function anonymizeWithNER(text, nerConfig, policy) {
280
370
  const anonymizer = createAnonymizer({
281
371
  ner: {
282
- mode: nerConfig.mode ?? 'quantized',
372
+ mode: nerConfig.mode ?? "quantized",
283
373
  ...nerConfig,
284
374
  },
285
375
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * NER Model Manager
3
3
  * Handles automatic downloading and caching of NER models from Hugging Face Hub
4
+ * Browser-compatible using storage abstraction layer
4
5
  */
5
6
  /**
6
7
  * Available NER model variants
7
8
  */
8
- export type NERModelMode = 'standard' | 'quantized' | 'disabled' | 'custom';
9
+ export type NERModelMode = "standard" | "quantized" | "disabled" | "custom";
9
10
  /**
10
11
  * Model file info
11
12
  */
@@ -44,20 +45,20 @@ export interface ModelInfo {
44
45
  * Using ELAN's ONNX exports which are optimized for JS/ONNX runtime
45
46
  * https://huggingface.co/tjruesch/xlm-roberta-base-ner-hrl-onnx
46
47
  */
47
- export declare const MODEL_REGISTRY: Record<'standard' | 'quantized', ModelInfo>;
48
+ export declare const MODEL_REGISTRY: Record<"standard" | "quantized", ModelInfo>;
48
49
  /**
49
50
  * Gets the cache directory for models
50
- * Uses platform-specific cache location
51
+ * Uses platform-specific cache location (or virtual path in browser)
51
52
  */
52
- export declare function getModelCacheDir(): string;
53
+ export declare function getModelCacheDir(): Promise<string>;
53
54
  /**
54
55
  * Gets the path to a specific model variant
55
56
  */
56
- export declare function getModelPath(mode: 'standard' | 'quantized'): string;
57
+ export declare function getModelPath(mode: "standard" | "quantized"): Promise<string>;
57
58
  /**
58
59
  * Checks if a model is already downloaded
59
60
  */
60
- export declare function isModelDownloaded(mode: 'standard' | 'quantized'): Promise<boolean>;
61
+ export declare function isModelDownloaded(mode: "standard" | "quantized"): Promise<boolean>;
61
62
  /**
62
63
  * Progress callback for downloads
63
64
  */
@@ -70,11 +71,11 @@ export type DownloadProgressCallback = (progress: {
70
71
  /**
71
72
  * Downloads a model variant from Hugging Face Hub
72
73
  */
73
- export declare function downloadModel(mode: 'standard' | 'quantized', onProgress?: DownloadProgressCallback, onStatus?: (status: string) => void): Promise<string>;
74
+ export declare function downloadModel(mode: "standard" | "quantized", onProgress?: DownloadProgressCallback, onStatus?: (status: string) => void): Promise<string>;
74
75
  /**
75
76
  * Gets model paths if available, or downloads if needed
76
77
  */
77
- export declare function ensureModel(mode: 'standard' | 'quantized', options?: {
78
+ export declare function ensureModel(mode: "standard" | "quantized", options?: {
78
79
  autoDownload?: boolean;
79
80
  onProgress?: DownloadProgressCallback;
80
81
  onStatus?: (status: string) => void;
@@ -86,17 +87,25 @@ export declare function ensureModel(mode: 'standard' | 'quantized', options?: {
86
87
  /**
87
88
  * Clears cached models
88
89
  */
89
- export declare function clearModelCache(mode?: 'standard' | 'quantized'): Promise<void>;
90
+ export declare function clearModelCache(mode?: "standard" | "quantized"): Promise<void>;
90
91
  /**
91
92
  * Lists downloaded models
92
93
  */
93
94
  export declare function listDownloadedModels(): Promise<Array<{
94
- mode: 'standard' | 'quantized';
95
+ mode: "standard" | "quantized";
95
96
  path: string;
96
97
  size: string;
97
98
  }>>;
98
99
  /**
99
100
  * Gets info about available models
100
101
  */
101
- export declare function getModelInfo(mode: 'standard' | 'quantized'): ModelInfo;
102
+ export declare function getModelInfo(mode: "standard" | "quantized"): ModelInfo;
103
+ /**
104
+ * Reads a model file as ArrayBuffer (for onnxruntime)
105
+ */
106
+ export declare function readModelFile(path: string): Promise<ArrayBuffer>;
107
+ /**
108
+ * Reads a text file from storage
109
+ */
110
+ export declare function readTextFile(path: string): Promise<string>;
102
111
  //# sourceMappingURL=model-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../src/ner/model-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,UAAU,GAAG,WAAW,EAAE,SAAS,CAyBtE,CAAC;AAYF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAYzC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAEnE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBxF;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,KAAK,IAAI,CAAC;AAuEX;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,GAAG,WAAW,EAC9B,UAAU,CAAC,EAAE,wBAAwB,EACrC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,GAAG,WAAW,EAC9B,OAAO,GAAE;IACP,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC,GACL,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCzE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAY3H;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAEtE"}
1
+ {"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../src/ner/model-manager.ts"],"names":[],"mappings":"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"}