@inferrlm/react-native-mlx 0.4.0 → 0.4.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/MLXReactNative.podspec +1 -1
- package/lib/module/index.js +9 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/llm.js +193 -0
- package/lib/module/llm.js.map +1 -0
- package/lib/module/modelManager.js +79 -0
- package/lib/module/modelManager.js.map +1 -0
- package/lib/module/models.js +360 -0
- package/lib/module/models.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/specs/LLM.nitro.js +4 -0
- package/lib/module/specs/LLM.nitro.js.map +1 -0
- package/lib/module/specs/ModelManager.nitro.js +4 -0
- package/lib/module/specs/ModelManager.nitro.js.map +1 -0
- package/lib/module/specs/STT.nitro.js +4 -0
- package/lib/module/specs/STT.nitro.js.map +1 -0
- package/lib/module/specs/TTS.nitro.js +4 -0
- package/lib/module/specs/TTS.nitro.js.map +1 -0
- package/lib/module/stt.js +49 -0
- package/lib/module/stt.js.map +1 -0
- package/lib/module/tool-utils.js +56 -0
- package/lib/module/tool-utils.js.map +1 -0
- package/lib/module/tts.js +40 -0
- package/lib/module/tts.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/index.d.ts +11 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/llm.d.ts +129 -0
- package/lib/typescript/src/llm.d.ts.map +1 -0
- package/lib/typescript/src/modelManager.d.ts +53 -0
- package/lib/typescript/src/modelManager.d.ts.map +1 -0
- package/lib/typescript/src/models.d.ts +67 -0
- package/lib/typescript/src/models.d.ts.map +1 -0
- package/lib/typescript/src/specs/LLM.nitro.d.ts +160 -0
- package/lib/typescript/src/specs/LLM.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/ModelManager.nitro.d.ts +41 -0
- package/lib/typescript/src/specs/ModelManager.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/STT.nitro.d.ts +28 -0
- package/lib/typescript/src/specs/STT.nitro.d.ts.map +1 -0
- package/lib/typescript/src/specs/TTS.nitro.d.ts +22 -0
- package/lib/typescript/src/specs/TTS.nitro.d.ts.map +1 -0
- package/lib/typescript/src/stt.d.ts +16 -0
- package/lib/typescript/src/stt.d.ts.map +1 -0
- package/lib/typescript/src/tool-utils.d.ts +13 -0
- package/lib/typescript/src/tool-utils.d.ts.map +1 -0
- package/lib/typescript/src/tts.d.ts +13 -0
- package/lib/typescript/src/tts.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/models.ts +24 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ModelFamily","ModelProvider","MLXModel","MLXModels","id","Llama_3_2_1B_Instruct_4bit","family","Llama","provider","Meta","parameters","quantization","displayName","downloadSize","type","Llama_3_2_1B_Instruct_8bit","Llama_3_2_3B_Instruct_4bit","Llama_3_2_3B_Instruct_8bit","Qwen2_5_0_5B_Instruct_4bit","Qwen","Alibaba","Qwen2_5_0_5B_Instruct_8bit","Qwen2_5_1_5B_Instruct_4bit","Qwen2_5_1_5B_Instruct_8bit","Qwen2_5_3B_Instruct_4bit","Qwen2_5_3B_Instruct_8bit","Qwen3_1_7B_4bit","Qwen3_1_7B_8bit","Qwen3_5_0_8B_MLX_4bit","Qwen3_5_0_8B_MLX_8bit","Gemma_3_1B_IT_4bit","Gemma","Google","Gemma_3_1B_IT_8bit","Phi_3_5_Mini_Instruct_4bit","Phi","Microsoft","Phi_3_5_Mini_Instruct_8bit","Phi_4_Mini_Instruct_4bit","Phi_4_Mini_Instruct_8bit","SmolLM_1_7B_Instruct_4bit","SmolLM","HuggingFace","SmolLM_1_7B_Instruct_8bit","SmolLM2_1_7B_Instruct_4bit","SmolLM2_1_7B_Instruct_8bit","OpenELM_1_1B_4bit","OpenELM","Apple","OpenELM_1_1B_8bit","OpenELM_3B_4bit","OpenELM_3B_8bit","PocketTTS","Kyutai","PocketTTS_8bit","PocketTTS_4bit","GLM_ASR_Nano_4bit","GLMASR"],"sourceRoot":"../../src","sources":["models.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/LLM.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/ModelManager.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/STT.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/TTS.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
let instance = null;
|
|
5
|
+
function getInstance() {
|
|
6
|
+
if (!instance) {
|
|
7
|
+
instance = NitroModules.createHybridObject('STT');
|
|
8
|
+
}
|
|
9
|
+
return instance;
|
|
10
|
+
}
|
|
11
|
+
export const STT = {
|
|
12
|
+
load(modelId, options) {
|
|
13
|
+
return getInstance().load(modelId, options);
|
|
14
|
+
},
|
|
15
|
+
transcribe(audio) {
|
|
16
|
+
return getInstance().transcribe(audio);
|
|
17
|
+
},
|
|
18
|
+
transcribeStream(audio, onToken) {
|
|
19
|
+
return getInstance().transcribeStream(audio, onToken);
|
|
20
|
+
},
|
|
21
|
+
startListening() {
|
|
22
|
+
return getInstance().startListening();
|
|
23
|
+
},
|
|
24
|
+
transcribeBuffer() {
|
|
25
|
+
return getInstance().transcribeBuffer();
|
|
26
|
+
},
|
|
27
|
+
stopListening() {
|
|
28
|
+
return getInstance().stopListening();
|
|
29
|
+
},
|
|
30
|
+
stop() {
|
|
31
|
+
getInstance().stop();
|
|
32
|
+
},
|
|
33
|
+
unload() {
|
|
34
|
+
getInstance().unload();
|
|
35
|
+
},
|
|
36
|
+
get isLoaded() {
|
|
37
|
+
return getInstance().isLoaded;
|
|
38
|
+
},
|
|
39
|
+
get isTranscribing() {
|
|
40
|
+
return getInstance().isTranscribing;
|
|
41
|
+
},
|
|
42
|
+
get isListening() {
|
|
43
|
+
return getInstance().isListening;
|
|
44
|
+
},
|
|
45
|
+
get modelId() {
|
|
46
|
+
return getInstance().modelId;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=stt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","instance","getInstance","createHybridObject","STT","load","modelId","options","transcribe","audio","transcribeStream","onToken","startListening","transcribeBuffer","stopListening","stop","unload","isLoaded","isTranscribing","isListening"],"sourceRoot":"../../src","sources":["stt.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAMzD,IAAIC,QAAwB,GAAG,IAAI;AAEnC,SAASC,WAAWA,CAAA,EAAY;EAC9B,IAAI,CAACD,QAAQ,EAAE;IACbA,QAAQ,GAAGD,YAAY,CAACG,kBAAkB,CAAU,KAAK,CAAC;EAC5D;EACA,OAAOF,QAAQ;AACjB;AAEA,OAAO,MAAMG,GAAG,GAAG;EACjBC,IAAIA,CAACC,OAAe,EAAEC,OAAwB,EAAiB;IAC7D,OAAOL,WAAW,CAAC,CAAC,CAACG,IAAI,CAACC,OAAO,EAAEC,OAAO,CAAC;EAC7C,CAAC;EAEDC,UAAUA,CAACC,KAAkB,EAAmB;IAC9C,OAAOP,WAAW,CAAC,CAAC,CAACM,UAAU,CAACC,KAAK,CAAC;EACxC,CAAC;EAEDC,gBAAgBA,CACdD,KAAkB,EAClBE,OAAgC,EACf;IACjB,OAAOT,WAAW,CAAC,CAAC,CAACQ,gBAAgB,CAACD,KAAK,EAAEE,OAAO,CAAC;EACvD,CAAC;EAEDC,cAAcA,CAAA,EAAkB;IAC9B,OAAOV,WAAW,CAAC,CAAC,CAACU,cAAc,CAAC,CAAC;EACvC,CAAC;EAEDC,gBAAgBA,CAAA,EAAoB;IAClC,OAAOX,WAAW,CAAC,CAAC,CAACW,gBAAgB,CAAC,CAAC;EACzC,CAAC;EAEDC,aAAaA,CAAA,EAAoB;IAC/B,OAAOZ,WAAW,CAAC,CAAC,CAACY,aAAa,CAAC,CAAC;EACtC,CAAC;EAEDC,IAAIA,CAAA,EAAS;IACXb,WAAW,CAAC,CAAC,CAACa,IAAI,CAAC,CAAC;EACtB,CAAC;EAEDC,MAAMA,CAAA,EAAS;IACbd,WAAW,CAAC,CAAC,CAACc,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAOf,WAAW,CAAC,CAAC,CAACe,QAAQ;EAC/B,CAAC;EAED,IAAIC,cAAcA,CAAA,EAAY;IAC5B,OAAOhB,WAAW,CAAC,CAAC,CAACgB,cAAc;EACrC,CAAC;EAED,IAAIC,WAAWA,CAAA,EAAY;IACzB,OAAOjB,WAAW,CAAC,CAAC,CAACiB,WAAW;EAClC,CAAC;EAED,IAAIb,OAAOA,CAAA,EAAW;IACpB,OAAOJ,WAAW,CAAC,CAAC,CAACI,OAAO;EAC9B;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function getZodTypeString(zodType) {
|
|
4
|
+
const typeName = zodType._zod.def.type;
|
|
5
|
+
switch (typeName) {
|
|
6
|
+
case 'string':
|
|
7
|
+
return 'string';
|
|
8
|
+
case 'number':
|
|
9
|
+
case 'int':
|
|
10
|
+
return 'number';
|
|
11
|
+
case 'boolean':
|
|
12
|
+
return 'boolean';
|
|
13
|
+
case 'array':
|
|
14
|
+
return 'array';
|
|
15
|
+
case 'object':
|
|
16
|
+
return 'object';
|
|
17
|
+
case 'optional':
|
|
18
|
+
return getZodTypeString(zodType._zod.def.innerType);
|
|
19
|
+
case 'default':
|
|
20
|
+
return getZodTypeString(zodType._zod.def.innerType);
|
|
21
|
+
default:
|
|
22
|
+
return 'string';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function isZodOptional(zodType) {
|
|
26
|
+
const typeName = zodType._zod.def.type;
|
|
27
|
+
return typeName === 'optional' || typeName === 'default';
|
|
28
|
+
}
|
|
29
|
+
function zodSchemaToParameters(schema) {
|
|
30
|
+
const shape = schema._zod.def.shape;
|
|
31
|
+
const parameters = [];
|
|
32
|
+
for (const [key, zodType] of Object.entries(shape)) {
|
|
33
|
+
const zType = zodType;
|
|
34
|
+
parameters.push({
|
|
35
|
+
name: key,
|
|
36
|
+
type: getZodTypeString(zType),
|
|
37
|
+
description: zType.description ?? '',
|
|
38
|
+
required: !isZodOptional(zType)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return parameters;
|
|
42
|
+
}
|
|
43
|
+
export function createTool(definition) {
|
|
44
|
+
return {
|
|
45
|
+
name: definition.name,
|
|
46
|
+
description: definition.description,
|
|
47
|
+
parameters: zodSchemaToParameters(definition.arguments),
|
|
48
|
+
handler: async args => {
|
|
49
|
+
const argsObj = args;
|
|
50
|
+
const parsedArgs = definition.arguments.parse(argsObj);
|
|
51
|
+
const result = await definition.handler(parsedArgs);
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=tool-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getZodTypeString","zodType","typeName","_zod","def","type","innerType","isZodOptional","zodSchemaToParameters","schema","shape","parameters","key","Object","entries","zType","push","name","description","required","createTool","definition","arguments","handler","args","argsObj","parsedArgs","parse","result"],"sourceRoot":"../../src","sources":["tool-utils.ts"],"mappings":";;AAcA,SAASA,gBAAgBA,CAACC,OAAkB,EAAqB;EAC/D,MAAMC,QAAQ,GAAGD,OAAO,CAACE,IAAI,CAACC,GAAG,CAACC,IAAI;EACtC,QAAQH,QAAQ;IACd,KAAK,QAAQ;MACX,OAAO,QAAQ;IACjB,KAAK,QAAQ;IACb,KAAK,KAAK;MACR,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB,KAAK,OAAO;MACV,OAAO,OAAO;IAChB,KAAK,QAAQ;MACX,OAAO,QAAQ;IACjB,KAAK,UAAU;MACb,OAAOF,gBAAgB,CAAEC,OAAO,CAA8BE,IAAI,CAACC,GAAG,CAACE,SAAS,CAAC;IACnF,KAAK,SAAS;MACZ,OAAON,gBAAgB,CAAEC,OAAO,CAA6BE,IAAI,CAACC,GAAG,CAACE,SAAS,CAAC;IAClF;MACE,OAAO,QAAQ;EACnB;AACF;AAEA,SAASC,aAAaA,CAACN,OAAkB,EAAW;EAClD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,IAAI,CAACC,GAAG,CAACC,IAAI;EACtC,OAAOH,QAAQ,KAAK,UAAU,IAAIA,QAAQ,KAAK,SAAS;AAC1D;AAEA,SAASM,qBAAqBA,CAACC,MAAuB,EAAmB;EACvE,MAAMC,KAAK,GAAGD,MAAM,CAACN,IAAI,CAACC,GAAG,CAACM,KAAK;EACnC,MAAMC,UAA2B,GAAG,EAAE;EAEtC,KAAK,MAAM,CAACC,GAAG,EAAEX,OAAO,CAAC,IAAIY,MAAM,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IAClD,MAAMK,KAAK,GAAGd,OAAoB;IAClCU,UAAU,CAACK,IAAI,CAAC;MACdC,IAAI,EAAEL,GAAG;MACTP,IAAI,EAAEL,gBAAgB,CAACe,KAAK,CAAC;MAC7BG,WAAW,EAAEH,KAAK,CAACG,WAAW,IAAI,EAAE;MACpCC,QAAQ,EAAE,CAACZ,aAAa,CAACQ,KAAK;IAChC,CAAC,CAAC;EACJ;EAEA,OAAOJ,UAAU;AACnB;AAEA,OAAO,SAASS,UAAUA,CACxBC,UAAqC,EACrB;EAChB,OAAO;IACLJ,IAAI,EAAEI,UAAU,CAACJ,IAAI;IACrBC,WAAW,EAAEG,UAAU,CAACH,WAAW;IACnCP,UAAU,EAAEH,qBAAqB,CAACa,UAAU,CAACC,SAAS,CAAC;IACvDC,OAAO,EAAE,MAAOC,IAAY,IAAK;MAC/B,MAAMC,OAAO,GAAGD,IAA0C;MAC1D,MAAME,UAAU,GAAGL,UAAU,CAACC,SAAS,CAACK,KAAK,CAACF,OAAO,CAAC;MACtD,MAAMG,MAAM,GAAG,MAAMP,UAAU,CAACE,OAAO,CAACG,UAAU,CAAC;MACnD,OAAOE,MAAM;IACf;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
let instance = null;
|
|
5
|
+
function getInstance() {
|
|
6
|
+
if (!instance) {
|
|
7
|
+
instance = NitroModules.createHybridObject('TTS');
|
|
8
|
+
}
|
|
9
|
+
return instance;
|
|
10
|
+
}
|
|
11
|
+
export const TTS = {
|
|
12
|
+
load(modelId, options) {
|
|
13
|
+
return getInstance().load(modelId, options);
|
|
14
|
+
},
|
|
15
|
+
generate(text, options) {
|
|
16
|
+
return getInstance().generate(text, options);
|
|
17
|
+
},
|
|
18
|
+
stream(text, onAudioChunk, options) {
|
|
19
|
+
return getInstance().stream(text, onAudioChunk, options);
|
|
20
|
+
},
|
|
21
|
+
stop() {
|
|
22
|
+
getInstance().stop();
|
|
23
|
+
},
|
|
24
|
+
unload() {
|
|
25
|
+
getInstance().unload();
|
|
26
|
+
},
|
|
27
|
+
get isLoaded() {
|
|
28
|
+
return getInstance().isLoaded;
|
|
29
|
+
},
|
|
30
|
+
get isGenerating() {
|
|
31
|
+
return getInstance().isGenerating;
|
|
32
|
+
},
|
|
33
|
+
get modelId() {
|
|
34
|
+
return getInstance().modelId;
|
|
35
|
+
},
|
|
36
|
+
get sampleRate() {
|
|
37
|
+
return getInstance().sampleRate;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=tts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","instance","getInstance","createHybridObject","TTS","load","modelId","options","generate","text","stream","onAudioChunk","stop","unload","isLoaded","isGenerating","sampleRate"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAOzD,IAAIC,QAAwB,GAAG,IAAI;AAEnC,SAASC,WAAWA,CAAA,EAAY;EAC9B,IAAI,CAACD,QAAQ,EAAE;IACbA,QAAQ,GAAGD,YAAY,CAACG,kBAAkB,CAAU,KAAK,CAAC;EAC5D;EACA,OAAOF,QAAQ;AACjB;AAEA,OAAO,MAAMG,GAAG,GAAG;EACjBC,IAAIA,CAACC,OAAe,EAAEC,OAAwB,EAAiB;IAC7D,OAAOL,WAAW,CAAC,CAAC,CAACG,IAAI,CAACC,OAAO,EAAEC,OAAO,CAAC;EAC7C,CAAC;EAEDC,QAAQA,CACNC,IAAY,EACZF,OAA4B,EACN;IACtB,OAAOL,WAAW,CAAC,CAAC,CAACM,QAAQ,CAACC,IAAI,EAAEF,OAAO,CAAC;EAC9C,CAAC;EAEDG,MAAMA,CACJD,IAAY,EACZE,YAA0C,EAC1CJ,OAA4B,EACb;IACf,OAAOL,WAAW,CAAC,CAAC,CAACQ,MAAM,CAACD,IAAI,EAAEE,YAAY,EAAEJ,OAAO,CAAC;EAC1D,CAAC;EAEDK,IAAIA,CAAA,EAAS;IACXV,WAAW,CAAC,CAAC,CAACU,IAAI,CAAC,CAAC;EACtB,CAAC;EAEDC,MAAMA,CAAA,EAAS;IACbX,WAAW,CAAC,CAAC,CAACW,MAAM,CAAC,CAAC;EACxB,CAAC;EAED,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAOZ,WAAW,CAAC,CAAC,CAACY,QAAQ;EAC/B,CAAC;EAED,IAAIC,YAAYA,CAAA,EAAY;IAC1B,OAAOb,WAAW,CAAC,CAAC,CAACa,YAAY;EACnC,CAAC;EAED,IAAIT,OAAOA,CAAA,EAAW;IACpB,OAAOJ,WAAW,CAAC,CAAC,CAACI,OAAO;EAC9B,CAAC;EAED,IAAIU,UAAUA,CAAA,EAAW;IACvB,OAAOd,WAAW,CAAC,CAAC,CAACc,UAAU;EACjC;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { LLM, type EventCallback, type Message, type ToolCallInfo, type ToolCallUpdate, } from './llm';
|
|
2
|
+
export { ModelManager } from './modelManager';
|
|
3
|
+
export { MLXModel, MLXModels, ModelFamily, type ModelInfo, ModelProvider, type ModelQuantization, type ModelType, } from './models';
|
|
4
|
+
export type { GenerationStats, LLM as LLMSpec, LLMLoadOptions, StreamEvent, GenerationStartEvent, TokenEvent, ThinkingStartEvent, ThinkingChunkEvent, ThinkingEndEvent, ToolCallStartEvent, ToolCallExecutingEvent, ToolCallCompletedEvent, ToolCallFailedEvent, GenerationEndEvent, ToolDefinition, ToolParameter, ToolParameterType, } from './specs/LLM.nitro';
|
|
5
|
+
export type { ModelManager as ModelManagerSpec } from './specs/ModelManager.nitro';
|
|
6
|
+
export { createTool, type TypeSafeToolDefinition } from './tool-utils';
|
|
7
|
+
export { TTS } from './tts';
|
|
8
|
+
export type { TTS as TTSSpec, TTSLoadOptions, TTSGenerateOptions, } from './specs/TTS.nitro';
|
|
9
|
+
export { STT } from './stt';
|
|
10
|
+
export type { STT as STTSpec, STTLoadOptions, STTTranscriptionInfo, } from './specs/STT.nitro';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,SAAS,EACd,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,SAAS,GACf,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,eAAe,EACf,GAAG,IAAI,OAAO,EACd,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,YAAY,EACV,GAAG,IAAI,OAAO,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,YAAY,EACV,GAAG,IAAI,OAAO,EACd,cAAc,EACd,oBAAoB,GACrB,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { GenerationStats, LLMLoadOptions, StreamEvent } from './specs/LLM.nitro';
|
|
2
|
+
export type EventCallback = (event: StreamEvent) => void;
|
|
3
|
+
export type Message = {
|
|
4
|
+
role: 'user' | 'assistant' | 'system';
|
|
5
|
+
content: string;
|
|
6
|
+
};
|
|
7
|
+
export type ToolCallInfo = {
|
|
8
|
+
name: string;
|
|
9
|
+
arguments: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
export type ToolCallUpdate = {
|
|
12
|
+
toolCall: ToolCallInfo;
|
|
13
|
+
allToolCalls: ToolCallInfo[];
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* LLM text generation using MLX on Apple Silicon.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { LLM } from 'react-native-nitro-mlx'
|
|
21
|
+
*
|
|
22
|
+
* // Load a model
|
|
23
|
+
* await LLM.load('mlx-community/Qwen3-0.6B-4bit', progress => {
|
|
24
|
+
* console.log(`Loading: ${(progress * 100).toFixed(0)}%`)
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* // Stream a response
|
|
28
|
+
* await LLM.stream('Hello!', token => {
|
|
29
|
+
* process.stdout.write(token)
|
|
30
|
+
* })
|
|
31
|
+
*
|
|
32
|
+
* // Get generation stats
|
|
33
|
+
* const stats = LLM.getLastGenerationStats()
|
|
34
|
+
* console.log(`${stats.tokensPerSecond} tokens/sec`)
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare const LLM: {
|
|
38
|
+
/**
|
|
39
|
+
* Load a model into memory. Downloads the model from HuggingFace if not already cached.
|
|
40
|
+
* @param modelId - HuggingFace model ID (e.g., 'mlx-community/Qwen3-0.6B-4bit')
|
|
41
|
+
* @param options - Callback invoked with loading progress (0-1)
|
|
42
|
+
*/
|
|
43
|
+
load(modelId: string, options: LLMLoadOptions): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Generate a complete response for a prompt. Blocks until generation is complete.
|
|
46
|
+
* For streaming responses, use `stream()` instead.
|
|
47
|
+
* @param prompt - The input text to generate a response for
|
|
48
|
+
* @returns The complete generated text
|
|
49
|
+
*/
|
|
50
|
+
generate(prompt: string): Promise<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Stream a response token by token with optional tool calling support.
|
|
53
|
+
* Tools must be provided when loading the model via `load()` options.
|
|
54
|
+
* Tools are automatically executed when the model calls them.
|
|
55
|
+
* @param prompt - The input text to generate a response for
|
|
56
|
+
* @param onToken - Callback invoked for each generated token
|
|
57
|
+
* @param onToolCall - Optional callback invoked when a tool is called.
|
|
58
|
+
* Receives the current tool call and an accumulated array of all tool calls so far.
|
|
59
|
+
* @returns The complete generated text
|
|
60
|
+
*/
|
|
61
|
+
stream(prompt: string, onToken: (token: string) => void, onToolCall?: (update: ToolCallUpdate) => void): Promise<string>;
|
|
62
|
+
/**
|
|
63
|
+
* Stream with typed events for thinking blocks and tool calls.
|
|
64
|
+
* Provides granular lifecycle events for UI updates.
|
|
65
|
+
*
|
|
66
|
+
* @param prompt - The input text
|
|
67
|
+
* @param onEvent - Callback receiving typed StreamEvent objects
|
|
68
|
+
* @returns Promise resolving to final content string (thinking content stripped)
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* await LLM.streamWithEvents(prompt, (event) => {
|
|
73
|
+
* switch (event.type) {
|
|
74
|
+
* case 'token':
|
|
75
|
+
* appendToContent(event.token)
|
|
76
|
+
* break
|
|
77
|
+
* case 'thinking_start':
|
|
78
|
+
* showThinkingIndicator()
|
|
79
|
+
* break
|
|
80
|
+
* case 'thinking_chunk':
|
|
81
|
+
* appendToThinking(event.chunk)
|
|
82
|
+
* break
|
|
83
|
+
* case 'tool_call_start':
|
|
84
|
+
* showToolCallCard(event.name, event.arguments)
|
|
85
|
+
* break
|
|
86
|
+
* }
|
|
87
|
+
* })
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
streamWithEvents(prompt: string, onEvent: EventCallback): Promise<string>;
|
|
91
|
+
/**
|
|
92
|
+
* Stop the current generation. Safe to call even if not generating.
|
|
93
|
+
*/
|
|
94
|
+
stop(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Unload the current model and release memory.
|
|
97
|
+
* Call this when you're done with the model to free up memory.
|
|
98
|
+
*/
|
|
99
|
+
unload(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Get statistics from the last generation.
|
|
102
|
+
* @returns Statistics including token count, tokens/sec (excluding tool execution), TTFT, total time, and tool execution time
|
|
103
|
+
*/
|
|
104
|
+
getLastGenerationStats(): GenerationStats;
|
|
105
|
+
/**
|
|
106
|
+
* Get the message history if management is enabled.
|
|
107
|
+
* @returns Array of messages in the history
|
|
108
|
+
*/
|
|
109
|
+
getHistory(): Message[];
|
|
110
|
+
/**
|
|
111
|
+
* Clear the message history.
|
|
112
|
+
*/
|
|
113
|
+
clearHistory(): void;
|
|
114
|
+
/** Whether a model is currently loaded and ready for generation */
|
|
115
|
+
readonly isLoaded: boolean;
|
|
116
|
+
/** Whether text is currently being generated */
|
|
117
|
+
readonly isGenerating: boolean;
|
|
118
|
+
/** The ID of the currently loaded model, or empty string if none */
|
|
119
|
+
readonly modelId: string;
|
|
120
|
+
/** Enable debug logging to console */
|
|
121
|
+
debug: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* System prompt used when loading the model.
|
|
124
|
+
* Set this before calling `load()`. Changes require reloading the model.
|
|
125
|
+
* @default "You are a helpful assistant."
|
|
126
|
+
*/
|
|
127
|
+
systemPrompt: string;
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=llm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/llm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EAEd,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AAIxD,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,YAAY,CAAA;IACtB,YAAY,EAAE,YAAY,EAAE,CAAA;CAC7B,CAAA;AASD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,GAAG;IACd;;;;OAIG;kBACW,MAAM,WAAW,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;;OAKG;qBACc,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzC;;;;;;;;;OASG;mBAEO,MAAM,WACL,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,eACnB,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAC5C,OAAO,CAAC,MAAM,CAAC;IAyBlB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;6BACsB,MAAM,WAAW,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAWzE;;OAEG;YACK,IAAI;IAIZ;;;OAGG;cACO,IAAI;IAId;;;OAGG;8BACuB,eAAe;IAIzC;;;OAGG;kBACW,OAAO,EAAE;IAIvB;;OAEG;oBACa,IAAI;IAIpB,mEAAmE;uBACnD,OAAO;IAIvB,gDAAgD;2BAC5B,OAAO;IAI3B,oEAAoE;sBACrD,MAAM;IAIrB,sCAAsC;WACzB,OAAO;IAQpB;;;;OAIG;kBACiB,MAAM;CAO3B,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manage MLX model downloads from HuggingFace.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { ModelManager } from 'react-native-nitro-mlx'
|
|
7
|
+
*
|
|
8
|
+
* // Download a model
|
|
9
|
+
* await ModelManager.download('mlx-community/Qwen3-0.6B-4bit', progress => {
|
|
10
|
+
* console.log(`Downloading: ${(progress * 100).toFixed(0)}%`)
|
|
11
|
+
* })
|
|
12
|
+
*
|
|
13
|
+
* // Check if downloaded
|
|
14
|
+
* const isReady = await ModelManager.isDownloaded('mlx-community/Qwen3-0.6B-4bit')
|
|
15
|
+
*
|
|
16
|
+
* // List all downloaded models
|
|
17
|
+
* const models = await ModelManager.getDownloadedModels()
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const ModelManager: {
|
|
21
|
+
/**
|
|
22
|
+
* Download a model from HuggingFace.
|
|
23
|
+
* @param modelId - HuggingFace model ID (e.g., 'mlx-community/Qwen3-0.6B-4bit')
|
|
24
|
+
* @param progressCallback - Callback invoked with download progress (0-1)
|
|
25
|
+
* @returns Path to the downloaded model directory
|
|
26
|
+
*/
|
|
27
|
+
download(modelId: string, progressCallback: (progress: number) => void): Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a model is already downloaded.
|
|
30
|
+
* @param modelId - HuggingFace model ID
|
|
31
|
+
* @returns True if the model is fully downloaded
|
|
32
|
+
*/
|
|
33
|
+
isDownloaded(modelId: string): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Get a list of all downloaded model IDs.
|
|
36
|
+
* @returns Array of model IDs that are available locally
|
|
37
|
+
*/
|
|
38
|
+
getDownloadedModels(): Promise<string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Delete a downloaded model to free up disk space.
|
|
41
|
+
* @param modelId - HuggingFace model ID
|
|
42
|
+
*/
|
|
43
|
+
deleteModel(modelId: string): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get the local filesystem path for a downloaded model.
|
|
46
|
+
* @param modelId - HuggingFace model ID
|
|
47
|
+
* @returns Absolute path to the model directory
|
|
48
|
+
*/
|
|
49
|
+
getModelPath(modelId: string): Promise<string>;
|
|
50
|
+
/** Enable debug logging to console */
|
|
51
|
+
debug: boolean;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=modelManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelManager.d.ts","sourceRoot":"","sources":["../../../src/modelManager.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;OAKG;sBAEQ,MAAM,oBACG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAC3C,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;OAIG;0BACmB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C;;;OAGG;2BACoB,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC;;;OAGG;yBACkB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;;;OAIG;0BACmB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,sCAAsC;WACzB,OAAO;CAOrB,CAAA"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export declare enum ModelFamily {
|
|
2
|
+
Llama = "Llama",
|
|
3
|
+
Qwen = "Qwen",
|
|
4
|
+
Gemma = "Gemma",
|
|
5
|
+
Phi = "Phi",
|
|
6
|
+
SmolLM = "SmolLM",
|
|
7
|
+
OpenELM = "OpenELM",
|
|
8
|
+
PocketTTS = "PocketTTS",
|
|
9
|
+
GLMASR = "GLMASR"
|
|
10
|
+
}
|
|
11
|
+
export declare enum ModelProvider {
|
|
12
|
+
Meta = "Meta",
|
|
13
|
+
Alibaba = "Alibaba",
|
|
14
|
+
Google = "Google",
|
|
15
|
+
Microsoft = "Microsoft",
|
|
16
|
+
HuggingFace = "HuggingFace",
|
|
17
|
+
Apple = "Apple",
|
|
18
|
+
Kyutai = "Kyutai"
|
|
19
|
+
}
|
|
20
|
+
export type ModelQuantization = '4bit' | '8bit' | 'bf16';
|
|
21
|
+
export type ModelType = 'llm' | 'tts' | 'stt';
|
|
22
|
+
export interface ModelInfo {
|
|
23
|
+
id: MLXModel;
|
|
24
|
+
family: ModelFamily;
|
|
25
|
+
provider: ModelProvider;
|
|
26
|
+
parameters: string;
|
|
27
|
+
quantization: ModelQuantization;
|
|
28
|
+
displayName: string;
|
|
29
|
+
downloadSize: number;
|
|
30
|
+
type: ModelType;
|
|
31
|
+
}
|
|
32
|
+
export declare enum MLXModel {
|
|
33
|
+
Llama_3_2_1B_Instruct_4bit = "mlx-community/Llama-3.2-1B-Instruct-4bit",
|
|
34
|
+
Llama_3_2_1B_Instruct_8bit = "mlx-community/Llama-3.2-1B-Instruct-8bit",
|
|
35
|
+
Llama_3_2_3B_Instruct_4bit = "mlx-community/Llama-3.2-3B-Instruct-4bit",
|
|
36
|
+
Llama_3_2_3B_Instruct_8bit = "mlx-community/Llama-3.2-3B-Instruct-8bit",
|
|
37
|
+
Qwen2_5_0_5B_Instruct_4bit = "mlx-community/Qwen2.5-0.5B-Instruct-4bit",
|
|
38
|
+
Qwen2_5_0_5B_Instruct_8bit = "mlx-community/Qwen2.5-0.5B-Instruct-8bit",
|
|
39
|
+
Qwen2_5_1_5B_Instruct_4bit = "mlx-community/Qwen2.5-1.5B-Instruct-4bit",
|
|
40
|
+
Qwen2_5_1_5B_Instruct_8bit = "mlx-community/Qwen2.5-1.5B-Instruct-8bit",
|
|
41
|
+
Qwen2_5_3B_Instruct_4bit = "mlx-community/Qwen2.5-3B-Instruct-4bit",
|
|
42
|
+
Qwen2_5_3B_Instruct_8bit = "mlx-community/Qwen2.5-3B-Instruct-8bit",
|
|
43
|
+
Qwen3_1_7B_4bit = "mlx-community/Qwen3-1.7B-4bit",
|
|
44
|
+
Qwen3_1_7B_8bit = "mlx-community/Qwen3-1.7B-8bit",
|
|
45
|
+
Qwen3_5_0_8B_MLX_4bit = "mlx-community/Qwen3.5-0.8B-MLX-4bit",
|
|
46
|
+
Qwen3_5_0_8B_MLX_8bit = "mlx-community/Qwen3.5-0.8B-MLX-8bit",
|
|
47
|
+
Gemma_3_1B_IT_4bit = "mlx-community/gemma-3-1b-it-4bit",
|
|
48
|
+
Gemma_3_1B_IT_8bit = "mlx-community/gemma-3-1b-it-8bit",
|
|
49
|
+
Phi_3_5_Mini_Instruct_4bit = "mlx-community/Phi-3.5-mini-instruct-4bit",
|
|
50
|
+
Phi_3_5_Mini_Instruct_8bit = "mlx-community/Phi-3.5-mini-instruct-8bit",
|
|
51
|
+
Phi_4_Mini_Instruct_4bit = "mlx-community/Phi-4-mini-instruct-4bit",
|
|
52
|
+
Phi_4_Mini_Instruct_8bit = "mlx-community/Phi-4-mini-instruct-8bit",
|
|
53
|
+
SmolLM_1_7B_Instruct_4bit = "mlx-community/SmolLM-1.7B-Instruct-4bit",
|
|
54
|
+
SmolLM_1_7B_Instruct_8bit = "mlx-community/SmolLM-1.7B-Instruct-8bit",
|
|
55
|
+
SmolLM2_1_7B_Instruct_4bit = "mlx-community/SmolLM2-1.7B-Instruct-4bit",
|
|
56
|
+
SmolLM2_1_7B_Instruct_8bit = "mlx-community/SmolLM2-1.7B-Instruct-8bit",
|
|
57
|
+
OpenELM_1_1B_4bit = "mlx-community/OpenELM-1_1B-4bit",
|
|
58
|
+
OpenELM_1_1B_8bit = "mlx-community/OpenELM-1_1B-8bit",
|
|
59
|
+
OpenELM_3B_4bit = "mlx-community/OpenELM-3B-4bit",
|
|
60
|
+
OpenELM_3B_8bit = "mlx-community/OpenELM-3B-8bit",
|
|
61
|
+
PocketTTS = "mlx-community/pocket-tts",
|
|
62
|
+
PocketTTS_8bit = "mlx-community/pocket-tts-8bit",
|
|
63
|
+
PocketTTS_4bit = "mlx-community/pocket-tts-4bit",
|
|
64
|
+
GLM_ASR_Nano_4bit = "mlx-community/GLM-ASR-Nano-2512-4bit"
|
|
65
|
+
}
|
|
66
|
+
export declare const MLXModels: ModelInfo[];
|
|
67
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/models.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAExD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAE7C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,iBAAiB,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,oBAAY,QAAQ;IAElB,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IAGvE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IACvE,wBAAwB,2CAA2C;IACnE,wBAAwB,2CAA2C;IAGnE,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IAGjD,qBAAqB,wCAAwC;IAC7D,qBAAqB,wCAAwC;IAG7D,kBAAkB,qCAAqC;IACvD,kBAAkB,qCAAqC;IAGvD,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IAGvE,wBAAwB,2CAA2C;IACnE,wBAAwB,2CAA2C;IAGnE,yBAAyB,4CAA4C;IACrE,yBAAyB,4CAA4C;IAGrE,0BAA0B,6CAA6C;IACvE,0BAA0B,6CAA6C;IAGvE,iBAAiB,oCAAoC;IACrD,iBAAiB,oCAAoC;IACrD,eAAe,kCAAkC;IACjD,eAAe,kCAAkC;IAGjD,SAAS,6BAA6B;IACtC,cAAc,kCAAkC;IAChD,cAAc,kCAAkC;IAGhD,iBAAiB,yCAAyC;CAC3D;AAED,eAAO,MAAM,SAAS,EAAE,SAAS,EAiUhC,CAAA"}
|