cactus-react-native 0.2.2 → 0.2.4

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 (80) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/java/com/cactus/Cactus.java +35 -0
  3. package/android/src/main/java/com/cactus/LlamaContext.java +18 -1
  4. package/android/src/main/jni.cpp +11 -0
  5. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  6. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  7. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  11. package/android/src/newarch/java/com/cactus/CactusModule.java +5 -0
  12. package/android/src/oldarch/java/com/cactus/CactusModule.java +5 -0
  13. package/ios/Cactus.mm +21 -0
  14. package/ios/CactusContext.h +1 -0
  15. package/ios/CactusContext.mm +4 -0
  16. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
  17. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  18. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
  19. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  20. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus_ffi.h +0 -12
  21. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
  22. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -12
  23. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  24. package/lib/commonjs/NativeCactus.js +0 -1
  25. package/lib/commonjs/NativeCactus.js.map +1 -1
  26. package/lib/commonjs/chat.js +33 -0
  27. package/lib/commonjs/chat.js.map +1 -1
  28. package/lib/commonjs/index.js +0 -23
  29. package/lib/commonjs/index.js.map +1 -1
  30. package/lib/commonjs/lm.js +69 -32
  31. package/lib/commonjs/lm.js.map +1 -1
  32. package/lib/commonjs/tools.js +0 -7
  33. package/lib/commonjs/tools.js.map +1 -1
  34. package/lib/commonjs/tts.js +1 -4
  35. package/lib/commonjs/tts.js.map +1 -1
  36. package/lib/commonjs/vlm.js +25 -7
  37. package/lib/commonjs/vlm.js.map +1 -1
  38. package/lib/module/NativeCactus.js +0 -3
  39. package/lib/module/NativeCactus.js.map +1 -1
  40. package/lib/module/chat.js +31 -0
  41. package/lib/module/chat.js.map +1 -1
  42. package/lib/module/index.js +1 -10
  43. package/lib/module/index.js.map +1 -1
  44. package/lib/module/lm.js +70 -32
  45. package/lib/module/lm.js.map +1 -1
  46. package/lib/module/tools.js +0 -7
  47. package/lib/module/tools.js.map +1 -1
  48. package/lib/module/tts.js +1 -4
  49. package/lib/module/tts.js.map +1 -1
  50. package/lib/module/vlm.js +25 -7
  51. package/lib/module/vlm.js.map +1 -1
  52. package/lib/typescript/NativeCactus.d.ts +1 -142
  53. package/lib/typescript/NativeCactus.d.ts.map +1 -1
  54. package/lib/typescript/chat.d.ts +10 -0
  55. package/lib/typescript/chat.d.ts.map +1 -1
  56. package/lib/typescript/index.d.ts +2 -4
  57. package/lib/typescript/index.d.ts.map +1 -1
  58. package/lib/typescript/lm.d.ts +13 -7
  59. package/lib/typescript/lm.d.ts.map +1 -1
  60. package/lib/typescript/tools.d.ts.map +1 -1
  61. package/lib/typescript/tts.d.ts.map +1 -1
  62. package/lib/typescript/vlm.d.ts +3 -1
  63. package/lib/typescript/vlm.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/src/NativeCactus.ts +6 -175
  66. package/src/chat.ts +42 -1
  67. package/src/index.ts +6 -17
  68. package/src/lm.ts +81 -26
  69. package/src/tools.ts +0 -5
  70. package/src/tts.ts +1 -4
  71. package/src/vlm.ts +35 -13
  72. package/android/src/main/jniLibs/x86_64/libcactus.so +0 -0
  73. package/android/src/main/jniLibs/x86_64/libcactus_x86_64.so +0 -0
  74. package/lib/commonjs/grammar.js +0 -560
  75. package/lib/commonjs/grammar.js.map +0 -1
  76. package/lib/module/grammar.js +0 -553
  77. package/lib/module/grammar.js.map +0 -1
  78. package/lib/typescript/grammar.d.ts +0 -37
  79. package/lib/typescript/grammar.d.ts.map +0 -1
  80. package/src/grammar.ts +0 -854
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_grammar","_chat","_tools","_telemetry","_remote","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_lm","_vlm","_tts","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","telemetryParams","n_gpu_layers","n_ctx","model","LlamaContext","gpu","reasonNoGPU","constructor","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","getSchemas","result","toolCalled","toolName","toolInput","toolOutput","parseAndExecuteTool","assistantMessage","role","content","tool_calls","push","toolCallId","toolMessage","tool_call_id","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","startTime","Date","now","firstTokenTime","deviceInfo","getDeviceInfo","wrappedCallback","data","tokenListener","tokenResult","Error","promise","then","completionResult","Telemetry","track","event","tok_per_sec","timings","predicted_per_second","toks_generated","predicted_n","ttft","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","embeddingResult","totalTime","mode","embedding_time","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","rewind","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","num_images","length","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_chat","_tools","_telemetry","_remote","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_lm","_vlm","_tts","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","telemetryParams","n_gpu_layers","n_ctx","model","LlamaContext","gpu","reasonNoGPU","constructor","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","getSchemas","result","toolCalled","toolName","toolInput","toolOutput","parseAndExecuteTool","assistantMessage","role","content","tool_calls","push","toolCallId","toolMessage","tool_call_id","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","startTime","Date","now","firstTokenTime","deviceInfo","getDeviceInfo","wrappedCallback","data","tokenListener","tokenResult","Error","promise","then","completionResult","Telemetry","track","event","tok_per_sec","timings","predicted_per_second","toks_generated","predicted_n","ttft","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","embeddingResult","totalTime","mode","embedding_time","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","rewind","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","num_images","length","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -5,61 +5,99 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CactusLM = void 0;
7
7
  var _index = require("./index");
