cactus-react-native 1.1.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.
Files changed (49) hide show
  1. package/README.md +23 -10
  2. package/android/src/main/java/com/margelo/nitro/cactus/HybridCactusFileSystem.kt +1 -3
  3. package/android/src/main/jniLibs/arm64-v8a/libcactus.a +0 -0
  4. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/engine.h +2 -2
  5. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/graph.h +46 -6
  6. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  7. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/engine.h +2 -2
  8. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/graph.h +46 -6
  9. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/cactus +0 -0
  10. package/lib/module/api/Database.js +45 -0
  11. package/lib/module/api/Database.js.map +1 -1
  12. package/lib/module/classes/CactusLM.js +0 -5
  13. package/lib/module/classes/CactusLM.js.map +1 -1
  14. package/lib/module/classes/CactusSTT.js +8 -10
  15. package/lib/module/classes/CactusSTT.js.map +1 -1
  16. package/lib/module/constants/packageVersion.js +1 -1
  17. package/lib/module/hooks/useCactusSTT.js +7 -7
  18. package/lib/module/hooks/useCactusSTT.js.map +1 -1
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/native/Cactus.js +8 -3
  21. package/lib/module/native/Cactus.js.map +1 -1
  22. package/lib/module/types/CactusSTTModel.js +2 -0
  23. package/lib/module/types/CactusSTTModel.js.map +1 -0
  24. package/lib/typescript/src/api/Database.d.ts +3 -0
  25. package/lib/typescript/src/api/Database.d.ts.map +1 -1
  26. package/lib/typescript/src/classes/CactusLM.d.ts +0 -1
  27. package/lib/typescript/src/classes/CactusLM.d.ts.map +1 -1
  28. package/lib/typescript/src/classes/CactusSTT.d.ts +3 -3
  29. package/lib/typescript/src/classes/CactusSTT.d.ts.map +1 -1
  30. package/lib/typescript/src/constants/packageVersion.d.ts +1 -1
  31. package/lib/typescript/src/hooks/useCactusSTT.d.ts +3 -3
  32. package/lib/typescript/src/hooks/useCactusSTT.d.ts.map +1 -1
  33. package/lib/typescript/src/index.d.ts +1 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/lib/typescript/src/native/Cactus.d.ts.map +1 -1
  36. package/lib/typescript/src/types/CactusModel.d.ts +1 -0
  37. package/lib/typescript/src/types/CactusModel.d.ts.map +1 -1
  38. package/lib/typescript/src/types/CactusSTTModel.d.ts +8 -0
  39. package/lib/typescript/src/types/CactusSTTModel.d.ts.map +1 -0
  40. package/package.json +1 -1
  41. package/src/api/Database.ts +66 -0
  42. package/src/classes/CactusLM.ts +0 -6
  43. package/src/classes/CactusSTT.ts +14 -13
  44. package/src/constants/packageVersion.ts +1 -1
  45. package/src/hooks/useCactusSTT.ts +9 -9
  46. package/src/index.tsx +1 -0
  47. package/src/native/Cactus.ts +11 -3
  48. package/src/types/CactusModel.ts +1 -0
  49. package/src/types/CactusSTTModel.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","useRef","CactusSTT","CactusFileSystem","getErrorMessage","useCactusSTT","model","contextSize","cactusSTT","setCactusSTT","response","setResponse","isGenerating","setIsGenerating","isInitializing","setIsInitializing","isDownloaded","setIsDownloaded","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","error","setError","currentModelRef","currentDownloadIdRef","current","mounted","modelExists","then","exists","catch","e","destroy","download","onProgress","message","Error","thisModel","thisDownloadId","progress","init","transcribe","audioFilePath","prompt","options","onToken","token","prev","audioEmbed","audioPath","stop","reset","getModels"],"sourceRoot":"../../../src","sources":["hooks/useCactusSTT.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useRef","CactusSTT","CactusFileSystem","getErrorMessage","useCactusSTT","model","contextSize","cactusSTT","setCactusSTT","transcription","setTranscription","isGenerating","setIsGenerating","isInitializing","setIsInitializing","isDownloaded","setIsDownloaded","isDownloading","setIsDownloading","downloadProgress","setDownloadProgress","error","setError","currentModelRef","currentDownloadIdRef","current","mounted","modelExists","then","exists","catch","e","destroy","download","onProgress","message","Error","thisModel","thisDownloadId","progress","init","transcribe","audioFilePath","prompt","options","onToken","token","prev","audioEmbed","audioPath","stop","reset","getModels"],"sourceRoot":"../../../src","sources":["hooks/useCactusSTT.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CactusLM","CactusSTT","useCactusLM","useCactusSTT","CactusConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,SAAS,QAAQ,wBAAqB;;AAE/C;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;;AAEnD;;AAyBA;AACA,SAASC,YAAY,QAAQ,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":["CactusLM","CactusSTT","useCactusLM","useCactusSTT","CactusConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,SAAS,QAAQ,wBAAqB;;AAE/C;AACA,SAASC,WAAW,QAAQ,wBAAqB;AACjD,SAASC,YAAY,QAAQ,yBAAsB;;AAEnD;;AA0BA;AACA,SAASC,YAAY,QAAQ,0BAAuB","ignoreList":[]}
