cactus-react-native 1.7.0 → 1.10.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.
Files changed (52) hide show
  1. package/README.md +61 -0
  2. package/android/gradle.properties +1 -1
  3. package/android/src/main/jniLibs/arm64-v8a/libcactus.a +0 -0
  4. package/cpp/HybridCactus.cpp +49 -1
  5. package/cpp/HybridCactus.hpp +5 -0
  6. package/cpp/cactus_ffi.h +14 -1
  7. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_cloud.h +48 -0
  8. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +14 -1
  9. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_utils.h +304 -66
  10. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/engine.h +32 -4
  11. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/graph.h +75 -11
  12. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/kernel.h +123 -4
  13. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/kernel_utils.h +37 -3
  14. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
  15. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  16. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/cactus_cloud.h +48 -0
  17. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/cactus_ffi.h +14 -1
  18. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/cactus_utils.h +304 -66
  19. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/engine.h +32 -4
  20. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/graph.h +75 -11
  21. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/kernel.h +123 -4
  22. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/kernel_utils.h +37 -3
  23. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Info.plist +0 -0
  24. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
  25. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/cactus +0 -0
  26. package/lib/module/classes/CactusSTT.js +15 -0
  27. package/lib/module/classes/CactusSTT.js.map +1 -1
  28. package/lib/module/index.js +3 -0
  29. package/lib/module/index.js.map +1 -1
  30. package/lib/module/modelRegistry.js +27 -2
  31. package/lib/module/modelRegistry.js.map +1 -1
  32. package/lib/module/native/Cactus.js +18 -0
  33. package/lib/module/native/Cactus.js.map +1 -1
  34. package/lib/typescript/src/classes/CactusSTT.d.ts +2 -1
  35. package/lib/typescript/src/classes/CactusSTT.d.ts.map +1 -1
  36. package/lib/typescript/src/index.d.ts +2 -1
  37. package/lib/typescript/src/index.d.ts.map +1 -1
  38. package/lib/typescript/src/native/Cactus.d.ts +2 -1
  39. package/lib/typescript/src/native/Cactus.d.ts.map +1 -1
  40. package/lib/typescript/src/specs/Cactus.nitro.d.ts +1 -0
  41. package/lib/typescript/src/specs/Cactus.nitro.d.ts.map +1 -1
  42. package/lib/typescript/src/types/CactusSTT.d.ts +11 -0
  43. package/lib/typescript/src/types/CactusSTT.d.ts.map +1 -1
  44. package/nitrogen/generated/shared/c++/HybridCactusSpec.cpp +1 -0
  45. package/nitrogen/generated/shared/c++/HybridCactusSpec.hpp +1 -0
  46. package/package.json +1 -1
  47. package/src/classes/CactusSTT.ts +20 -0
  48. package/src/index.tsx +6 -0
  49. package/src/modelRegistry.ts +42 -2
  50. package/src/native/Cactus.ts +32 -0
  51. package/src/specs/Cactus.nitro.ts +5 -0
  52. package/src/types/CactusSTT.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","corpusDir","cacheIndex","complete","messages","responseBufferSize","options","tools","callback","messagesInternal","message","images","push","resizedImages","imagePath","resizedImage","resize","replace","messagesJson","JSON","stringify","optionsJson","temperature","top_p","topP","top_k","topK","max_tokens","maxTokens","stop_sequences","stopSequences","force_tools","forceTools","telemetry_enabled","telemetryEnabled","confidence_threshold","confidenceThreshold","tool_rag_top_k","toolRagTopK","include_stop_sequences","includeStopSequences","use_vad","useVad","undefined","toolsJson","response","parsed","parse","success","functionCalls","function_calls","cloudHandoff","cloud_handoff","confidence","timeToFirstTokenMs","time_to_first_token_ms","totalTimeMs","total_time_ms","prefillTokens","prefill_tokens","prefillTps","prefill_tps","decodeTokens","decode_tokens","decodeTps","decode_tps","totalTokens","total_tokens","ramUsageMb","ram_usage_mb","Error","tokenize","text","scoreWindow","tokens","start","end","context","logprob","transcribe","audio","prompt","cloud_handoff_threshold","cloudHandoffThreshold","streamTranscribeStart","confirmation_threshold","confirmationThreshold","min_chunk_size","minChunkSize","streamTranscribeProcess","confirmed","pending","bufferDurationMs","buffer_duration_ms","cloudResult","cloud_result","cloudJobId","cloud_job_id","cloudResultJobId","cloud_result_job_id","streamTranscribeStop","vad","threshold","neg_threshold","negThreshold","min_speech_duration_ms","minSpeechDurationMs","max_speech_duration_s","maxSpeechDurationS","min_silence_duration_ms","minSilenceDurationMs","speech_pad_ms","speechPadMs","window_size_samples","windowSizeSamples","sampling_rate","samplingRate","min_silence_at_max_speech","minSilenceAtMaxSpeech","use_max_poss_sil_at_max_speech","useMaxPossSilAtMaxSpeech","segments","map","s","totalTime","ramUsage","embed","embeddingBufferSize","normalize","imageEmbed","audioEmbed","audioPath","reset","stop","destroy","setTelemetryEnvironment","cacheDir"],"sourceRoot":"../../../src","sources":["native/Cactus.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,WAAW,QAAQ,kBAAe;AAgB3C,OAAO,MAAMC,MAAM,CAAC;EACDC,YAAY,GAC3BH,YAAY,CAACI,kBAAkB,CAAa,QAAQ,CAAC;EAEhDC,IAAIA,CACTC,SAAiB,EACjBC,SAAkB,EAClBC,UAAoB,EACL;IACf,OAAO,IAAI,CAACL,YAAY,CAACE,IAAI,CAACC,SAAS,EAAEC,SAAS,EAAEC,UAAU,IAAI,KAAK,CAAC;EAC1E;EAEA,MAAaC,QAAQA,CACnBC,QAA2B,EAC3BC,kBAA0B,EAC1BC,OAAiC,EACjCC,KAAsD,EACtDC,QAAmD,EAClB;IACjC,MAAMC,gBAAmC,GAAG,EAAE;IAC9C,KAAK,MAAMC,OAAO,IAAIN,QAAQ,EAAE;MAC9B,IAAI,CAACM,OAAO,CAACC,MAAM,EAAE;QACnBF,gBAAgB,CAACG,IAAI,CAACF,OAAO,CAAC;QAC9B;MACF;MAEA,MAAMG,aAAuB,GAAG,EAAE;MAClC,KAAK,MAAMC,SAAS,IAAIJ,OAAO,CAACC,MAAM,EAAE;QACtC,MAAMI,YAAY,GAAG,MAAMpB,WAAW,CAACqB,MAAM,CAC3CF,SAAS,CAACG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChC,GAAG,EACH,GAAG,EACH,CACF,CAAC;QACDJ,aAAa,CAACD,IAAI,CAACG,YAAY,CAAC;MAClC;MAEAN,gBAAgB,CAACG,IAAI,CAAC;QAAE,GAAGF,OAAO;QAAEC,MAAM,EAAEE;MAAc,CAAC,CAAC;IAC9D;IAEA,MAAMK,YAAY,GAAGC,IAAI,CAACC,SAAS,CAACX,gBAAgB,CAAC;IACrD,MAAMY,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbE,WAAW,EAAEhB,OAAO,CAACgB,WAAW;MAChCC,KAAK,EAAEjB,OAAO,CAACkB,IAAI;MACnBC,KAAK,EAAEnB,OAAO,CAACoB,IAAI;MACnBC,UAAU,EAAErB,OAAO,CAACsB,SAAS;MAC7BC,cAAc,EAAEvB,OAAO,CAACwB,aAAa;MACrCC,WAAW,EAAEzB,OAAO,CAAC0B,UAAU;MAC/BC,iBAAiB,EAAE3B,OAAO,CAAC4B,gBAAgB;MAC3CC,oBAAoB,EAAE7B,OAAO,CAAC8B,mBAAmB;MACjDC,cAAc,EAAE/B,OAAO,CAACgC,WAAW;MACnCC,sBAAsB,EAAEjC,OAAO,CAACkC,oBAAoB;MACpDC,OAAO,EAAEnC,OAAO,CAACoC;IACnB,CAAC,CAAC,GACFC,SAAS;IACb,MAAMC,SAAS,GAAGzB,IAAI,CAACC,SAAS,CAACb,KAAK,CAAC;IAEvC,MAAMsC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACM,QAAQ,CAC/Ce,YAAY,EACZb,kBAAkB,EAClBgB,WAAW,EACXuB,SAAS,EACTpC,QACF,CAAC;IAED,IAAI;MACF,MAAMsC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MAEnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvBH,QAAQ,EAAEC,MAAM,CAACD,QAAQ;QACzBI,aAAa,EAAEH,MAAM,CAACI,cAAc;QACpCC,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClCC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BC,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;IACxD;EACF;EAEOC,QAAQA,CAACC,IAAY,EAAqB;IAC/C,OAAO,IAAI,CAAC3E,YAAY,CAAC0E,QAAQ,CAACC,IAAI,CAAC;EACzC;EAEA,MAAaC,WAAWA,CACtBC,MAAgB,EAChBC,KAAa,EACbC,GAAW,EACXC,OAAe,EACE;IACjB,MAAMhC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAAC4E,WAAW,CAClDC,MAAM,EACNC,KAAK,EACLC,GAAG,EACHC,OACF,CAAC;IACD,IAAI;MACF,MAAM/B,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAOC,MAAM,CAACgC,OAAO;IACvB,CAAC,CAAC,MAAM;MACN,MAAM,IAAIR,KAAK,CAAC,uCAAuC,CAAC;IAC1D;EACF;EAEA,MAAaS,UAAUA,CACrBC,KAAwB,EACxBC,MAAc,EACd5E,kBAA0B,EAC1BC,OAAoC,EACpCE,QAAmD,EACf;IACpC,IAAI,OAAOwE,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGA,KAAK,CAAC/D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC;IAEA,MAAMI,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbE,WAAW,EAAEhB,OAAO,CAACgB,WAAW;MAChCC,KAAK,EAAEjB,OAAO,CAACkB,IAAI;MACnBC,KAAK,EAAEnB,OAAO,CAACoB,IAAI;MACnBC,UAAU,EAAErB,OAAO,CAACsB,SAAS;MAC7BC,cAAc,EAAEvB,OAAO,CAACwB,aAAa;MACrCW,OAAO,EAAEnC,OAAO,CAACoC,MAAM;MACvBT,iBAAiB,EAAE3B,OAAO,CAAC4B,gBAAgB;MAC3CC,oBAAoB,EAAE7B,OAAO,CAAC8B,mBAAmB;MACjD8C,uBAAuB,EAAE5E,OAAO,CAAC6E,qBAAqB;MACtD5C,sBAAsB,EAAEjC,OAAO,CAACkC;IAClC,CAAC,CAAC,GACFG,SAAS;IAEb,MAAME,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACkF,UAAU,CACjDC,KAAK,EACLC,MAAM,EACN5E,kBAAkB,EAClBgB,WAAW,EACXb,QACF,CAAC;IAED,IAAI;MACF,MAAMsC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MAEnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvBH,QAAQ,EAAEC,MAAM,CAACD,QAAQ;QACzBM,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClCC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BC,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;IAC3D;EACF;EAEOc,qBAAqBA,CAC1B9E,OAA+C,EAChC;IACf,MAAMe,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbiE,sBAAsB,EAAE/E,OAAO,CAACgF,qBAAqB;MACrDC,cAAc,EAAEjF,OAAO,CAACkF,YAAY;MACpCvD,iBAAiB,EAAE3B,OAAO,CAAC4B;IAC7B,CAAC,CAAC,GACFS,SAAS;IACb,OAAO,IAAI,CAAC9C,YAAY,CAACuF,qBAAqB,CAAC/D,WAAW,CAAC;EAC7D;EAEA,MAAaoE,uBAAuBA,CAClCT,KAAe,EACkC;IACjD,MAAMnC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAAC4F,uBAAuB,CAACT,KAAK,CAAC;IACvE,IAAI;MACF,MAAMlC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvB0C,SAAS,EAAE5C,MAAM,CAAC4C,SAAS;QAC3BC,OAAO,EAAE7C,MAAM,CAAC6C,OAAO;QACvBC,gBAAgB,EAAE9C,MAAM,CAAC+C,kBAAkB;QAC3CxC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BF,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClC0C,WAAW,EAAEhD,MAAM,CAACiD,YAAY;QAChCC,UAAU,EAAElD,MAAM,CAACmD,YAAY;QAC/BC,gBAAgB,EAAEpD,MAAM,CAACqD,mBAAmB;QAC5C7C,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;IACvE;EACF;EAEA,MAAa8B,oBAAoBA,CAAA,EAAiD;IAChF,MAAMvD,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACuG,oBAAoB,CAAC,CAAC;IAC/D,IAAI;MACF,MAAMtD,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QAAEG,OAAO,EAAEF,MAAM,CAACE,OAAO;QAAE0C,SAAS,EAAE5C,MAAM,CAAC4C;MAAU,CAAC;IACjE,CAAC,CAAC,MAAM;MACN,MAAM,IAAIpB,KAAK,CAAC,iDAAiD,CAAC;IACpE;EACF;EAEA,MAAa+B,GAAGA,CACdrB,KAAwB,EACxB1E,OAA0B,EACA;IAC1B,IAAI,OAAO0E,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGA,KAAK,CAAC/D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC;IACA,MAAMI,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbkF,SAAS,EAAEhG,OAAO,CAACgG,SAAS;MAC5BC,aAAa,EAAEjG,OAAO,CAACkG,YAAY;MACnCC,sBAAsB,EAAEnG,OAAO,CAACoG,mBAAmB;MACnDC,qBAAqB,EAAErG,OAAO,CAACsG,kBAAkB;MACjDC,uBAAuB,EAAEvG,OAAO,CAACwG,oBAAoB;MACrDC,aAAa,EAAEzG,OAAO,CAAC0G,WAAW;MAClCC,mBAAmB,EAAE3G,OAAO,CAAC4G,iBAAiB;MAC9CC,aAAa,EAAE7G,OAAO,CAAC8G,YAAY;MACnCC,yBAAyB,EAAE/G,OAAO,CAACgH,qBAAqB;MACxDC,8BAA8B,EAAEjH,OAAO,CAACkH;IAC1C,CAAC,CAAC,GACF7E,SAAS;IACb,MAAME,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACwG,GAAG,CAACrB,KAAK,EAAE,KAAK,EAAE3D,WAAW,CAAC;IACvE,IAAI;MACF,MAAMyB,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QACL4E,QAAQ,EAAE3E,MAAM,CAAC2E,QAAQ,CAACC,GAAG,CAAEC,CAAiC,KAAM;UACpEhD,KAAK,EAAEgD,CAAC,CAAChD,KAAK;UACdC,GAAG,EAAE+C,CAAC,CAAC/C;QACT,CAAC,CAAC,CAAC;QACHgD,SAAS,EAAE9E,MAAM,CAACW,aAAa;QAC/BoE,QAAQ,EAAE/E,MAAM,CAACuB;MACnB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;IACjD;EACF;EAEOwD,KAAKA,CACVtD,IAAY,EACZuD,mBAA2B,EAC3BC,SAAkB,EACC;IACnB,OAAO,IAAI,CAACnI,YAAY,CAACiI,KAAK,CAACtD,IAAI,EAAEuD,mBAAmB,EAAEC,SAAS,CAAC;EACtE;EAEA,MAAaC,UAAUA,CACrBnH,SAAiB,EACjBiH,mBAA2B,EACR;IACnB,MAAMhH,YAAY,GAAG,MAAMpB,WAAW,CAACqB,MAAM,CAC3CF,SAAS,CAACG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChC,GAAG,EACH,GAAG,EACH,CACF,CAAC;IACD,OAAO,IAAI,CAACpB,YAAY,CAACoI,UAAU,CAAClH,YAAY,EAAEgH,mBAAmB,CAAC;EACxE;EAEOG,UAAUA,CACfC,SAAiB,EACjBJ,mBAA2B,EACR;IACnB,OAAO,IAAI,CAAClI,YAAY,CAACqI,UAAU,CACjCC,SAAS,CAAClH,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChC8G,mBACF,CAAC;EACH;EAEOK,KAAKA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACvI,YAAY,CAACuI,KAAK,CAAC,CAAC;EAClC;EAEOC,IAAIA,CAAA,EAAkB;IAC3B,OAAO,IAAI,CAACxI,YAAY,CAACwI,IAAI,CAAC,CAAC;EACjC;EAEOC,OAAOA,CAAA,EAAkB;IAC9B,OAAO,IAAI,CAACzI,YAAY,CAACyI,OAAO,CAAC,CAAC;EACpC;EAEOC,uBAAuBA,CAACC,QAAgB,EAAiB;IAC9D,OAAO,IAAI,CAAC3I,YAAY,CAAC0I,uBAAuB,CAACC,QAAQ,CAAC;EAC5D;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","corpusDir","cacheIndex","complete","messages","responseBufferSize","options","tools","callback","messagesInternal","message","images","push","resizedImages","imagePath","resizedImage","resize","replace","messagesJson","JSON","stringify","optionsJson","temperature","top_p","topP","top_k","topK","max_tokens","maxTokens","stop_sequences","stopSequences","force_tools","forceTools","telemetry_enabled","telemetryEnabled","confidence_threshold","confidenceThreshold","tool_rag_top_k","toolRagTopK","include_stop_sequences","includeStopSequences","use_vad","useVad","undefined","toolsJson","response","parsed","parse","success","functionCalls","function_calls","cloudHandoff","cloud_handoff","confidence","timeToFirstTokenMs","time_to_first_token_ms","totalTimeMs","total_time_ms","prefillTokens","prefill_tokens","prefillTps","prefill_tps","decodeTokens","decode_tokens","decodeTps","decode_tps","totalTokens","total_tokens","ramUsageMb","ram_usage_mb","Error","tokenize","text","scoreWindow","tokens","start","end","context","logprob","transcribe","audio","prompt","cloud_handoff_threshold","cloudHandoffThreshold","streamTranscribeStart","confirmation_threshold","confirmationThreshold","min_chunk_size","minChunkSize","streamTranscribeProcess","confirmed","pending","bufferDurationMs","buffer_duration_ms","cloudResult","cloud_result","cloudJobId","cloud_job_id","cloudResultJobId","cloud_result_job_id","detectLanguage","language","streamTranscribeStop","vad","threshold","neg_threshold","negThreshold","min_speech_duration_ms","minSpeechDurationMs","max_speech_duration_s","maxSpeechDurationS","min_silence_duration_ms","minSilenceDurationMs","speech_pad_ms","speechPadMs","window_size_samples","windowSizeSamples","sampling_rate","samplingRate","min_silence_at_max_speech","minSilenceAtMaxSpeech","use_max_poss_sil_at_max_speech","useMaxPossSilAtMaxSpeech","segments","map","s","totalTime","ramUsage","embed","embeddingBufferSize","normalize","imageEmbed","audioEmbed","audioPath","reset","stop","destroy","setTelemetryEnvironment","cacheDir"],"sourceRoot":"../../../src","sources":["native/Cactus.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,WAAW,QAAQ,kBAAe;AAkB3C,OAAO,MAAMC,MAAM,CAAC;EACDC,YAAY,GAC3BH,YAAY,CAACI,kBAAkB,CAAa,QAAQ,CAAC;EAEhDC,IAAIA,CACTC,SAAiB,EACjBC,SAAkB,EAClBC,UAAoB,EACL;IACf,OAAO,IAAI,CAACL,YAAY,CAACE,IAAI,CAACC,SAAS,EAAEC,SAAS,EAAEC,UAAU,IAAI,KAAK,CAAC;EAC1E;EAEA,MAAaC,QAAQA,CACnBC,QAA2B,EAC3BC,kBAA0B,EAC1BC,OAAiC,EACjCC,KAAsD,EACtDC,QAAmD,EAClB;IACjC,MAAMC,gBAAmC,GAAG,EAAE;IAC9C,KAAK,MAAMC,OAAO,IAAIN,QAAQ,EAAE;MAC9B,IAAI,CAACM,OAAO,CAACC,MAAM,EAAE;QACnBF,gBAAgB,CAACG,IAAI,CAACF,OAAO,CAAC;QAC9B;MACF;MAEA,MAAMG,aAAuB,GAAG,EAAE;MAClC,KAAK,MAAMC,SAAS,IAAIJ,OAAO,CAACC,MAAM,EAAE;QACtC,MAAMI,YAAY,GAAG,MAAMpB,WAAW,CAACqB,MAAM,CAC3CF,SAAS,CAACG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChC,GAAG,EACH,GAAG,EACH,CACF,CAAC;QACDJ,aAAa,CAACD,IAAI,CAACG,YAAY,CAAC;MAClC;MAEAN,gBAAgB,CAACG,IAAI,CAAC;QAAE,GAAGF,OAAO;QAAEC,MAAM,EAAEE;MAAc,CAAC,CAAC;IAC9D;IAEA,MAAMK,YAAY,GAAGC,IAAI,CAACC,SAAS,CAACX,gBAAgB,CAAC;IACrD,MAAMY,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbE,WAAW,EAAEhB,OAAO,CAACgB,WAAW;MAChCC,KAAK,EAAEjB,OAAO,CAACkB,IAAI;MACnBC,KAAK,EAAEnB,OAAO,CAACoB,IAAI;MACnBC,UAAU,EAAErB,OAAO,CAACsB,SAAS;MAC7BC,cAAc,EAAEvB,OAAO,CAACwB,aAAa;MACrCC,WAAW,EAAEzB,OAAO,CAAC0B,UAAU;MAC/BC,iBAAiB,EAAE3B,OAAO,CAAC4B,gBAAgB;MAC3CC,oBAAoB,EAAE7B,OAAO,CAAC8B,mBAAmB;MACjDC,cAAc,EAAE/B,OAAO,CAACgC,WAAW;MACnCC,sBAAsB,EAAEjC,OAAO,CAACkC,oBAAoB;MACpDC,OAAO,EAAEnC,OAAO,CAACoC;IACnB,CAAC,CAAC,GACFC,SAAS;IACb,MAAMC,SAAS,GAAGzB,IAAI,CAACC,SAAS,CAACb,KAAK,CAAC;IAEvC,MAAMsC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACM,QAAQ,CAC/Ce,YAAY,EACZb,kBAAkB,EAClBgB,WAAW,EACXuB,SAAS,EACTpC,QACF,CAAC;IAED,IAAI;MACF,MAAMsC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MAEnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvBH,QAAQ,EAAEC,MAAM,CAACD,QAAQ;QACzBI,aAAa,EAAEH,MAAM,CAACI,cAAc;QACpCC,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClCC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BC,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;IACxD;EACF;EAEOC,QAAQA,CAACC,IAAY,EAAqB;IAC/C,OAAO,IAAI,CAAC3E,YAAY,CAAC0E,QAAQ,CAACC,IAAI,CAAC;EACzC;EAEA,MAAaC,WAAWA,CACtBC,MAAgB,EAChBC,KAAa,EACbC,GAAW,EACXC,OAAe,EACE;IACjB,MAAMhC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAAC4E,WAAW,CAClDC,MAAM,EACNC,KAAK,EACLC,GAAG,EACHC,OACF,CAAC;IACD,IAAI;MACF,MAAM/B,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAOC,MAAM,CAACgC,OAAO;IACvB,CAAC,CAAC,MAAM;MACN,MAAM,IAAIR,KAAK,CAAC,uCAAuC,CAAC;IAC1D;EACF;EAEA,MAAaS,UAAUA,CACrBC,KAAwB,EACxBC,MAAc,EACd5E,kBAA0B,EAC1BC,OAAoC,EACpCE,QAAmD,EACf;IACpC,IAAI,OAAOwE,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGA,KAAK,CAAC/D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC;IAEA,MAAMI,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbE,WAAW,EAAEhB,OAAO,CAACgB,WAAW;MAChCC,KAAK,EAAEjB,OAAO,CAACkB,IAAI;MACnBC,KAAK,EAAEnB,OAAO,CAACoB,IAAI;MACnBC,UAAU,EAAErB,OAAO,CAACsB,SAAS;MAC7BC,cAAc,EAAEvB,OAAO,CAACwB,aAAa;MACrCW,OAAO,EAAEnC,OAAO,CAACoC,MAAM;MACvBT,iBAAiB,EAAE3B,OAAO,CAAC4B,gBAAgB;MAC3CC,oBAAoB,EAAE7B,OAAO,CAAC8B,mBAAmB;MACjD8C,uBAAuB,EAAE5E,OAAO,CAAC6E,qBAAqB;MACtD5C,sBAAsB,EAAEjC,OAAO,CAACkC;IAClC,CAAC,CAAC,GACFG,SAAS;IAEb,MAAME,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACkF,UAAU,CACjDC,KAAK,EACLC,MAAM,EACN5E,kBAAkB,EAClBgB,WAAW,EACXb,QACF,CAAC;IAED,IAAI;MACF,MAAMsC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MAEnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvBH,QAAQ,EAAEC,MAAM,CAACD,QAAQ;QACzBM,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClCC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BC,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;IAC3D;EACF;EAEOc,qBAAqBA,CAC1B9E,OAA+C,EAChC;IACf,MAAMe,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACbiE,sBAAsB,EAAE/E,OAAO,CAACgF,qBAAqB;MACrDC,cAAc,EAAEjF,OAAO,CAACkF,YAAY;MACpCvD,iBAAiB,EAAE3B,OAAO,CAAC4B;IAC7B,CAAC,CAAC,GACFS,SAAS;IACb,OAAO,IAAI,CAAC9C,YAAY,CAACuF,qBAAqB,CAAC/D,WAAW,CAAC;EAC7D;EAEA,MAAaoE,uBAAuBA,CAClCT,KAAe,EACkC;IACjD,MAAMnC,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAAC4F,uBAAuB,CAACT,KAAK,CAAC;IACvE,IAAI;MACF,MAAMlC,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QACLG,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvB0C,SAAS,EAAE5C,MAAM,CAAC4C,SAAS;QAC3BC,OAAO,EAAE7C,MAAM,CAAC6C,OAAO;QACvBC,gBAAgB,EAAE9C,MAAM,CAAC+C,kBAAkB;QAC3CxC,UAAU,EAAEP,MAAM,CAACO,UAAU;QAC7BF,YAAY,EAAEL,MAAM,CAACM,aAAa;QAClC0C,WAAW,EAAEhD,MAAM,CAACiD,YAAY;QAChCC,UAAU,EAAElD,MAAM,CAACmD,YAAY;QAC/BC,gBAAgB,EAAEpD,MAAM,CAACqD,mBAAmB;QAC5C7C,kBAAkB,EAAER,MAAM,CAACS,sBAAsB;QACjDC,WAAW,EAAEV,MAAM,CAACW,aAAa;QACjCC,aAAa,EAAEZ,MAAM,CAACa,cAAc;QACpCC,UAAU,EAAEd,MAAM,CAACe,WAAW;QAC9BC,YAAY,EAAEhB,MAAM,CAACiB,aAAa;QAClCC,SAAS,EAAElB,MAAM,CAACmB,UAAU;QAC5BC,WAAW,EAAEpB,MAAM,CAACqB,YAAY;QAChCC,UAAU,EAAEtB,MAAM,CAACuB;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;IACvE;EACF;EAEA,MAAa8B,cAAcA,CACzBpB,KAAwB,EACxB1E,OAAwC,EACA;IACxC,IAAI,OAAO0E,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGA,KAAK,CAAC/D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC;IAEA,MAAMI,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MAAEqB,OAAO,EAAEnC,OAAO,CAACoC;IAAO,CAAC,CAAC,GAC3CC,SAAS;IAEb,MAAME,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACuG,cAAc,CACrDpB,KAAK,EACL,IAAI,EACJ3D,WACF,CAAC;IAED,IAAI;MACF,MAAMyB,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MAEnC,OAAO;QACLwD,QAAQ,EAAEvD,MAAM,CAACuD,QAAQ;QACzBhD,UAAU,EAAEP,MAAM,CAACO;MACrB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIiB,KAAK,CAAC,0CAA0C,CAAC;IAC7D;EACF;EAEA,MAAagC,oBAAoBA,CAAA,EAAiD;IAChF,MAAMzD,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAACyG,oBAAoB,CAAC,CAAC;IAC/D,IAAI;MACF,MAAMxD,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QAAEG,OAAO,EAAEF,MAAM,CAACE,OAAO;QAAE0C,SAAS,EAAE5C,MAAM,CAAC4C;MAAU,CAAC;IACjE,CAAC,CAAC,MAAM;MACN,MAAM,IAAIpB,KAAK,CAAC,iDAAiD,CAAC;IACpE;EACF;EAEA,MAAaiC,GAAGA,CACdvB,KAAwB,EACxB1E,OAA0B,EACA;IAC1B,IAAI,OAAO0E,KAAK,KAAK,QAAQ,EAAE;MAC7BA,KAAK,GAAGA,KAAK,CAAC/D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC;IACA,MAAMI,WAAW,GAAGf,OAAO,GACvBa,IAAI,CAACC,SAAS,CAAC;MACboF,SAAS,EAAElG,OAAO,CAACkG,SAAS;MAC5BC,aAAa,EAAEnG,OAAO,CAACoG,YAAY;MACnCC,sBAAsB,EAAErG,OAAO,CAACsG,mBAAmB;MACnDC,qBAAqB,EAAEvG,OAAO,CAACwG,kBAAkB;MACjDC,uBAAuB,EAAEzG,OAAO,CAAC0G,oBAAoB;MACrDC,aAAa,EAAE3G,OAAO,CAAC4G,WAAW;MAClCC,mBAAmB,EAAE7G,OAAO,CAAC8G,iBAAiB;MAC9CC,aAAa,EAAE/G,OAAO,CAACgH,YAAY;MACnCC,yBAAyB,EAAEjH,OAAO,CAACkH,qBAAqB;MACxDC,8BAA8B,EAAEnH,OAAO,CAACoH;IAC1C,CAAC,CAAC,GACF/E,SAAS;IACb,MAAME,QAAQ,GAAG,MAAM,IAAI,CAAChD,YAAY,CAAC0G,GAAG,CAACvB,KAAK,EAAE,KAAK,EAAE3D,WAAW,CAAC;IACvE,IAAI;MACF,MAAMyB,MAAM,GAAG3B,IAAI,CAAC4B,KAAK,CAACF,QAAQ,CAAC;MACnC,OAAO;QACL8E,QAAQ,EAAE7E,MAAM,CAAC6E,QAAQ,CAACC,GAAG,CAAEC,CAAiC,KAAM;UACpElD,KAAK,EAAEkD,CAAC,CAAClD,KAAK;UACdC,GAAG,EAAEiD,CAAC,CAACjD;QACT,CAAC,CAAC,CAAC;QACHkD,SAAS,EAAEhF,MAAM,CAACW,aAAa;QAC/BsE,QAAQ,EAAEjF,MAAM,CAACuB;MACnB,CAAC;IACH,CAAC,CAAC,MAAM;MACN,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;IACjD;EACF;EAEO0D,KAAKA,CACVxD,IAAY,EACZyD,mBAA2B,EAC3BC,SAAkB,EACC;IACnB,OAAO,IAAI,CAACrI,YAAY,CAACmI,KAAK,CAACxD,IAAI,EAAEyD,mBAAmB,EAAEC,SAAS,CAAC;EACtE;EAEA,MAAaC,UAAUA,CACrBrH,SAAiB,EACjBmH,mBAA2B,EACR;IACnB,MAAMlH,YAAY,GAAG,MAAMpB,WAAW,CAACqB,MAAM,CAC3CF,SAAS,CAACG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChC,GAAG,EACH,GAAG,EACH,CACF,CAAC;IACD,OAAO,IAAI,CAACpB,YAAY,CAACsI,UAAU,CAACpH,YAAY,EAAEkH,mBAAmB,CAAC;EACxE;EAEOG,UAAUA,CACfC,SAAiB,EACjBJ,mBAA2B,EACR;IACnB,OAAO,IAAI,CAACpI,YAAY,CAACuI,UAAU,CACjCC,SAAS,CAACpH,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAChCgH,mBACF,CAAC;EACH;EAEOK,KAAKA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACzI,YAAY,CAACyI,KAAK,CAAC,CAAC;EAClC;EAEOC,IAAIA,CAAA,EAAkB;IAC3B,OAAO,IAAI,CAAC1I,YAAY,CAAC0I,IAAI,CAAC,CAAC;EACjC;EAEOC,OAAOA,CAAA,EAAkB;IAC9B,OAAO,IAAI,CAAC3I,YAAY,CAAC2I,OAAO,CAAC,CAAC;EACpC;EAEOC,uBAAuBA,CAACC,QAAgB,EAAiB;IAC9D,OAAO,IAAI,CAAC7I,YAAY,CAAC4I,uBAAuB,CAACC,QAAQ,CAAC;EAC5D;AACF","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { CactusSTTDownloadParams, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessParams, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult } from '../types/CactusSTT';
