modular-voice-agent-sdk 1.2.0 → 1.2.1
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/backends/transformers/llm.js +1 -1
- package/dist/backends/transformers/llm.js.map +1 -1
- package/dist/backends/transformers/stt.js +1 -1
- package/dist/backends/transformers/stt.js.map +1 -1
- package/dist/backends/transformers/tts.js +1 -1
- package/dist/backends/transformers/tts.js.map +1 -1
- package/dist/cache-runtime.d.ts +29 -0
- package/dist/cache-runtime.d.ts.map +1 -0
- package/dist/cache-runtime.js +43 -0
- package/dist/cache-runtime.js.map +1 -0
- package/dist/cache.d.ts +4 -19
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +5 -39
- package/dist/cache.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { pipeline } from '@huggingface/transformers';
|
|
13
13
|
import { LLMLogger, LLMConversationTracker } from '../../services';
|
|
14
|
-
import { getCachedOrLoad } from '../../cache';
|
|
14
|
+
import { getCachedOrLoad } from '../../cache-runtime';
|
|
15
15
|
export class TransformersLLM {
|
|
16
16
|
config;
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAWrD,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAuB,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/transformers/llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Supports Whisper, Moonshine, Wav2Vec2, and other ASR models from Hugging Face.
|
|
6
6
|
*/
|
|
7
7
|
import { pipeline } from '@huggingface/transformers';
|
|
8
|
-
import { getCachedOrLoad } from '../../cache';
|
|
8
|
+
import { getCachedOrLoad } from '../../cache-runtime';
|
|
9
9
|
export class TransformersSTT {
|
|
10
10
|
config;
|
|
11
11
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stt.js","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"stt.js","sourceRoot":"","sources":["../../../src/backends/transformers/stt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IACtC,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAEjH,IAAI,CAAC,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC7E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAmB,EAAE,KAAmB;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAqB,EAAE;YACjE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,OAAQ,MAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { pipeline } from '@huggingface/transformers';
|
|
8
8
|
import { BufferedAudioPlayable } from '../../types';
|
|
9
|
-
import { getCachedOrLoad } from '../../cache';
|
|
9
|
+
import { getCachedOrLoad } from '../../cache-runtime';
|
|
10
10
|
export class TransformersTTS {
|
|
11
11
|
config;
|
|
12
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tts.js","sourceRoot":"","sources":["../../../src/backends/transformers/tts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,OAAO,eAAe;IAClB,MAAM,CAAwB;IACtC,8DAA8D;IACtD,IAAI,GAAQ,IAAI,CAAC;IACjB,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAA6B;QAC5C,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAEjH,IAAI,CAAC,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC/D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAsC;gBACzD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,iBAAiB,EAAE,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Model Cache - Browser-safe
|
|
3
|
+
*
|
|
4
|
+
* In-memory cache for loaded models/resources.
|
|
5
|
+
* Backends use this to share heavy resources (models, tokenizers) across sessions.
|
|
6
|
+
* The cache is keyed by a unique string identifier (e.g., "transformers-llm:model-name:dtype").
|
|
7
|
+
*
|
|
8
|
+
* This module has NO Node.js dependencies and works in both browser and server.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Get a cached resource, or load it if not cached.
|
|
12
|
+
* @param key - Unique cache key
|
|
13
|
+
* @param loader - Async function to load the resource if not cached
|
|
14
|
+
* @returns The cached or newly loaded resource
|
|
15
|
+
*/
|
|
16
|
+
export declare function getCachedOrLoad<T>(key: string, loader: () => Promise<T>): Promise<T>;
|
|
17
|
+
/**
|
|
18
|
+
* Check if a resource is in the cache.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isCached(key: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Clear a specific cached resource.
|
|
23
|
+
*/
|
|
24
|
+
export declare function clearCached(key: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Clear all cached resources.
|
|
27
|
+
*/
|
|
28
|
+
export declare function clearAllCached(): void;
|
|
29
|
+
//# sourceMappingURL=cache-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-runtime.d.ts","sourceRoot":"","sources":["../src/cache-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO1F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Model Cache - Browser-safe
|
|
3
|
+
*
|
|
4
|
+
* In-memory cache for loaded models/resources.
|
|
5
|
+
* Backends use this to share heavy resources (models, tokenizers) across sessions.
|
|
6
|
+
* The cache is keyed by a unique string identifier (e.g., "transformers-llm:model-name:dtype").
|
|
7
|
+
*
|
|
8
|
+
* This module has NO Node.js dependencies and works in both browser and server.
|
|
9
|
+
*/
|
|
10
|
+
const runtimeCache = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Get a cached resource, or load it if not cached.
|
|
13
|
+
* @param key - Unique cache key
|
|
14
|
+
* @param loader - Async function to load the resource if not cached
|
|
15
|
+
* @returns The cached or newly loaded resource
|
|
16
|
+
*/
|
|
17
|
+
export async function getCachedOrLoad(key, loader) {
|
|
18
|
+
if (runtimeCache.has(key)) {
|
|
19
|
+
return runtimeCache.get(key);
|
|
20
|
+
}
|
|
21
|
+
const resource = await loader();
|
|
22
|
+
runtimeCache.set(key, resource);
|
|
23
|
+
return resource;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a resource is in the cache.
|
|
27
|
+
*/
|
|
28
|
+
export function isCached(key) {
|
|
29
|
+
return runtimeCache.has(key);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Clear a specific cached resource.
|
|
33
|
+
*/
|
|
34
|
+
export function clearCached(key) {
|
|
35
|
+
runtimeCache.delete(key);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Clear all cached resources.
|
|
39
|
+
*/
|
|
40
|
+
export function clearAllCached() {
|
|
41
|
+
runtimeCache.clear();
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cache-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-runtime.js","sourceRoot":"","sources":["../src/cache-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,GAAW,EAAE,MAAwB;IAC5E,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;IAChC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/cache.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cache utilities for modular-voice-agent-sdk
|
|
3
3
|
* Models and binaries are stored in ~/.cache/mvas/ by default
|
|
4
|
+
*
|
|
5
|
+
* NOTE: This module uses Node.js APIs (os, path) and is SERVER-ONLY.
|
|
6
|
+
* For browser-safe caching, use cache-runtime.ts instead.
|
|
4
7
|
*/
|
|
8
|
+
export { getCachedOrLoad, isCached, clearCached, clearAllCached, } from './cache-runtime';
|
|
5
9
|
/**
|
|
6
10
|
* Get the cache directory for mvas assets.
|
|
7
11
|
* Default: ~/.cache/mvas
|
|
@@ -34,23 +38,4 @@ export declare const defaultBinaries: {
|
|
|
34
38
|
llamaCompletion: string;
|
|
35
39
|
sherpaOnnxTts: string;
|
|
36
40
|
};
|
|
37
|
-
/**
|
|
38
|
-
* Get a cached resource, or load it if not cached.
|
|
39
|
-
* @param key - Unique cache key
|
|
40
|
-
* @param loader - Async function to load the resource if not cached
|
|
41
|
-
* @returns The cached or newly loaded resource
|
|
42
|
-
*/
|
|
43
|
-
export declare function getCachedOrLoad<T>(key: string, loader: () => Promise<T>): Promise<T>;
|
|
44
|
-
/**
|
|
45
|
-
* Check if a resource is in the cache.
|
|
46
|
-
*/
|
|
47
|
-
export declare function isCached(key: string): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Clear a specific cached resource.
|
|
50
|
-
*/
|
|
51
|
-
export declare function clearCached(key: string): void;
|
|
52
|
-
/**
|
|
53
|
-
* Clear all cached resources.
|
|
54
|
-
*/
|
|
55
|
-
export declare function clearAllCached(): void;
|
|
56
41
|
//# sourceMappingURL=cache.d.ts.map
|
package/dist/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EACL,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
|
package/dist/cache.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cache utilities for modular-voice-agent-sdk
|
|
3
3
|
* Models and binaries are stored in ~/.cache/mvas/ by default
|
|
4
|
+
*
|
|
5
|
+
* NOTE: This module uses Node.js APIs (os, path) and is SERVER-ONLY.
|
|
6
|
+
* For browser-safe caching, use cache-runtime.ts instead.
|
|
4
7
|
*/
|
|
5
8
|
import { homedir } from 'os';
|
|
6
9
|
import { join } from 'path';
|
|
10
|
+
// Re-export browser-safe runtime cache functions
|
|
11
|
+
export { getCachedOrLoad, isCached, clearCached, clearAllCached, } from './cache-runtime';
|
|
7
12
|
/**
|
|
8
13
|
* Get the cache directory for mvas assets.
|
|
9
14
|
* Default: ~/.cache/mvas
|
|
@@ -46,43 +51,4 @@ export const defaultBinaries = {
|
|
|
46
51
|
llamaCompletion: 'llama-completion',
|
|
47
52
|
sherpaOnnxTts: 'sherpa-onnx-offline-tts',
|
|
48
53
|
};
|
|
49
|
-
// ============ Runtime Model Cache ============
|
|
50
|
-
/**
|
|
51
|
-
* Runtime cache for loaded models/resources.
|
|
52
|
-
* Backends use this to share heavy resources (models, tokenizers) across sessions.
|
|
53
|
-
* The cache is keyed by a unique string identifier (e.g., "transformers-llm:model-name:dtype").
|
|
54
|
-
*/
|
|
55
|
-
const runtimeCache = new Map();
|
|
56
|
-
/**
|
|
57
|
-
* Get a cached resource, or load it if not cached.
|
|
58
|
-
* @param key - Unique cache key
|
|
59
|
-
* @param loader - Async function to load the resource if not cached
|
|
60
|
-
* @returns The cached or newly loaded resource
|
|
61
|
-
*/
|
|
62
|
-
export async function getCachedOrLoad(key, loader) {
|
|
63
|
-
if (runtimeCache.has(key)) {
|
|
64
|
-
return runtimeCache.get(key);
|
|
65
|
-
}
|
|
66
|
-
const resource = await loader();
|
|
67
|
-
runtimeCache.set(key, resource);
|
|
68
|
-
return resource;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Check if a resource is in the cache.
|
|
72
|
-
*/
|
|
73
|
-
export function isCached(key) {
|
|
74
|
-
return runtimeCache.has(key);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Clear a specific cached resource.
|
|
78
|
-
*/
|
|
79
|
-
export function clearCached(key) {
|
|
80
|
-
runtimeCache.delete(key);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Clear all cached resources.
|
|
84
|
-
*/
|
|
85
|
-
export function clearAllCached() {
|
|
86
|
-
runtimeCache.clear();
|
|
87
|
-
}
|
|
88
54
|
//# sourceMappingURL=cache.js.map
|
package/dist/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,yBAAyB;CACzC,CAAC"}
|
package/package.json
CHANGED