8
- var _reactNative = require("react-native");
9
8
  var _telemetry = require("./telemetry");
10
9
  var _remote = require("./remote");
10
+ var _chat = require("./chat");
11
11
  // @ts-ignore
12
12
 
13
13
  class CactusLM {
14
14
  constructor(context) {
15
15
  this.context = context;
16
+ this.conversationHistoryManager = new _chat.ConversationHistoryManager();
16
17
  }
17
- static async init(params, onProgress, cactusToken) {
18
+ static async init(params, onProgress, cactusToken, retryOptions) {
18
19
  if (cactusToken) {
19
20
  (0, _remote.setCactusToken)(cactusToken);
20
21
  }
21
-
22
- // Avoid two back-to-back loads on devices where GPU off-load is unsupported (Android).
23
- const needGpuAttempt = _reactNative.Platform.OS !== 'android' && (params.n_gpu_layers ?? 0) > 0;
24
- const configs = needGpuAttempt ? [params, {
25
- ...params,
26
- n_gpu_layers: 0
27
- }] : [{
22
+ const maxRetries = retryOptions?.maxRetries ?? 3;
23
+ const delayMs = retryOptions?.delayMs ?? 1000;
24
+ const configs = [params, {
28
25
  ...params,
29
26
  n_gpu_layers: 0
30
27
  }];
31
- for (const config of configs) {
32
- try {
33
- const context = await (0, _index.initLlama)(config, onProgress);
34
- return {
35
- lm: new CactusLM(context),
36
- error: null
28
+ const sleep = ms => {
29
+ return new Promise(resolve => {
30
+ const start = Date.now();
31
+ const wait = () => {
32
+ if (Date.now() - start >= ms) {
33
+ resolve();
34
+ } else {
35
+ Promise.resolve().then(wait);
36
+ }
37
37
  };
38
- } catch (e) {
39
- _telemetry.Telemetry.error(e, {
40
- n_gpu_layers: config.n_gpu_layers ?? null,
41
- n_ctx: config.n_ctx ?? null,
42
- model: config.model ?? null
43
- });
44
- if (configs.indexOf(config) === configs.length - 1) {
38
+ wait();
39
+ });
40
+ };
41
+ for (const config of configs) {
42
+ let lastError = null;
43
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
44
+ try {
45
+ const context = await (0, _index.initLlama)(config, onProgress);
45
46
  return {
46
- lm: null,
47
- error: e
47
+ lm: new CactusLM(context),
48
+ error: null
48
49
  };
50
+ } catch (e) {
51
+ lastError = e;
52
+ const isLastConfig = configs.indexOf(config) === configs.length - 1;
53
+ const isLastAttempt = attempt === maxRetries;
54
+ _telemetry.Telemetry.error(e, {
55
+ n_gpu_layers: config.n_gpu_layers ?? null,
56
+ n_ctx: config.n_ctx ?? null,
57
+ model: config.model ?? null
58
+ });
59
+ if (!isLastAttempt) {
60
+ const delay = delayMs * Math.pow(2, attempt - 1);
61
+ await sleep(delay);
62
+ } else if (!isLastConfig) {
63
+ break;
64
+ }
49
65
  }
50
66
  }
67
+ if (configs.indexOf(config) === configs.length - 1 && lastError) {
68
+ return {
69
+ lm: null,
70
+ error: lastError
71
+ };
72
+ }
51
73
  }
52
74
  return {
53
75
  lm: null,
54
- error: new Error('Failed to initialize CactusLM')
76
+ error: new Error('Failed to initialize CactusLM after all retries')
55
77
  };
56
78
  }
57
- async completion(messages, params = {}, callback) {
58
- return await this.context.completion({
59
- messages,
79
+ completion = async (messages, params = {}, callback) => {
80
+ const {
81
+ newMessages,
82
+ requiresReset
83
+ } = this.conversationHistoryManager.processNewMessages(messages);
84
+ if (requiresReset) {
85
+ this.context?.rewind();
86
+ this.conversationHistoryManager.reset();
87
+ }
88
+ if (newMessages.length === 0) {
89
+ console.warn('No messages to complete!');
90
+ }
91
+ const result = await this.context.completion({
92
+ messages: newMessages,
60
93
  ...params
61
94
  }, callback);
62
- }
95
+ this.conversationHistoryManager.update(newMessages, {
96
+ role: 'assistant',
97
+ content: result.content
98
+ });
99
+ return result;
100
+ };
63
101
  async embedding(text, params, mode = 'local') {
64
102
  let result;
65
103
  let lastError = null;
@@ -103,10 +141,9 @@ class CactusLM {
103
141
  embedding: embeddingValues
104
142
  };
105
143
  }
106
- async rewind() {
107
- // @ts-ignore
144
+ rewind = async () => {
108
145
  return this.context?.rewind();
109
- }
146
+ };
110
147
  async release() {
111
148
  return this.context.release();
112
149
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_reactNative","_telemetry","_remote","CactusLM","constructor","context","init","params","onProgress","cactusToken","setCactusToken","needGpuAttempt","Platform","OS","n_gpu_layers","configs","config","initLlama","lm","error","e","Telemetry","n_ctx","model","indexOf","length","Error","completion","messages","callback","embedding","text","mode","result","lastError","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","getVertexAIEmbedding","rewind","release","exports"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusLM","constructor","context","conversationHistoryManager","ConversationHistoryManager","init","params","onProgress","cactusToken","retryOptions","setCactusToken","maxRetries","delayMs","configs","n_gpu_layers","sleep","ms","Promise","resolve","start","Date","now","wait","then","config","lastError","attempt","initLlama","lm","error","e","isLastConfig","indexOf","length","isLastAttempt","Telemetry","n_ctx","model","delay","Math","pow","Error","completion","messages","callback","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","result","update","role","content","embedding","text","mode","_handleRemoteEmbedding","_handleLocalEmbedding","remoteError","localError","embeddingValues","getVertexAIEmbedding","release","exports"],"sourceRoot":"../../src","sources":["lm.ts"],"mappings":"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","ignoreList":[]}
@@ -43,7 +43,6 @@ class Tools {
43
43
  exports.Tools = Tools;
44
44
  async function parseAndExecuteTool(result, tools) {
45
45
  if (!result.tool_calls || result.tool_calls.length === 0) {
46
- // console.log('No tool calls found');
47
46
  return {
48
47
  toolCalled: false
49
48
  };
@@ -51,18 +50,13 @@ async function parseAndExecuteTool(result, tools) {
51
50
  try {
52
51
  const toolCall = result.tool_calls[0];
53
52
  if (!toolCall) {
54
- // console.log('No tool call found');
55
53
  return {
56
54
  toolCalled: false
57
55
  };
58
56
  }
59
57
  const toolName = toolCall.function.name;
60
58
  const toolInput = JSON.parse(toolCall.function.arguments);
61
-
62
- // console.log('Calling tool:', toolName, toolInput);
63
59
  const toolOutput = await tools.execute(toolName, toolInput);
64
- // console.log('Tool called result:', toolOutput);
65
-
66
60
  return {
67
61
  toolCalled: true,
68
62
  toolName,
@@ -70,7 +64,6 @@ async function parseAndExecuteTool(result, tools) {
70
64
  toolOutput
71
65
  };
72
66
  } catch (error) {
73
- // console.error('Error parsing tool call:', error);
74
67
  return {
75
68
  toolCalled: false
76
69
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Tools","tools","Map","add","func","description","parameters","set","name","required","Object","entries","filter","_","param","map","key","getSchemas","Array","from","type","function","properties","execute","args","tool","get","Error","values","exports","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;;;;;;AAeO,MAAMA,KAAK,CAAC;EACTC,KAAK,GAAG,IAAIC,GAAG,CAAe,CAAC;EAEvCC,GAAGA,CACCC,IAAc,EACdC,WAAmB,EACnBC,UAAsC,EACtC;IACA,IAAI,CAACL,KAAK,CAACM,GAAG,CAACH,IAAI,CAACI,IAAI,EAAE;MACxBJ,IAAI;MACJC,WAAW;MACXC,UAAU;MACVG,QAAQ,EAAEC,MAAM,CAACC,OAAO,CAACL,UAAU,CAAC,CACjCM,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAKA,KAAK,CAACL,QAAQ,CAAC,CACtCM,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEH,CAAC,CAAC,KAAKG,GAAG;IAC1B,CAAC,CAAC;IACF,OAAOZ,IAAI;EACb;EAEFa,UAAUA,CAAA,EAAG;IACT,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC,CAACI,GAAG,CAAC,CAAC,CAACP,IAAI,EAAE;MAAEH,WAAW;MAAEC,UAAU;MAAEG;IAAS,CAAC,CAAC,MAAM;MAC9FW,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE;QACRb,IAAI;QACJH,WAAW;QACXC,UAAU,EAAE;UACVc,IAAI,EAAE,QAAQ;UACdE,UAAU,EAAEhB,UAAU;UACtBG;QACF;MACF;IACF,CAAC,CAAC,CAAC;EACL;EAEF,MAAMc,OAAOA,CAACf,IAAY,EAAEgB,IAAS,EAAE;IACnC,MAAMC,IAAI,GAAG,IAAI,CAACxB,KAAK,CAACyB,GAAG,CAAClB,IAAI,CAAC;IACjC,IAAI,CAACiB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,QAAQnB,IAAI,YAAY,CAAC;IACpD,OAAO,MAAMiB,IAAI,CAACrB,IAAI,CAAC,GAAGM,MAAM,CAACkB,MAAM,CAACJ,IAAI,CAAC,CAAC;EAClD;AACF;AAACK,OAAA,CAAA7B,KAAA,GAAAA,KAAA;AAEM,eAAe8B,mBAAmBA,CAACC,MAA8B,EAAE9B,KAAY,EAAwF;EAC5K,IAAI,CAAC8B,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACtD;IACA,OAAO;MAACC,UAAU,EAAE;IAAK,CAAC;EAC9B;EAEA,IAAI;IACA,MAAMC,QAAQ,GAAGJ,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;IACrC,IAAI,CAACG,QAAQ,EAAE;MACb;MACA,OAAO;QAACD,UAAU,EAAE;MAAK,CAAC;IAC5B;IACA,MAAME,QAAQ,GAAGD,QAAQ,CAACd,QAAQ,CAACb,IAAI;IACvC,MAAM6B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACd,QAAQ,CAACmB,SAAS,CAAC;;IAEzD;IACA,MAAMC,UAAU,GAAG,MAAMxC,KAAK,CAACsB,OAAO,CAACa,QAAQ,EAAEC,SAAS,CAAC;IAC3D;;IAEA,OAAO;MACHH,UAAU,EAAE,IAAI;MAChBE,QAAQ;MACRC,SAAS;MACTI;IACJ,CAAC;EACL,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ;IACA,OAAO;MAACR,UAAU,EAAE;IAAK,CAAC;EAC9B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Tools","tools","Map","add","func","description","parameters","set","name","required","Object","entries","filter","_","param","map","key","getSchemas","Array","from","type","function","properties","execute","args","tool","get","Error","values","exports","parseAndExecuteTool","result","tool_calls","length","toolCalled","toolCall","toolName","toolInput","JSON","parse","arguments","toolOutput","error"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":";;;;;;;AAeO,MAAMA,KAAK,CAAC;EACTC,KAAK,GAAG,IAAIC,GAAG,CAAe,CAAC;EAEvCC,GAAGA,CACCC,IAAc,EACdC,WAAmB,EACnBC,UAAsC,EACtC;IACA,IAAI,CAACL,KAAK,CAACM,GAAG,CAACH,IAAI,CAACI,IAAI,EAAE;MACxBJ,IAAI;MACJC,WAAW;MACXC,UAAU;MACVG,QAAQ,EAAEC,MAAM,CAACC,OAAO,CAACL,UAAU,CAAC,CACjCM,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAKA,KAAK,CAACL,QAAQ,CAAC,CACtCM,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEH,CAAC,CAAC,KAAKG,GAAG;IAC1B,CAAC,CAAC;IACF,OAAOZ,IAAI;EACb;EAEFa,UAAUA,CAAA,EAAG;IACT,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAAClB,KAAK,CAACU,OAAO,CAAC,CAAC,CAAC,CAACI,GAAG,CAAC,CAAC,CAACP,IAAI,EAAE;MAAEH,WAAW;MAAEC,UAAU;MAAEG;IAAS,CAAC,CAAC,MAAM;MAC9FW,IAAI,EAAE,UAAU;MAChBC,QAAQ,EAAE;QACRb,IAAI;QACJH,WAAW;QACXC,UAAU,EAAE;UACVc,IAAI,EAAE,QAAQ;UACdE,UAAU,EAAEhB,UAAU;UACtBG;QACF;MACF;IACF,CAAC,CAAC,CAAC;EACL;EAEF,MAAMc,OAAOA,CAACf,IAAY,EAAEgB,IAAS,EAAE;IACnC,MAAMC,IAAI,GAAG,IAAI,CAACxB,KAAK,CAACyB,GAAG,CAAClB,IAAI,CAAC;IACjC,IAAI,CAACiB,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,QAAQnB,IAAI,YAAY,CAAC;IACpD,OAAO,MAAMiB,IAAI,CAACrB,IAAI,CAAC,GAAGM,MAAM,CAACkB,MAAM,CAACJ,IAAI,CAAC,CAAC;EAClD;AACF;AAACK,OAAA,CAAA7B,KAAA,GAAAA,KAAA;AAEM,eAAe8B,mBAAmBA,CAACC,MAA8B,EAAE9B,KAAY,EAAwF;EAC5K,IAAI,CAAC8B,MAAM,CAACC,UAAU,IAAID,MAAM,CAACC,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACtD,OAAO;MAACC,UAAU,EAAE;IAAK,CAAC;EAC9B;EAEA,IAAI;IACA,MAAMC,QAAQ,GAAGJ,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;IACrC,IAAI,CAACG,QAAQ,EAAE;MACb,OAAO;QAACD,UAAU,EAAE;MAAK,CAAC;IAC5B;IACA,MAAME,QAAQ,GAAGD,QAAQ,CAACd,QAAQ,CAACb,IAAI;IACvC,MAAM6B,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACJ,QAAQ,CAACd,QAAQ,CAACmB,SAAS,CAAC;IAEzD,MAAMC,UAAU,GAAG,MAAMxC,KAAK,CAACsB,OAAO,CAACa,QAAQ,EAAEC,SAAS,CAAC;IAE3D,OAAO;MACHH,UAAU,EAAE,IAAI;MAChBE,QAAQ;MACRC,SAAS;MACTI;IACJ,CAAC;EACL,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ,OAAO;MAACR,UAAU,EAAE;IAAK,CAAC;EAC9B;AACF","ignoreList":[]}
@@ -17,10 +17,7 @@ class CactusTTS {
17
17
  const {
18
18
  formatted_prompt
19
19
  } = await (0, _index.getFormattedAudioCompletion)(this.context.id, speakerJsonStr, textToSpeak);
20
- // This part is simplified. In a real scenario, the tokens from
21
- // the main model would be generated and passed to decodeAudioTokens.
22
- // For now, we are assuming a direct path which may not be fully functional
23
- // without the main model's token output for TTS.
20
+ // To-DO: Fix
24
21
  const tokens = (await this.context.tokenize(formatted_prompt)).tokens;
25
22
  return (0, _index.decodeAudioTokens)(this.context.id, tokens);
26
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","CactusTTS","constructor","context","init","vocoderModelPath","initVocoder","id","generate","textToSpeak","speakerJsonStr","formatted_prompt","getFormattedAudioCompletion","tokens","tokenize","decodeAudioTokens","release","releaseVocoder","exports"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASO,MAAMC,SAAS,CAAC;EAGbC,WAAWA,CAACC,OAAqB,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAEA,aAAaC,IAAIA,CACfD,OAAqB,EACrBE,gBAAwB,EACJ;IACpB,MAAM,IAAAC,kBAAW,EAACH,OAAO,CAACI,EAAE,EAAEF,gBAAgB,CAAC;IAC/C,OAAO,IAAIJ,SAAS,CAACE,OAAO,CAAC;EAC/B;EAEA,MAAMK,QAAQA,CACZC,WAAmB,EACnBC,cAAsB,EACY;IAClC,MAAM;MAAEC;IAAiB,CAAC,GAAG,MAAM,IAAAC,kCAA2B,EAC5D,IAAI,CAACT,OAAO,CAACI,EAAE,EACfG,cAAc,EACdD,WACF,CAAC;IACD;IACA;IACA;IACA;IACA,MAAMI,MAAM,GAAG,CAAC,MAAM,IAAI,CAACV,OAAO,CAACW,QAAQ,CAACH,gBAAgB,CAAC,EAAEE,MAAM;IACrE,OAAO,IAAAE,wBAAiB,EAAC,IAAI,CAACZ,OAAO,CAACI,EAAE,EAAEM,MAAM,CAAC;EACnD;EAEA,MAAMG,OAAOA,CAAA,EAAkB;IAC7B,OAAO,IAAAC,qBAAc,EAAC,IAAI,CAACd,OAAO,CAACI,EAAE,CAAC;EACxC;AACF;AAACW,OAAA,CAAAjB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","CactusTTS","constructor","context","init","vocoderModelPath","initVocoder","id","generate","textToSpeak","speakerJsonStr","formatted_prompt","getFormattedAudioCompletion","tokens","tokenize","decodeAudioTokens","release","releaseVocoder","exports"],"sourceRoot":"../../src","sources":["tts.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASO,MAAMC,SAAS,CAAC;EAGbC,WAAWA,CAACC,OAAqB,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;EAEA,aAAaC,IAAIA,CACfD,OAAqB,EACrBE,gBAAwB,EACJ;IACpB,MAAM,IAAAC,kBAAW,EAACH,OAAO,CAACI,EAAE,EAAEF,gBAAgB,CAAC;IAC/C,OAAO,IAAIJ,SAAS,CAACE,OAAO,CAAC;EAC/B;EAEA,MAAMK,QAAQA,CACZC,WAAmB,EACnBC,cAAsB,EACY;IAClC,MAAM;MAAEC;IAAiB,CAAC,GAAG,MAAM,IAAAC,kCAA2B,EAC5D,IAAI,CAACT,OAAO,CAACI,EAAE,EACfG,cAAc,EACdD,WACF,CAAC;IACD;IACA,MAAMI,MAAM,GAAG,CAAC,MAAM,IAAI,CAACV,OAAO,CAACW,QAAQ,CAACH,gBAAgB,CAAC,EAAEE,MAAM;IACrE,OAAO,IAAAE,wBAAiB,EAAC,IAAI,CAACZ,OAAO,CAACI,EAAE,EAAEM,MAAM,CAAC;EACnD;EAEA,MAAMG,OAAOA,CAAA,EAAkB;IAC7B,OAAO,IAAAC,qBAAc,EAAC,IAAI,CAACd,OAAO,CAACI,EAAE,CAAC;EACxC;AACF;AAACW,OAAA,CAAAjB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -7,9 +7,11 @@ exports.CactusVLM = void 0;
7
7
  var _index = require("./index");
8
8
  var _telemetry = require("./telemetry");
9
9
  var _remote = require("./remote");
10
+ var _chat = require("./chat");
10
11
  class CactusVLM {
11
12
  constructor(context) {
12
13
  this.context = context;
14
+ this.conversationHistoryManager = new _chat.ConversationHistoryManager();
13
15
  }
14
16
  static async init(params, onProgress, cactusToken) {
15
17
  if (cactusToken) {
@@ -81,22 +83,39 @@ class CactusVLM {
81
83
  }
82
84
  return result;
83
85
  }
84
- async _handleLocalCompletion(messages, params, callback) {
86
+ _handleLocalCompletion = async (messages, params, callback) => {
87
+ const {
88
+ newMessages,
89
+ requiresReset
90
+ } = this.conversationHistoryManager.processNewMessages(messages);
91
+ if (requiresReset) {
92
+ this.context?.rewind();
93
+ this.conversationHistoryManager.reset();
94
+ }
95
+ if (newMessages.length === 0) {
96
+ console.warn('No messages to complete!');
97
+ }
98
+ let result;
85
99
  if (params.images && params.images.length > 0) {
86
- const formattedPrompt = await this.context.getFormattedChat(messages);
100
+ const formattedPrompt = await this.context.getFormattedChat(newMessages);
87
101
  const prompt = typeof formattedPrompt === 'string' ? formattedPrompt : formattedPrompt.prompt;
88
- return await (0, _index.multimodalCompletion)(this.context.id, prompt, params.images, {
102
+ result = await (0, _index.multimodalCompletion)(this.context.id, prompt, params.images, {
89
103
  ...params,
90
104
  prompt,
91
105
  emit_partial_completion: !!callback
92
106
  });
93
107
  } else {
94
- return await this.context.completion({
95
- messages,
108
+ result = await this.context.completion({
109
+ messages: newMessages,
96
110
  ...params
97
111
  }, callback);
98
112
  }
99
- }
113
+ this.conversationHistoryManager.update(newMessages, {
114
+ role: 'assistant',
115
+ content: result.content || result.text
116
+ });
117
+ return result;
118
+ };
100
119
  async _handleRemoteCompletion(messages, params, callback) {
101
120
  const prompt = messages.map(m => `${m.role}: ${m.content}`).join('\n');
102
121
  const imagePath = params.images && params.images.length > 0 ? params.images[0] : '';
@@ -139,7 +158,6 @@ class CactusVLM {
139
158
  };
140
159
  }
141
160
  async rewind() {
142
- // @ts-ignore
143
161
  return this.context?.rewind();
144
162
  }
145
163
  async release() {
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_telemetry","_remote","CactusVLM","constructor","context","init","params","onProgress","cactusToken","setCactusToken","configs","n_gpu_layers","config","initLlama","initMultimodal","id","mmproj","vlm","error","e","Telemetry","n_ctx","model","indexOf","length","Error","completion","messages","callback","mode","result","lastError","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","images","formattedPrompt","getFormattedChat","prompt","multimodalCompletion","emit_partial_completion","map","m","role","content","join","imagePath","responseText","getVisionCompletion","getTextCompletion","i","token","text","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","rewind","release","exports"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_telemetry","_remote","_chat","CactusVLM","constructor","context","conversationHistoryManager","ConversationHistoryManager","init","params","onProgress","cactusToken","setCactusToken","configs","n_gpu_layers","config","initLlama","initMultimodal","id","mmproj","vlm","error","e","Telemetry","n_ctx","model","indexOf","length","Error","completion","messages","callback","mode","result","lastError","_handleRemoteCompletion","_handleLocalCompletion","remoteError","localError","newMessages","requiresReset","processNewMessages","rewind","reset","console","warn","images","formattedPrompt","getFormattedChat","prompt","multimodalCompletion","emit_partial_completion","update","role","content","text","map","m","join","imagePath","responseText","getVisionCompletion","getTextCompletion","i","token","reasoning_content","tool_calls","tokens_predicted","split","tokens_evaluated","truncated","stopped_eos","stopped_word","stopped_limit","stopping_word","tokens_cached","timings","prompt_n","prompt_ms","prompt_per_token_ms","prompt_per_second","predicted_n","predicted_ms","predicted_per_token_ms","predicted_per_second","release","exports"],"sourceRoot":"../../src","sources":["vlm.ts"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  import { TurboModuleRegistry } from 'react-native';
4
-
5
- // New TTS/Audio types
6
-
7
4
  export default TurboModuleRegistry.get('Cactus');
8
5
  //# sourceMappingURL=NativeCactus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAkSlD;;AAkMA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA2TlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -30,4 +30,35 @@ export function formatChat(messages) {
30
30
  });
31
31
  return chat;
32
32
  }
33
+ export class ConversationHistoryManager {
34
+ history = [];
35
+ processNewMessages(fullMessageHistory) {
36
+ let divergent = fullMessageHistory.length < this.history.length;
37
+ if (!divergent) {
38
+ for (let i = 0; i < this.history.length; i++) {
39
+ if (JSON.stringify(this.history[i]) !== JSON.stringify(fullMessageHistory[i])) {
40
+ divergent = true;
41
+ break;
42
+ }
43
+ }
44
+ }
45
+ if (divergent) {
46
+ return {
47
+ newMessages: fullMessageHistory,
48
+ requiresReset: true
49
+ };
50
+ }
51
+ const newMessages = fullMessageHistory.slice(this.history.length);
52
+ return {
53
+ newMessages,
54
+ requiresReset: false
55
+ };
56
+ }
57
+ update(newMessages, assistantResponse) {
58
+ this.history.push(...newMessages, assistantResponse);
59
+ }
60
+ reset() {
61
+ this.history = [];
62
+ }
63
+ }
33
64
  //# sourceMappingURL=chat.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["formatChat","messages","chat","forEach","currMsg","role","content","Array","isArray","part","text","TypeError","Error","push"],"sourceRoot":"../../src","sources":["chat.ts"],"mappings":";;AAWA,OAAO,SAASA,UAAUA,CACxBC,QAAsC,EACZ;EAC1B,MAAMC,IAA8B,GAAG,EAAE;EAEzCD,QAAQ,CAACE,OAAO,CAAEC,OAAO,IAAK;IAC5B,MAAMC,IAAY,GAAGD,OAAO,CAACC,IAAI,IAAI,EAAE;IAEvC,IAAIC,OAAe,GAAG,EAAE;IACxB,IAAI,SAAS,IAAIF,OAAO,EAAE;MACxB,IAAI,OAAOA,OAAO,CAACE,OAAO,KAAK,QAAQ,EAAE;QACvC;QAAC,CAAC;UAAEA;QAAQ,CAAC,GAAGF,OAAO;MACzB,CAAC,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACJ,OAAO,CAACE,OAAO,CAAC,EAAE;QACzCF,OAAO,CAACE,OAAO,CAACH,OAAO,CAAEM,IAAI,IAAK;UAChC,IAAI,MAAM,IAAIA,IAAI,EAAE;YAClBH,OAAO,IAAI,GAAGA,OAAO,GAAG,IAAI,GAAG,EAAE,GAAGG,IAAI,CAACC,IAAI,EAAE;UACjD;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,IAAIC,SAAS,CACjB,kFACF,CAAC;MACH;IACF,CAAC,MAAM;MACL,MAAM,IAAIC,KAAK,CACb,6EACF,CAAC;IACH;IAEAV,IAAI,CAACW,IAAI,CAAC;MAAER,IAAI;MAAEC;IAAQ,CAAC,CAAC;EAC9B,CAAC,CAAC;EACF,OAAOJ,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"names":["formatChat","messages","chat","forEach","currMsg","role","content","Array","isArray","part","text","TypeError","Error","push","ConversationHistoryManager","history","processNewMessages","fullMessageHistory","divergent","length","i","JSON","stringify","newMessages","requiresReset","slice","update","assistantResponse","reset"],"sourceRoot":"../../src","sources":["chat.ts"],"mappings":";;AAWA,OAAO,SAASA,UAAUA,CACxBC,QAAsC,EACZ;EAC1B,MAAMC,IAA8B,GAAG,EAAE;EAEzCD,QAAQ,CAACE,OAAO,CAAEC,OAAO,IAAK;IAC5B,MAAMC,IAAY,GAAGD,OAAO,CAACC,IAAI,IAAI,EAAE;IAEvC,IAAIC,OAAe,GAAG,EAAE;IACxB,IAAI,SAAS,IAAIF,OAAO,EAAE;MACxB,IAAI,OAAOA,OAAO,CAACE,OAAO,KAAK,QAAQ,EAAE;QACvC;QAAC,CAAC;UAAEA;QAAQ,CAAC,GAAGF,OAAO;MACzB,CAAC,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACJ,OAAO,CAACE,OAAO,CAAC,EAAE;QACzCF,OAAO,CAACE,OAAO,CAACH,OAAO,CAAEM,IAAI,IAAK;UAChC,IAAI,MAAM,IAAIA,IAAI,EAAE;YAClBH,OAAO,IAAI,GAAGA,OAAO,GAAG,IAAI,GAAG,EAAE,GAAGG,IAAI,CAACC,IAAI,EAAE;UACjD;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,IAAIC,SAAS,CACjB,kFACF,CAAC;MACH;IACF,CAAC,MAAM;MACL,MAAM,IAAIC,KAAK,CACb,6EACF,CAAC;IACH;IAEAV,IAAI,CAACW,IAAI,CAAC;MAAER,IAAI;MAAEC;IAAQ,CAAC,CAAC;EAC9B,CAAC,CAAC;EACF,OAAOJ,IAAI;AACb;AAOA,OAAO,MAAMY,0BAA0B,CAAC;EAC9BC,OAAO,GAAiC,EAAE;EAE3CC,kBAAkBA,CACvBC,kBAAgD,EAC7B;IACnB,IAAIC,SAAS,GAAGD,kBAAkB,CAACE,MAAM,GAAG,IAAI,CAACJ,OAAO,CAACI,MAAM;IAC/D,IAAI,CAACD,SAAS,EAAE;MACd,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACL,OAAO,CAACI,MAAM,EAAEC,CAAC,EAAE,EAAE;QAC5C,IAAIC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACP,OAAO,CAACK,CAAC,CAAC,CAAC,KAAKC,IAAI,CAACC,SAAS,CAACL,kBAAkB,CAACG,CAAC,CAAC,CAAC,EAAE;UAC7EF,SAAS,GAAG,IAAI;UAChB;QACF;MACF;IACF;IAEA,IAAIA,SAAS,EAAE;MACb,OAAO;QAAEK,WAAW,EAAEN,kBAAkB;QAAEO,aAAa,EAAE;MAAK,CAAC;IACjE;IAEA,MAAMD,WAAW,GAAGN,kBAAkB,CAACQ,KAAK,CAAC,IAAI,CAACV,OAAO,CAACI,MAAM,CAAC;IACjE,OAAO;MAAEI,WAAW;MAAEC,aAAa,EAAE;IAAM,CAAC;EAC9C;EAEOE,MAAMA,CACXH,WAAyC,EACzCI,iBAA6C,EAC7C;IACA,IAAI,CAACZ,OAAO,CAACF,IAAI,CAAC,GAAGU,WAAW,EAAEI,iBAAiB,CAAC;EACtD;EAEOC,KAAKA,CAAA,EAAG;IACb,IAAI,CAACb,OAAO,GAAG,EAAE;EACnB;AACF","ignoreList":[]}
@@ -2,11 +2,10 @@
2
2
 
3
3
  import { NativeEventEmitter, DeviceEventEmitter, Platform } from 'react-native';
4
4
  import Cactus from './NativeCactus';
5
- import { SchemaGrammarConverter, convertJsonSchemaToGrammar } from './grammar';
6
5
  import { formatChat } from './chat';
7
6
  import { Tools, parseAndExecuteTool } from './tools';
8
7
  import { Telemetry } from './telemetry';
9
- export { SchemaGrammarConverter, convertJsonSchemaToGrammar, Tools };
8
+ export { Tools };
10
9
  export * from './remote';
11
10
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@Cactus_onInitContextProgress';
12
11
  const EVENT_ON_TOKEN = '@Cactus_onToken';
@@ -106,7 +105,6 @@ export class LlamaContext {
106
105
  return this.completion(params, callback);
107
106
  }
108
107
  if (recursionCount >= recursionLimit) {
109
- // console.log(`Recursion limit reached (${recursionCount}/${recursionLimit}), returning default completion`)
110
108
  return this.completion({
111
109
  ...params,
112
110
  jinja: true,
@@ -115,15 +113,12 @@ export class LlamaContext {
115
113
  }
116
114
  const messages = [...params.messages]; // avoid mutating the original messages
117
115
 
118
- // console.log('Calling completion...')
119
116
  const result = await this.completion({
120
117
  ...params,
121
118
  messages: messages,
122
119
  jinja: true,
123
120
  tools: params.tools.getSchemas()
124
121
  }, callback);
125
- // console.log('Completion result:', result);
126
-
127
122
  const {
128
123
  toolCalled,
129
124
  toolName,
@@ -144,9 +139,6 @@ export class LlamaContext {
144
139
  tool_call_id: toolCallId
145
140
  };
146
141
  messages.push(toolMessage);
147
-
148
- // console.log('Messages being sent to next completion:', JSON.stringify(messages, null, 2));
149
-
150
142
  return await this.completionWithTools({
151
143
  ...params,
152
144
  messages: messages
@@ -274,7 +266,6 @@ export class LlamaContext {
274
266
  return Cactus.releaseContext(this.id);
275
267
  }
276
268
  async rewind() {
277
- // @ts-ignore
278
269
  return Cactus.rewind(this.id);
279
270
  }
280
271
  }