@@ -9,9 +9,14 @@ export class Cactus {
9
9
  }
10
10
  async complete(messages, responseBufferSize, options, tools, callback) {
11
11
  const messagesInternal = [];
12
- for (const message of messages) {
13
- if (!message.images) {
14
- messagesInternal.push(message);
12
+ for (let i = 0; i < messages.length; i++) {
13
+ const message = messages[i];
14
+ const isLastMessage = i === messages.length - 1;
15
+ if (!message.images || !isLastMessage) {
16
+ messagesInternal.push({
17
+ ...message,
18
+ images: undefined
19
+ });
15
20
  continue;
16
21
  }
17
22
  const resizedImages = [];
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","contextSize","corpusDir","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","undefined","toolsJson","response","parsed","parse","success","functionCalls","function_calls","timeToFirstTokenMs","time_to_first_token_ms","totalTimeMs","total_time_ms","tokensPerSecond","tokens_per_second","prefillTokens","prefill_tokens","decodeTokens","decode_tokens","totalTokens","total_tokens","Error","transcribe","audioFilePath","prompt","embed","text","embeddingBufferSize","imageEmbed","audioEmbed","audioPath","reset","stop","destroy"],"sourceRoot":"../../../src","sources":["native/Cactus.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","CactusImage","Cactus","hybridCactus","createHybridObject","init","modelPath","contextSize","corpusDir","complete","messages","responseBufferSize","options","tools","callback","messagesInternal","i","length","message","isLastMessage","images","push","undefined","resizedImages","imagePath","resizedImage","resize","replace","messagesJson","JSON","stringify","optionsJson","temperature","top_p","topP","top_k","topK","max_tokens","maxTokens","stop_sequences","stopSequences","toolsJson","response","parsed","parse","success","functionCalls","function_calls","timeToFirstTokenMs","time_to_first_token_ms","totalTimeMs","total_time_ms","tokensPerSecond","tokens_per_second","prefillTokens","prefill_tokens","decodeTokens","decode_tokens","totalTokens","total_tokens","Error","transcribe","audioFilePath","prompt","embed","text","embeddingBufferSize","imageEmbed","audioEmbed","audioPath","reset","stop","destroy"],"sourceRoot":"../../../src","sources":["native/Cactus.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=CactusSTTModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/CactusSTTModel.ts"],"mappings":"","ignoreList":[]}
@@ -1,12 +1,15 @@
1
1
  import type { DeviceInfo } from '../specs/CactusDeviceInfo.nitro';
2
2
  import type { LogRecord } from '../telemetry/Telemetry';
3
3
  import type { CactusModel } from '../types/CactusModel';
4
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
4
5
  export declare class Database {
5
6
  private static readonly url;
6
7
  private static readonly key;
7
8
  static sendLogRecords(records: LogRecord[]): Promise<void>;
8
9
  static registerDevice(device_data: DeviceInfo): Promise<string>;
9
10
  static getModel(slug: string): Promise<CactusModel>;
11
+ static getSTTModel(slug: string): Promise<CactusSTTModel>;
10
12
  static getModels(): Promise<CactusModel[]>;
13
+ static getSTTModels(): Promise<CactusSTTModel[]>;
11
14
  }
12
15
  //# sourceMappingURL=Database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../../src/api/Database.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAaxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAA8C;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC0L;WAEjM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAkBnD,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;WAgBxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;WA2B5C,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CA0BxD"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../../src/api/Database.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAqB9D,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAA8C;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC0L;WAEjM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;WAkBnD,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;WAgBxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;WA4B5C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;WA+BlD,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;WA4BnC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAuB9D"}
@@ -13,7 +13,6 @@ export declare class CactusLM {
13
13
  private static readonly defaultCompleteOptions;
14
14
  private static readonly defaultCompleteMode;
15
15
  private static readonly defaultEmbedBufferSize;
16
- private static cactusModelsCache;
17
16
  constructor({ model, contextSize, corpusDir }?: CactusLMParams);
18
17
  download({ onProgress, }?: CactusLMDownloadParams): Promise<void>;
19
18
  init(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"CactusLM.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusLM.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAe;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAE5C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAEtD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA8B;gBAElD,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAE,cAAmB;IAQrD,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,QAAQ,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0D9C,KAAK,CAAC,EACjB,IAAI,GACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuBxC,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuBxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAWjD"}
1
+ {"version":3,"file":"CactusLM.d.ts","sourceRoot":"","sources":["../../../../src/classes/CactusLM.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAe;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAE5C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;gBAE1C,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAE,cAAmB;IAQrD,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBjC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,QAAQ,CAAC,EACpB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0D9C,KAAK,CAAC,EACjB,IAAI,GACL,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuBxC,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuBxD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAOjD"}
@@ -1,5 +1,5 @@
1
1
  import type { CactusSTTDownloadParams, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult } from '../types/CactusSTT';
2
- import type { CactusModel } from '../types/CactusModel';
2
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
3
3
  export declare class CactusSTT {
4
4
  private readonly cactus;
5
5
  private readonly model;
@@ -9,9 +9,9 @@ export declare class CactusSTT {
9
9
  private isGenerating;
10
10
  private static readonly defaultModel;
11
11
  private static readonly defaultContextSize;
12
+ private static readonly defaultPrompt;
12
13
  private static readonly defaultTranscribeOptions;
13
14
  private static readonly defaultEmbedBufferSize;
14
- private static cactusModelsCache;
15
15
  constructor({ model, contextSize }?: CactusSTTParams);
16
16
  download({ onProgress, }?: CactusSTTDownloadParams): Promise<void>;
17
17
  init(): Promise<void>;
@@ -20,6 +20,6 @@ export declare class CactusSTT {
20
20
  stop(): Promise<void>;
21
21
  reset(): Promise<void>;
22
22
  destroy(): Promise<void>;
23
- getModels(): Promise<CactusModel[]>;
23
+ getModels(): Promise<CactusSTTModel[]>;
24
24
  }
25
25
  //# sourceMappingURL=CactusSTT.d.ts.map
@@ -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,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAE9C;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEvD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA8B;gBAElD,EAAE,KAAK,EAAE,WAAW,EAAE,GAAE,eAAoB;IAO3C,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,UAAU,CAAC,EACtB,aAAa,EACb,MAAoE,EACpE,OAAO,EACP,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAkCpD,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAuB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAWjD"}
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,EAC1B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAClD,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,WAAW,EAAE,GAAE,eAAoB;IAO3C,QAAQ,CAAC,EACpB,UAAU,GACX,GAAE,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBlC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrB,UAAU,CAAC,EACtB,aAAa,EACb,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAsCpD,UAAU,CAAC,EACtB,SAAS,GACV,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAuB1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAOpD"}
@@ -1,2 +1,2 @@
1
- export declare const packageVersion = "1.1.0";
1
+ export declare const packageVersion = "1.2.1";
2
2
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import type { CactusSTTParams, CactusSTTTranscribeResult, CactusSTTTranscribeParams, CactusSTTDownloadParams, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult } from '../types/CactusSTT';
2
- import type { CactusModel } from '../types/CactusModel';
2
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
3
3
  export declare const useCactusSTT: ({ model, contextSize, }?: CactusSTTParams) => {
4
- response: string;
4
+ transcription: string;
5
5
  isGenerating: boolean;
6
6
  isInitializing: boolean;
7
7
  isDownloaded: boolean;
@@ -15,6 +15,6 @@ export declare const useCactusSTT: ({ model, contextSize, }?: CactusSTTParams) =
15
15
  reset: () => Promise<void>;
16
16
  stop: () => Promise<void>;
17
17
  destroy: () => Promise<void>;
18
- getModels: () => Promise<CactusModel[]>;
18
+ getModels: () => Promise<CactusSTTModel[]>;
19
19
  };
20
20
  //# sourceMappingURL=useCactusSTT.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCactusSTT.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,eAAO,MAAM,YAAY,GAAI,0BAG1B,eAAoB;;;;;;;;gCA4DI,uBAAuB;;+DA2F3C,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;iCAiC9D,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;;;;qBAuD3B,OAAO,CAAC,WAAW,EAAE,CAAC;CA4B/D,CAAC"}
1
+ {"version":3,"file":"useCactusSTT.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCactusSTT.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,eAAO,MAAM,YAAY,GAAI,0BAG1B,eAAoB;;;;;;;;gCA4DI,uBAAuB;;+DA2F3C,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;iCAiC9D,yBAAyB,KAAG,OAAO,CAAC,yBAAyB,CAAC;;;;qBAuD3B,OAAO,CAAC,cAAc,EAAE,CAAC;CA4BlE,CAAC"}
@@ -3,6 +3,7 @@ export { CactusSTT } from './classes/CactusSTT';
3
3
  export { useCactusLM } from './hooks/useCactusLM';
4
4
  export { useCactusSTT } from './hooks/useCactusSTT';
5
5
  export type { CactusModel } from './types/CactusModel';
6
+ export type { CactusSTTModel } from './types/CactusSTTModel';
6
7
  export type { CactusLMParams, CactusLMDownloadParams, Message, CompleteOptions, Tool, CactusLMCompleteParams, CactusLMCompleteResult, CactusLMEmbedParams, CactusLMEmbedResult, CactusLMImageEmbedParams, CactusLMImageEmbedResult, } from './types/CactusLM';
7
8
  export type { CactusSTTParams, CactusSTTDownloadParams, TranscribeOptions, CactusSTTTranscribeParams, CactusSTTTranscribeResult, CactusSTTAudioEmbedParams, CactusSTTAudioEmbedResult, } from './types/CactusSTT';
8
9
  export { CactusConfig } from './config/CactusConfig';
@@ -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;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,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;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,EAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;IA2DrB,UAAU,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAqC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7D,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;CAGhC"}
1
+ {"version":3,"file":"Cactus.d.ts","sourceRoot":"","sources":["../../../../src/native/Cactus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,IAAI,EACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAC2B;IAEjD,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAIH,QAAQ,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,EAAE,EAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,sBAAsB,CAAC;IAmErB,UAAU,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAqC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7D,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;CAGhC"}
@@ -6,6 +6,7 @@ export interface CactusModel {
6
6
  downloadUrl: string;
7
7
  supportsToolCalling: boolean;
8
8
  supportsVision: boolean;
9
+ supportsCompletion: boolean;
9
10
  createdAt: Date;
10
11
  isDownloaded: boolean;
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CactusModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"CactusModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ export interface CactusSTTModel {
2
+ slug: string;
3
+ sizeMb: number;
4
+ downloadUrl: string;
5
+ createdAt: Date;
6
+ isDownloaded: boolean;
7
+ }
8
+ //# sourceMappingURL=CactusSTTModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CactusSTTModel.d.ts","sourceRoot":"","sources":["../../../../src/types/CactusSTTModel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAGhB,YAAY,EAAE,OAAO,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cactus-react-native",
3
- "version": "1.1.0",
3
+ "version": "1.2.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",
@@ -3,6 +3,7 @@ import type { DeviceInfo } from '../specs/CactusDeviceInfo.nitro';
3
3
  import type { LogRecord } from '../telemetry/Telemetry';
4
4
  import { packageVersion } from '../constants/packageVersion';
5
5
  import type { CactusModel } from '../types/CactusModel';
6
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
6
7
 
7
8
  interface CactusModelResponse {
8
9
  name: string;
@@ -12,6 +13,14 @@ interface CactusModelResponse {
12
13
  download_url: string;
13
14
  supports_tool_calling: boolean;
14
15
  supports_vision: boolean;
16
+ supports_completion: boolean;
17
+ created_at: Date;
18
+ }
19
+
20
+ interface CactusSTTModelResponse {
21
+ slug: string;
22
+ download_url: string;
23
+ size_mb: number;
15
24
  created_at: Date;
16
25
  }
17
26
 
@@ -76,6 +85,38 @@ export class Database {
76
85
  downloadUrl: model.download_url,
77
86
  supportsToolCalling: model.supports_tool_calling,
78
87
  supportsVision: model.supports_vision,
88
+ supportsCompletion: model.supports_completion,
89
+ createdAt: model.created_at,
90
+ isDownloaded: false,
91
+ };
92
+ }
93
+
94
+ public static async getSTTModel(slug: string): Promise<CactusSTTModel> {
95
+ const response = await fetch(
96
+ `${this.url}/rest/v1/whisper?slug=eq.${slug}&select=*`,
97
+ {
98
+ headers: {
99
+ 'apikey': this.key,
100
+ 'Authorization': `Bearer ${this.key}`,
101
+ 'Accept-Profile': 'cactus',
102
+ },
103
+ }
104
+ );
105
+
106
+ if (!response.ok) {
107
+ throw new Error('Getting STT model failed');
108
+ }
109
+
110
+ const [model] = (await response.json()) as CactusSTTModelResponse[];
111
+
112
+ if (!model) {
113
+ throw new Error(`STT model with slug "${slug}" not found`);
114
+ }
115
+
116
+ return {
117
+ slug: model.slug,
118
+ downloadUrl: model.download_url,
119
+ sizeMb: model.size_mb,
79
120
  createdAt: model.created_at,
80
121
  isDownloaded: false,
81
122
  };
@@ -103,6 +144,31 @@ export class Database {
103
144
  downloadUrl: model.download_url,
104
145
  supportsToolCalling: model.supports_tool_calling,
105
146
  supportsVision: model.supports_vision,
147
+ supportsCompletion: model.supports_completion,
148
+ createdAt: model.created_at,
149
+ isDownloaded: false,
150
+ }));
151
+ }
152
+
153
+ public static async getSTTModels(): Promise<CactusSTTModel[]> {
154
+ const response = await fetch(`${this.url}/rest/v1/whisper?select=*`, {
155
+ headers: {
156
+ 'apikey': this.key,
157
+ 'Authorization': `Bearer ${this.key}`,
158
+ 'Accept-Profile': 'cactus',
159
+ },
160
+ });
161
+
162
+ if (!response.ok) {
163
+ throw new Error('Getting STT models failed');
164
+ }
165
+
166
+ const models = (await response.json()) as CactusSTTModelResponse[];
167
+
168
+ return models.map((model) => ({
169
+ slug: model.slug,
170
+ downloadUrl: model.download_url,
171
+ sizeMb: model.size_mb,
106
172
  createdAt: model.created_at,
107
173
  isDownloaded: false,
108
174
  }));
@@ -35,8 +35,6 @@ export class CactusLM {
35
35
  private static readonly defaultCompleteMode = 'local';
36
36
  private static readonly defaultEmbedBufferSize = 2048;
37
37
 
38
- private static cactusModelsCache: CactusModel[] | null = null;
39
-
40
38
  constructor({ model, contextSize, corpusDir }: CactusLMParams = {}) {
41
39
  Telemetry.init(CactusConfig.telemetryToken);
42
40
 
@@ -226,14 +224,10 @@ export class CactusLM {
226
224
  }
227
225
 
228
226
  public async getModels(): Promise<CactusModel[]> {
229
- if (CactusLM.cactusModelsCache) {
230
- return CactusLM.cactusModelsCache;
231
- }
232
227
  const models = await Database.getModels();
233
228
  for (const model of models) {
234
229
  model.isDownloaded = await CactusFileSystem.modelExists(model.slug);
235
230
  }
236
- CactusLM.cactusModelsCache = models;
237
231
  return models;
238
232
  }
239
233
  }
@@ -7,11 +7,11 @@ import type {
7
7
  CactusSTTAudioEmbedParams,
8
8
  CactusSTTAudioEmbedResult,
9
9
  } from '../types/CactusSTT';
10
- import type { CactusModel } from '../types/CactusModel';
11
10
  import { Telemetry } from '../telemetry/Telemetry';
12
11
  import { CactusConfig } from '../config/CactusConfig';
13
12
  import { Database } from '../api/Database';
14
13
  import { getErrorMessage } from '../utils/error';
14
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
15
15
 
16
16
  export class CactusSTT {
17
17
  private readonly cactus = new Cactus();
@@ -25,12 +25,12 @@ export class CactusSTT {
25
25
 
26
26
  private static readonly defaultModel = 'whisper-small';
27
27
  private static readonly defaultContextSize = 2048;
28
+ private static readonly defaultPrompt =
29
+ '<|startoftranscript|><|en|><|transcribe|><|notimestamps|>';
28
30
  private static readonly defaultTranscribeOptions = {
29
31
  maxTokens: 512,
30
32
  };
31
- private static readonly defaultEmbedBufferSize = 32768;
32
-
33
- private static cactusModelsCache: CactusModel[] | null = null;
33
+ private static readonly defaultEmbedBufferSize = 4096;
34
34
 
35
35
  constructor({ model, contextSize }: CactusSTTParams = {}) {
36
36
  Telemetry.init(CactusConfig.telemetryToken);
@@ -53,9 +53,10 @@ export class CactusSTT {
53
53
 
54
54
  this.isDownloading = true;
55
55
  try {
56
+ const model = await Database.getSTTModel(this.model);
56
57
  await CactusFileSystem.downloadModel(
57
58
  this.model,
58
- `https://vlqqczxwyaodtcdmdmlw.supabase.co/storage/v1/object/public/voice-models/${this.model}.zip`,
59
+ model.downloadUrl,
59
60
  onProgress
60
61
  );
61
62
  } finally {
@@ -86,7 +87,7 @@ export class CactusSTT {
86
87
 
87
88
  public async transcribe({
88
89
  audioFilePath,
89
- prompt = '<|startoftranscript|><|en|><|transcribe|><|notimestamps|>',
90
+ prompt,
90
91
  options,
91
92
  onToken,
92
93
  }: CactusSTTTranscribeParams): Promise<CactusSTTTranscribeResult> {
@@ -96,8 +97,12 @@ export class CactusSTT {
96
97
 
97
98
  await this.init();
98
99
 
100
+ prompt = prompt ?? CactusSTT.defaultPrompt;
99
101
  options = { ...CactusSTT.defaultTranscribeOptions, ...options };
100
- const responseBufferSize = 32768;
102
+
103
+ const responseBufferSize =
104
+ 8 * (options.maxTokens ?? CactusSTT.defaultTranscribeOptions.maxTokens) +
105
+ 256;
101
106
 
102
107
  this.isGenerating = true;
103
108
  try {
@@ -168,15 +173,11 @@ export class CactusSTT {
168
173
  this.isInitialized = false;
169
174
  }
170
175
 
171
- public async getModels(): Promise<CactusModel[]> {
172
- if (CactusSTT.cactusModelsCache) {
173
- return CactusSTT.cactusModelsCache;
174
- }
175
- const models = await Database.getModels();
176
+ public async getModels(): Promise<CactusSTTModel[]> {
177
+ const models = await Database.getSTTModels();
176
178
  for (const model of models) {
177
179
  model.isDownloaded = await CactusFileSystem.modelExists(model.slug);
178
180
  }
179
- CactusSTT.cactusModelsCache = models;
180
181
  return models;
181
182
  }
182
183
  }
@@ -1 +1 @@
1
- export const packageVersion = '1.1.0';
1
+ export const packageVersion = '1.2.1';
@@ -10,7 +10,7 @@ import type {
10
10
  CactusSTTAudioEmbedParams,
11
11
  CactusSTTAudioEmbedResult,
12
12
  } from '../types/CactusSTT';
13
- import type { CactusModel } from '../types/CactusModel';
13
+ import type { CactusSTTModel } from '../types/CactusSTTModel';
14
14
 
15
15
  export const useCactusSTT = ({
16
16
  model = 'whisper-small',
@@ -21,7 +21,7 @@ export const useCactusSTT = ({
21
21
  );
22
22
 
23
23
  // State
24
- const [response, setResponse] = useState('');
24
+ const [transcription, setTranscription] = useState('');
25
25
  const [isGenerating, setIsGenerating] = useState(false);
26
26
  const [isInitializing, setIsInitializing] = useState(false);
27
27
  const [isDownloaded, setIsDownloaded] = useState(false);
@@ -39,7 +39,7 @@ export const useCactusSTT = ({
39
39
  useEffect(() => {
40
40
  setCactusSTT(new CactusSTT({ model, contextSize }));
41
41
 
42
- setResponse('');
42
+ setTranscription('');
43
43
  setIsGenerating(false);
44
44
  setIsInitializing(false);
45
45
  setIsDownloaded(false);
@@ -174,7 +174,7 @@ export const useCactusSTT = ({
174
174
  }
175
175
 
176
176
  setError(null);
177
- setResponse('');
177
+ setTranscription('');
178
178
  setIsGenerating(true);
179
179
  try {
180
180
  return await cactusSTT.transcribe({
@@ -182,7 +182,7 @@ export const useCactusSTT = ({
182
182
  prompt,
183
183
  options,
184
184
  onToken: (token) => {
185
- setResponse((prev) => prev + token);
185
+ setTranscription((prev) => prev + token);
186
186
  onToken?.(token);
187
187
  },
188
188
  });
@@ -238,7 +238,7 @@ export const useCactusSTT = ({
238
238
  setError(getErrorMessage(e));
239
239
  throw e;
240
240
  } finally {
241
- setResponse('');
241
+ setTranscription('');
242
242
  }
243
243
  }, [cactusSTT]);
244
244
 
@@ -250,11 +250,11 @@ export const useCactusSTT = ({
250
250
  setError(getErrorMessage(e));
251
251
  throw e;
252
252
  } finally {
253
- setResponse('');
253
+ setTranscription('');
254
254
  }
255
255
  }, [cactusSTT]);
256
256
 
257
- const getModels = useCallback(async (): Promise<CactusModel[]> => {
257
+ const getModels = useCallback(async (): Promise<CactusSTTModel[]> => {
258
258
  setError(null);
259
259
  try {
260
260
  return await cactusSTT.getModels();
@@ -265,7 +265,7 @@ export const useCactusSTT = ({
265
265
  }, [cactusSTT]);
266
266
 
267
267
  return {
268
- response,
268
+ transcription,
269
269
  isGenerating,
270
270
  isInitializing,
271
271
  isDownloaded,
package/src/index.tsx CHANGED
@@ -8,6 +8,7 @@ export { useCactusSTT } from './hooks/useCactusSTT';
8
8
 
9
9
  // Types
10
10
  export type { CactusModel } from './types/CactusModel';
11
+ export type { CactusSTTModel } from './types/CactusSTTModel';
11
12
  export type {
12
13
  CactusLMParams,
13
14
  CactusLMDownloadParams,
@@ -32,11 +32,18 @@ export class Cactus {
32
32
  callback?: (token: string, tokenId: number) => void
33
33
  ): Promise<CactusLMCompleteResult> {
34
34
  const messagesInternal: Message[] = [];
35
- for (const message of messages) {
36
- if (!message.images) {
37
- messagesInternal.push(message);
35
+ for (let i = 0; i < messages.length; i++) {
36
+ const message = messages[i]!;
37
+ const isLastMessage = i === messages.length - 1;
38
+
39
+ if (!message.images || !isLastMessage) {
40
+ messagesInternal.push({
41
+ ...message,
42
+ images: undefined,
43
+ });
38
44
  continue;
39
45
  }
46
+
40
47
  const resizedImages: string[] = [];
41
48
  for (const imagePath of message.images) {
42
49
  const resizedImage = await CactusImage.resize(
@@ -47,6 +54,7 @@ export class Cactus {
47
54
  );
48
55
  resizedImages.push(resizedImage);
49
56
  }
57
+
50
58
  messagesInternal.push({ ...message, images: resizedImages });
51
59
  }
52
60
 
@@ -7,6 +7,7 @@ export interface CactusModel {
7
7
  downloadUrl: string;
8
8
  supportsToolCalling: boolean;
9
9
  supportsVision: boolean;
10
+ supportsCompletion: boolean;
10
11
  createdAt: Date;
11
12
 
12
13
  // Local
@@ -0,0 +1,10 @@
1
+ export interface CactusSTTModel {
2
+ // API
3
+ slug: string;
4
+ sizeMb: number;
5
+ downloadUrl: string;
6
+ createdAt: Date;
7
+
8
+ // Local
9
+ isDownloaded: boolean;
10
+ }