1
+ import type { CactusSTTDownloadParams, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessParams, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult, CactusSTTDetectLanguageParams, CactusSTTDetectLanguageResult } from '../types/CactusSTT';
2
2
  import type { CactusModel } from '../types/common';
3
3
  export declare class CactusSTT {
4
4
  private readonly cactus;
@@ -20,6 +20,7 @@ export declare class CactusSTT {
20
20
  streamTranscribeStart(options?: CactusSTTStreamTranscribeStartOptions): Promise<void>;
21
21
  streamTranscribeProcess({ audio, }: CactusSTTStreamTranscribeProcessParams): Promise<CactusSTTStreamTranscribeProcessResult>;
22
22
  streamTranscribeStop(): Promise<CactusSTTStreamTranscribeStopResult>;
23
+ detectLanguage({ audio, options, }: CactusSTTDetectLanguageParams): Promise<CactusSTTDetectLanguageResult>;
23
24
  audioEmbed({ audioPath, }: CactusSTTAudioEmbedParams): Promise<CactusSTTAudioEmbedResult>;
24
25
  stop(): Promise<void>;
25
26
  reset(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusSTT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;IAEF,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAGpC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACyB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAE9C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAE1C,EAAE,KAAK,EAAE,OAAO,EAAE,GAAE,eAAoB;IASvC,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrB,UAAU,CAAC,EACtB,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4BpD,qBAAqB,CAChC,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAUH,uBAAuB,CAAC,EACnC,KAAK,GACN,EAAE,sCAAsC,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAQ9E,oBAAoB,IAAI,OAAO,CAAC,mCAAmC,CAAC;IAYpE,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIhD,OAAO,CAAC,WAAW;IAIZ,YAAY,IAAI,MAAM;CAG9B"}
1
+ {"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusSTT.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,sCAAsC,EACtC,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGtB;IAEF,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAGpC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACyB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAE9C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAE1C,EAAE,KAAK,EAAE,OAAO,EAAE,GAAE,eAAoB;IASvC,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrB,UAAU,CAAC,EACtB,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4BpD,qBAAqB,CAChC,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAUH,uBAAuB,CAAC,EACnC,KAAK,GACN,EAAE,sCAAsC,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAQ9E,oBAAoB,IAAI,OAAO,CAAC,mCAAmC,CAAC;IAYpE,cAAc,CAAC,EAC1B,KAAK,EACL,OAAO,GACR,EAAE,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAe5D,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIhD,OAAO,CAAC,WAAW;IAIZ,YAAY,IAAI,MAAM;CAG9B"}
@@ -6,9 +6,10 @@ export { useCactusLM } from './hooks/useCactusLM';
6
6
  export { useCactusSTT } from './hooks/useCactusSTT';
7
7
  export { useCactusVAD } from './hooks/useCactusVAD';
8
8
  export { useCactusIndex } from './hooks/useCactusIndex';
9
+ export { getRegistry } from './modelRegistry';
9
10
  export type { CactusModel, CactusModelOptions } from './types/common';
10
11
  export type { CactusLMParams, CactusLMDownloadParams, CactusLMMessage, CactusLMCompleteOptions, CactusLMTool, CactusLMCompleteParams, CactusLMCompleteResult, CactusLMTokenizeParams, CactusLMTokenizeResult, CactusLMScoreWindowParams, CactusLMScoreWindowResult, CactusLMEmbedParams, CactusLMEmbedResult, CactusLMImageEmbedParams, CactusLMImageEmbedResult, } from './types/CactusLM';
11
- export type { CactusSTTParams, CactusSTTDownloadParams, CactusSTTTranscribeOptions, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessParams, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult, } from './types/CactusSTT';
12
+ export type { CactusSTTParams, CactusSTTDownloadParams, CactusSTTTranscribeOptions, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessParams, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult, CactusSTTDetectLanguageOptions, CactusSTTDetectLanguageParams, CactusSTTDetectLanguageResult, } from './types/CactusSTT';
12
13
  export type { CactusVADParams, CactusVADDownloadParams, CactusVADVadParams, CactusVADOptions, CactusVADSegment, CactusVADResult, } from './types/CactusVAD';
13
14
  export type { CactusIndexParams, CactusIndexAddParams, CactusIndexGetParams, CactusIndexGetResult, CactusIndexQueryOptions, CactusIndexQueryParams, CactusIndexQueryResult, CactusIndexDeleteParams, } from './types/CactusIndex';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACtE,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,EACrC,sCAAsC,EACtC,sCAAsC,EACtC,mCAAmC,EACnC,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { CactusLMCompleteResult, CactusLMMessage, CactusLMCompleteOptions, CactusLMTool } from '../types/CactusLM';
2
- import type { CactusSTTTranscribeResult, CactusSTTTranscribeOptions, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult } from '../types/CactusSTT';
2
+ import type { CactusSTTTranscribeResult, CactusSTTTranscribeOptions, CactusSTTStreamTranscribeStartOptions, CactusSTTStreamTranscribeProcessResult, CactusSTTStreamTranscribeStopResult, CactusSTTDetectLanguageOptions, CactusSTTDetectLanguageResult } from '../types/CactusSTT';
3
3
  import type { CactusVADOptions, CactusVADResult } from '../types/CactusVAD';
4
4
  export declare class Cactus {
5
5
  private readonly hybridCactus;
@@ -13,6 +13,7 @@ export declare class Cactus {
13
13
  transcribe(audio: string | number[], prompt: string, responseBufferSize: number, options?: CactusSTTTranscribeOptions, callback?: (token: string, tokenId: number) => void): Promise<CactusSTTTranscribeResult>;
14
14
  streamTranscribeStart(options?: CactusSTTStreamTranscribeStartOptions): Promise<void>;
15
15
  streamTranscribeProcess(audio: number[]): Promise<CactusSTTStreamTranscribeProcessResult>;
16
+ detectLanguage(audio: string | number[], options?: CactusSTTDetectLanguageOptions): Promise<CactusSTTDetectLanguageResult>;
16
17
  streamTranscribeStop(): Promise<CactusSTTStreamTranscribeStopResult>;
17
18
  vad(audio: string | number[], options?: CactusVADOptions): Promise<CactusVADResult>;
18
19
  embed(text: string, embeddingBufferSize: number, normalize: boolean): Promise<number[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,qCAAqC,EACrC,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5E,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,eAAe,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,uBAAuB,EACjC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,EAAE,EACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;IAuE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,WAAW,CACtB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAeL,UAAU,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,0BAA0B,EACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAkD9B,qBAAqB,CAC1B,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAWH,uBAAuB,CAClC,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,sCAAsC,CAAC;IA4BrC,oBAAoB,IAAI,OAAO,CAAC,mCAAmC,CAAC;IAUpE,GAAG,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IAkCpB,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAIP,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUb,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAOb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
1
+ {"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,qCAAqC,EACrC,sCAAsC,EACtC,mCAAmC,EACnC,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5E,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,eAAe,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,uBAAuB,EACjC,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,EAAE,EACtD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;IAuE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,WAAW,CACtB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAeL,UAAU,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,0BAA0B,EACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAkD9B,qBAAqB,CAC1B,OAAO,CAAC,EAAE,qCAAqC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAWH,uBAAuB,CAClC,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,sCAAsC,CAAC;IA4BrC,cAAc,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,8BAA8B,GACvC,OAAO,CAAC,6BAA6B,CAAC;IA2B5B,oBAAoB,IAAI,OAAO,CAAC,mCAAmC,CAAC;IAUpE,GAAG,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IAkCpB,KAAK,CACV,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAIP,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAUb,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IAOb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -8,6 +8,7 @@ export interface Cactus extends HybridObject<{
8
8
  tokenize(text: string): Promise<number[]>;
9
9
  scoreWindow(tokens: number[], start: number, end: number, context: number): Promise<string>;
10
10
  transcribe(audio: string | number[], prompt: string, responseBufferSize: number, optionsJson?: string, callback?: (token: string, tokenId: number) => void): Promise<string>;
11
+ detectLanguage(audio: string | number[], responseBufferSize: number, optionsJson?: string): Promise<string>;
11
12
  streamTranscribeStart(optionsJson?: string): Promise<void>;
12
13
  streamTranscribeProcess(audio: number[]): Promise<string>;
13
14
  streamTranscribeStop(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"Cactus.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/Cactus.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,MAAO,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC1E,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CACN,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,CACT,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,GAAG,CACD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
1
+ {"version":3,"file":"Cactus.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/Cactus.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,MAAO,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;IAC1E,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CACN,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,CACT,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,cAAc,CACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,GAAG,CACD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
@@ -75,4 +75,15 @@ export interface CactusSTTStreamTranscribeStopResult {
75
75
  success: boolean;
76
76
  confirmed: string;
77
77
  }
78
+ export interface CactusSTTDetectLanguageOptions {
79
+ useVad?: boolean;
80
+ }
81
+ export interface CactusSTTDetectLanguageParams {
82
+ audio: string | number[];
83
+ options?: CactusSTTDetectLanguageOptions;
84
+ }
85
+ export interface CactusSTTDetectLanguageResult {
86
+ language: string;
87
+ confidence?: number;
88
+ }
78
89
  //# sourceMappingURL=CactusSTT.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusSTT.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ namespace margelo::nitro::cactus {
19
19
  prototype.registerHybridMethod("tokenize", &HybridCactusSpec::tokenize);
20
20
  prototype.registerHybridMethod("scoreWindow", &HybridCactusSpec::scoreWindow);
21
21
  prototype.registerHybridMethod("transcribe", &HybridCactusSpec::transcribe);
22
+ prototype.registerHybridMethod("detectLanguage", &HybridCactusSpec::detectLanguage);
22
23
  prototype.registerHybridMethod("streamTranscribeStart", &HybridCactusSpec::streamTranscribeStart);
23
24
  prototype.registerHybridMethod("streamTranscribeProcess", &HybridCactusSpec::streamTranscribeProcess);
24
25
  prototype.registerHybridMethod("streamTranscribeStop", &HybridCactusSpec::streamTranscribeStop);
@@ -58,6 +58,7 @@ namespace margelo::nitro::cactus {
58
58
  virtual std::shared_ptr<Promise<std::vector<double>>> tokenize(const std::string& text) = 0;
59
59
  virtual std::shared_ptr<Promise<std::string>> scoreWindow(const std::vector<double>& tokens, double start, double end, double context) = 0;
60
60
  virtual std::shared_ptr<Promise<std::string>> transcribe(const std::variant<std::vector<double>, std::string>& audio, const std::string& prompt, double responseBufferSize, const std::optional<std::string>& optionsJson, const std::optional<std::function<void(const std::string& /* token */, double /* tokenId */)>>& callback) = 0;
61
+ virtual std::shared_ptr<Promise<std::string>> detectLanguage(const std::variant<std::vector<double>, std::string>& audio, double responseBufferSize, const std::optional<std::string>& optionsJson) = 0;
61
62
  virtual std::shared_ptr<Promise<void>> streamTranscribeStart(const std::optional<std::string>& optionsJson) = 0;
62
63
  virtual std::shared_ptr<Promise<std::string>> streamTranscribeProcess(const std::vector<double>& audio) = 0;
63
64
  virtual std::shared_ptr<Promise<std::string>> streamTranscribeStop() = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cactus-react-native",
3
- "version": "1.7.0",
3
+ "version": "1.10.1",
4
4
  "description": "Run AI models locally on mobile devices",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -10,6 +10,8 @@ import type {
10
10
  CactusSTTStreamTranscribeProcessParams,
11
11
  CactusSTTStreamTranscribeProcessResult,
12
12
  CactusSTTStreamTranscribeStopResult,
13
+ CactusSTTDetectLanguageParams,
14
+ CactusSTTDetectLanguageResult,
13
15
  } from '../types/CactusSTT';
14
16
  import { getRegistry } from '../modelRegistry';
15
17
  import type { CactusModel } from '../types/common';
@@ -179,6 +181,24 @@ export class CactusSTT {
179
181
  }
180
182
  }
181
183
 
184
+ public async detectLanguage({
185
+ audio,
186
+ options,
187
+ }: CactusSTTDetectLanguageParams): Promise<CactusSTTDetectLanguageResult> {
188
+ if (this.isGenerating) {
189
+ throw new Error('CactusSTT is already generating');
190
+ }
191
+
192
+ await this.init();
193
+
194
+ this.isGenerating = true;
195
+ try {
196
+ return await this.cactus.detectLanguage(audio, options);
197
+ } finally {
198
+ this.isGenerating = false;
199
+ }
200
+ }
201
+
182
202
  public async audioEmbed({
183
203
  audioPath,
184
204
  }: CactusSTTAudioEmbedParams): Promise<CactusSTTAudioEmbedResult> {
package/src/index.tsx CHANGED
@@ -10,6 +10,9 @@ export { useCactusSTT } from './hooks/useCactusSTT';
10
10
  export { useCactusVAD } from './hooks/useCactusVAD';
11
11
  export { useCactusIndex } from './hooks/useCactusIndex';
12
12
 
13
+ // Registry
14
+ export { getRegistry } from './modelRegistry';
15
+
13
16
  // Types
14
17
  export type { CactusModel, CactusModelOptions } from './types/common';
15
18
  export type {
@@ -41,6 +44,9 @@ export type {
41
44
  CactusSTTStreamTranscribeProcessParams,
42
45
  CactusSTTStreamTranscribeProcessResult,
43
46
  CactusSTTStreamTranscribeStopResult,
47
+ CactusSTTDetectLanguageOptions,
48
+ CactusSTTDetectLanguageParams,
49
+ CactusSTTDetectLanguageResult,
44
50
  } from './types/CactusSTT';
45
51
  export type {
46
52
  CactusVADParams,
@@ -1,6 +1,6 @@
1
1
  import type { CactusModel } from './types/common';
2
2
 
3
- const VERSION = 'v1.7';
3
+ const RUNTIME_VERSION = '1.10.1';
4
4
 
5
5
  let registryPromise: Promise<{ [key: string]: CactusModel }> | null = null;
6
6
 
@@ -8,6 +8,39 @@ export function getRegistry(): Promise<{ [key: string]: CactusModel }> {
8
8
  return (registryPromise ??= fetchRegistry());
9
9
  }
10
10
 
11
+ function parseVersionTag(tag: string): [number, number, number] | null {
12
+ const m = tag.match(/^v(\d+)\.(\d+)(?:\.(\d+))?$/);
13
+ if (!m) return null;
14
+ return [+m[1]!, +m[2]!, +(m[3] ?? '0')];
15
+ }
16
+
17
+ function compareVersions(
18
+ a: [number, number, number],
19
+ b: [number, number, number]
20
+ ): number {
21
+ return a[0] - b[0] || a[1] - b[1] || a[2] - b[2];
22
+ }
23
+
24
+ async function resolveWeightVersion(modelId: string): Promise<string> {
25
+ const runtime = parseVersionTag(`v${RUNTIME_VERSION}`);
26
+ if (!runtime) throw new Error(`Invalid runtime version: ${RUNTIME_VERSION}`);
27
+
28
+ const res = await fetch(`https://huggingface.co/api/models/${modelId}/refs`);
29
+ if (!res.ok)
30
+ throw new Error(`Failed to fetch refs for ${modelId}: ${res.status}`);
31
+
32
+ const { tags = [] } = (await res.json()) as { tags: { name: string }[] };
33
+
34
+ const compatible = tags
35
+ .map((t) => t.name)
36
+ .filter((name) => parseVersionTag(name) !== null)
37
+ .filter((name) => compareVersions(parseVersionTag(name)!, runtime) <= 0)
38
+ .sort((a, b) => compareVersions(parseVersionTag(b)!, parseVersionTag(a)!));
39
+
40
+ if (!compatible.length) throw new Error('No compatible weight version found');
41
+ return compatible[0]!;
42
+ }
43
+
11
44
  async function fetchRegistry(): Promise<{ [key: string]: CactusModel }> {
12
45
  const response = await fetch(
13
46
  'https://huggingface.co/api/models?author=Cactus-Compute&full=true'
@@ -21,6 +54,13 @@ async function fetchRegistry(): Promise<{ [key: string]: CactusModel }> {
21
54
  }
22
55
 
23
56
  const models: any[] = await response.json();
57
+ if (!models.length) return {};
58
+
59
+ const version = await resolveWeightVersion(models[0]!.id).catch((e) => {
60
+ registryPromise = null;
61
+ throw e;
62
+ });
63
+
24
64
  const registry: { [key: string]: CactusModel } = {};
25
65
 
26
66
  for (const { id, siblings = [] } of models) {
@@ -39,7 +79,7 @@ async function fetchRegistry(): Promise<{ [key: string]: CactusModel }> {
39
79
  .replace('weights/', '')
40
80
  .replace('-int4.zip', '');
41
81
 
42
- const base = `https://huggingface.co/${id}/resolve/${VERSION}/weights/${key}`;
82
+ const base = `https://huggingface.co/${id}/resolve/${version}/weights/${key}`;
43
83
 
44
84
  registry[key] = {
45
85
  quantization: {
@@ -13,6 +13,8 @@ import type {
13
13
  CactusSTTStreamTranscribeStartOptions,
14
14
  CactusSTTStreamTranscribeProcessResult,
15
15
  CactusSTTStreamTranscribeStopResult,
16
+ CactusSTTDetectLanguageOptions,
17
+ CactusSTTDetectLanguageResult,
16
18
  } from '../types/CactusSTT';
17
19
  import type { CactusVADOptions, CactusVADResult } from '../types/CactusVAD';
18
20
 
@@ -228,6 +230,36 @@ export class Cactus {
228
230
  }
229
231
  }
230
232
 
233
+ public async detectLanguage(
234
+ audio: string | number[],
235
+ options?: CactusSTTDetectLanguageOptions
236
+ ): Promise<CactusSTTDetectLanguageResult> {
237
+ if (typeof audio === 'string') {
238
+ audio = audio.replace('file://', '');
239
+ }
240
+
241
+ const optionsJson = options
242
+ ? JSON.stringify({ use_vad: options.useVad })
243
+ : undefined;
244
+
245
+ const response = await this.hybridCactus.detectLanguage(
246
+ audio,
247
+ 1024,
248
+ optionsJson
249
+ );
250
+
251
+ try {
252
+ const parsed = JSON.parse(response);
253
+
254
+ return {
255
+ language: parsed.language,
256
+ confidence: parsed.confidence,
257
+ };
258
+ } catch {
259
+ throw new Error('Unable to parse detect language response');
260
+ }
261
+ }
262
+
231
263
  public async streamTranscribeStop(): Promise<CactusSTTStreamTranscribeStopResult> {
232
264
  const response = await this.hybridCactus.streamTranscribeStop();
233
265
  try {
@@ -27,6 +27,11 @@ export interface Cactus extends HybridObject<{ ios: 'c++'; android: 'c++' }> {
27
27
  optionsJson?: string,
28
28
  callback?: (token: string, tokenId: number) => void
29
29
  ): Promise<string>;
30
+ detectLanguage(
31
+ audio: string | number[],
32
+ responseBufferSize: number,
33
+ optionsJson?: string
34
+ ): Promise<string>;
30
35
  streamTranscribeStart(optionsJson?: string): Promise<void>;
31
36
  streamTranscribeProcess(audio: number[]): Promise<string>;
32
37
  streamTranscribeStop(): Promise<string>;
@@ -86,3 +86,17 @@ export interface CactusSTTStreamTranscribeStopResult {
86
86
  success: boolean;
87
87
  confirmed: string;
88
88
  }
89
+
90
+ export interface CactusSTTDetectLanguageOptions {
91
+ useVad?: boolean;
92
+ }
93
+
94
+ export interface CactusSTTDetectLanguageParams {
95
+ audio: string | number[];
96
+ options?: CactusSTTDetectLanguageOptions;
97
+ }
98
+
99
+ export interface CactusSTTDetectLanguageResult {
100
+ language: string;
101
+ confidence?: number;
102
+ }